A computer-implemented method comprising: receiving survey data corresponding to a subsurface region of interest; determining a wavefield by iteratively performing an orthogonal generalized matching pursuits technique until a specified condition is satisfied: selecting, for a current iteration based at least in part on a current residual representing an approximation error, a dictionary element (d j) that includes a representation of at least one portion of the wavefield, wherein the dictionary element is constructed out of the product of a complex exponential function and a ghost operator; computing, for the current iteration, a respective orthonormal vector based on the selected dictionary element, wherein if the current iteration is after a first iteration the respective orthonormal vector is computed further based on an orthonormal vector computed in a previous iteration before the current iteration; orthogonally projecting the orthonormal vector onto a space spanned by a plurality of orthonormal vectors including the computed orthonormal vector, wherein the computed orthonormal vector is orthogonal to other orthonormal vectors of the plurality of orthonormal vectors; and updating the current residual based at least in part on the orthogonal projection. receiving survey data corresponding to a subsurface region of interest; determining a wavefield by iteratively performing an orthogonal generalized matching pursuits technique until a specified condition is satisfied: selecting, for a current iteration based at least in part on a current residual representing an approximation error, a dictionary element (d j) that includes a representation of at least one portion of the wavefield, wherein the dictionary element is constructed out of the product of a complex exponential function and a ghost operator; computing, for the current iteration, a respective orthonormal vector based on the selected dictionary element, wherein if the current iteration is after a first iteration the respective orthonormal vector is computed further based on an orthonormal vector computed in a previous iteration before the current iteration; orthogonally projecting the orthonormal vector onto a space spanned by a plurality of orthonormal vectors including the computed orthonormal vector, wherein the computed orthonormal vector is orthogonal to other orthonormal vectors of the plurality of orthonormal vectors; and updating the current residual based at least in part on the orthogonal projection. selecting, for a current iteration based at least in part on a current residual representing an approximation error, a dictionary element (d j) that includes a representation of at least one portion of the wavefield, wherein the dictionary element is constructed out of the product of a complex exponential function and a ghost operator; computing, for the current iteration, a respective orthonormal vector based on the selected dictionary element, wherein if the current iteration is after a first iteration the respective orthonormal vector is computed further based on an orthonormal vector computed in a previous iteration before the current iteration; orthogonally projecting the orthonormal vector onto a space spanned by a plurality of orthonormal vectors including the computed orthonormal vector, wherein the computed orthonormal vector is orthogonal to other orthonormal vectors of the plurality of orthonormal vectors; and updating the current residual based at least in part on the orthogonal projection.