Common Vision Blox Foundation Package Tool
C-Style | CVPolarization.dll |
C++ | Cvb::Foundation::Polarization |
.Net API (C#, VB, F#) | Stemmer.Cvb.Foundation.Polarization |
Python | cvb.foundation |
The Polarization Tool provides functions to handle raw images from polarisation area and linescan cameras with polarization mosaic patterns.
Light is made up of electromagnetic waves, which consist of oscillating electric and magnetic waves that are perpendicular to each other and the direction they are travelling in.
The electric field oscillates due to it's interaction with the magnetic field and vice versa. The two waves have the same wavelength and are typically in phase with each other. It's the combination of these two disturbances that forms the electromagnetic wave, which are made up of troughs, crests and amplitudes. An electromagnetic wave's amplitude denotes it's intensity (or brightness).
The light spectrum sits within a larger electromagnetic spectrum, which ranges from gamma rays through to radio waves.
The polarization of a wave indicates the direction of the electric field's amplitude. Polarized light means that all waves would have the same polarization. Unpolarized light would have lots of waves oscillating in different directions. This is illustrated in the cross-sectional plane below - where the light would be traveling towards you, out of the screen. Examples of this would be incandescent bulbs or the sun.
If you vertically polarize the light, the only light that would travel through, is vertically polarized light that is in the same orientation as the polarizer. You could, of course, orient the linear polarizer in any direction and the light would only come through in that orientation.
A quantitative way to specify the polarization of light are the Stokes parameters which are four numbers that define the direction and magnitude of an electromagnetic waves polarization - whether its unpolarized, partially polarized, or fully polarized.
You can use the Stokes' images to visualise stresses in a plastic ruler for example. The images below respectively represent the first three Stokes' parameters S0 to S2. The Stokes' parameter images can be combined into single images, in which the pixel's intensity represents the Degree of Linear Polarisation (DoLP) and the Angle of Mean Polarisation (AoMP):
S0, DoLP, AoMP can be mapped to the HSV colour space...to better visualise the stresses in the structure of the ruler.
Camera sensors can be fitted with nanowire polariser filters that allows detection of both angle an amount of polarised light.
On the Sony IMX250MZR POL sensor each calculation unit (four pixels) has four nanowire grids oriented at 90°, 45°, 135°, and 0°.
By positioning the polariser underneath the on-chip lens, Sony Semiconductor Solutions reduces the possibility of crosstalk. This occurs when light at a polarised angle is misdirected into an adjacent pixel.
The architecture in Teledyne Dalsa's Piranha polarisation camera sensor consists of nanowire micropolariser filters that are placed on top of silicon (Si). These define 0° (s), 135°, and 90° (p) polarisation states, respectively, on the first three linear arrays. The fourth array is an unfiltered channel that records a conventional unfiltered image.
The 45° channel can be derived by using this calculation: I0 + I90 = I45 + I135
Refer Example