This repository contains the Rust reference implementation for the light field refocus algorithm to be implemented as part of the project and a C++ template for your implementation. Your algorithm should produce the same output as the Rust reference implementation when run on the same input data with the same focus parameter. The C++ template can be modified as required (including the existing C++ code).
The input light fields we use in this project can be found here. Download the "Rectified and cropped images" zip file and extract the archive. The resulting directory should contain sub-aperture PNG images named like out_00_00_-780.134705_-3355.331299_.png; the path to this directory is the input passed to the implementations.