A method for determining an image of a scene, wherein the method uses a processor coupled with stored instructions implementing the method, wherein the instructions, when executed by the processor carry out steps of the method, comprising:
- accepting, by an input interface, measurements of the image of the scene acquired under image acquisition settings, and settings data indicative of the image acquisition settings;
- estimating, by an image acquisition setting estimator module, forward operator of the image acquisition settings based on the settings data;
- modifying, by the image acquisition inverter module, a previous estimate of the image of the scene to fit the measurements inverted with the estimated forward operator to produce a current noisy image of the scene;
- removing, by the denoiser module, noise from a noisy image provided to the denoiser module subject to a known noise level;
- estimating, by the noise level estimator (NLE) module, noise level present in an input image provided to the NLE module;
- recursively estimating the image of the scene until a termination condition is met, wherein for a current iteration:
- (1) executing the image acquisition inverter module with the estimated forward operator and the previous estimate of the image of the scene estimated during a previous iteration to produce the current noisy image (2) executing the noise level estimator module with the previous estimate of the image to produce a current noise level;
- and (3) executing the denoiser to remove the current noise level from the current noisy image to produce a current image;
- and
- outputting, by an output interface, the image of the scene.