Programming Reference for VirtualLab Fusion  2022.1
Static Public Member Functions | List of all members
VL_Detectors Class Reference

This class provides methods for evaluating fields. More...

Static Public Member Functions

static List< PhysicalValueBeamParameters (ComplexAmplitude field, bool evaluateEy=false, bool relativeToCentroid=true, bool relativeToPrincipalAxes=false, bool refineToSphericalPhase=false, double clippingThreshold=1e-5, BeamParametersSelection[] beamParametersToEvaluate)
 Calculates the beam parameters of the given field. More...
 
static List< PhysicalValueCentroid (DataArray2D dataArray)
 Calculates the centroid or barycenter of the given amplitudes for each subset of the given data array. More...
 
static PhysicalValue ConversionEfficiency (ComplexAmplitude field, ComplexAmplitude referenceField, bool evaluateEy=false, ComplexAmplitude evaluationRegion=null, ComplexAmplitude incidentField=null)
 Calculates the conversion efficiency of the given field. More...
 
static PhysicalValue ConversionEfficiency (ComplexAmplitude field, ComplexAmplitude referenceField, bool evaluateEy=false, IRegion1D2D evaluationRegion=null, ComplexAmplitude incidentField=null)
 Calculates the conversion efficiency of the given field. More...
 
static DetectorResultObject CreateDetectorResult (IDocument document, string description, string group="")
 Creates a detector result object from a document (Harmonic Field, Data Array etc.). More...
 
static DetectorResultObject CreateDetectorResult (List< PhysicalValue > physicalValues)
 Creates a detector result object from a list of real-valued physical values. More...
 
static DetectorResultObject CreateDetectorResult (List< PhysicalValueComplex > physicalValues)
 Creates a detector result object from a list of complex-valued physical values. More...
 
static DetectorResultObject CreateDetectorResult (PhysicalValueBase[] physicalValues)
 Creates a detector result object from one or more physical values, which can be real-valued or complex-valued. Usage note: you can also pass an array of PhysicalValueBase or a list of PhysicalValueBase (the later by conversion to an array via calling the ToArray() method). More...
 
static PhysicalValue FiberCouplingEfficiency (ComplexAmplitude field, ComplexAmplitude fiberMode, ComplexAmplitude incidentField=null)
 Calculates the fiber coupling efficiency for the given field and the given fiber mode. More...
 
static PhysicalValue FiberCouplingEfficiency_ModeDiameter (ComplexAmplitude field, double modeDiameter, ComplexAmplitude incidentField=null)
 Calculates the fiber coupling efficiency for the given field and the given fiber mode. A Gaussian mode field is assumed. More...
 
static PhysicalValue FiberCouplingEfficiency_NumericalAperture (ComplexAmplitude field, double numericalAperture, ComplexAmplitude incidentField=null)
 Calculates the fiber coupling efficiency for the given field and the given fiber mode. A Gaussian mode field is assumed. More...
 
static double Maximum (ComplexField field, FieldQuantity fieldQuantity)
 Retrieves the maximum amplitude, phase, real part, imaginary part, or squared amplitude within the given field. More...
 
static double Maximum (ComplexField field, FieldQuantity fieldQuantity, out Vector position)
 Retrieves the maximum amplitude, phase, real part, imaginary part, or squared amplitude within the given field. More...
 
static PhysicalValue MaximumRelativeIntensityOfStrayLight (ComplexAmplitude field, ComplexAmplitude evaluationRegion, bool evaluateEy=false)
 Calculates the maximum relative stray light intensity within the given field. More...
 
static PhysicalValue MaximumRelativeIntensityOfStrayLight (ComplexAmplitude field, IRegion1D2D evaluationRegion, bool evaluateEy=false)
 Calculates the maximum relative stray light intensity within the given field. More...
 
static double Minimum (ComplexField field, FieldQuantity fieldQuantity)
 Retrieves the minimum amplitude, phase, real part, imaginary part, or squared amplitude within the given field. More...
 
static double Minimum (ComplexField field, FieldQuantity fieldQuantity, out Vector position)
 Retrieves the minimum amplitude, phase, real part, imaginary part, or squared amplitude within the given field. More...
 
