Spectral Viewer is a C++ software available on Windows and MacOS. Based on OpenGL, it uses the computational power of the GPU in order to do all the colorimetrics computation and the visualization process. It uses a specific pyramidal data representation based on a Principal Component Analysis (PCA) of the original reflectance information. This data representation allow us to process and visualyze multi and hyper spectral images in very high resolution.
Our software has a color flow engine entirely realized by the graphics card processor. We determine for each pixel of the multispectral image the resulting XYZ value generated by the virtual light interaction with the reflectance image. Our color management engine based on ICC profiles (and proprietary files) determines the corresponding RGB value for each of these XYZ values.
The lighting simulation can be carried out using standard lighting, color temperature or freely from a dedicated spectral interface.
We use custom shaders in order to provide alternative visualizations et 2D and DD where the elevation can be a color component of our choose (luninance, chroma, R, G, B; etc.).
In order to see if the calculated colors are really visible with the ICC profile used for the screen we provide a visualization mode that clearly indicates the colors out of gamuts and the level of this out of gamut.
The data structure we use to store our spectral images allows us to recalculate the values of the reflectance spectra for any wavelength value. This visualization mode allows 3 wavelengths to be transferred in an RGB color. Using the same wavelength value for these 3 channels, we obtain the reflectance image corresponding to this value.