Compressive sensing is a means of reconstructing under-sampled data by projecting compressed spaced basis functions into the gaps between samples. In the case of coded aperture spectral snapshot imaging, a monochrome image sensor is used to capture a large, 2-D array of randomly overlapping spectrophotometer measurements. Compressive sensing is then used to decouple and interpolate spectral signatures over the 2D array to produce a multispectral image. Originally pioneered at Duke University, CASSI systems have demonstrated MS image captured with as many as 24 spectral wavelengths ranging from visible to near-IR. In this project, we are focused on porting Matlab-based reconstruction algorithms to GPU processes for real-time and embedded applications.
Here a ray of light emanating from the scene is passed through a series of optical elements culminating in a prism that spreads that single ray of light over a lateral sequence of sensor pixels, in a wavelength dependent manner, just like a spectrophotometer would spread light across a linear CCD array. Allowing for multiple rays of light simultaneously incident upon the sensor means that the camera can resolve a two dimensional image; however, because the spreading of light rays across lateral sequences of pixels means a single pixel will collect light from multiple sources, very sophisticated compressive sensing techniques must be employed to decouple the spectral profiles of neighboring pixels.