Balluff - BVS CA-GX0 / BVS CA-GX2 Technical Documentation
Polarized Data Extraction

Introduction

The BVS CA-GX0-0051P / mvBlueCOUGAR-X105p (5.1 Mpix [2464 x 2056]) sensor is equipped with a polarization filter. So every '2 * 2' pixel area is sensitive for polarized light with the angles 0, 90, 135 and 45 degree. In previous versions, you could display the information from these 4 directions in 4 images, each image showing just the one pixel of the '2 * 2' area with the same filtering direction.

Figure 1: Pixel array mono and color

Since version 2.38.0 we support the calculation of the main polarization angle for each '2 * 2' pixel area. Additionally it is possible, to display also the degree of the polarized beam. The resulting image will have a width equal to 'input image width / 2' and height equal to 'input image height / 2'. From each 2 by 2 pixel area a single output value will be calculated.

Polarization value calculation

First we calculate the Stokes parameters $S_0$, $S_1$ and $S_2$ for each 2 by 2 pixel area. Since we just filter for linear polarized light, the circular parameter $S_3$ will not be used.

  • $S_0$, the total intensity of the beam, is calculated with: $S_0 = P0 + P90 $, with $P0$: pixel intensity with 0 degree polarization filter, $P90$: 90 degree polarization filter.
  • $S_1$, the intensity with 0 (horizontal) and 90 (vertical) degree polarization angle. $S_1 = P0 - P90$
  • $S_2$, the intensity with 45 and 135 degree polarization angle. $S_2 = P45 - P135$, with $P45$: pixel intensity with 45 degree polarization filter, $P135$: 135 degree polarization filter.
Figure 2: Strokes vector parts.
Figure 3: Angel of polarization with corresponding Stokes vector.

Degree of polarization

The degree of polarization $\Pi$ describes the fraction of the ordered part of the wave. The higher this value, the more polarized is the wave in one single direction. $\Pi$ is calculated one time for each 2 by 2 pixel area of an image.

\[\Pi = \frac{\sqrt{\left(P0-P90\right)^{2}+\left(P45-P135\right)^{2}}}{\left(P0+P90\right)}\]

Angle of polarization

The angle of polarization $\Theta$ describes the angle of the maximum polarization, it ranges from 0 to 180 degree. Like $\Pi$, $\Theta$ is also calculated one time for each 2 by 2 pixel area.

\[\Theta = \frac{1}{2}*atan\left (\left ( P45-P135 \right ); \left (P0 - P90\right )\right ) \]

Image Representation

After the calculation of $\Theta$ and $\Pi$ for each 2 by 2 pixel area, there are some ways on how these values can be displayed. The following images show all the same scene, first the raw pixel values and afterwards some pictures with computed values.

Figure 4: Unprocessed image as a reference.

The first possibility is, to display the angle of polarization. Therefore the resulting value for $\Theta$ will be mapped to the output pixel format, for example 180 degree would result in a maximum pixel value of 1023 for a 10-bit format.

Figure 5: This image shows an example of the representation of the angel of polarization and the corresponding setting in ImpactControlCenter.

Another possibility is to display the degree of polarization. The value for $\Pi$ will be mapped to the output pixel format, for example a maximum polarized beam with $\Pi$ = 1 would result in a maximum pixel value of 255 for a 8-bit format.

Figure 6: This image shows an example of the representation of the degree of polarization and the corresponding setting in ImpactControlCenter.

The third way is to display the angle and the degree of polarization in a single image as a pseudo color representation. Therefore both values will be mapped to a 8-bit HSL image. The angle value $\Theta$ represents the hue and the degree $\Pi$ will be mapped to the saturation value of the image. Finally the HSL image is converted to RGB and displayed.

Figure 7: This image shows an example of the representation as pseudo color image and the corresponding setting in ImpactControlCenter.