A method for reducing dimensionality of hyperspectral image data having a number of spatial pixels, each associated with a number of spectral dimensions, the method comprising: either receiving the hyperspectral image data, a set of basis vectors associated with the hyperspectral image data, and a maximum error value; or receiving sets of coefficients associated with each pixel of the hyperspectral image data, a set of basis vectors utilized to generate the sets of coefficients, a maximum error value, the magnitude of the pixel vector associated with each pixel, and the number of spectral dimensions associated with the hyperspectral image data; calculating, using a processor, a first set of errors for each pixel associated with the set of basis vectors, and one or more additional sets of errors for each pixel associated with one or more subsets of the set of basis vectors, wherein each error is the square root of the difference between the magnitude of the pixel vector associated with each pixel and the sum of the squares of the coefficients of the set or subset of basis vectors; calculating, using the processor, a percent of the number of spatial pixels having an error greater than the maximum error value, for each of the first set of errors and the one or more additional sets of errors; calculating, using the processor, a plurality of reduction factors associated with each of the first set of errors and the one or more additional sets of errors, the plurality of reduction factors being calculated based on the number of basis vectors, the percent of the number of spatial pixels having the error greater than the maximum error value and the number of spectral dimensions associated with the hyperspectral image data, wherein the reduction factors depend on a sum of: a number of basis vectors in the set or subset of basis vectors times a percent of pixels with error less than the maximum error value, and; the percent of pixels with error greater than the maximum error value times the number of spectral dimensions associated with the hyperspectral image data; and selecting, using the processor, a maximum reduction factor from the plurality of reduction factors, and the set of basis vectors or the subset of basis vectors associated therewith. either receiving the hyperspectral image data, a set of basis vectors associated with the hyperspectral image data, and a maximum error value; or receiving sets of coefficients associated with each pixel of the hyperspectral image data, a set of basis vectors utilized to generate the sets of coefficients, a maximum error value, the magnitude of the pixel vector associated with each pixel, and the number of spectral dimensions associated with the hyperspectral image data; calculating, using a processor, a first set of errors for each pixel associated with the set of basis vectors, and one or more additional sets of errors for each pixel associated with one or more subsets of the set of basis vectors, wherein each error is the square root of the difference between the magnitude of the pixel vector associated with each pixel and the sum of the squares of the coefficients of the set or subset of basis vectors; calculating, using the processor, a percent of the number of spatial pixels having an error greater than the maximum error value, for each of the first set of errors and the one or more additional sets of errors; calculating, using the processor, a plurality of reduction factors associated with each of the first set of errors and the one or more additional sets of errors, the plurality of reduction factors being calculated based on the number of basis vectors, the percent of the number of spatial pixels having the error greater than the maximum error value and the number of spectral dimensions associated with the hyperspectral image data, wherein the reduction factors depend on a sum of: a number of basis vectors in the set or subset of basis vectors times a percent of pixels with error less than the maximum error value, and; the percent of pixels with error greater than the maximum error value times the number of spectral dimensions associated with the hyperspectral image data; and a number of basis vectors in the set or subset of basis vectors times a percent of pixels with error less than the maximum error value, and; the percent of pixels with error greater than the maximum error value times the number of spectral dimensions associated with the hyperspectral image data; and selecting, using the processor, a maximum reduction factor from the plurality of reduction factors, and the set of basis vectors or the subset of basis vectors associated therewith.