1. A non-transitory computer-readable storage medium storing program instructions, wherein the program instructions are computer-executable to implement: obtaining a flat comprising a plurality of separate portions of an image of a scene, wherein each of the plurality of separate portions is in a separate region of the flat, wherein each of the plurality of separate portions comprises a plurality of pixels, and wherein the flat is a 2D representation of a 4D light-field that captures both spatial and angular information of the scene; assembling the plurality of separate portions to produce a first high-resolution image of the scene, wherein at least two pixels from each portion is included in the first high-resolution image; inverting each of the plurality of separate portions relative to their respective centers to produce a plurality of inverted portions; assembling the plurality of inverted portions to produce a second high-resolution image of the scene, wherein at least two pixels from each inverted portion is included in the second high-resolution image; and combining the first high-resolution image with the second high-resolution image to produce a final high-resolution image of the scene.