1. A computer implemented method for converting a hyperspectral image into a color image, the method comprising: receiving wavelength indexed hyperspectral image data captured by a hyperspectral sensor and decomposed into multiple component spectra, such that a mixture of the multiple component spectra forms the hyperspectral image data; determining or accessing a first color value for each of the multiple component spectra; receiving from a user, user input color value for a pixel location in the image, wherein one or more of the multiple component spectra contributes to the pixel according to the mixture; determining the output color value for each of the one or more multiple component spectra by minimizing a difference between the user input color value and a pixel color value, the pixel color value based on the first color value for the one or more multiple component spectra according to the mixture and minimising the difference is based on a utility score; creating a color image by determining for each pixel of the color image the pixel color value by mixing for each pixel the output color value for each of the one or more multiple component spectra according to the mixture; and storing the color image on a datastore.