static PhysicalValue ParaxialPower (ComplexAmplitude field)
 Calculates the paraxial power (the \(E_{\text{z}}\) component of the field is neglected) of the specified field. More...
 
static PhysicalValue ParaxialPower (ComplexAmplitude field, VectorD centerPoint, VectorD size)
 Calculates the paraxial power (the \(E_{\text{z}}\) component of the field is neglected) of the specified rectangular region in the given field. More...
 
static double ReadWavelengthInformation (DataArrayBase dataArray)
 At some data arrays, especially the ones generated by the Electromagnetic Field Detector, a wavelength is stored within the data array. This method reads the wavelength information form a single data array. More...
 
static List< double > ReadWavelengthInformation (List< DataArrayBase > listDataArray)
 At some data arrays, especially the ones generated by the Electromagnetic Field Detector, a wavelength is stored within the data array. This method reads the wavelength information form a list of data arrays. If a data array has no wavelength information, double.NaN is used. More...
 
static List< PhysicalValueSeidelAberrations (ComplexAmplitude field, bool sphericalPhaseIsReference, bool evaluateEy=false)
 Calculates the Seidel aberrations of the given field. More...
 
static PhysicalValue SignalToNoiseRatio (ComplexAmplitude field, ComplexAmplitude referenceField, bool evaluateEy=false, ComplexAmplitude evaluationRegion=null, bool allowScaleFreedom=true, SignalType signalType=SignalType.Amplitude)
 Calculates the signal-to-noise ratio (SNR) of the given field. More...
 
static PhysicalValue SignalToNoiseRatio (ComplexAmplitude field, ComplexAmplitude referenceField, bool evaluateEy=false, IRegion1D2D evaluationRegion=null, bool allowScaleFreedom=true, SignalType signalType=SignalType.Amplitude)
 Calculates the signal-to-noise ratio (SNR) of the given field. More...
 
static double SumOfFieldValues (ComplexField field, FieldQuantity fieldQuantity)
 Calculates the sum of all amplitude, phase, real part, imaginary part, or squared amplitude values within the given field. More...
 
static PhysicalValue UniformityError (ComplexAmplitude field, ComplexAmplitude referenceField, bool evaluateEy=false, ComplexAmplitude evaluationRegion=null, SignalType signalType=SignalType.Amplitude)
 Calculates the uniformity error of the given field with respect to a given reference field. More...
 
static PhysicalValue UniformityError (ComplexAmplitude field, ComplexAmplitude referenceField, bool evaluateEy=false, IRegion1D2D evaluationRegion=null, SignalType signalType=SignalType.Amplitude)
 Calculates the uniformity error of the given field with respect to a given reference field. More...
 
static PhysicalValue UniformityError (DataArray2D dataArray, int subsetIndex, DataArray2D referenceData)
 Calculates the uniformity error for a given two-dimensional data array with respect to the given reference data. More...
 
static PhysicalValue WindowEfficiency (ComplexAmplitude field, ComplexAmplitude referenceField, bool evaluateEy=false, ComplexAmplitude evaluationRegion=null, ComplexAmplitude incidentField=null)
 Calculates the window efficiency of the given field. More...
 
static PhysicalValue WindowEfficiency (ComplexAmplitude field, ComplexAmplitude referenceField, bool evaluateEy=false, IRegion1D2D evaluationRegion=null, ComplexAmplitude incidentField=null)
 Calculates the window efficiency of the given field. More...
 
static List< PhysicalValueZernikeFringeAberrations (ComplexAmplitude field, int numberOfCoefficients, bool sphericalPhaseIsReference, bool evaluateEy=false)
 Calculates the Zernike fringe aberrations of the given field. More...
 

Detailed Description

This class provides methods for evaluating fields.

Member Function Documentation

◆ BeamParameters()

static List< PhysicalValue > BeamParameters ( ComplexAmplitude  field,
bool  evaluateEy = false,
bool  relativeToCentroid = true,
bool  relativeToPrincipalAxes = false,
bool  refineToSphericalPhase = false,
double  clippingThreshold = 1e-5,
BeamParametersSelection[]  beamParametersToEvaluate 
)
static

Calculates the beam parameters of the given field.

