Import libraries

Create synthetic hyperspectral ../images

Load a dummy dataset of material and luminescence maps (I did not want to hardcode all the maps myself)

The general equation for a given pixel at location $(x,y)$ and wavelength $\lambda$ in a hyperspectral image $h$

$$h(x,y,\lambda) = \left[\sum^R_{r=1} \pi_{r}(\lambda)\alpha_{r}(x,y)\right] \left[\sum^L_{l=1} \ell_{l}(\lambda)\beta_l(x,y)\right]$$

Pull random maps from the dummy dataset, create randomized spectra

Use the maps and spectra to create a single hyperspectral image

Create a dataset of hyperspectral ../images of specified size

Create 80 hyperspectral ../images for testing, and 20 for training. They each have 3 materials and 2 light sources

Design autoencoder

Run Autoencoder