Table of Contents

Class ComplexAmplitudePointInterpolation

Namespace
VirtualLabAPI.Core.FieldRepresentations
Assembly
VirtualLabAPI.dll

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.

public class ComplexAmplitudePointInterpolation
Inheritance
ComplexAmplitudePointInterpolation
Inherited Members

Constructors

ComplexAmplitudePointInterpolation()

Default constructor for the use of the optimized interpolation functions.

public ComplexAmplitudePointInterpolation()

Methods

Cubic4PointInterpolation(ComplexAmplitude, VectorD, bool)

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

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

Parameters

ca ComplexAmplitude

ComplexAmplitude for interpolation.

point VectorD

Position to interpolate in meters.

accessFieldY bool

If true the Ey field component will be interpolated otherwise the Ex field component.

Returns

Complex

Result of operation.

Cubic6PointInterpolation(ComplexAmplitude, VectorD, bool)

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

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

Parameters

ca ComplexAmplitude

Complex amplitude for interpolation.

point VectorD

Position to interpolate in meters.

accessFieldY bool

If true the Ey field component will be interpolated, otherwise the Ex field component.

Returns

Complex

Result of operation.

Cubic6PointInterpolation(ComplexAmplitude, VectorD, bool, bool)

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

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

Parameters

ca ComplexAmplitude

Complex amplitude for interpolation.

point VectorD

Position to interpolate in meters.

accessFieldY bool

If true the Ey field component will be interpolated, otherwise the Ex field component.

removeSphericalPhase bool

remove spherical phase factor after interpolation, if any

Returns

Complex

Result of operation.

Cubic8PointInterpolation(ComplexAmplitude, VectorD, bool)

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

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

Parameters

ca ComplexAmplitude

ComplexAmplitude for interpolation.

point VectorD

Position to interpolate in meters.

accessFieldY bool

If true the Ey field component will be interpolated otherwise the Ex field component.

Returns

Complex

Result of operation.

Interpolation(ComplexAmplitude, VectorD, InterpolationMethod, bool)

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

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

Parameters

ca ComplexAmplitude

ComplexAmplitude for interpolation.

point VectorD

Position to interpolate in meters.

interpolationMethod InterpolationMethod

Interpolation method.

accessFieldY bool

If true the Ey field component will be interpolated otherwise the Ex field component.

Returns

Complex

Result of operation.

LinearInterpolation(ComplexAmplitude, VectorD, bool)

Performs a linear interpolation on a specific point (x,y). The interpolation is done between the amplitude and phase aberrations of 4 neighbor points. The function interpolates the phase aberration 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.

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

Parameters

ca ComplexAmplitude

ComplexAmplitude for interpolation.

point VectorD

Position to interpolate in meters.

accessFieldY bool

If true the Ey field component will be interpolated otherwise the Ex field component.

Returns

Complex

Result of operation.

NearestNeighbourInterpolation(ComplexAmplitude, VectorD, bool)

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

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

Parameters

ca ComplexAmplitude

ComplexAmplitude for interpolation.

point VectorD

Position to interpolation in meter.

accessFieldY bool

If true the Ey field component will be interpolated otherwise the Ex field component.

Returns

Complex

Result of operation.

SincInterpolation(ComplexAmplitude, VectorD, bool)

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.

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

Parameters

ca ComplexAmplitude

ComplexAmplitude for interpolation.

point VectorD

Position to interpolate in meters.

accessFieldY bool

If true the Ey field component will be interpolated otherwise the Ex field component.

Returns

Complex

Result of operation.

TruncatedSincInterpolation(ComplexAmplitude, VectorD, bool)

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

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

Parameters

ca ComplexAmplitude

ComplexAmplitude for interpolation.

point VectorD

Position to interpolate in meters.

accessFieldY bool

If true the Ey field component will be interpolated otherwise the Ex field component.

Returns

Complex

Result of operation.