Parameters
fieldThe field to evaluate.
evaluateEyIf this optional parameter is set to true, the Ey-component of the field is evaluated instead of the Ex-component.
relativeToCentroidIf this parameter is set true, the detector is evaluated relative to the centroid. The default value of this optional parameter is true.
relativeToPrincipalAxesIf this parameter is set to true, the detector is evaluated relative set to the principal axes. The default value of this optional parameter is false.
refineToSphericalPhaseIf this parameter is set to true the sampling is refined so that an analytical spherical phase factor can be sampled correctly. The default value of this optional parameter is false.
clippingThresholdAll values having less than the given portion of the maximum squared amplitude in the field are ignored. The default value of this optional parameter is \(10^{-5}\).
beamParametersToEvaluateAn array of BeamParametersSelection enum entries. All entries specified in this array are evaluated, all other possible beam parameters are not calculated. If this optional parameter is not specified, all beam parameters are evaluated.
Returns
A list of physical values containing the evaluated beam parameters.

◆ Centroid()

static List< PhysicalValue > Centroid ( DataArray2D  dataArray)
static

Calculates the centroid or barycenter of the given amplitudes for each subset of the given data array.

Parameters
dataArrayThe data array.
Returns
Two physical values per subset (one for the x-direction and one for the y-direction).
Exceptions
NotEquidistantExceptionData are not equidistant.

◆ ConversionEfficiency() [1/2]

static PhysicalValue ConversionEfficiency ( ComplexAmplitude  field,
ComplexAmplitude  referenceField,
bool  evaluateEy = false,
ComplexAmplitude  evaluationRegion = null,
ComplexAmplitude  incidentField = null 
)
static

Calculates the conversion efficiency of the given field.

Parameters
fieldThe field for which the conversion efficiency is calculated.
referenceFieldThe reference field, i.e. how the field should look like in an ideal case (conversion efficiency of 100 %).
evaluateEyIf this optional parameter is set to true, the Ey-component of the field is evaluated instead of the Ex-component.
evaluationRegionThe region taken into account for calculation of the conversion efficiency. If this optional parameter is not specified, all absolute values of the reference field larger than zero define the evaluation region.
incidentFieldThe incident field defining the original power of the field. If this optional parameter is not specified, the power of the field is used instead.
Returns
A single physical value, namely the conversion efficiency.

◆ ConversionEfficiency() [2/2]

static PhysicalValue ConversionEfficiency ( ComplexAmplitude  field,
ComplexAmplitude  referenceField,
bool  evaluateEy = false,
IRegion1D2D  evaluationRegion = null,
ComplexAmplitude  incidentField = null 
)
static

Calculates the conversion efficiency of the given field.

Parameters
fieldThe field for which the conversion efficiency is calculated.
referenceFieldThe reference field, i.e. how the field should look like in an ideal case (conversion efficiency of 100 %).
evaluateEyIf this optional parameter is set to true, the Ey-component of the field is evaluated instead of the Ex-component.
evaluationRegionThe region taken into account for calculation of the conversion efficiency. If this optional parameter is not specified, all absolute values of the reference field larger than zero define the evaluation region.
incidentFieldThe incident field defining the original power of the field. If this optional parameter is not specified, the power of the field is used instead.
Returns
A single physical value, namely the conversion efficiency.

◆ CreateDetectorResult() [1/4]

static DetectorResultObject CreateDetectorResult ( IDocument  document,
string  description,
string  group = "" 
)
static

Creates a detector result object from a document (Harmonic Field, Data Array etc.).

Parameters
documentThe document.
descriptionThe description of the result.
groupWith this optional parameter you can group the results, for example you can put the results for Ex into one group and the results for Ey into another. The group name is appended to the actual detector name. For technical reasons, grouping does not work for lists of physical values.
Returns
The detector result object.

◆ CreateDetectorResult() [2/4]

static DetectorResultObject CreateDetectorResult ( List< PhysicalValue physicalValues)
static

Creates a detector result object from a list of real-valued physical values.

Parameters
physicalValuesThe list of physical values.
Returns
The detector result object.

◆ CreateDetectorResult() [3/4]

static DetectorResultObject CreateDetectorResult ( List< PhysicalValueComplex >  physicalValues)
static

Creates a detector result object from a list of complex-valued physical values.

