How to get rid of CSI camera flicker with libargus

Hi,

We are developing a platform that uses Jetson TX2 along with IMX477 CSI image sensor for a lens-less holography project. We are using libargus api to receive frames from the image sensor.

However, as of now, each individual frame has different intensity. Values of individual pixels have deviation of up to 10 percent from the average value. That should not be the case since the lighting conditions are constant on our platform and we turned off automatic ISP gain. We also locked auto white balance and auto exposure.

The current settings look like this

ISourceSettings *iSourceSettings = interface_cast<ISourceSettings>(iRequest->getSourceSettings());
iSourceSettings->setFrameDurationRange(Range<uint64_t>(1e9/DEFAULT_FPS));
iSourceSettings->setExposureTimeRange(Range<uint64_t>(Settings::values[STG_EXPOSURE],Settings::values[STG_EXPOSURE]));
iSourceSettings->setGainRange(Range<float>(1.0,1.0));

IAutoControlSettings *iAutoSettings = interface_cast<IAutoControlSettings>(iRequest->getAutoControlSettings());
iAutoSettings->setExposureCompensation(0);
iAutoSettings->setIspDigitalGainRange(Range<float>(0,0));
iAutoSettings->setWbGains(0);
iAutoSettings->setColorSaturation(1.0);
iAutoSettings->setColorSaturationBias(1.0);
iAutoSettings->setColorSaturationEnable(true);
iAutoSettings->setAwbLock(true);
iAutoSettings->setAeLock(true);

Is there anything we have missed or set wrong?

Thank you all in advance
Viktor Koropecky

Have a try the argus_camera to set the gain range/exposure time range to a fixed range to check it.
Also it’s a UI APP you can try to enable/disable some feature to clarify the problem.

Thank you so much for your answer. After tweaking with the UI, I was able to come to the conclusion that the flicker is caused by the camera noise, which is amplified in our algorithm.