{'fraction_non_alphanumeric': 0.029112267373192453, 'fraction_numerical': 0.01098094295655505, 'mean_word_length': 4.991202906865557, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Spectral DiffuserCam: lensless snapshot hyperspectral imaging with a spectral filter array

Hyperspectral imaging is useful for applications ranging from medical diagnostics to crop monitoring; however, traditional scanning hyperspectral imagers are prohibitively slow and expensive for widespread adoption. Snapshot techniques exist but are often confined to bulky benchtop setups or have low spatio-spectral resolution. In this paper, we propose a novel, compact, and inexpensive computational camera for snapshot hyperspectral imaging. Our system consists of a repeated spectral filter array placed directly on the image sensor and a diffuser placed close to the sensor. Each point in the world maps to a unique pseudorandom pattern on the spectral filter array, which encodes multiplexed spatio-spectral information. A sparsity-constrained inverse problem solver then recovers the hyperspectral volume with good spatio-spectral resolution. By using a spectral filter array, our hyperspectral imaging framework is flexible and can be designed with contiguous or non-contiguous spectral filters that can be chosen for a given application. We provide theory for system design, demonstrate a prototype device, and present experimental results with high spatio-spectral resolution.


INTRODUCTION
Hyperspectral imaging systems aim to capture a 3D spatiospectral cube containing spectral information for each spatial location. This enables the detection and classification of different material properties through spectral fingerprints, which cannot be seen with an RGB camera alone. Hyperspectral imaging has been shown to be useful for a variety of applications, from crop monitoring to medical diagnostics, multispectral microscopy, and food quality analysis [1][2][3][4][5][6][7][8][9]. Despite the potential utility of hyperspectral imaging, commercial hyperspectral cameras range from $25,000 -$100,000. This high price point and the large size are prohibitive for most consumer technology and have limited the widespread use of hyperspectral imagers.
Traditional hyperspectral imagers rely on scanning either the spectral or spatial dimension of the hyperspectral cube with spectral filters or line-scanning [10][11][12]. These methods can be slow and generally require precise moving parts, increasing the camera complexity. More recently, snapshot techniques have emerged, enabling capture of the full hyperspectral data cube in a single shot. Some snapshot methods trade-off spatial resolution for spectral resolution by using a color filter array or splitting up the camera's field-of-view (FOV). Computational imaging approaches can circumvent this trade-off by spatiospectrally encoding the incoming light, then solving a compressive sensing inverse problem to recover the spectral cube [13]. These systems are typically table-top instruments with bulky relay lenses, prisms, or diffractive elements, suitable for laboratory experiments, but not the real world. Recently, several compact snapshot hyperspectral imagers have been demonstrated by encoding spatio-spectral information within a single optic, enabling a practical form factor [14][15][16]. Using a single optic to control both the spectral and spatial resolution, they measure contiguous spectral bins within a given spectral band. Fig. 1. Overview of the Spectral DiffuserCam imaging pipeline, which reconstructs a hyperspectral datacube from a single-shot 2D measurement. The system consists of a diffuser and spectral filter array bonded to an image sensor. A one time calibration procedure is used to measure the point spread function (PSF) and filter function. Images are reconstructed using a non-linear inverse problem solver with a sparsity prior. The result is a 3D hyperspectral cube with 64 channels of spectral information for each of 448×320 spatial points, generated from a 2D sensor measurement that is 448×320 pixels.
Here, we propose a new encoding scheme that takes advantage of recent advances in patterned thin film spectral filters [17], as well as lensless imaging, to achieve high-resolution snapshot hyperspectral imaging in a small form factor. Our system consists of a repeating spectral filter array placed directly onto the imaging sensor and a randomizing phase mask (i.e. diffuser) placed a small distance away from the sensor, as in the Diffuser-Cam architecture [18]. The diffuser spatially multiplexes the incoming light, such that each spatial point in the world maps to many pixels on the camera. The spectral filter array then spectrally encodes the incoming light via a structured erasure function. The multiplexing effect of the diffuser allows recovery of scene information from a subset of sensor pixels, so we are able to recover the full spatio-spectral cube without the loss in resolution that would result from using a non-multiplexing optic, such as a lens.
Our encoding scheme enables hyperspectral recovery in a compact and inexpensive form factor. The spectral filter array can be manufactured directly on the sensor, costing under $5 for both the diffuser and the spectral filter array at scale. A key advantage of our system over previous work in compact snapshot hyperspectral imagers is that it decouples the spectral and spatial responses, enabling a flexible design in which contiguous or non-contiguous spectral filters with userselected bandwidths can be chosen. This should find use in taskspecific/classification applications [19][20][21], where one may wish to measure multiple non-contiguous spectral bands, or have higher-resolution spectral sampling for certain bands. Given some conditions and scene sparsity, the spectral sampling is determined by the spectral filters and the spatial resolution is determined by the autocorrelation of the diffuser response.
We present theory for our system, simulations to motivate the need for a diffuser, and experimental results from a prototype system. The main contributions of our paper are: 1. A novel framework for snapshot hyperspectral imaging that combines compressive sensing with spectral filter arrays, enabling compact and inexpensive hyperspectral imaging. 2. Theory and simulations analyzing the system's spatiospectral resolution for objects with varying complexity. 3. A prototype device demonstrating snapshot hyperspectral recovery on real data from natural scenes.

A. Snapshot Hyperspectral Imaging
There have been a variety of snapshot hyperspectral imaging techniques proposed and evaluated over the past decades. Most approaches can be categorized into the following groups: spectral filter-based methods, coded aperture methods, specklebased methods, and dispersion-based methods. Spectral filter array methods use tiled spectral filter arrays on the sensor to recover the spectral channels of interest [22]. These methods can be viewed as an extension of Bayer filters for RGB imaging. As the number of filters increases (increasing the spectral resolution), the spatial resolution decreases. For instance, with an 8×8 filter array (64 spectral channels), the spatial resolution is 8× worse in each direction than that of the camera sensor. Demosaicing methods have been proposed to improve upon this, however they rely on intelligently guessing information that is not recorded by the sensor [23]. Our system uses a spectral filter array, but combines it with a randomizing diffuser in a lensless imaging architecture, allowing us to recover close to the full spatial resolution of the sensor, which is not possible with traditional lens-based spectral filter array methods.
Coded aperture methods use a coded aperture, in combination with a dispersive optical element (e.g. a prism or diffractive grating), in order to modulate the light and encode spatialspectral information [13,[24][25][26]. These systems are able to capture hyperspectral images and videos but tend to be large tabletop systems consisting of multiple lenses and optical components. In contrast, our system has a much smaller form factor, requiring only a camera sensor with an attached spectral filter array and a thin diffuser placed close to the sensor.
Speckle-based methods use the wavelength dependence of speckle from a random media to achieve hyperspectral imaging. This has been demonstrated for compact spectrometers [27,28] and extended to hyperspectral imaging [14,15]. These systems can be compact, since they require only a sensor and scattering media as their optic; however their spectral resolution is limited by the speckle correlation through wavelengths. This is challenging to design for a given application, since the spatial and spectral resolutions are highly coupled. In contrast, our system uses spectral filters that can easily be adjusted for a given application and can be selected to have variable bandwidth or non-uniform spectral sampling.
Dispersive methods utilize the dispersion from a prism or high NA lens low NA lens Spectral DiffuserCam super-pixel filter pixel Fig. 2. Motivation for Multiplexing. A high-NA lens captures high-resolution spatial information, but misses the yellow point source, since it comes into focus on a spectral filter pixel designed for blue light. A low-NA lens blurs the image of each point source to be the size of the spectral filter's superpixel, capturing accurate spectra at the cost of poor spatial resolution. Our DiffuserCam approach multiplexes the light from each point source across many super-pixels, enabling the computational recovery of both point sources and their spectra without a loss in spatial resolution. Note that a simplified 3×3 filter array is shown here for clarity.
diffractive optic to encode spectral information on the sensor. This can be accomplished opportunistically by a prism added to a standard DSLR camera [29]. The resulting system has high spatial resolution, equal to that of the camera sensor, but spectral information is encoded only at the edges of objects in the scene, resulting in a highly ill-conditioned problem and lower spectral accuracy. Other methods use a diffuser (as opposed to a prism) as the dispersive element [30]. This can be more compact than prism-based systems and can have improved spatial resolution when combined with an additional RGB camera [31]. To further improve compactness, [16] uses a single diffractive optic as both the lens and the dispersive element, uniquely encoding spectral information in a spectrally-rotating point spread function (PSF).
Our system uses a lensless architecture and a spectral filter array, together with sparsity assumptions, to reconstruct 3D hyperspectral information across 64 wavelengths. The design is most similar to [16] and achieves a similar compact size; however, the use of the color filter array and diffuser results in more design flexibility, as our spectral and spatial resolutions are decoupled, enabling custom sensors tailored to specific spectral filter bands that do not need to be contiguous. Furthermore, our system achieves better spectral accuracy.

B. Lensless Imaging
Lensless, mask-based imaging systems do not have a main lens, but instead use an amplitude or phase mask in place of imaging optics. These systems have been demonstrated for very compact, small form factor 2D imaging [32][33][34]. They are generally amenable to compressive imaging, due to the multiplexing nature of lensless architectures; each point in the scene maps to many pixels on the sensor, allowing a sparse scene to be completely recovered from a subset of sensor pixels [35]. Or, one can reconstruct higher-dimensional functions like 3D [18] or video [36] from a single 2D measurement. In this work, we use diffuser-based lensless imaging to spatially-multiplex light onto a repeated spectral filter array, then reconstruct 3D hyperspectral information with spatial resolution better than the array superpixel size, despite the missing information due to the array.  Image formation model for a scene with two point sources of different colors, each with narrow-band irradiance centered at λ y (yellow) and λ r (red). The final measurement is the sum of the contributions from each individual spectral filter band in the array. Due to the spatial multiplexing of the lensless architecture, all scene points v(x, y, λ) project information to multiple spectral filters, which is why we can recover a high-resolution hyperspectral cube from a single image, after solving an inverse problem.

SYSTEM DESIGN OVERVIEW
Our system leverages recent advances in both spectral filter array technology and compressive lensless imaging to decouple the spectral and spatial design in ways that are not possible when using a single optic to encode spectral-spatial information. Furthermore, the spectral filter arrays can be deposited directly on the camera sensor. With a diffuser as our multiplexing optic, the system is compact and inexpensive at scale.
To motivate our need for a multiplexing optic instead of an imaging lens, let us consider three candidate architectures: one with a high numerical aperture (NA) lens whose diffractionlimited spot size is matched to the filter pixel size, one with a low-NA lens whose diffraction-limited spot size is matched to the super-pixel size, and one with our diffuser as a multiplexing optic. Figure 2 illustrates these three scenarios with a simplified spectral filter array consisting of 3 × 3 spectral filters (9 total) repeated horizontally and vertically. Assume that the monochrome camera sensor has square pixels of lateral size N pixel , the spectral filter array has square filters of size N filter , and each 3 × 3 block of spectral filters creates a super-pixel of size In the high-NA lens case, a spectrally-narrow point source in the scene will be imaged onto a single pixel of the sensor, and thus will only be measured if it is within the passband of the filter it is imaged to; otherwise it will be filtered out and not recorded (Fig. 2 (left)). In the low-NA lens case, each point source will be imaged to an area the size of the filter array superpixel, and thus recorded by the sensor correctly, but at the price of low spatial-resolution (matched to the the super-pixel size) Fig. 2 (middle). In contrast, a multiplexing optic can avoid the gaps in the measurement of the high-NA lens and achieve better resolution than the low-NA case.
A diffuser multiplexes the light from each point source such that it hits many filter pixels, covering all of the spectral bands. Given conditions on the scene sparsity and system incoherence, images could potentially be recovered with a spatial resolution on the order of the camera pixel size, Fig. 2 (right). In practice, the spatial resolution of our system will be bounded by the autocorrelation of the point spread function (PSF), as detailed in Sec. 7, and the diffuser PSF must span multiple super-pixels to ensure that each point in the world is captured. Since compressive recovery is used to recover a 3D hyperspectral cube from a 2D measurement, the resolution is a function of the scene complexity, as described in Sec. 7.

IMAGING FORWARD MODEL
Given our chosen design with a diffuser placed in front of a sensor that has a spectral filter array on top of it, in this section we outline a forward model for the optical system, illustrated in Fig. 3. This model is a critical piece of our iterative inverse algorithm for hyperspectral reconstruction and will also be used to analyze spatial and spectral resolution.

A. Spectral filter model
The spectral filter array is placed on top of an imaging sensor, such that the exposure on each pixel is the sum of point-wise multiplications with the discrete filter function, where · denotes point-wise multiplication, v[x, y, λ] is the spectral irradiance incident on the filter array and F λ [x, y] is a 3D function describing the transmittance of light through the spectral filter for K wavelength bands, which we call the filter function.
In this model, we absorb the sensor's spectral response into the definition of F λ [x, y]. Our device's filter function is determined experimentally (see Sec 6.C) and shown in Fig. 4(b). This can be generalized to any arbitrary spectral filter design and does not assume alignment between the filter pixels and the sensor pixels.
Here, we focus on the case of a repeating grid of spectral filters, where each 'super-pixel' consists of a set of narrow-band filters. Our device has a 8×8 grid of filters in each super-pixel; Fig. 3 illustrates a simplified 3×3 grid, for clarity.

B. Diffuser model
The diffuser (a smooth pseudorandom phase optic) in our system achieves spatial multiplexing; this results in a compact form factor and enables reconstruction with spatial resolution better than the super-pixel size via compressed sensing. The diffuser is placed a small distance away from the sensor and an aperture is placed on the diffuser to limit higher angles. The sensor plane intensity resulting from the diffuser can be modeled as a convolution of the scene, v[x, y, λ] with the on-axis PSF, h[x, y] [33]: where [x,y] * represents a discrete 2D linear convolution over spatial dimensions. The crop function accounts for the finite sensor size. We assume that the PSF does not vary with wavelength and validate this experimentally in Sec. 6.B. However, this model can be easily extended to include a spectrally-varying PSF, h[x, y, λ] if there is more dispersion across wavelengths.

C. Combined model
Combining the spectral filter model with the diffuser model, we have the following discrete forward model: The linear forward model is represented by the combined operations in matrix A. Figure 3

SPECTRAL RECONSTRUCTION
To recover the hyperspectral datacube from the 2D measurement, we must solve an underdetermined inverse problem. Since our system falls within the framework of compressive sensing due to our incoherent, multiplexed measurement, we can use l 1 minimization to solve this problem. We use a weighted 3D total variation (3DTV) prior on the scene, as well as a non-negativity constraint, and a low rank prior on the spectrum. This can be written as: where ∇ xyλ = [∇ x ∇ y ∇ λ ] T is the matrix of forward finite differences in the x, y, and λ directions, · * represents the nuclear norm, which is the sum of singular values. τ 1 and τ 2 are the tuning parameters for the 3DTV prior and low rank priors, respectively. We use the fast iterative shrinkage-thresholding algorithm (FISTA) [37] with weighted anisotropic 3DTV to solve this problem according to [38].

IMPLEMENTATION DETAILS
We built a prototype system using a CMOS sensor, a hyperspectral filter array provided by Viavi Solutions (Santa Rosa, CA) [17] and an off-the-shelf diffuser (Luminit 0.5°) placed 1cm away from the sensor. The sensor has a resolution of 659×494 pixels (with a pixel pitch of 9.9µm), which we crop down to 448×320 to match the spectral filter array size. The spectral filter array consists of a grid of 28×20 super-pixels, each with an 8×8 grid of filter pixels (64 total, spanning the range 378-898nm). Each filter pixel is 20µm in size, covering a little over 4 sensor pixels, and has a distinct narrow-band spectral response. The alignment between the sensor pixels and the filter pixels is unknown, so requires a calibration procedure, detailed in Sec. 6A.

A. Filter Function Calibration
To calibrate the filter function, including the spectral sensitivity of both the sensor and the spectral filter array, we use a Cornerstone 130 1/3m motorized monochromator (Model 74004). The monochromater creates a narrow-band source of 5nm full-width half-maximum (FWHM) and we measure the filter response (without the diffuser) while sweeping the source by 8nm increments from 378nm to 890nm. The result is shown in Fig. 4(b).

B. PSF Calibration
We also need to calibrate the diffuser response by measuring the diffuser PSF pattern without the spectral filter array. Because the diffuser is relatively smooth with large features (relative to the wavelength of light), the PSF remains relatively constant as a function of wavelength, as shown in Fig. 4(a). Hence, we only need to calibrate for a single wavelength by capturing a single point source calibration image [18]. However, this is not trivial because the spectral filter array is bonded to the sensor and cannot be removed easily. In our setup, we instead take advantage of the fact that our filter array is smaller than our sensor size, so we can measure the PSF using the edges of the raw camera sensor, by shifting the point source to scan the different parts of the PSF over the raw sensor area. In a system where the filter size is matched to the sensor, this trick will not be possible, but an optimization-based approach could be used to recover the PSF from measurements of randomly shifted point sources.

RESOLUTION ANALYSIS
Here, we derive our theoretical resolution and experimentally validate it with our prototype system. First, we compute the expected two-point spatial and spectral resolution, based on the PSF autocorrelation and spectral filter passband, respectively. Since our resolution is scene-dependent, we expect the resolution to degrade with scene complexity; to attempt to characterize this, we present theory for multi-point resolution based on the condition number analysis introduced in [18]. We compare our system against those with high-NA and low-NA lens instead of a diffuser. Our results indicate a spatial resolution of ∼.25 superpixels and a spectral resolution of ∼30nm across 64 spectral channels ranging from 390-900nm.

A. Two-point Resolution
Spatial resolution of our system, in terms of the two-point resolution, will be bounded by the resolution from the diffuser without the spectral filter array. The expected resolution of a lensless imager can be defined as the autocorrelation peak halfwidth at 70% the maximum value [33], as shown in Fig. 5(a). For our system, this is ∼2.3 sensor pixels, or 0.15 super-pixels.
To experimentally measure the spatial resolution of our system, we image two point sources at three different wavelengths (626 nm, 522 nm, 456 nm). The reconstructions in Fig. 5 show that we can resolve two point sources that are 0.2 or 0.3 superpixels apart, as determined by applying the Rayleigh criterion. This demonstrates that our system achieves sub-super-pixel spatial resolution and nearly matches the expected resolution that would be achieved without the spectral filter array. Spectral resolution is determined by the spectral channels of the filter array. In this case, we expect to be able to resolve 64 spectral channels spaced 8nm apart across a range from 378-898nm. To validate, we scan a point source across those wavelengths using a monochrometer. Figure 6(a) shows a sample of the spectral reconstructions overlaid over each other, with the shaded blocks indicating the ground-truth monochrometer spectra. Our reconstructions closely match the ground-truth peaks. The small red peaks around 400nm are artifacts from the monochrometer used for calibration, which emitted a 2nd peak around 400nm for the longer wavelengths. To determine the twopoint spectral resolution of our system, we synthetically add the raw data from point sources at two different wavelengths and reconstruct a scene of two points at the same spatial position with varying separations in wavelength. We determine the spectral resolution by applying the Rayleigh criterion to the spectral dimension of the reconstruction. Figure 6(b) shows the measured spectral resolution and how it varies with wavelength. Our system achieves 30nm two-point spectral resolution across most of the 390-900nm spectral range.

B. Multi-point resolution
Because our image reconstruction algorithm contains nonlinear regularization terms, our reconstruction resolution will be object dependent. Hence, two-point resolution measurements are not sufficient for fully characterizing the system resolution, and should be considered a best case scenario. To better predict real-world performance, we perform a local condition number analysis, as introduced in [18], that estimates resolution as a function of object complexity. The local condition number is a proxy for how well the forward model can be inverted, given known support, and is useful for systems such as ours in which the full A matrix is never explicitly calculated [39].
The local condition number theory states that given knowledge of the a priori support of the scene, v, we can form a b. 3D condition number Condition numbers for the full spatio-spectral case are calculated on a 3D grid. A condition number below 40 is considered to be good (shown in green). The diffuser has a consistently better performance for small separation distances than either the low-NA or the high-NA lens. The diffuser can resolve objects as low as 0.25 superpixels apart for more complex scenes, whereas the low-NA lens requires larger separation distances closer to 1 super-pixel away.
sub-matrix consisting only of columns of A corresponding to the non-zero voxels. The reconstruction problem will be ill-posed if any of the sub-matrices of A are ill-conditioned, which can be quantified by the condition number of the sub-matrices. The worst-case condition number will be when sources are near each other, therefore we compute the condition number for a group of point sources with a separation varying by an integer number of voxels and repeat this for increasing numbers of point sources.
In Fig. 7, we calculate the local condition number for two cases: the 2D spatial reconstruction case, considering only a single spectral channel, and the 3D case, considering points with varying spatial and spectral positions. For comparison, we also simulate the condition number for a low-NA and high-NA lens, as introduced in Sec. 3. The results show that our diffuser design has a consistently lower condition number than either the low-or high-NA lens, having a low condition number for separation distances of greater than ∼0.25 super-pixels. The low-NA lens needs a separation distance of ∼1 super-pixel and the high-NA lens has an erratic condition number due to the fact that narrow-band sources are often blocked by the filter array.
From this analysis, we can see that, beyond 0.25 super-pixels separation, the condition number for the diffuser does not get arbitrarily worse for increasing scene complexity. Thus, our expected spatial resolution is approximately 0.25 super-pixels. for each. The diffuser achieves higher spatial resolution and better accuracy than the low-NA and the high-NA lens.

C. Simulated Resolution Target Reconstruction
Next, we validate the results of our condition number analysis through simulated reconstructions of a resolution target with different spatial locations illumination by different sources (red, green, blue and white light source) (Fig. 8). For each simulation, we add additive Gaussian noise with a variance of 1 × 10 −5 and run the reconstruction for 2,000 iterations of FISTA with 3DTV. Our system resolves features that are 0.3 super-pixels apart, whereas the low-NA lens can only resolve features that are roughly 1 super-pixel apart and the high-NA lens results in gaps, validating our predicted reconstruction resolution.

EXPERIMENTAL RESULTS
Experimental reconstructions of a broadband USAF resolution target displayed on a computer monitor, and a grid of RGB LEDs are shown in Fig. 9. We resolve points that are .38 super-pixels apart, which is slightly worse than the expected 0.25 super-pixel resolution. For the RGB LED scene, the ground truth spectral profiles of the LEDs are measured using a spectrometer, and our recovered spectral profile closely matches the ground truth. Figure 10 shows reconstructed images of more complex objects, with several objects displayed on a computer monitor and one object illuminated with a lamp.

DISCUSSION
Our work presents a new hyperspectral imaging modality that combines a color filter array and lensless imaging techniques for an ultra-compact and inexpensive hyperspectral camera. This imaging modality is flexible and the spectral filters can easily be swapped out for different wavelengths; one can non-linearly sample a wide range of wavelengths (which is difficult with many previous snapshot hyperspectral imagers). This imaging modality could be useful for numerous applications, especially since the price is several orders of magnitude lower than currently available hyperspectral cameras.
Currently, we experimentally achieve a spatial resolution of 0.37 super-pixels, or 6 sensor pixels. In future designs, we should be able to achieve the full sensor resolution by specifically designing the randomizing optic instead of using an off-the shelf diffuser. This could be achieved using methods such as end-toend optical design [40,41].
This system has two main limitations: light-throughput and scene-dependence. Due to our use of narrow-band spectral filter arrays, much of the light is filtered out by the filters. This provides good spectral accuracy and discrimination, but at the cost of low light throughput. In addition, since the light is spread by the diffuser over multiple pixels, the signal to noise ratio (SNR) is further decreased. Hence, our imager is not currently suitable for low-light conditions. This light-throughput limitation can be mitigated in the future using end-to-end design of both the spectral filters as well as the phase mask in order to increase light-throughput while maintaining spatio-spectral resolution and accuracy. Further, the flexibility of the spectral filter means that application-specific designs can use only the set of wavelengths necessary for a particular task, without unnecessarily measuring unimportant wavelengths. This will improve both light throughput (because more sensor area will be dedicated to each spectral band) and spatial resolution (because the superpixels will be smaller) in cases where fewer wavelengths than used here are needed.
Our second limitation is scene-dependence, as our reconstruction algorithm relies on object sparsity (e.g. sparse gradients). It is difficult to predict performance and one might suffer artifacts if the scene is not sufficiently sparse. Advances in machine learning and inverse problems seek to provide better signal rep-resentations, enabling the reconstruction of more complicated, denser scenes. In addition, machine learning could be useful in speeding up the reconstruction algorithm as well as potentially utilizing the imager more directly for a higher-level task, such as classification [42].

CONCLUSION
We demonstrated a compact inexpensive snapshot imaging system that encodes hyperspectral information using a diffuser and spectral filter array. The spectral filter array encodes spectral information onto the sensor and the diffuser multiplexes the incoming light such that each point in the world maps to many spectral filters. The multiplexed nature of the measurement allows us to use compressive sensing to reconstruct high spatiospectral resolution from a single 2D measurement. We provided an analysis for the expected resolution of our imager and experimentally characterized the two-point and multi-point resolution of the system. Finally, we showed example reconstructions of a complex spatio-spectral scene.