Parameters
physicalValuesThe list of physical values.
Returns
The detector result object.

◆ CreateDetectorResult() [4/4]

static DetectorResultObject CreateDetectorResult ( PhysicalValueBase[]  physicalValues)
static

Creates a detector result object from one or more physical values, which can be real-valued or complex-valued. Usage note: you can also pass an array of PhysicalValueBase or a list of PhysicalValueBase (the later by conversion to an array via calling the ToArray() method).

Parameters
physicalValuesOne or more physical values.
Returns
The detector result object.

◆ FiberCouplingEfficiency()

static PhysicalValue FiberCouplingEfficiency ( ComplexAmplitude  field,
ComplexAmplitude  fiberMode,
ComplexAmplitude  incidentField = null 
)
static

Calculates the fiber coupling efficiency for the given field and the given fiber mode.

Parameters
fieldThe field to evaluate.
fiberModeThe fiber mode.
incidentFieldThe incident field defining the original power of the field. If this optional parameter is not specified, the power of the field is used instead.
Returns
The fiber coupling efficiency.

◆ FiberCouplingEfficiency_ModeDiameter()

static PhysicalValue FiberCouplingEfficiency_ModeDiameter ( ComplexAmplitude  field,
double  modeDiameter,
ComplexAmplitude  incidentField = null 
)
static

Calculates the fiber coupling efficiency for the given field and the given fiber mode. A Gaussian mode field is assumed.

Parameters
fieldThe field to evaluate.
modeDiameterThe diameter of the Gaussian fiber mode.
incidentFieldThe incident field defining the original power of the field. If this optional parameter is not specified, the power of the field is used instead.
Returns
The fiber coupling efficiency.

◆ FiberCouplingEfficiency_NumericalAperture()

static PhysicalValue FiberCouplingEfficiency_NumericalAperture ( ComplexAmplitude  field,
double  numericalAperture,
ComplexAmplitude  incidentField = null 
)
static

Calculates the fiber coupling efficiency for the given field and the given fiber mode. A Gaussian mode field is assumed.

Parameters
fieldThe field to evaluate.
numericalApertureThe numerical aperture of the fiber.
incidentFieldThe incident field defining the original power of the field. If this optional parameter is not specified, the power of the field is used instead.
Returns
The fiber coupling efficiency.

◆ Maximum() [1/2]

static double Maximum ( ComplexField  field,
FieldQuantity  fieldQuantity 
)
static

Retrieves the maximum amplitude, phase, real part, imaginary part, or squared amplitude within the given field.

Parameters
fieldThe field for which the maximum is retrieved.
fieldQuantitySpecifies for which field quantity (amplitude, phase, real part, imaginary part, or squared amplitude) the maximum shall be retrieved.
Returns
The maximum amplitude, phase, real part, imaginary part, or squared amplitude within the given field.

◆ Maximum() [2/2]

static double Maximum ( ComplexField  field,
FieldQuantity  fieldQuantity,
out Vector  position 
)
static

Retrieves the maximum amplitude, phase, real part, imaginary part, or squared amplitude within the given field.

Parameters
fieldThe field for which the maximum is retrieved.
fieldQuantitySpecifies for which field quantity (amplitude, phase, real part, imaginary part, or squared amplitude) the maximum shall be retrieved.
positionReturns the pixel coordinate of the maximum. The lower left corner of the field has the position (0; 0).
Returns
The maximum amplitude, phase, real part, imaginary part, or squared amplitude within the given field.

◆ MaximumRelativeIntensityOfStrayLight() [1/2]

static PhysicalValue MaximumRelativeIntensityOfStrayLight ( ComplexAmplitude  field,
ComplexAmplitude  evaluationRegion,
bool  evaluateEy = false 
)
static

Calculates the maximum relative stray light intensity within the given field.

Parameters
fieldThe field for which the stray light intensity is calculated.
evaluationRegionAll absolute values of this field larger than zero define the evaluation region. Everything outside the evaluation region is regarded as stray light whose maximum relative intensity is determined.
evaluateEyIf this optional parameter is set to true, the Ey-component of the field is evaluated instead of the Ex-component.
Returns
A single physical value, namely the uniformity error.

