Breeze uses three channel RGB visualizations to visualize hyperspectral data on screen. Histogram Normalization optimizes the visual quality of RGB images generated from spectral data.
How it works
When a measurement is recorded or data imported to Breeze, a three channel RGB visualization is created using three bands out of the many more bands in the hyperspectral data. These bands can be changed as you’ll see in the next section.
Instead of a simple linear scale, Breeze uses the statistical distribution of pixel intensities to ensure the resulting image has good contrast and natural colors, even under varying illumination or sensor conditions.
The process analyzes the spread of values across 10 000 intensity buckets, by default. By identifying the core range of data—excluding the extreme top and bottom outliers (spurious noise)—it stretches the remaining values to fill the full RGB range (0–255).
There are settings you can change to tune this as you’ll see below.
Specifying RGB bands to use
Each measurement in Breeze contains settings for which bands to use as the R, G and B channels respectively.
You can change these bands by right clicking a measurement or group in Breeze and selecting Set RGB Bands:
Drag the sliders or specifying band numbers and click OK to apply.
Changing settings to optimize RGB images and re-computing them
You can tune the settings for Histogram normalization to make the RGB images in Breeze work best for you. You do this by changing parameters in a project’s Project options.
After changing settings, existing data is not re-computed automatically, so to update existing images, you have trigger this manually by using the Set RGB Bands functionality as described above.
Note that you don’t have change the bands you use, simply trigger the dialog and click OK to recompute the RGB image using the current Project option settings.
Pixel Explore differences
The Pixel Explore feature in Breeze utilizes a statistical normalization approach similar to the Evince/Bucket logic. However, while Evince typically uses a lower-resolution 50-bucket system for 2D analysis, Breeze employs a high-precision 10 000-bucket distribution with a 1% outlier rejection. This results in more granular contrast stretching and subtle differences in visual intensity compared to the legacy Evince rendering.
Visualization settings in Project options
Project options have settings that control the histogram normalization for a specific project:
Here you can turn on or off the feature, and also tune individual parameters used by the algorithm.
Histogram Percentage (Default: 1 %)
Determines how much of the extreme dark and light data is ignored when calculating the stretch. A setting of 0.01 (1%) ensures that a few dead pixels or glints of light don't cause the entire image to look dark or washed out.
Stretch All Channels
When enabled, each color channel (Red, Green, Blue) is normalized independently. This is highly effective for correcting "color casts" caused by uneven lighting. When disabled, a single global normalization is applied to preserve the original color ratios.
Global Workspace settings
You can turn on or off histogram normalization depending on the number of bands in the images on the General tab of Workspace Settings. As all workspace settings, this affects all project in the workspace.
Minimum number of bands for normalization
This parameter defines the minimum number of spectral bands a dataset must contain before advanced histogram normalization is applied. Depending on the number of bands, different settings are recommended:
-
High Band Count: For hyperspectral data, normalization helps balance complex spectral responses into a coherent RGB image.
-
Low Band Count: On devices with few bands (like standard RGB or simple multispectral cameras), this prevents over-stretching which can cause natural colors to look distorted or overly processed.