1. A method for performing image recovery comprising: generating, using at least one processor, an ensemble of sparse models from uncorrupted training data, comprising: learning a dictionary from the uncorrupted training data by randomly selecting a subset of the uncorrupted training data to form the dictionary, and learning at least one weight from the uncorrupted training data using an unconstrained least squares approximation, the at least one weight corresponding to the dictionary; using respective sparse models of the ensemble of sparse models to generate a plurality of individual approximations of a first image, wherein each individual approximation of the plurality of individual approximations corresponds to a particular sparse model of the respective sparse models; and aggregating, using the at least one processor, the individual approximations to generate a second image, by calculating a linear combination of the plurality of individual approximations with pre-determined weights applied to each individual approximation of the plurality of individual approximations.