◆ MaximumRelativeIntensityOfStrayLight() [2/2]

static PhysicalValue MaximumRelativeIntensityOfStrayLight ( ComplexAmplitude  field,
IRegion1D2D  evaluationRegion,
bool  evaluateEy = false 
)
static

Calculates the maximum relative stray light intensity within the given field.

Parameters
fieldThe field for which the stray light intensity is calculated.
evaluationRegionAll absolute values of this field larger than zero define the evaluation region. Everything outside the evaluation region is regarded as stray light whose maximum relative intensity is determined.
evaluateEyIf this optional parameter is set to true, the Ey-component of the field is evaluated instead of the Ex-component.
Returns
A single physical value, namely the uniformity error.

◆ Minimum() [1/2]

static double Minimum ( ComplexField  field,
FieldQuantity  fieldQuantity 
)
static

Retrieves the minimum amplitude, phase, real part, imaginary part, or squared amplitude within the given field.

Parameters
fieldThe field for which the minimum is retrieved.
fieldQuantitySpecifies for which field quantity (amplitude, phase, real part, imaginary part, or squared amplitude) the minimum shall be retrieved.
Returns
The minimum amplitude, phase, real part, imaginary part, or squared amplitude within the given field.

◆ Minimum() [2/2]

static double Minimum ( ComplexField  field,
FieldQuantity  fieldQuantity,
out Vector  position 
)
static

Retrieves the minimum amplitude, phase, real part, imaginary part, or squared amplitude within the given field.

Parameters
fieldThe field for which the minimum is retrieved.
fieldQuantitySpecifies for which field quantity (amplitude, phase, real part, imaginary part, or squared amplitude) the minimum shall be retrieved.
positionReturns the pixel coordinate of the minimum. The lower left corner of the field has the position (0; 0).
Returns
The minimum amplitude, phase, real part, imaginary part, or squared amplitude within the given field.

◆ ParaxialPower() [1/2]

static PhysicalValue ParaxialPower ( ComplexAmplitude  field)
static

Calculates the paraxial power (the \(E_{\text{z}}\) component of the field is neglected) of the specified field.

Parameters
fieldThe field for which the power is calculated.
Returns
The paraxial power of the field.

◆ ParaxialPower() [2/2]

static PhysicalValue ParaxialPower ( ComplexAmplitude  field,
VectorD  centerPoint,
VectorD  size 
)
static

Calculates the paraxial power (the \(E_{\text{z}}\) component of the field is neglected) of the specified rectangular region in the given field.

Parameters
fieldThe field for which the power in the specified region is calculated.
centerPointThe center point of the region the power is to be calculated for.
sizeThe size of the rectangular region the power is to be calculated for .
Returns
The paraxial power in the specified region of the field.

◆ ReadWavelengthInformation() [1/2]

static double ReadWavelengthInformation ( DataArrayBase  dataArray)
static

At some data arrays, especially the ones generated by the Electromagnetic Field Detector, a wavelength is stored within the data array. This method reads the wavelength information form a single data array.

Parameters
dataArrayThe data array.
Returns
The wavelength stored within the data array. double.NaN if no wavelength information is stored.

◆ ReadWavelengthInformation() [2/2]

static List< double > ReadWavelengthInformation ( List< DataArrayBase listDataArray)
static

At some data arrays, especially the ones generated by the Electromagnetic Field Detector, a wavelength is stored within the data array. This method reads the wavelength information form a list of data arrays. If a data array has no wavelength information, double.NaN is used.

Parameters
listDataArrayThe list of data arrays that shall be used for extraction of the data.
Returns
The extracted list of wavelengths from the input list of data arrays.

◆ SeidelAberrations()

static List< PhysicalValue > SeidelAberrations ( ComplexAmplitude  field,
bool  sphericalPhaseIsReference,
bool  evaluateEy = false 
)
static

Calculates the Seidel aberrations of the given field.

Parameters
fieldThe field to evaluate.
sphericalPhaseIsReferenceIf set to true the aberrations are calculated relative to an analytical spherical phase factor if present.
evaluateEyThis parameter is no longer needed. Just left for compatibility
Returns
A list of physical values containing the evaluated Seidel aberrations in wavelengths.

◆ SignalToNoiseRatio() [1/2]

