This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Contains different operators for the manipulation of ComplexAmplitude.
More...
|
| static ComplexAmplitude | CoherentAddition (ComplexAmplitude[] fields) |
| | Coherent addition of multiple fields. More...
|
| |
| static ComplexAmplitude | Combine (ComplexAmplitude caX, ComplexAmplitude caY) |
| | Combines two one-dimensional ComplexAmplitudes into a two-dimensional one. \(P(x,y)=f_x(x) * f_y(y)\). The more exact precision of both one-dimensional ComplexFields is used for the two-dimensional ComplexField. Is one of the one-dimensional ComplexField is complex then the resulting ComplexField is complex else it is real. More...
|
| |
| static bool | ComputeDeviation (ComplexAmplitude caArg, ComplexAmplitude caReference, bool applyComplexScalingFactor, out double relativeDeviation, out double absoluteDeviation, out Complex scalingFactor, InterpolationMethod interpolationMethod=InterpolationMethod.SincFFT) |
| | Compute the absolute and relative deviation between two fields. The deviation between two harmonic fields is defined as the integral of the squared amplitudes of the difference field. The reference field prescribes the reference sampling and the reference medium for resampling. All four polarization combinations of both fields are allowed. More...
|
| |
| static ComplexAmplitude | CreateRotationallySymmetricFieldFromCrossSection (ComplexAmplitude crossSection, SamplingParameters resultSampling, InterpolationMethod interpolationMethod=InterpolationMethod.Linear_AmplitudeAndPhase) |
| | Creates a rotationally symmetric field from a one-dimensional cross section. More...
|
| |
| static DataArrayBase | FieldDeviation (ComplexAmplitude firstCA, ComplexAmplitude secondCA) |
| | Help method to compare amplitude and phase of two harmonic fields. The results are stored into distinct subsets of a data array. More...
|
| |
| static void | Separate (ComplexAmplitude ca, out ComplexAmplitude xField, out ComplexAmplitude yField) |
| | Separates a globally and locally polarized two-dimensional ComplexAmplitude P(x,y) and returns the x-component \(f_x(x)\) and the y-component \(f_y(y)\) as separated fields. If the field is separable, \(P(x,y)=f_x(x) * f_y(y)\) applies. The separation is done by integrating of all rows and columns.
Note: This function does not check whether input field is separable. More...
|
| |
| static DataArray2D | ToAngularCoordinates (ComplexAmplitude inputField, CoordinateDefinitionType coordinateType, VectorialComponent[] vectorialComponents, double oversamplingFactorAngle1, double oversamplingFactorAngle2) |
| | Resamples a given Harmonic Field to angular coordinates. More...
|
| |
This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Contains different operators for the manipulation of ComplexAmplitude.
◆ CoherentAddition()
Coherent addition of multiple fields.
- Parameters
-
| fields | The fields to sum up. |
- Returns
- The summed fields. For the result, wavelength, Jones vector etc. are taken from the first field.
- Exceptions
-
| ArgumentException | At least two fields must be given for coherent addition. or All fields must be of type “Globally Polarized Harmonic Field” or “Angular Spectrum of Harmonic Field (Globally Polarized)”. |
◆ Combine()
Combines two one-dimensional ComplexAmplitudes into a two-dimensional one. \(P(x,y)=f_x(x) * f_y(y)\). The more exact precision of both one-dimensional ComplexFields is used for the two-dimensional ComplexField. Is one of the one-dimensional ComplexField is complex then the resulting ComplexField is complex else it is real.
- Parameters
-
| caX | One-dimensional X field. |
| caY | One-dimensional Y field. |
- Returns
- Resulting complex amplitude, which is only globally polarized if both input fields have the same Jones vector.
◆ ComputeDeviation()
Compute the absolute and relative deviation between two fields. The deviation between two harmonic fields is defined as the integral of the squared amplitudes of the difference field. The reference field prescribes the reference sampling and the reference medium for resampling. All four polarization combinations of both fields are allowed.
- Parameters
-
| caArg | Argument field that is to be compared to the reference. Polarization may be arbitrary. |
| caReference | Reference field. Polarization may be arbitrary. |
| applyComplexScalingFactor | If true, a optimal complex scaling factor is computed to scale the argument field prior to computing the deviation. |
| relativeDeviation | Relative deviation that is being computed. |
| absoluteDeviation | Absolute deviation that is being computed. |
| scalingFactor | Scaling factor that is being used. |
| interpolationMethod | The used interpolation method. |
- Returns
- true iff successful computation
◆ CreateRotationallySymmetricFieldFromCrossSection()
Creates a rotationally symmetric field from a one-dimensional cross section.
- Parameters
-
| crossSection | The cross section. It is assumed that the radius r = 0 is exactly at pixel 0. |
| resultSampling | The sampling the resulting field shall have. |
| interpolationMethod | The interpolation method to be used to interpolate between values for different radii. If this optional parameter is not specified, linear interpolation is used, which is suitable for transmissions and very fast. |
- Returns
- A rotationally symmetric field created from the cross section.
- Exceptions
-
| System.ArgumentException | The cross section must be one-dimensional, i.e. it must contain only one sampling point in y-direction. |
◆ FieldDeviation()
Help method to compare amplitude and phase of two harmonic fields. The results are stored into distinct subsets of a data array.
- Parameters
-
| firstCA | The first harmonic field to compare. |
| secondCA | The second harmonic field to compare. |
- Returns
- A data arrays with one subset storing the amplitude differences and one storing the phase differences. If any of the two fields is locally polarized, results for Ex and Ey are returned (in total 4 subsets).
- Exceptions
-
| OperationNotSupportedException | Operation between 1d and 2d or 1d-x and 1d-y arrays is not defined. |
◆ Separate()
Separates a globally and locally polarized two-dimensional ComplexAmplitude P(x,y) and returns the x-component \(f_x(x)\) and the y-component \(f_y(y)\) as separated fields. If the field is separable, \(P(x,y)=f_x(x) * f_y(y)\) applies. The separation is done by integrating of all rows and columns.
Note: This function does not check whether input field is separable.
- Parameters
-
| ca | ComplexAmplitude to be separated. |
| xField | Separated x-field. |
| yField | Separated y-field. |
◆ ToAngularCoordinates()
Resamples a given Harmonic Field to angular coordinates.
- Parameters
-
| inputField | The field2convert. |
| coordinateType | Type of the coordinate. |
| vectorialComponents | The vectorial components. |
| oversamplingFactorAngle1 | The oversampling factor for either the Cartesian angle α or the spherical angle φ. |
| oversamplingFactorAngle2 | The oversampling factor for either the Cartesian angle β or the spherical angle ϑ. |
- Returns
- The field in angular coordinates as Data Array.
- Exceptions
-
| System.ArgumentException | No valid data given. or Conversion supports 2-dimensional data only. or Resulting sampling distances are numerically equal to zero. |
| System.NotImplementedException | Case missing. |