The linear mixture model for hyperspectral images assumes that all the image spectra lie on a high-dimensionalsimplex with corners called endmembers. Given the set of endmembers, one typically calculates fractional abundances for each pixel using constrained least squares. This method likely reconstructs the spectra as combinations of most, if not all, the endmembers. We instead assume that pixels are combinations of only a few of the endmembers, yielding sparse abundance vectors. We introduce a new method, similar to Matching Pursuit (MP) from the signal processing literature, to calculate these sparse abundances. We combine this sparse demixing algorithm with dictionary learning methods to automatically calculate endmembers for a provided set of spectra. We apply our method to an AVIRIS image of Cuprite, NV, for which we compare our endmembers with spectral signatures from the USGS spectral library.