Programming Reference for VirtualLab Fusion  2025.1
Loading...
Searching...
No Matches
ComplexAmplitudePointInterpolation Class Reference

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
ComplexAmplitudePointInterpolation is a class with static members that are able to interpolate pointwise between different sampling points of a complex amplitude. The point to interpolate is specified in physical coordinates. Additionally for most interpolation methods a non-static optimized version is supported. These functions are optimized for an interpolation on an equidistant grid. Different interpolation methods are supported. For more information see [Lehmann1999]. More...

Public Member Functions

 ComplexAmplitudePointInterpolation ()
 Default constructor for the use of the optimized interpolation functions.
 
Complex Cubic4PointInterpolationOpt (ComplexAmplitude ca, VectorD point, bool accessFieldY)
 Performs a cubic 4 point interpolation on a specific point (x,y). The interpolation is done between 4 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied. The interpolation is optimized for interpolations that work row by row and from the left sampling point to the right sampling point.
 
Complex Cubic6PointInterpolationOpt (ComplexAmplitude ca, VectorD point, bool accessFieldY)
 Performs a cubic 6 point interpolation on a specific point (x,y). The interpolation is done between 6 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied. The interpolation is optimized for interpolations that work row by row and from the left sampling point to the right sampling point.
 
Complex Cubic8PointInterpolationOpt (ComplexAmplitude ca, VectorD point, bool accessFieldY)
 Performs a cubic 8 point interpolation on a specific point (x,y). The interpolation is done between 8 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied. The interpolation is optimized for interpolations that work row by row and from the left sampling point to the right sampling point.
 
void ReInitialize ()
 Deletes all temporarely stored interpolation data. Use this function if you plane to interpolate a different ComplexField with the same interpolation method. Not reinitialzing the interpolation object can case numerical errors in such cases.
 
Complex SincInterpolationOpt (ComplexAmplitude ca, VectorD point, bool accessFieldY)
 Performs a sinc interpolation on a specific point (x,y). The interpolation is done by adding the sinc-functions of every pixel of the field . Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied. The interpolation is optimized for interpolations that work row by row and from the left sampling point to the right sampling point.
 
Complex TruncatedSincInterpolationOpt (ComplexAmplitude ca, VectorD point, bool accessFieldY)
 Performs a truncated sinc interpolation on a specific point (x,y). The interpolation is done between 6 neighbour points . Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied. The interpolation is optimized for interpolations that work row by row and from the left sampling point to the right sampling point.
 

Static Public Member Functions

static Complex Cubic4PointInterpolation (ComplexAmplitude ca, VectorD point, bool accessFieldY)
 Performs a cubic 4 point interpolation on a specific point (x,y). The interpolation is done between 4 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied.
 
static Complex Cubic6PointInterpolation (ComplexAmplitude ca, VectorD point, bool accessFieldY)
 Performs a cubic 6 point interpolation on a specific point (x,y). The interpolation is done between 6 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied.
 
static Complex Cubic6PointInterpolation (ComplexAmplitude ca, VectorD point, bool accessFieldY, bool removeSphericalPhase)
 Performs a cubic 6 point interpolation on a specific point (x,y). The interpolation is done between 6 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is kept or removed at wish.
 
static Complex Cubic8PointInterpolation (ComplexAmplitude ca, VectorD point, bool accessFieldY)
 Performs a cubic 8 point interpolation on a specific point (x,y). The interpolation is done between 8 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied.
 
static Complex Interpolation (ComplexAmplitude ca, VectorD point, InterpolationMethod interpolationMethod, bool accessFieldY)
 Performs a interpolation of a ComplexAmplitude on a specific point (x,y) using the specified interpolation method.
 
static Complex LinearInterpolation (ComplexAmplitude ca, VectorD point, bool accessFieldY)
 Performs a linear interpolation on a specific point (x,y). The interpolation is done between the amplitude and phase aberations of 4 neighbour points. The function interpolates the phase aberation by interpolating real and imaginary part of the points. The amplitude is interpolated separately. The result of the interpolation is multiplied by the spherical phase factor.
 
static Complex NearestNeighbourInterpolation (ComplexAmplitude ca, VectorD point, bool accessFieldY)
 Nearest neighbour interpolation on a specific point (x,y). The interpolation is looking for the nearest neighbour pixel of the amplitude and phase aberrations and returns its value multiplied by the spherical phase factor.
 
