Image Data Normalization#
Normalization and scaling of image data is a crucial step in ensuring that the captured data contains the relevant features accurately and consistently.
The RadarImager provides multiple options for normalization and scaling in the parameter node normalAbs
.
This guide will help to understand the different normalization types and how to configure them for a production environment.
For example the left image shows scissors. But this image contains way less information about specific features of the scissors than the right image, which is normalized to use the full dynamic range of the 8-bit image.
Tip
Click on the images to enlarge them and see more details.
Note
Adjusting the normalization and scaling of images is only relevant for images that contain ABS information, as the PHASE information is always normalized in the range of 2π.
Dynamic normalization#
The RadarImager provides two different dynamic normalization kinds: LAYER
and GLOBAL
.
A dynamic normalization will calculate the minimum and maximum values for each measurement based on the current image data.
In comparison, a static normalization will use fixed predefined minimum and maximum values for the normalization.
Using a dynamic normalization helps to obtain a clear visual representation of the image data for initial evaluation and presentation purposes.
LAYER
#
The LAYER
normalization kind normalizes each layer of the image data individually based on each layer's minimum and maximum values.
This normalization kind gives a guaranteed visual representation of each layer, making it useful to get an impression of the layer and its specific features.
GLOBAL
#
The GLOBAL
normalization kind normalizes all layers of the image data equally based on the minimum and maximum values of all selectable layers.
This type applies the same normalization across all layers for each measurement.
This normalization kind is useful to compare layers to identify those with particularly high reflection factors. Depending on the application, this is often close to the layer of interest, and can therefore be used to find it quicker.
Comparison of LAYER
and GLOBAL
#
An example for normalization kind LAYER
(left) compared to GLOBAL
(right) by going through the layers to find the layer of interest:
Using the LAYER
normalization kind will always show a well illuminated image, even if the layer of interest is not close.
The GLOBAL
normalization kind will only show an image if the layer of interest is close to the layer with the highest reflection factor.
For objects that reflect well (as the metal scissors), the layer of interest is often close to the layer with the highest reflection factor.
Comparing the layer of interest for a different example with the normalization kind LAYER
(left) and GLOBAL
(right):
Within the whole image stack is a layer that contains higher abs values than the layer of interest.
Therefore, the GLOBAL
normalization kind will not use the whole dynamic range (The scissors could be brighter).
Note that the scissors has an attached label on the top left, which is hard to see with both dynamic normalization kinds.
Static normalization#
Static normalization uses fixed predefined minimum and maximum values for the normalization. The normalization is identical for all measurements.
Using static normalization allows highlighting specific features within the image with a higher dynamic range. By normalizing the image data in a fixed predefined way for all measurements, it ensures stable and reproducible results for image processing.
PREDEFINED
#
Using the PREDEFINED
normalization kind ensures that the image data is normalized to a fixed predefined range of values for all measurements.
The following examples demonstrate how to configure the normalization kind PREDEFINED
with the parameters
normalAbs.minPredefinedVal
and normalAbs.maxPredefinedVal
.
Initial configuration#
First, configure the minimum and maximum values for the normalization to the minimum and maximum values of the layer of interest.
- Use a dynamic normalization kind (
LAYER
orGLOBAL
) to find the layer of interest. -
Switch to the normalization kind
PREDEFINED
with the parameternormalAbs.kind
. This will most likely result in a black or very dark image as shown in the example below.minPredefinedVal
: 0 %maxPredefinedVal
: 100 % -
Reduce the
maxPredefinedVal
until a pixel in the image reaches a value of 255. For thecolormapAbs
GREY and KINDLMANN, a white pixel will indicate the full use of in the image, because white is the maximum value of these colormaps.minPredefinedVal
: 0 %maxPredefinedVal
: 41 % -
[Optional] Increase the
minPredefinedVal
to reduce the noise in the image, without losing details of the object.
Optimization for specific features#
To optimize the image for specific features, the minimum and maximum values can be adjusted further to highlight these features. Continuing with the example of scissors, there can be different features of interest: The scissors itself or the label attached to the scissors.
-
To optimize the image for features of the scissors, increase the
minPredefinedVal
to reduce low reflective features and noise from the background.minPredefinedVal
: 20 %maxPredefinedVal
: 41 % -
To optimize the image for features of the label, decrease the
maxPredefinedVal
to use the full dynamic range for low reflective features and remove high reflective features from the scissors. The scissors itself will be overexposed and exceed the dynamic range, because it is highly reflective compared to the label.minPredefinedVal
: 0 %maxPredefinedVal
: 20 %Now the label is clearly visible and uses the full dynamic range of the image. The two ripples in the label are visible now too.
Important
For production and image evaluation environments, the normalization must be adapted for all possible scenarios!
Logarithmic scaling#
The RadarImager offers logarithmic compression for image data via the normalAbs.logScale
parameter.
This is beneficial for images with a high dynamic range, where both high and low absolute values are of interest.
Logarithmic scaling compresses high values and amplifies low values,
making it easier to visualize features that might be overshadowed by high values in linear scaling.
The normalAbs.dynamics
parameter controls the effective dynamic range.
This feature can be used combined with any normalization kind.
For the PREDEFINED
normalization kind first complete the ìnitial configuration
before enabling the logarithmic scaling. Afterward optimize the image for specific features of interest
and set the normalAbs.dynamics
parameter to a value that is suitable for the specific application.
Example configuration:
minPredefinedVal
: 0%maxPredefinedVal
: 41%normalAbs.logScale
: disabled (left), enabled (right) withnormalAbs.dynamics
of 18dB
The right image now contains more details of the scissors and the label within the same dynamic range.
Evaluate for different scenarios#
For production and image evaluation environments, it is important to evaluate the image data for different scenarios. Perform some test measurements to identify occurring extreme cases. The normalization must be adapted to these cases to ensure that the image data is always normalized in a way that the features of interest are visible. Also, consider adding certain margins to the minimum and maximum values to ensure that the image data is always normalized in a way that the features of interest are visible.
Vision parameters brightness and contrast#
Adjusting the vision parameters brightness
and contrast
can produce similar results as adjusting the normalization kind PREDEFINED
.
For production and image evaluation environments, we recommend only adjusting the normalization kind PREDEFINED
.
Set the vision parameters brightness
and contrast
to their default values so the image data is not altered by these parameters.