1. A method of processing spectrographic data comprising: emitting electromagnetic radiation at a sample; measuring optical absorbance of the electromagnetic radiation of the sample; receiving optical absorbance data associated with the sample; and iteratively computing values for component spectra based at least in part upon nonnegative matrix factorization, wherein iteratively computing values for component spectra using nonnegative matrix factorization comprises iteratively computing values for a component spectra matrix until optical absorbance data is approximately equal to a Hadamard product of a pathlength matrix and a matrix product of a concentration matrix and the component spectra matrix.