static Complex SincInterpolation (ComplexAmplitude ca, VectorD point, bool accessFieldY)
 Performs a sinc interpolation on a specific point (x,y). The interpolation is done by adding the sinc-functions of every pixel of the field . Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied.
 
static Complex TruncatedSincInterpolation (ComplexAmplitude ca, VectorD point, bool accessFieldY)
 Performs a truncated sinc interpolation on a specific point (x,y). The interpolation is done between 6 neighbour points . Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied.
 

Detailed Description

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
ComplexAmplitudePointInterpolation is a class with static members that are able to interpolate pointwise between different sampling points of a complex amplitude. The point to interpolate is specified in physical coordinates. Additionally for most interpolation methods a non-static optimized version is supported. These functions are optimized for an interpolation on an equidistant grid. Different interpolation methods are supported. For more information see [Lehmann1999].

Member Function Documentation

◆ Cubic4PointInterpolation()

static Complex Cubic4PointInterpolation ( ComplexAmplitude  ca,
VectorD  point,
bool  accessFieldY 
)
static

Performs a cubic 4 point interpolation on a specific point (x,y). The interpolation is done between 4 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied.

Parameters
caComplexAmplitude for interpolation.
pointPosition to interpolate in meters.
accessFieldYIf true the y field component will be interpolted otherwise the x field component.
Returns
Result of operation.

◆ Cubic4PointInterpolationOpt()

Complex Cubic4PointInterpolationOpt ( ComplexAmplitude  ca,
VectorD  point,
bool  accessFieldY 
)

Performs a cubic 4 point interpolation on a specific point (x,y). The interpolation is done between 4 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied. The interpolation is optimized for interpolations that work row by row and from the left sampling point to the right sampling point.

Parameters
caComplexAmplitude for interpolation.
pointPosition to interpolate in meters.
accessFieldYIf true the y field component will be interpolted otherwise the x field component.
Returns
Result of operation.

◆ Cubic6PointInterpolation() [1/2]

static Complex Cubic6PointInterpolation ( ComplexAmplitude  ca,
VectorD  point,
bool  accessFieldY 
)
static

Performs a cubic 6 point interpolation on a specific point (x,y). The interpolation is done between 6 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied.

Parameters
caComplex amplitude for interpolation.
pointPosition to interpolate in meters.
accessFieldYIf true the y field component will be interpolated, otherwise the x field component.
Returns
Result of operation.

◆ Cubic6PointInterpolation() [2/2]

static Complex Cubic6PointInterpolation ( ComplexAmplitude  ca,
VectorD  point,
bool  accessFieldY,
bool  removeSphericalPhase 
)
static

Performs a cubic 6 point interpolation on a specific point (x,y). The interpolation is done between 6 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is kept or removed at wish.

Parameters
caComplex amplitude for interpolation.
pointPosition to interpolate in meters.
accessFieldYIf true the y field component will be interpolated, otherwise the x field component.
removeSphericalPhaseremove spherical phase factor after interpolation, if any
Returns
Result of operation.

◆ Cubic6PointInterpolationOpt()

Complex Cubic6PointInterpolationOpt ( ComplexAmplitude  ca,
VectorD  point,
bool  accessFieldY 
)

Performs a cubic 6 point interpolation on a specific point (x,y). The interpolation is done between 6 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied. The interpolation is optimized for interpolations that work row by row and from the left sampling point to the right sampling point.

Parameters
caComplexAmplitude for interpolation.
pointPosition to interpolate in meters.
accessFieldYIf true the y field component will be interpolted otherwise the x field component.
Returns
Result of operation.

◆ Cubic8PointInterpolation()

static Complex Cubic8PointInterpolation ( ComplexAmplitude  ca,
VectorD  point,
bool  accessFieldY 
)
static

Performs a cubic 8 point interpolation on a specific point (x,y). The interpolation is done between 8 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied.

Parameters
caComplexAmplitude for interpolation.
pointPosition to interpolate in meters.
accessFieldYIf true the y field component will be interpolted otherwise the x field component.
Returns
Result of operation.

◆ Cubic8PointInterpolationOpt()

Complex Cubic8PointInterpolationOpt ( ComplexAmplitude  ca,
VectorD  point,
bool  accessFieldY 
)

