1. A computer implemented method of generating a latent image from an observed image, said method comprising: implementing a plurality of image processing operations within a single optimization framework, wherein said single optimization framework comprises solving a linear minimization expression; mapping said linear minimization expression onto at least one non-linear solver; and using said non-linear solver, iteratively solving said linear minimization expression in order to extract said latent image from said observed image, wherein said linear minimization expression comprises: a data term, and a regularization term, and wherein said regularization term comprises a plurality of non-linear image priors.