CN111998958B - Detector non-uniformity correction method and system - Google Patents

Detector non-uniformity correction method and system Download PDF

Info

Publication number
CN111998958B
CN111998958B CN202011178030.3A CN202011178030A CN111998958B CN 111998958 B CN111998958 B CN 111998958B CN 202011178030 A CN202011178030 A CN 202011178030A CN 111998958 B CN111998958 B CN 111998958B
Authority
CN
China
Prior art keywords
occ
occ data
data
pixel
detector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011178030.3A
Other languages
Chinese (zh)
Other versions
CN111998958A (en
Inventor
蔡李靖
黄尔齐
邓智威
字崇德
陈林森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Zhipu Technology Co ltd
Original Assignee
Nanjing Zhipu Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Zhipu Technology Co ltd filed Critical Nanjing Zhipu Technology Co ltd
Priority to CN202011178030.3A priority Critical patent/CN111998958B/en
Publication of CN111998958A publication Critical patent/CN111998958A/en
Application granted granted Critical
Publication of CN111998958B publication Critical patent/CN111998958B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J5/00Radiation pyrometry, e.g. infrared or optical thermometry
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J5/00Radiation pyrometry, e.g. infrared or optical thermometry
    • G01J5/10Radiation pyrometry, e.g. infrared or optical thermometry using electric radiation detectors
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J5/00Radiation pyrometry, e.g. infrared or optical thermometry
    • G01J5/80Calibration
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01JMEASUREMENT OF INTENSITY, VELOCITY, SPECTRAL CONTENT, POLARISATION, PHASE OR PULSE CHARACTERISTICS OF INFRARED, VISIBLE OR ULTRAVIOLET LIGHT; COLORIMETRY; RADIATION PYROMETRY
    • G01J5/00Radiation pyrometry, e.g. infrared or optical thermometry
    • G01J2005/0077Imaging

Abstract

The application relates to a detector non-uniformity correction method, a system, a computing device and a storage medium, wherein the method comprises the following steps: simultaneously correcting each row of OCC data in first region OCC data in the OCC parameter list so as to enable the mean value of pixel values output by all pixel points of the detector array to be closest to a preset pixel target value; and/or respectively correcting each OCC data in the second region OCC data in the OCC parameter list so as to enable the pixel value output by each OCC data at each pixel point corresponding to the detector array to be closest to the preset pixel target value. The technical scheme who this application provided carries out inhomogeneous correction to it when the detector formation of image, can improve the correction precision, reduces the degree of difficulty of formation of image back correction.

Description

Detector non-uniformity correction method and system
Technical Field
The present application relates to the field of instrument calibration technologies, and in particular, to a method and a system for non-uniformity calibration of a detector.
Background
The detector has the advantages of fast response, high resolution, small pixel spacing, low cost and the like, so the detector is popular in the market. However, the non-uniformity of the detector caused by the influence of the material, the manufacturing process and the like of the infrared focal plane array affects the measurement accuracy of the detector.
At present, a method for correcting the nonuniformity of a detector is generally based on two-point correction of a high-temperature black body and a low-temperature black body, and the method is to project the detector under the same response under the condition that each imaged pixel response of the detector is different after imaging so as to realize the correction of the nonuniformity of the detector. In addition, in the prior art, a blocking piece correction method based on an infrared camera blocking piece and a scene correction method based on a scene are used for correcting the nonuniformity of the detector, and both the two methods are methods for correcting the temperature drift generated when the detector works after the detector is imaged.
In summary, the non-uniformity correction of the detector in the prior art mainly focuses on correcting the non-uniformity after imaging, and therefore, the correction method in the prior art only corrects the non-uniformity after imaging, which results in that the measurement accuracy is difficult to improve.
Disclosure of Invention
In view of the above, the present invention provides a method and a system for non-uniformity correction of a detector, so as to improve the accuracy of the non-uniformity correction of the detector.
The invention provides a detector non-uniformity correction method, which comprises the following steps:
simultaneously correcting each row of OCC data in first region OCC data in the OCC parameter list so as to enable the mean value of pixel values output by all pixel points of the detector array to be closest to a preset pixel target value; and/or
And respectively correcting each OCC data in the second region OCC data in the OCC parameter list so as to enable the pixel value output by each pixel point corresponding to each OCC data on the target surface of the detector to be closest to the preset pixel target value.
Therefore, the method for correcting the detector during imaging is provided, the correction precision can be improved, and the burden of correcting the detector after imaging can be reduced.
As an implementation manner of the first aspect, the simultaneously correcting each column of OCC data in the first area OCC data in the OCC parameter list to make a mean value of pixel values output by all pixel points of the detector array closest to a preset pixel target value includes:
correcting OCC data of a column of the first region OCC data that positively correlates with a change in pixel value; and/or
OCC data of columns in the first region OCC data, which have a negative correlation with a change in pixel value, is corrected.
Therefore, the correction is respectively carried out according to different relations between the OCC data in the OCC array and the variation trend of the pixel values, so that the correction result is closer to the actual result.
As an implementation manner of the first aspect, the correcting OCC data of a column in the first region OCC data, the column having a positive correlation with a pixel value change, includes:
s1: initializing all OCC data in the OCC data array to be a, initializing a loop counter i to be 0, and initializing the maximum loop times to be 2n-1-a andthe maximum of a; wherein n is the binary digit of OCC data;
s2: judging whether a cycle counter i is smaller than the maximum cycle number, if so, reading a preset number of pictures from a cache region of a detector to be corrected, and calculating a time-space domain mean value b of pixel values of the preset number of pictures; otherwise, ending the iteration;
s3: calculating an absolute value d of a difference between a time-space domain mean value b and a preset target value c of the pixel values of the preset number of pictures;
s4: judging whether the absolute value d is smaller than a preset minimum value e, if so, executing S5, otherwise, executing S10;
s5: judging whether the time-space domain mean value b of the pixel values of the preset number of pictures is smaller than the preset target value c, if so, executing S6, otherwise, executing S8;
s6: adding 1 to OCC data of the whole column, setting Flag bit Flag _ add to 1, setting Flag _ sub to 0, and writing the OCC data of the column added with 1 into a detector;
s7: let the preset minimum value e equal to the absolute value d, i = i +1, return to S2;
s8: subtracting 1 from the OCC data of the whole column, setting Flag bit Flag _ add to 0, setting Flag _ sub to 1, and writing the OCC data of the column subtracted by 1 into a detector;
s9: let the preset minimum value e equal to the absolute value d, i = i +1, return to S2;
s10, judging whether Flag _ add is equal to 1, if yes, executing S11, otherwise executing S12;
s11: subtracting 1 from the whole column of OCC data, writing the column of OCC data after subtracting 1 into a detector, and ending the iteration;
s12: and adding 1 to the whole column of OCC data, writing the column of OCC data added with 1 into the detector, and ending the iteration.
Therefore, a specific correction process for correcting the OCC data of the column positively correlated with the pixel value in the OCC data of the first region is provided, and the data of the corresponding column after the correction by the detector can reflect the actual measurement data more truly through the correction process. In addition, the flag bit is used for marking the correction condition of the corresponding column in the correction process, so that repeated correction can be avoided, and the correction speed is improved.
As an implementation manner of the first aspect, the correcting OCC data of a column in the first region OCC data, which is negatively correlated with a change in a pixel value, includes:
t1: initializing all OCC data in the OCC data array to be a, initializing a loop counter i to be 0, and initializing the maximum loop times to be 2n-the maximum of both 1-a and a; wherein n is the binary digit of OCC data;
t2: judging whether a cycle counter i is smaller than the maximum cycle number, if so, reading a preset number of pictures from a cache region of a detector to be corrected, and calculating a time-space domain mean value b of pixel values of the preset number of pictures; otherwise, ending the iteration;
t3: calculating an absolute value d of a difference between a time-space domain mean value b and a preset target value c of the pixel values of the preset number of pictures;
t4: judging whether the absolute value d is smaller than a preset minimum value e, if so, executing T5, otherwise, executing T10;
t5: judging whether the time-space domain mean value b of the pixel values of the preset number of pictures is smaller than the preset target value c, if so, executing T6, otherwise, executing T8;
t6: subtracting 1 from the OCC data of the whole column, setting Flag bit Flag _ add to 0, setting Flag _ sub to 1, and writing the OCC data of the column subtracted by 1 into a detector;
t7: let the preset minimum value e equal to the absolute value d, i = i +1, returning to T2;
t8: adding 1 to OCC data of the whole column, setting Flag bit Flag _ add to 1, setting Flag _ sub to 0, and writing the OCC data of the column added with 1 into a detector;
t9: let the preset minimum value e equal to the absolute value d, i = i +1, returning to T2;
t10: judging whether the Flag _ add is equal to 0, if so, executing T11, otherwise, executing T12;
t11: adding 1 to the whole column of OCC data, writing the column of OCC data added with 1 into a detector, and ending the iteration;
t12: subtracting 1 from the whole column of OCC data, writing the column of OCC data after subtracting 1 into the detector, and ending the iteration.
Therefore, the correction process of the OCC data of the columns in the first area OCC data, which is negatively correlated with the pixel value change, is provided, and the data of the corresponding columns after the detector is corrected can reflect the actual measurement data more truly through the correction process. In addition, the flag bit is used for marking the correction condition of the corresponding column in the correction process, so that repeated correction can be avoided, and the correction speed is improved.
As an implementation manner of the first aspect, the respectively correcting each OCC data in the second region OCC data in the OCC parameter list to make a pixel value output by each OCC data at each pixel point corresponding to the detector array closest to the preset pixel target value includes:
p1: initializing all OCC data in the OCC data array to be a, initializing a loop counter i to be 0, and initializing the maximum loop times to be 2n-the maximum of both 1-a and a; wherein n is the binary digit of OCC data;
p2: judging whether the loop counter i is smaller than the maximum loop frequency, if so, executing P3, otherwise, ending the iteration;
p3: reading a preset number of pictures from a buffer area of a detector to be corrected, and calculating a time domain mean value of each pixel in the pictures;
p4: initializing the flag bits maintain [ row ] [ col ] of all OCC data in an OCC data array of a detector to be corrected to be 0;
p5: initializing a line cycle counter to 0;
p6: judging whether the line circulation counter is smaller than the maximum line number of the detector to be corrected or not, if so, executing P7, otherwise, executing P25;
p7: initializing a column cycle counter to 0;
p8: judging whether the column cycle counter is smaller than the maximum column number of OCC data of the detector to be corrected, wherein the maximum column number is used for adjusting the pixel value corresponding to each OCC data, if so, P10 is carried out, otherwise, P9 is carried out;
p9: increment the line cycle counter by 1 and return to P6;
p10: judging whether the flag bit maintain [ row ] [ col ] of the pixel point corrected by the cycle is 1, if so, executing P11, otherwise, executing P12;
p11: increment the column cycle counter by 1 and return to P8;
p12: calculating the absolute value of the difference between the time domain mean value of the pixel value at the pixel point corrected by the current cycle and the target value of the pixel value at the point;
p13: judging whether the absolute value obtained in the P12 is smaller than the minimum value of the pixel point corrected by the current cycle, if so, executing P14, otherwise, executing P19;
p14: judging whether the time domain mean value of the pixel value at the pixel point corrected by the current cycle is smaller than the target value of the pixel value at the point, if so, executing P15, otherwise, executing P17;
p15: adding 1 to OCC data at the pixel point corrected by the current cycle;
p16: setting Flag bits Flag _ add [ row ] [ col ] at the pixel points corrected by the current cycle to 1, setting Flag _ sub [ row ] [ col ] to 0, and executing P23;
p17: subtracting 1 from the OCC data at the pixel point corrected by the current cycle;
p18: setting the Flag _ add [ row ] [ col ] at the pixel point corrected by the current cycle to 0, setting the Flag _ sub [ row ] [ col ] to 1, and executing P23;
p19: judging whether the Flag _ add [ row ] [ col ] at the pixel point corrected by the current cycle is equal to 1, if so, executing P20, otherwise, executing P21;
p20: subtracting 1 from the OCC data at the pixel point corrected by the current cycle, and executing P22;
p21: adding 1 to OCC data at the pixel point corrected by the current cycle;
p22: setting a flag bit maintain [ row ] [ col ] at the pixel point corrected by the current cycle to 1;
p23: writing the corrected OCC data into a detector to be corrected;
p24, increment the column cycle counter by 1 and return to P8;
p25: calculating the correction precision of the corrected detector, if the correction precision is not less than the preset precision, ending the iteration, and if the correction precision is less than the preset precision, executing P26;
p26: let i = i +1, return P2.
Therefore, the correction process is provided for respectively correcting each OCC data in the second area OCC data in the OCC parameter list, and each data corrected by the detector can reflect the actual measurement data more truly through the correction process. In addition, the flag bit is used for marking the correction condition of the corresponding column in the correction process, so that repeated correction can be avoided, and the correction speed is improved.
A detector non-uniformity correction system comprising:
the first correction module is used for simultaneously correcting each row of OCC data in first region OCC data in the OCC parameter list so as to enable the mean value of pixel values output by all pixel points of the detector array to be closest to a preset pixel target value; and/or
And the second correction module is used for respectively correcting each OCC data in the second region OCC data in the OCC parameter list so as to enable the pixel value output by each OCC data at each pixel point corresponding to the detector array to be closest to the preset pixel target value.
A computing device, comprising:
a bus;
a communication interface connected to the bus;
at least one processor coupled to the bus; and
at least one memory coupled with the bus and storing program instructions that, when executed by the at least one processor, cause the at least one processor to perform the above-described method.
A computer-readable storage medium having stored thereon program instructions which, when executed by a computer, cause the computer to perform the above-described method.
In conclusion, the non-uniformity of the detector during imaging is corrected, so that the non-uniformity correction precision of the detector is improved, and the pressure for correcting the non-uniformity after imaging is relieved.
Drawings
FIG. 1 is a flowchart of a method for non-uniformity correction of a detector according to an embodiment of the present disclosure;
FIG. 2 is a flowchart of a specific implementation manner of a detector non-uniformity correction method according to an embodiment of the present disclosure;
FIG. 3 is a flowchart illustrating a method for correcting a DOCC in column 385 of a detector array to be corrected according to an embodiment of the present disclosure;
FIGS. 4 and 5 are flow charts of correcting EOCC of columns 1-384 of a detector array to be corrected according to an embodiment of the present application;
FIG. 6 is a schematic structural diagram of a detector non-uniformity correction system according to an embodiment of the present disclosure;
fig. 7 is a schematic structural diagram of a computing device according to an embodiment of the present application.
Detailed Description
To facilitate an understanding of the present application, the present application will now be described more fully with reference to the accompanying drawings. Preferred embodiments of the present application are shown in the drawings. This application may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete.
In the following description, references to the terms "first \ second \ third, etc. or module a, module B, module C, etc. are used solely to distinguish between similar objects and do not denote a particular order or importance to the objects, but rather the specific order or sequence may be interchanged as appropriate to enable embodiments of the application described herein to be practiced in an order other than that shown or described herein.
In the following description, reference to reference numerals indicating steps, such as S100, S200 … …, etc., does not necessarily indicate that the steps are performed in this order, and the order of the preceding and following steps may be interchanged or performed simultaneously, where permissible.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the description of the present application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
Before further detailed description of the embodiments of the present invention, terms and expressions in the embodiments of the present invention and their corresponding uses, functions, and so on in the present invention are described, and the terms and expressions in the embodiments of the present invention are applicable to the following explanations.
OCC (on-chip ligation): on-chip non-uniformity correction, which is used in this embodiment to image the detector, is performed on-chip non-uniformity, the OCC data is in binary form, and each OCC data has 12 significant bits.
Since the non-uniformity correction of the detector in the prior art mainly focuses on the correction of the detector after imaging, the single-end correction of the detector after imaging greatly increases the pressure of the correction after imaging, and the correction of the detector only after imaging is difficult to ensure the required precision to a certain extent.
Based on the above-mentioned drawbacks of the prior art, as shown in fig. 1, one embodiment of the present application provides a detector non-uniformity correction method, including:
l100: simultaneously correcting each row of OCC data in first region OCC data in an OCC parameter list so as to enable pixel values output by all pixel points of a detector array to be closest to a preset pixel target value; and/or
L200: and respectively correcting each OCC data in the second region OCC data in the OCC parameter list so as to enable the pixel value output by each OCC data at each pixel point corresponding to the detector array to be closest to the preset pixel target value.
Wherein the first region includes OCC data for adjusting pixel values of all pixel points of the detector array. The second region includes OCC data for adjusting pixel values for each pixel of the detector array.
Specifically, step L100 includes: correcting OCC data of a column of the first region OCC data that positively correlates with a change in pixel value; and/or
OCC data of columns in the first region OCC data, which have a negative correlation with a change in pixel value, is corrected.
Wherein the process of correcting the OCC data of the column positively correlated with the change in the pixel value in the first region OCC data includes:
s1: initializing all OCC data in the OCC data array to be a, initializing a loop counter i to be 0, and initializing the maximum loop times to be 2n-the maximum of both 1-a and a; wherein n is the binary digit of OCC data; preferably, a is set to 8 in the embodiment, so that the cycle number can be reduced, and the correction time can be shortened;
s2: judging whether a cycle counter i is smaller than the maximum cycle number, if so, reading a preset number of pictures from a cache region of a detector to be corrected, and calculating a time-space domain mean value b of pixel values of the preset number of pictures; otherwise, ending the iteration;
s3: calculating an absolute value d of a difference between a time-space domain mean value b and a preset target value c of the pixel values of the preset number of pictures;
s4: judging whether the absolute value d is smaller than a preset minimum value e, if so, executing S5, otherwise, executing S10;
s5: judging whether the time-space domain mean value b of the pixel values of the preset number of pictures is smaller than the preset target value c, if so, executing S6, otherwise, executing S8;
s6: adding 1 to OCC data of the whole column, setting Flag bit Flag _ add to 1, setting Flag _ sub to 0, and writing the OCC data of the column added with 1 into a detector;
s7: let the preset minimum value e equal to the absolute value d, i = i +1, return to S2;
s8: subtracting 1 from the OCC data of the whole column, setting Flag bit Flag _ add to 0, setting Flag _ sub to 1, and writing the OCC data of the column subtracted by 1 into a detector;
s9: let the preset minimum value e equal to the absolute value d, i = i +1, return to S2;
s10, judging whether Flag _ add is equal to 1, if yes, executing S11, otherwise executing S12;
s11: subtracting 1 from the whole column of OCC data, writing the column of OCC data after subtracting 1 into a detector, and ending the iteration;
s12: and adding 1 to the whole column of OCC data, writing the column of OCC data added with 1 into the detector, and ending the iteration.
In addition, a specific process of correcting OCC data of a column in the first region OCC data, which is negatively correlated with a change in pixel value, includes:
t1: initializing all OCC data in the OCC data array to be a, initializing a loop counter i to be 0, and initializing the maximum loop times to be 2n-the maximum of both 1-a and a; wherein n is the binary digit of OCC data; preferably, a is set to 8 in the embodiment, so that the cycle number can be reduced, and the correction time can be shortened;
t2: judging whether a cycle counter i is smaller than the maximum cycle number, if so, reading a preset number of pictures from a cache region of a detector to be corrected, and calculating a time-space domain mean value b of pixel values of the preset number of pictures; otherwise, ending the iteration;
t3: calculating an absolute value d of a difference between a time-space domain mean value b and a preset target value c of the pixel values of the preset number of pictures;
t4: judging whether the absolute value d is smaller than a preset minimum value e, if so, executing T5, otherwise, executing T10;
t5: judging whether the time-space domain mean value b of the pixel values of the preset number of pictures is smaller than the preset target value c, if so, executing T6, otherwise, executing T8;
t6: subtracting 1 from the OCC data of the whole column, setting Flag bit Flag _ add to 0, setting Flag _ sub to 1, and writing the OCC data of the column subtracted by 1 into a detector;
t7: let the preset minimum value e equal to the absolute value d, i = i +1, returning to T2;
t8: adding 1 to OCC data of the whole column, setting Flag bit Flag _ add to 1, setting Flag _ sub to 0, and writing the OCC data of the column added with 1 into a detector;
t9: let the preset minimum value e equal to the absolute value d, i = i +1, returning to T2;
t10: judging whether the Flag _ add is equal to 0, if so, executing T11, otherwise, executing T12;
t11: adding 1 to the whole column of OCC data, writing the column of OCC data added with 1 into a detector, and ending the iteration;
t12: subtracting 1 from the whole column of OCC data, writing the column of OCC data after subtracting 1 into the detector, and ending the iteration.
This step is to correct the columns corresponding to the OCC data used to adjust the pixel values of the entire detector array, which is a simultaneous correction of entire columns.
Specifically, step L200 includes:
p1: initializing all OCC data in the OCC data array to be a, initializing a loop counter i to be 0, and initializing the maximum loop times to be 2n-the maximum of both 1-a and a; wherein n is the binary digit of OCC data;
p2: judging whether the loop counter i is smaller than the maximum loop frequency, if so, executing P3, otherwise, ending the iteration;
p3: reading a preset number of pictures from a buffer area of a detector to be corrected, and calculating a time domain mean value of each pixel in the pictures;
p4: initializing the flag bits maintain [ row ] [ col ] of all OCC data in an OCC data array of a detector to be corrected to be 0;
p5: initializing a line cycle counter to 0;
p6: judging whether the line circulation counter is smaller than the maximum line number of the detector to be corrected or not, if so, executing P7, otherwise, executing P25;
p7: initializing a column cycle counter to 0;
p8: judging whether the column cycle counter is smaller than the maximum column number of OCC data of the detector to be corrected, wherein the maximum column number is used for adjusting the pixel value corresponding to each OCC data, if so, P10 is carried out, otherwise, P9 is carried out;
p9: increment the line cycle counter by 1 and return to P6;
p10: judging whether the flag bit maintain [ row ] [ col ] of the pixel point corrected by the cycle is 1, if so, executing P11, otherwise, executing P12;
p11: increment the column cycle counter by 1 and return to P8;
p12: calculating the absolute value of the difference between the time domain mean value of the pixel value at the pixel point corrected by the current cycle and the target value of the pixel value at the point;
p13: judging whether the absolute value obtained in the P12 is smaller than the minimum value of the pixel point corrected by the current cycle, if so, executing P14, otherwise, executing P19;
p14: judging whether the time domain mean value of the pixel value at the pixel point corrected by the current cycle is smaller than the target value of the pixel value at the point, if so, executing P15, otherwise, executing P17;
p15: adding 1 to OCC data at the pixel point corrected by the current cycle;
p16: setting Flag bits Flag _ add [ row ] [ col ] at the pixel points corrected by the current cycle to 1, setting Flag _ sub [ row ] [ col ] to 0, and executing P23;
p17: subtracting 1 from the OCC data at the pixel point corrected by the current cycle;
p18: setting the Flag _ add [ row ] [ col ] at the pixel point corrected by the current cycle to 0, setting the Flag _ sub [ row ] [ col ] to 1, and executing P23;
p19: judging whether the Flag _ add [ row ] [ col ] at the pixel point corrected by the current cycle is equal to 1, if so, executing P20, otherwise, executing P21;
p20: subtracting 1 from the OCC data at the pixel point corrected by the current cycle, and executing P22;
p21: adding 1 to OCC data at the pixel point corrected by the current cycle;
p22: setting a flag bit maintain [ row ] [ col ] at the pixel point corrected by the current cycle to 1;
p23: writing the corrected OCC data into a detector to be corrected;
p24, increment the column cycle counter by 1 and return to P8;
p25: calculating the correction precision of the corrected detector, if the correction precision is not less than the preset precision, ending the iteration, and if the correction precision is less than the preset precision, executing P26;
p26: let i = i +1, return P2.
The OCC parameter list is used for correcting OCC data which correspond to the pixel points one by one and are used for adjusting the pixel value of each pixel point, the correction process is used for correcting each OCC data corresponding to each row and each column, and each OCC data adjusts the pixel value of one pixel point.
In the present embodiment, the correction steps included in steps L100 and L200, i.e., the non-uniformity correction of the detector during imaging, are completed. The embodiment can improve the correction precision by correcting the nonuniformity of the detector during imaging so as to improve the imaging uniformity of the detector. In addition, by correcting the probe at the time of imaging, the burden of correction after imaging can be reduced. In addition, because a plurality of flag bits are used for marking the correction condition of the point or the column, repeated correction is not needed, and the correction speed is greatly improved.
Another embodiment of the present application provides a method for correcting non-uniformity of a detector, wherein a correction process is substantially the same as that of the previous embodiment, and therefore, the description of the embodiment is omitted for the same points, except that:
before step L100, the OCC data is sequentially divided into a first group of OCC data, a second group of OCC data, and a third group of OCC data for the detector to be corrected, in order from high bits to low bits. The specific division standard is as follows: from the position of OCC data from high bit to low bit and not fixed as 0, 4 bits of data not fixed as 0 in each OCC data are divided into a group, and the group is sequentially divided into a first group of OCC data, a second group of OCC data and a third group of OCC data. The grouping rule is a grouping rule obtained according to a probe control manual.
In step L100, a first group of OCC data in the first region OCC data in the OCC parameter list is simultaneously corrected, so that the mean value of the pixel values output by all pixel points of the detector array is closest to the preset pixel target value. The specific correction procedure is substantially the same as the correction procedures of S1-S12, T1-T12 in the previous embodiment, except that the correction object is the first group of OCC data in the first region OCC data.
In step L200, each OCC data in the first group of OCC data, the second group of OCC data, and the third group of OCC data in the second region OCC data in the OCC parameter list is respectively corrected, so that a pixel value output by each OCC data at each pixel point corresponding to the detector array is closest to the preset pixel target value. The specific correction procedure is substantially the same as the correction procedure of P1-P26 in the previous embodiment, except that the correction objects are the first group of OCC data, the second group of OCC data, and the third group of OCC data in the second region of OCC data.
In the following, a specific implementation manner of a detector non-uniformity correction method provided by another embodiment of the present application is described with reference to fig. 2 to 4 by taking a common detector in the market as an example.
In the detector of this embodiment, the OCC parameter list is composed of 288 rows and 386 columns of data, each OCC data has 12 valid bits, and is divided into a group of 4 bits of data that are not fixed to 0, starting from the first position that is not fixed to 0, and sequentially divided into a first group of OCC data (DOCC in this embodiment), a second group of OCC data (EOCC in this embodiment), and a third group of OCC data (FOCC in this embodiment). For example:
0 0 D O C C E O 0 0 C C F O C C
in this embodiment, according to a control manual of the detector, various modes of output voltage bias pre-adjustment are traversed to obtain a mode that can minimize the absolute value of the difference between the time-space domain mean value of the output pixel value of the detector and the target pixel value, and the OCC data of the detector is corrected in this mode.
As shown in fig. 2, which is a flowchart of a specific implementation manner of the method for correcting non-uniformity of a detector in this embodiment, in the detector in this embodiment, the DOCC in the 385 th column in the OCC parameter list is a column that is used to adjust the OCC data of the pixel values of the entire detector array and is positively correlated with the pixel values, the DOCC in the 386 th column is a column that is used to adjust the OCC data of the pixel values of the entire detector array and is negatively correlated with the pixel values, and the DOCCs in the 1 st to 384 th columns, the EOCCs in the 1 st to 384 th columns, and the FOCCs in the 1 st to 384 th columns are columns used to adjust the pixel values corresponding to each of the OCC data. Thus, the correction process includes: corrections to DOCCs in columns 385 and 386 and corrections to DOCCs, EOCCs, FOCCs in columns 1-384. The specific process is as follows:
s100: the camera parameters of the detector to be corrected are initialized.
S200: the OCC parameter list of the detector to be corrected is initialized.
S300: the output voltage offset of the detector to be corrected is preset.
S400: and correcting the DOCC of the 385 th column of the target surface of the detector to be corrected.
S500: and correcting the DOCC of the 386 th column of the target surface of the detector to be corrected.
S600: and correcting EOCC of columns 1-384 of the target surface of the detector to be corrected.
S700: and correcting the DOCC of the 1 st to 384 th columns of the target surface of the detector to be corrected.
S800: the FOCC of columns 1-384 of the detector target surface to be corrected is corrected.
In this embodiment, if the preset control accuracies of the EOCC, the DOCC and the FOCC in the 1 st to 384 th columns are different, the correction is required. If the preset control accuracies of the EOCC, DOCC, and FOCC in columns 1 to 384 are the same, the correction may be performed simultaneously.
In this embodiment, all OCC parameters in the OCC parameter list in S200 are initialized to 8, and in other embodiments, the value may be initialized according to actual requirements. Since the OCC parameters are all initialized to 8 in this embodiment, and the range of the OCC data of every 4 bits is 0 to 15, the maximum number of times of correction is 8 in this embodiment.
As shown in fig. 3, the specific implementation manner of S400 is:
s401: the initialization loop counter i is 0.
S402: and judging whether the loop counter i is smaller than 8, and executing S403 if the loop counter i is smaller than 8. Otherwise, ending the iteration.
S403: reading a preset number of pictures from a buffer area of a detector to be corrected, and calculating a time-space domain mean value of pixel values of the preset number of pictures. In the present embodiment, the predetermined number is 100.
S404: and calculating the absolute value of the difference between the time-space domain mean value of the pixel values of the preset number of pictures and the target value of the pixel values.
S405: and judging whether the absolute value calculated in the step S404 is smaller than the preset minimum value, if so, executing the step S406, otherwise, executing the step S415.
S406: and judging whether the time-space domain mean value of the pixel values of the preset number of pictures is smaller than the target value, if so, executing S407, otherwise, executing S409.
S407: add 1 to all DOCCs in column 385.
S408: flag _ add of column 385 is set to 1, Flag _ sub is set to 0, and S411 is executed.
S409: all DOCCs in column 385 are decremented by 1.
S410: the Flag _ add of the 385 th column is set to 0, and the Flag _ sub is set to 1.
S411: and writing the corrected DOCC parameters into the detector.
S412: and saving the corrected OCC parameter list.
S413: and enabling the preset minimum value to be equal to the absolute value of the difference between the time-space domain mean value of the pixel values of the preset number of pictures and the target value of the pixel values.
S414: let i = i +1, and return to S402.
S415: it is determined whether the Flag _ add of the 385 th column is equal to 1, if so, S416 is performed, otherwise, S417 is performed.
S416: all DOCCs in column 385 are decremented by 1 and S418 is performed.
S417: add 1 to all DOCCs in column 385.
S418: and writing the corrected DOCC parameters into the detector, and finishing the correction.
In addition, in this embodiment S500, the process of correcting the DOCC in the 386 th column of the OCC parameter list to be corrected is substantially the same as the process of correcting the DOCC in the 385 th column of the OCC parameter list in S400, except that: modifying the positions of adding 1 to the DOCCs to be reduced by 1, modifying Flag _ add 1 to be set to 0, modifying Flag _ add 0 to be set to 1, modifying Flag _ add 1 to be set to 0, modifying Flag _ sub 1 to be set to 0, and modifying Flag _ sub 0 to be set to 1. Therefore, the process of correcting the DOCC in column 386 of the OCC parameter list to be corrected is not described herein again.
As shown in fig. 4 and 5, the specific implementation manner of S600 is:
s601: the initialization loop counter i is 0.
S602: and judging whether the loop counter i is smaller than 8, and executing S403 if the loop counter i is smaller than 8. Otherwise, ending the iteration.
S603: reading a preset number of pictures from a buffer area of a detector to be corrected, and calculating a time domain mean value of each pixel value of the preset number of pictures. In the present embodiment, the predetermined number is 100.
S604: the flag bit maintain [ row ] [ col ] of all OCC data of the detector to be corrected is initialized to 0.
S605: the initialization Row loop counter Row is 0.
S606: it is determined whether the Row loop counter Row is less than 288, if so, S607 is performed, otherwise, S625 is performed.
S607: the column loop counter Col is initialized to 0.
S608: judging whether the column cycle counters Col are all smaller than 384, if so, executing S610, otherwise, executing S609.
S609: the line loop counter Row is incremented by 1, and returns to S606.
S610: and judging whether the flag bit maintain [ row ] [ col ] of the pixel point corrected by the iteration is 1, if not, executing S612, and if so, executing S611.
S611: the column loop counter Col is incremented by 1 and returns to S608.
S612: and calculating the absolute value of the difference between the time domain mean value of the pixel value at the pixel point [ row ] [ col ] corrected by the iteration and the target value of the time domain mean value.
S613: and judging whether the absolute value calculated in the step S612 is smaller than the preset minimum value at the point, if so, executing the step S614, and if not, executing the step S619.
S614: and judging whether the time domain mean value of the pixel value at the pixel point [ row ] [ col ] corrected by the iteration is smaller than the target value, if so, executing S615, and otherwise, executing S617.
S615: and adding 1 to the EOCC value of the pixel point [ row ] [ col ] corrected by the iteration.
S616: setting Flag _ add [ row ] [ col ] of the pixel point corrected by the iteration to 1, setting Flag _ sub [ row ] [ col ] of the pixel point corrected by the iteration to 0, and executing S623.
S617: and subtracting 1 from the EOCC value of the pixel point [ row ] [ col ] corrected by the iteration.
S618: setting Flag _ add [ row ] [ col ] of the pixel point corrected by the iteration to 0, setting Flag _ sub [ row ] [ col ] of the pixel point corrected by the iteration to 1, and executing S623.
S619: and judging whether the Flag _ add [ row ] [ col ] of the pixel point corrected by the iteration is equal to 1 or not, and executing S620 if the Flag _ add [ row ] [ col ] is equal to 1. Otherwise, S621 is performed.
S620: and subtracting 1 from the EOCC value of the pixel point [ row ] [ col ] corrected by the iteration, and executing S622.
S621: and adding 1 to the EOCC value of the pixel point [ row ] [ col ] corrected by the iteration.
S622: the flag bit maintain [ row ] [ col ] of the pixel point corrected by the iteration is 1.
S623: and writing the corrected EOCC corresponding to the pixel point corrected by the iteration into a detector.
S624: the column loop counter Col is incremented by 1 and returns to S608.
S625: and calculating the correction precision of the corrected detector.
S626: and judging whether the correction precision of the detector in the step S625 meets the preset correction precision or not, if so, quitting the correction, and if not, executing the step S627.
S627: let i = i +1, and return to S602.
In S700 of this embodiment, the DOCCs of columns 1 to 384 of the OCC parameter list of the detector to be corrected are the same as the correction process in S600, and the possible difference is that the preset precision in S627 is different, so the description of the correction process in S700 is omitted here.
In addition, in S800 of this embodiment, the FOCC of columns 1-384 of the OCC parameter list of the detector to be corrected is the same as the above-mentioned correction process in S600, and the possible difference is that the preset precision in S627 is different, so the description of the correction process in S800 is omitted here.
According to the technical scheme provided by the embodiment, the OCC parameter list is corrected during imaging of the detector, so that the nonuniformity generated in the imaging process is overcome. Through the technical scheme provided by the embodiment, the measurement accuracy of the detector can be improved, and the burden of correction after imaging can be reduced.
As shown in FIG. 6, another embodiment of the present application provides a detector non-uniformity correction system, comprising:
the first correction module is used for simultaneously correcting each row of OCC data in first region OCC data in the OCC parameter list so as to enable the mean value of pixel values output by all pixel points of the detector array to be closest to a preset pixel target value; and/or
And the second correction module is used for respectively correcting each OCC data in the second region OCC data in the OCC parameter list so as to enable the pixel value output by each OCC data at each pixel point corresponding to the detector array to be closest to the preset pixel target value.
Fig. 7 is a schematic diagram illustrating a structure of a computing device 5000 according to an embodiment of the present disclosure. The computing device 5000 includes: processor 5010, memory 5020, communications interface 5030, bus 5040.
It is to be appreciated that communication interface 5030 in computing device 5000 as shown in the figure may be used to communicate with other devices.
The processor 5010 may be coupled to a memory 5020. The memory 5020 may be used for storing the program codes and data. Accordingly, the memory 5020 may be a memory unit within the processor 5010, an external memory unit separate from the processor 5010, or a component including a memory unit within the processor 5010 and an external memory unit separate from the processor 5010.
Optionally, computing device 5000 may also include a bus 5040. The memory 5020 and the communication interface 5030 may be connected to the processor 5010 through a bus 5040. The bus 5040 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus 5040 may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one line is shown, but this does not represent only one bus or one type of bus.
It should be understood that, in the embodiment of the present application, the processor 5010 may employ a Central Processing Unit (CPU). The processor may also be other general purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. Or the processor 5010 adopts one or more integrated circuits to execute the relevant programs, so as to implement the technical solutions provided by the embodiments of the present application.
The memory 5020 can include both read-only memory and random access memory, and provides instructions and data to the processor 5010. A portion of the processor 5010 may also include non-volatile random access memory. For example, the processor 5010 may also store information of the device type.
When the computing device 5000 is running, the processor 5010 executes the computer-executable instructions in the memory 5020 to perform the operational steps of the above-described method.
It should be understood that the computing device 5000 according to the embodiment of the present application may correspond to a corresponding main body for executing the method according to the embodiments of the present application, and the above and other operations and/or functions of each module in the computing device 5000 are respectively for implementing corresponding processes of each method of the embodiment, and are not described herein again for brevity.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed system, apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the units is only one logical division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
The present embodiments also provide a computer-readable storage medium, on which a computer program is stored, where the computer program is used to, when executed by a processor, perform the method for non-uniformity correction of a detector provided in the above embodiments, where the method includes at least one of the solutions described in the above embodiments.
The computer storage media of the embodiments of the present application may take any combination of one or more computer-readable media. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Computer program code for carrying out operations for aspects of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present application and the technical principles employed. It will be understood by those skilled in the art that the present application is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the application. Therefore, although the present application has been described in more detail with reference to the above embodiments, the present application is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present application.

Claims (8)

1. A method for non-uniformity correction of a detector, the method comprising:
simultaneously correcting each row of OCC data in first region OCC data in an OCC parameter list respectively so as to enable the mean value of pixel values output by all pixel points of a detector array to be closest to a preset pixel target value; and
respectively correcting each OCC data in the second region OCC data in the OCC parameter list so as to enable the pixel value output by each OCC data at each pixel point corresponding to the detector array to be closest to the preset pixel target value;
the first area is a column corresponding to OCC data used for adjusting the pixel value of the whole OCC array;
the second area is a column corresponding to OCC data for adjusting a pixel value corresponding to each OCC data;
before OCC data of the first area and the second area are corrected, respectively executing initialization steps: initializing all OCC data in the OCC data array to be a, initializing a loop counter i to be 0, and initializing the maximum loop times to be 2n-the maximum of both 1-a and a; wherein n is the binary digit of OCC data.
2. The method of claim 1, wherein the step of simultaneously correcting each column of OCC data in the first region of OCC data in the OCC parameter list to make the mean of the pixel values output by all pixel points of the detector array closest to the predetermined pixel target value comprises:
correcting OCC data of a column of the first region OCC data that positively correlates with a change in pixel value; and
OCC data of columns in the first region OCC data, which have a negative correlation with a change in pixel value, is corrected.
3. The method according to claim 2, wherein the correcting OCC data of a column of the first region OCC data positively correlated with a change in pixel value includes:
s1: initializing all OCC data in the OCC data array to be a, initializing a loop counter i to be 0, and initializing the maximum loop times to be 2n-the maximum of both 1-a and a; wherein n is the binary digit of OCC data;
s2: judging whether a cycle counter i is smaller than the maximum cycle number, if so, reading a preset number of pictures from a cache region of a detector to be corrected, and calculating a time-space domain mean value b of pixel values of the preset number of pictures; otherwise, ending the iteration;
s3: calculating an absolute value d of a difference between a time-space domain mean value b and a preset target value c of the pixel values of the preset number of pictures;
s4: judging whether the absolute value d is smaller than a preset minimum value e, if so, executing S5, otherwise, executing S10;
s5: judging whether the time-space domain mean value b of the pixel values of the preset number of pictures is smaller than the preset target value c, if so, executing S6, otherwise, executing S8;
s6: adding 1 to OCC data of the whole column, setting Flag bit Flag _ add to 1, setting Flag _ sub to 0, and writing the OCC data of the column added with 1 into a detector;
s7: let the preset minimum value e equal to the absolute value d, i = i +1, return to S2;
s8: subtracting 1 from the OCC data of the whole column, setting Flag bit Flag _ add to 0, setting Flag _ sub to 1, and writing the OCC data of the column subtracted by 1 into a detector;
s9: let the preset minimum value e equal to the absolute value d, i = i +1, return to S2;
s10, judging whether Flag _ add is equal to 1, if yes, executing S11, otherwise executing S12;
s11: subtracting 1 from the whole column of OCC data, writing the column of OCC data after subtracting 1 into a detector, and ending the iteration;
s12: and adding 1 to the whole column of OCC data, writing the column of OCC data added with 1 into the detector, and ending the iteration.
4. The method according to claim 2, wherein the correcting OCC data of a column in the first region OCC data that is negatively correlated with a change in pixel value includes:
t1: initializing all OCC data in the OCC data array to be a, initializing a loop counter i to be 0, and initializing the maximum loop times to be 2n-the maximum of both 1-a and a; wherein n is the binary digit of OCC data;
t2: judging whether a cycle counter i is smaller than the maximum cycle number, if so, reading a preset number of pictures from a cache region of a detector to be corrected, and calculating a time-space domain mean value b of pixel values of the preset number of pictures; otherwise, ending the iteration;
t3: calculating an absolute value d of a difference between a time-space domain mean value b and a preset target value c of the pixel values of the preset number of pictures;
t4: judging whether the absolute value d is smaller than a preset minimum value e, if so, executing T5, otherwise, executing T10;
t5: judging whether the time-space domain mean value b of the pixel values of the preset number of pictures is smaller than the preset target value c, if so, executing T6, otherwise, executing T8;
t6: subtracting 1 from the OCC data of the whole column, setting Flag bit Flag _ add to 0, setting Flag _ sub to 1, and writing the OCC data of the column subtracted by 1 into a detector;
t7: let the preset minimum value e equal to the absolute value d, i = i +1, returning to T2;
t8: adding 1 to OCC data of the whole column, setting Flag bit Flag _ add to 1, setting Flag _ sub to 0, and writing the OCC data of the column added with 1 into a detector;
t9: let the preset minimum value e equal to the absolute value d, i = i +1, returning to T2;
t10: judging whether the Flag _ add is equal to 0, if so, executing T11, otherwise, executing T12;
t11: adding 1 to the whole column of OCC data, writing the column of OCC data added with 1 into a detector, and ending the iteration;
t12: subtracting 1 from the whole column of OCC data, writing the column of OCC data after subtracting 1 into the detector, and ending the iteration.
5. The method of claim 1, wherein the step of respectively correcting each OCC data in the second region OCC data in the OCC parameter list to make the pixel value output by each OCC data at each pixel point corresponding to the detector array closest to the preset pixel target value comprises:
p1: initializing all OCC data in the OCC data array to be a, initializing a loop counter i to be 0, and initializing the maximum loop times to be 2n-the maximum of both 1-a and a; wherein n is the binary digit of OCC data;
p2: judging whether the loop counter i is smaller than the maximum loop frequency, if so, executing P3, otherwise, ending the iteration;
p3: reading a preset number of pictures from a buffer area of a detector to be corrected, and calculating a time domain mean value of each pixel in the pictures;
p4: initializing the flag bits maintain [ row ] [ col ] of all OCC data in an OCC data array of a detector to be corrected to be 0;
p5: initializing a line cycle counter to 0;
p6: judging whether the line circulation counter is smaller than the maximum line number of the detector to be corrected or not, if so, executing P7, otherwise, executing P25;
p7: initializing a column cycle counter to 0;
p8: judging whether the column cycle counter is smaller than the maximum column number of OCC data of the detector to be corrected, wherein the maximum column number is used for adjusting the pixel value corresponding to each OCC data, if so, P10 is carried out, otherwise, P9 is carried out;
p9: increment the line cycle counter by 1 and return to P6;
p10: judging whether the flag bit maintain [ row ] [ col ] of the pixel point corrected by the cycle is 1, if so, executing P11, otherwise, executing P12;
p11: increment the column cycle counter by 1 and return to P8;
p12: calculating the absolute value of the difference between the time domain mean value of the pixel value at the pixel point corrected by the current cycle and the target value of the pixel value at the point;
p13: judging whether the absolute value obtained in the P12 is smaller than the minimum value of the pixel point corrected by the current cycle, if so, executing P14, otherwise, executing P19;
p14: judging whether the time domain mean value of the pixel value at the pixel point corrected by the current cycle is smaller than the target value of the pixel value at the point, if so, executing P15, otherwise, executing P17;
p15: adding 1 to OCC data at the pixel point corrected by the current cycle;
p16: setting Flag bits Flag _ add [ row ] [ col ] at the pixel points corrected by the current cycle to 1, setting Flag _ sub [ row ] [ col ] to 0, and executing P23;
p17: subtracting 1 from the OCC data at the pixel point corrected by the current cycle;
p18: setting the Flag _ add [ row ] [ col ] at the pixel point corrected by the current cycle to 0, setting the Flag _ sub [ row ] [ col ] to 1, and executing P23;
p19: judging whether the Flag _ add [ row ] [ col ] at the pixel point corrected by the current cycle is equal to 1, if so, executing P20, otherwise, executing P21;
p20: subtracting 1 from the OCC data at the pixel point corrected by the current cycle, and executing P22;
p21: adding 1 to OCC data at the pixel point corrected by the current cycle;
p22: setting a flag bit maintain [ row ] [ col ] at the pixel point corrected by the current cycle to 1;
p23: writing the corrected OCC data into a detector to be corrected;
p24, increment the column cycle counter by 1 and return to P8;
p25: calculating the correction precision of the corrected detector, if the correction precision is not less than the preset precision, ending the iteration, and if the correction precision is less than the preset precision, executing P26;
p26: let i = i +1, return P2.
6. A detector non-uniformity correction system, the system comprising:
the first correction module is used for simultaneously correcting each row of OCC data in first region OCC data in the OCC parameter list so as to enable the mean value of pixel values output by all pixel points of the detector array to be closest to a preset pixel target value; and
the second correction module is used for respectively correcting each OCC data in the second area OCC data in the OCC parameter list so as to enable the pixel value output by each OCC data at each pixel point corresponding to the detector array to be closest to the preset pixel target value;
in the first correction module, the first region is a column corresponding to OCC data used for adjusting pixel values of the entire OCC array; in the second correction module, the second region is a column corresponding to OCC data for adjusting a pixel value corresponding to each OCC data;
an initialization module, configured to perform initialization steps before correcting the OCC data of the first area and the second area, respectively: initializing all OCC data in the OCC data array to be a, initializing a loop counter i to be 0, and initializing the maximum loop times to be 2n-the maximum of both 1-a and a; wherein n is the binary digit of OCC data.
7. A computing device, comprising:
a bus;
a communication interface connected to the bus;
at least one processor coupled to the bus; and
at least one memory coupled to the bus and storing program instructions that, when executed by the at least one processor, cause the at least one processor to perform the method of any of claims 1 to 5.
8. A computer-readable storage medium having stored thereon program instructions, which, when executed by a computer, cause the computer to perform the method of any of claims 1 to 5.
CN202011178030.3A 2020-10-29 2020-10-29 Detector non-uniformity correction method and system Active CN111998958B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011178030.3A CN111998958B (en) 2020-10-29 2020-10-29 Detector non-uniformity correction method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011178030.3A CN111998958B (en) 2020-10-29 2020-10-29 Detector non-uniformity correction method and system

Publications (2)

Publication Number Publication Date
CN111998958A CN111998958A (en) 2020-11-27
CN111998958B true CN111998958B (en) 2021-02-19

Family

ID=73475803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011178030.3A Active CN111998958B (en) 2020-10-29 2020-10-29 Detector non-uniformity correction method and system

Country Status (1)

Country Link
CN (1) CN111998958B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113566981B (en) * 2021-09-26 2022-01-04 南京智谱科技有限公司 Self-adaptive adjusting method and device of infrared detector

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2347247B1 (en) * 2008-10-27 2019-06-26 Genalyte, Inc. Biosensors based on optical probing and sensing
CN106092326B (en) * 2016-07-08 2023-04-07 无锡艾立德智能科技有限公司 Compensation circuit and compensation method of infrared focal plane detector reading circuit
CN107084797B (en) * 2017-03-30 2019-06-18 智来光电科技(苏州)有限公司 Domestic infrared detector simulation output self-adapting adjusting apparatus and its method of adjustment
CN106803900A (en) * 2017-04-01 2017-06-06 江苏北方湖光光电有限公司 A kind of small-sized uncooled ir movement based on monolithic FPGA
CN108896190A (en) * 2018-08-16 2018-11-27 电子科技大学 Infrared test system and its test method on piece correction
CN109974866B (en) * 2019-03-11 2020-07-31 宁波飞芯电子科技有限公司 Infrared focal plane array non-uniformity correction method and correction circuit

Also Published As

Publication number Publication date
CN111998958A (en) 2020-11-27

Similar Documents

Publication Publication Date Title
CN111998958B (en) Detector non-uniformity correction method and system
US7545968B2 (en) Image processing apparatus
CN111595462B (en) Infrared imaging temperature measurement system calibration method and device, computing equipment and storage medium
CN108542412A (en) Image rebuilding method and PET device
US7405405B2 (en) Method and system for reconstructing an image in a positron emission tomography (PET) system
CN116645426A (en) Camera internal parameter calibration method and device, storage medium and electronic equipment
CN111493915B (en) Time correction method for PET
CN115728445A (en) Sensor calibration method, device, equipment and computer readable storage medium
CN115752757A (en) On-orbit non-uniformity correction method for infrared scanning camera with separated detector and inner black body
CN113284210B (en) TGS transmission image reconstruction method, device, medium and electronic equipment
CN108922478B (en) Backlight brightness adjusting method and system and display device
CN114264997A (en) Gradient sensitivity calibration method and device and magnetic resonance equipment
CN108871590A (en) Non-refrigerated infrared focal plane probe heterogeneity response rate bearing calibration and device
JP3696434B2 (en) Image sensor and data processing method thereof
CN117310789A (en) Detector channel response linear correction method, device, equipment and storage medium
CN113284209B (en) TGS transmission image reconstruction method, device, medium and electronic equipment
CN114567324A (en) Digital-to-analog conversion error correction method and related device
CN113744332A (en) Image correction method, storage method, device, electronic device and storage medium
CN116929565A (en) Control method of infrared reading circuit
CN114581547A (en) Method and device for realizing Compton camera reconstruction by constructing sparse source set matrix
CN113984208A (en) Spectrometer wavelength calibration method, system, medium and electronic terminal
CN113284208A (en) TGS transmission image reconstruction method, device, medium and electronic equipment
CN113360158A (en) Loop vectorization based on vector mask and vector count distance
CN115687881B (en) Error compensation measuring and calculating method for optimizing accuracy of ranging sensor and application thereof
Lim et al. Optimal non-uniformity correction for linear response and defective pixel removal of thermal imaging system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A detector non-uniform correction method and system

Effective date of registration: 20220825

Granted publication date: 20210219

Pledgee: China Construction Bank Corporation Nanjing Jiangbei new area branch

Pledgor: Nanjing Zhipu Technology Co.,Ltd.

Registration number: Y2022980013634

PC01 Cancellation of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20230915

Granted publication date: 20210219

Pledgee: China Construction Bank Corporation Nanjing Jiangbei new area branch

Pledgor: Nanjing Zhipu Technology Co.,Ltd.

Registration number: Y2022980013634