1. A method for compressing 3D hyperspectral image data having a plurality of spatial pixels associated with a hyperspectral image, and a number of spectral dimensions associated with each spatial pixel, the method comprising: in an hyperspectral imaging system: receiving, using a processor, the 3D hyperspectral image data from a hyperspectral sensor, a set of basis vectors associated therewith, and a maximum data size; partitioning, using the processor, the 3D hyperspectral image data into a plurality of 2D images, each associated with one of the number of spectral dimensions, and an associated one of the set of basis vectors; ranking, using the processor, the set of basis vectors if not already ranked; losslessly compressing, using the processor, each of the plurality of 2D images as losslessly compressed 2D images; and if a data size of the losslessly compressed 2D images exceeds the maximum data size: iteratively applying a lossy compression to the plurality of 2D images, using the processor, starting with 2D images associated with a lowest ranked basis vector, as lossy compressed 2D images; and comparing, using the processor, a volume associated with the lossy compressed 2D images with the maximum data size, to minimize the number of lossy compressed 2D images within the maximum data size.