Performs a cubic 8 point interpolation on a specific point (x,y). The interpolation is done between 8 neighbour points. Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied. The interpolation is optimized for interpolations that work row by row and from the left sampling point to the right sampling point.

Parameters
caComplexAmplitude for interpolation.
pointPosition to interpolate in meters.
accessFieldYIf true the y field component will be interpolted otherwise the x field component.
Returns
Result of operation.

◆ Interpolation()

static Complex Interpolation ( ComplexAmplitude  ca,
VectorD  point,
InterpolationMethod  interpolationMethod,
bool  accessFieldY 
)
static

Performs a interpolation of a ComplexAmplitude on a specific point (x,y) using the specified interpolation method.

Parameters
caComplexAmplitude for interpolation.
pointPosition to interpolate in meters.
interpolationMethodInterpolation method.
accessFieldYIf true the y field component will be interpolted otherwise the x field component.
Returns
Result of operation.

◆ LinearInterpolation()

static Complex LinearInterpolation ( ComplexAmplitude  ca,
VectorD  point,
bool  accessFieldY 
)
static

Performs a linear interpolation on a specific point (x,y). The interpolation is done between the amplitude and phase aberations of 4 neighbour points. The function interpolates the phase aberation by interpolating real and imaginary part of the points. The amplitude is interpolated separately. The result of the interpolation is multiplied by the spherical phase factor.

Parameters
caComplexAmplitude for interpolation.
pointPosition to interpolate in meters.
accessFieldYIf true the y field component will be interpolted otherwise the x field component.
Returns
Result of operation.

◆ NearestNeighbourInterpolation()

static Complex NearestNeighbourInterpolation ( ComplexAmplitude  ca,
VectorD  point,
bool  accessFieldY 
)
static

Nearest neighbour interpolation on a specific point (x,y). The interpolation is looking for the nearest neighbour pixel of the amplitude and phase aberrations and returns its value multiplied by the spherical phase factor.

Parameters
caComplexAmplitude for interpolation.
pointPosition to interpolation in meter.
accessFieldYIf true the y field component will be interpolted otherwise the x field component.
Returns
Result of operation.

◆ SincInterpolation()

static Complex SincInterpolation ( ComplexAmplitude  ca,
VectorD  point,
bool  accessFieldY 
)
static

Performs a sinc interpolation on a specific point (x,y). The interpolation is done by adding the sinc-functions of every pixel of the field . Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied.

Parameters
caComplexAmplitude for interpolation.
pointPosition to interpolate in meters.
accessFieldYIf true the y field component will be interpolted otherwise the x field component.
Returns
Result of operation.

◆ SincInterpolationOpt()

Complex SincInterpolationOpt ( ComplexAmplitude  ca,
VectorD  point,
bool  accessFieldY 
)

Performs a sinc interpolation on a specific point (x,y). The interpolation is done by adding the sinc-functions of every pixel of the field . Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied. The interpolation is optimized for interpolations that work row by row and from the left sampling point to the right sampling point.

Parameters
caComplexAmplitude for interpolation.
pointPosition to interpolate in meters.
accessFieldYIf true the y field component will be interpolted otherwise the x field component.
Returns
Result of operation.

◆ TruncatedSincInterpolation()

static Complex TruncatedSincInterpolation ( ComplexAmplitude  ca,
VectorD  point,
bool  accessFieldY 
)
static

Performs a truncated sinc interpolation on a specific point (x,y). The interpolation is done between 6 neighbour points . Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied.

Parameters
caComplexAmplitude for interpolation.
pointPosition to interpolate in meters.
accessFieldYIf true the y field component will be interpolted otherwise the x field component.
Returns
Result of operation.

◆ TruncatedSincInterpolationOpt()

Complex TruncatedSincInterpolationOpt ( ComplexAmplitude  ca,
VectorD  point,
bool  accessFieldY 
)

Performs a truncated sinc interpolation on a specific point (x,y). The interpolation is done between 6 neighbour points . Only the amplitude and phase aberrations are interpolated. After interpolation the spherical phase factor is multiplied. The interpolation is optimized for interpolations that work row by row and from the left sampling point to the right sampling point.

Parameters
caComplexAmplitude for interpolation.
pointPosition to interpolate in meters.
accessFieldYIf true the y field component will be interpolted otherwise the x field component.
Returns
Result of operation.