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
caComplexAmplitudeComplexAmplitude for interpolation.
pointVectorDPosition to interpolate in meters.
accessFieldYboolIf 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
caComplexAmplitudeComplex amplitude for interpolation.
pointVectorDPosition to interpolate in meters.
accessFieldYboolIf 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
caComplexAmplitudeComplex amplitude for interpolation.
pointVectorDPosition to interpolate in meters.
accessFieldYboolIf true the Ey field component will be interpolated, otherwise the Ex field component.
removeSphericalPhaseboolremove 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
caComplexAmplitudeComplexAmplitude for interpolation.
pointVectorDPosition to interpolate in meters.
accessFieldYboolIf 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
caComplexAmplitudeComplexAmplitude for interpolation.
pointVectorDPosition to interpolate in meters.
interpolationMethodInterpolationMethodInterpolation method.
accessFieldYboolIf 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
caComplexAmplitudeComplexAmplitude for interpolation.
pointVectorDPosition to interpolate in meters.
accessFieldYboolIf 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
caComplexAmplitudeComplexAmplitude for interpolation.
pointVectorDPosition to interpolation in meter.
accessFieldYboolIf 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
caComplexAmplitudeComplexAmplitude for interpolation.
pointVectorDPosition to interpolate in meters.
accessFieldYboolIf 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
caComplexAmplitudeComplexAmplitude for interpolation.
pointVectorDPosition to interpolate in meters.
accessFieldYboolIf true the Ey field component will be interpolated otherwise the Ex field component.
Returns
- Complex
Result of operation.