static PhysicalValue SignalToNoiseRatio ( ComplexAmplitude  field,
ComplexAmplitude  referenceField,
bool  evaluateEy = false,
ComplexAmplitude  evaluationRegion = null,
bool  allowScaleFreedom = true,
SignalType  signalType = SignalType.Amplitude 
)
static

Calculates the signal-to-noise ratio (SNR) of the given field.

Parameters
fieldThe field for which the SNR is calculated.
referenceFieldThe reference field, i.e. how the field should look like in an ideal case (SNR of infinity).
evaluateEyIf this optional parameter is set to true, the Ey-component of the field is evaluated instead of the Ex-component.
evaluationRegionThe region taken into account for the SNR calculation. If this optional parameter is not specified, all absolute values of the reference field larger than zero define the evaluation region.


Parameters
allowScaleFreedomIf set to true the field might be scaled with a complex value to get a better correspondence to the reference field. The default value of this optional parameter is true.
signalTypeDefines for which field quantity the SNR is evaluated. The default value of this optional parameter is amplitude, i.e. the phase values do not influence the SNR calculation.
Returns
A single physical value, namely the signal-to-noise ratio.

◆ SignalToNoiseRatio() [2/2]

static PhysicalValue SignalToNoiseRatio ( ComplexAmplitude  field,
ComplexAmplitude  referenceField,
bool  evaluateEy = false,
IRegion1D2D  evaluationRegion = null,
bool  allowScaleFreedom = true,
SignalType  signalType = SignalType.Amplitude 
)
static

Calculates the signal-to-noise ratio (SNR) of the given field.

Parameters
fieldThe field for which the SNR is calculated.
referenceFieldThe reference field, i.e. how the field should look like in an ideal case (SNR of infinity).
evaluateEyIf this optional parameter is set to true, the Ey-component of the field is evaluated instead of the Ex-component.
evaluationRegionThe region taken into account for the SNR calculation. If this optional parameter is not specified, all absolute values of the reference field larger than zero define the evaluation region.


Parameters
allowScaleFreedomIf set to true the field might be scaled with a complex value to get a better correspondence to the reference field. The default value of this optional parameter is true.
signalTypeDefines for which field quantity the SNR is evaluated. The default value of this optional parameter is amplitude, i.e. the phase values do not influence the SNR calculation.
Returns
A single physical value, namely the signal-to-noise ratio.

◆ SumOfFieldValues()

static double SumOfFieldValues ( ComplexField  field,
FieldQuantity  fieldQuantity 
)
static

Calculates the sum of all amplitude, phase, real part, imaginary part, or squared amplitude values within the given field.

Parameters
fieldThe field for which the sum is calculated.
fieldQuantitySpecifies for which field quantity (amplitude, phase, real part, imaginary part, or squared amplitude) the sum shall be calculated.
Returns
The sum of all amplitude, phase, real part, imaginary part, or squared amplitude values within the given field.

◆ UniformityError() [1/3]

static PhysicalValue UniformityError ( ComplexAmplitude  field,
ComplexAmplitude  referenceField,
bool  evaluateEy = false,
ComplexAmplitude  evaluationRegion = null,
SignalType  signalType = SignalType.Amplitude 
)
static

Calculates the uniformity error of the given field with respect to a given reference field.

Parameters
fieldThe field for which the uniformity error is calculated.
referenceFieldThe reference field, i.e. how the field should look like in an ideal case (uniformity error of zero).
evaluateEyIf this optional parameter is set to true, the Ey-component of the field is evaluated instead of the Ex-component.
evaluationRegionThe region taken into account for calculation of the uniformity error. If this optional parameter is not specified, all absolute values of the reference field larger than zero define the evaluation region.
signalTypeDefines for which field quantity the uniformity error is evaluated. The default value of this optional parameter is amplitude, i.e. the phase values do not influence the calculation of the uniformity error.
Returns
A single physical value, namely the uniformity error.

◆ UniformityError() [2/3]

static PhysicalValue UniformityError ( ComplexAmplitude  field,
ComplexAmplitude  referenceField,
bool  evaluateEy = false,
IRegion1D2D  evaluationRegion = null,
SignalType  signalType = SignalType.Amplitude 
)
static

