Machine Vision

cancel
Showing results for 
Search instead for 
Did you mean: 

Need a digital camera pixel nonuniformity correction algorithm

I am using a Indigo Alpha NIR camera with NI IMAQ. I need to implement a bad pixel correction, a nonuniformity correction, and an automatic gain correction algorithm soon. I am under the gun and have very little time for exploration. I was hoping for algorithm, code, approach, anything! Is there anything out there I can use?
0 Kudos
Message 1 of 5
(3,763 Views)
Hello,

Please describe what you mean by the terms bad pixel correction and nonuniformity correction. If by bad pixel and nonuniformity correction, you mean that you want to be able to remove variation in pixel intensities, you could use an IMAQ LowPass VI to apply a lowpass filter to the image to change pixel intensities to the average intensity around them. You could also search the image for pixels of a given intensity and modify the intensity to a desired value. For the gain function, I would suggest implementing an IMAQ Multiply function to multiply each pixel intensity by a value specified by the "constant" input. The IMAQ Multiply and IMAQ Lowpass functions are installed with the Vision Development Module.

If those functions or goals are not what you had in mind, please give me additional information about what you are trying to achieve.

Regards,
Scott R.
Applications Engineer
National Instruments
Scott Romine
Course Development Engineer
National Instruments
0 Kudos
Message 2 of 5
(3,753 Views)
Thanks for the reply.

By non uniformity I mean "gain related fixed pattern noise". It manifests itself in the form of vertical lines in the image that are not part of the target and is caused by the non uniform pixel brightness variations as expressed in (pixel_intensity = gain_factor * signal + offset). In systems that have this feature an internal table of gains per each pixel is maintained and incorporated on each snap. I am not sure what the correct way to get these gains would be.

Bad pixels are also identified and stored and compensated for on each snap. This is when a dark field image shows random white pixels. Or a bright field shows random dark pixels. These are located and replaced with the average of surrounding pixels.

The automatic gain control in its simple form deals with the mean value of the pixels in the image and clipping values outside the one, two, or three sigma.

As you can see I know enough to be dangerous and these could be fairly time consuming undertakings. I was hoping for a silver bullet! Some library or a known approach.
0 Kudos
Message 3 of 5
(3,749 Views)
Hello,

There are no pre-packaged solutions for what you have described beyond using the filter VI that I mentioned previously. That will perform the analysis that you described for the bad pixel correction.

Beyond that, you will need to construct your own algorithm for the other steps. Every reference that I found to automatic gain control indicated that it was done with additional circuitry in the camera.

Regards,
Scott R.
Applications Engineer
National Instruments
Scott Romine
Course Development Engineer
National Instruments
0 Kudos
Message 4 of 5
(3,737 Views)
Thanks Scott,

I came across both NUC and BPC algorithms in one write up. It does wonders.
0 Kudos
Message 5 of 5
(3,735 Views)