Calculates the uniformity error of the given field with respect to a given reference field.

Parameters
fieldThe field for which the uniformity error is calculated.
referenceFieldThe reference field, i.e. how the field should look like in an ideal case (uniformity error of zero).
evaluateEyIf this optional parameter is set to true, the Ey-component of the field is evaluated instead of the Ex-component.
evaluationRegionThe region taken into account for calculation of the uniformity error. If this optional parameter is not specified, all absolute values of the reference field larger than zero define the evaluation region.
signalTypeDefines for which field quantity the uniformity error is evaluated. The default value of this optional parameter is amplitude, i.e. the phase values do not influence the calculation of the uniformity error.
Returns
A single physical value, namely the uniformity error.

◆ UniformityError() [3/3]

static PhysicalValue UniformityError ( DataArray2D  dataArray,
int  subsetIndex,
DataArray2D  referenceData 
)
static

Calculates the uniformity error for a given two-dimensional data array with respect to the given reference data.

Parameters
dataArrayThe two-dimensional data array for which the evaluation shall be done. Must be equidistant in both x- and y-direction.
subsetIndexThe index of the subset that is evaluated.
referenceDataThe two-dimensional reference data that shall be used for evaluation. Must be equidistant in both x- and y-direction and contain only one subset.
Returns
The uniformity error for the given input parameters.
Exceptions
System.ArgumentExceptionThe data array to analyze has to be equidistant in x- and y-direction. or The reference field for analyzing the uniformity of a data array has to be equidistant in x- and y-direction.

◆ WindowEfficiency() [1/2]

static PhysicalValue WindowEfficiency ( ComplexAmplitude  field,
ComplexAmplitude  referenceField,
bool  evaluateEy = false,
ComplexAmplitude  evaluationRegion = null,
ComplexAmplitude  incidentField = null 
)
static

Calculates the window efficiency of the given field.

Parameters
fieldThe field for which the window efficiency is calculated.
referenceFieldThe reference field, i.e. how the field should look like in an ideal case (window efficiency of 100 %).
evaluateEyIf this optional parameter is set to true, the Ey-component of the field is evaluated instead of the Ex-component.
evaluationRegionThe region taken into account for calculation of the window efficiency. If this optional parameter is not specified, all absolute values of the reference field larger than zero define the evaluation region.
incidentFieldThe incident field defining the original power of the field. If this optional parameter is not specified, the power of the field is used instead.
Returns
A single physical value, namely the window efficiency.

◆ WindowEfficiency() [2/2]

static PhysicalValue WindowEfficiency ( ComplexAmplitude  field,
ComplexAmplitude  referenceField,
bool  evaluateEy = false,
IRegion1D2D  evaluationRegion = null,
ComplexAmplitude  incidentField = null 
)
static

Calculates the window efficiency of the given field.

Parameters
fieldThe field for which the window efficiency is calculated.
referenceFieldThe reference field, i.e. how the field should look like in an ideal case (window efficiency of 100 %).
evaluateEyIf this optional parameter is set to true, the Ey-component of the field is evaluated instead of the Ex-component.
evaluationRegionThe region taken into account for calculation of the window efficiency. If this optional parameter is not specified, all absolute values of the reference field larger than zero define the evaluation region.
incidentFieldThe incident field defining the original power of the field. If this optional parameter is not specified, the power of the field is used instead.
Returns
A single physical value, namely the window efficiency.

◆ ZernikeFringeAberrations()

static List< PhysicalValue > ZernikeFringeAberrations ( ComplexAmplitude  field,
int  numberOfCoefficients,
bool  sphericalPhaseIsReference,
bool  evaluateEy = false 
)
static

Calculates the Zernike fringe aberrations of the given field.

Parameters
fieldThe field to evaluate.
numberOfCoefficientsThe maximum coefficient index to evaluate. Must be in the range 1 to 37.
sphericalPhaseIsReferenceIf set to true the aberrations are calculated relative to an analytical spherical phase factor if present.
evaluateEyThis parameter is no longer needed. The more "powerful" vectorial component of Ex and Ey is used for locally polarized fields. Just left for compatibility.
Returns
A list of physical values containing the evaluated Zernike fringe aberrations in wavelengths.