Click or drag to resize

FieldCorrection Class

Provides methods to load and save correction files, and modify the field correction data.
Inheritance Hierarchy
SystemObject
  RAYLASE.Marker.CorrectionsFieldCorrection

Namespace: RAYLASE.Marker.Corrections
Assembly: RAYLASE.Marker.Corrections (in RAYLASE.Marker.Corrections.dll) Version: 2.19.0
Syntax
C#
public class FieldCorrection

The FieldCorrection type exposes the following members.

Constructors
 NameDescription
Public methodFieldCorrection(CorrectionType) Initializes a new instance in the specified correction format.
Public methodFieldCorrection(String) Initializes a new instance that uses the specified filename to determine the correction format and load this file
Top
Properties
 NameDescription
Public propertyActiveLayer Gets or sets the active layer. When using commands that don't specify the layer, the active layer is used instead.
Public propertyActiveMagnification Gets or sets the active magnification. When using commands that don't specify the magnification, the active magnification is used instead.
Public propertyAxes Gets the number of axes of the field correction table.
Public propertyAxisAuxiliary Gets the index of the aux axis.
Public propertyAxisMagnification Gets the index of the axis used by the zoom.
Public propertyAxisSensor Gets the index of the axis used by the sensor (eg Camera).
Public propertyCalFactor Gets or sets the calibration factor, in bits/um, of the field correction. The calibration factor assumes a 16-bit large field.
Public propertyColumns Gets the number of columns of the field correction table.
Public propertyCorrectionType Gets the correction type that is associated with this field correction. This value will be used to load or save in the appropriate format.
Public propertyExtraInfo Additional information stored for fc3 files.
Public propertyFieldSizeX Gets or sets the field size in the X dimension.
Public propertyFieldSizeY Gets or sets the field size in the Y dimension.
Public propertyFieldSizeZ Gets or sets the field size in the Z dimension.
Public propertyHasAuxiliaryAxis Returns true if a auxiliary table is present.
Public propertyHasMagnificationAxis Returns true if the correction table is four dimensional.
Public propertyHasSensorAxis Returns true if a camera table is present.
Public propertyHasValidCorrections Returns true if the correction data is set.
Public propertyItemInt32, Int32 
Public propertyItemInt32, Int32, Int32 Gets or sets the correction value of the specified axis at the specified row and column.
Public propertyItemInt32, Int32, Int32, Int32 Gets or sets the correction value of the specified axis at the specified layer, row and column.
Public propertyItemInt32, Int32, Int32, Int32, Int32 Gets or sets the correction value of the specified axis at the specified magnification, layer, row and column.
Public propertyLayers Gets the number of layers of the field correction table.
Public propertyMagnifications Gets the number of magnifications of the field correction table.
Public propertyMaxAngleX Gets or sets, the maximum deflection angle, in (mechanical) degrees, of the X axis.
Public propertyMaxAngleY Gets or sets, the maximum deflection angle, in (mechanical) degrees, of the Y axis.
Public propertyMaxLensTravel Gets or sets the maximal lens travel from OpticalParam
Public propertyMetadata Metadata for display purposes.
Public propertyOpticalParam The optical parameters define the structure of the correction file and the physical properties of the scan head
Public propertyRows Gets the number of rows of the field correction table.
Public propertyUseCubicInterpolation If true, cubic interpolation is used calculating new correction values. Otherwise it's liniear.
Top
Methods
 NameDescription
Public methodApplyBarrel(Double, Double, Double, Double) Adjusts the correction table to equalize a barrel/pincushion distortion.
Public methodApplyBarrel(Double, Double, Double, Double, Double, Double) Adjusts the correction table to equalize a barrel/pincushion distortion.
Public methodApplyBitErrors Interpolates the bit errors to the size of the measurement table and adds the values to the correction table.
Public methodApplyErrors(Double, Double, Double) Adjusts the field correction table based on the three-dimensional array of XYZ errors.
Public methodApplyErrors(NullableDouble, Double, Double) Adjusts the field correction table based on the three-dimensional array of XYZ errors.
Public methodApplyErrors(dvec2, dvec2, NullableDouble, Double, Double) Adjusts the field correction table based on the three-dimensional array of XYZ errors.
Public methodApplyOffset Adjusts the correction table so that the beam field is moved in both X and Y.
Public methodApplyPowerErrors(Double) Interpolates the measurement table to the dimensions of the correction table then multiplies the correction with the interpolated values.
Public methodApplyPowerErrors(NullableDouble) Interpolates the measurement table to the dimensions of the correction table then multiplies the correction with the interpolated values.
Public methodApplyRotation Rotates the field correction around the center of the field.
Public methodApplyScale Adjusts the correction table so that the beam field is scaled in both X and Y.
Public methodApplyTransformation Applies the transformation to the field correction.
Public methodApplyTrapezoid Adjusts the correction table so that the beam field is scaled like a trapezoid.
Public methodBeginUpdate Defines the beginning of an update block, which temporarily suppresses all change notifications.
Public methodChangeSize(dvec3, dvec3, Boolean) Truncates the correction to the provided subfield.
Public methodChangeSize(dvec3, dvec3, Int32, Int32, Int32, Boolean) Truncates the correction to the provided subfield.
Public methodClipCorrections Clips the correction data that exceed the limit.
Public methodConvertTo2D Removes all layers but the provided one. Header will be adjusted accordingly.
Public methodStatic memberCreate(FieldCorrection) Creates a new field correction instance with the same correction data as the referenced one.
Public methodStatic memberCreate(CorrectionType, OpticalParameters) Creates a new instance with a correction table in the specified format.
Public methodStatic memberCreate(CorrectionType, Int32, Int32, Int32, Int32, Int32) Creates a new instance with a correction table in the specified format and size.
Public methodEndUpdate Defines the ending of an update block.
Public methodExceedsLimit Returns true if at least one correction value exceeds the limit.
Public methodGetApproximateConversionFactorZ Returns the conversion factor from z focus to bits [bit/µm].
Public methodGetCommandAt(Double, dvec3) Gets the commands for a field position. ATTENTION: This method always takes the field position centered in the middle!
Public methodGetCommandAt(Double, dvec4) Gets the commands for a field position. ATTENTION: This method always takes the field position centered in the middle!
Public methodGetHorizontalSpeedLimit Returns the maximal speed in x/y-direction, where the axes are not physically limited.
Public methodGetLineZRange Returns the minimum and maximum control value of the z axis for the provided line.
Public methodGetMagnificationSpeedLimt Returns the maximal magnification speed, where the magnification axes are not physically limited.
Public methodGetVerticalSpeedLimit Returns the maximal speed in z-direction, where the z axes are not physically limited.
Public methodImport Imports from a text-based TXZ file, and generates a new correction table.
Public methodInterpolate(Int32, Int32) Interpolates the correction data.
Public methodInterpolate(Int32, Int32, Int32) Interpolates the correction data.
Public methodInterpolate(Int32, Int32, Int32, Int32) Interpolates the correction data. Currently the magnifications are only copied, not interpolated.
Public methodInterpolateErrors Interpolates the error table, which contains fewer grid points than the correction table, over the entire beam field.
Public methodLoad Loads the correction file from disk, and updates the correction table.
Public methodLoadInfo Loads the "info" text file of a *.gcd file, and extracts the calibration factor (CalFactor).
Public methodSave Saves the correction table to disk. If the file already exists it will be overwritten.
Public methodSetCommands Sets the correction values directly.
Public methodToArray Extracts all the correction values of the specified axis, and converts them to a two-dimensional array.
Public methodToGrid Calculates the row and column at the specified position.
Public methodToPosition(Int32, Int32) Calculates the XY position of the associated grid point.
Public methodToPosition(Int32, Int32, Int32, Int32) Calculates the XYZM position of the associated grid point.
Public methodToString Returns a string containing a short description of the instance's chief parameters.
(Overrides ObjectToString)
Top
Events
 NameDescription
Public eventFieldCorrectionChanged Occurs when any field correction value has changed.
Public eventParameterChanged Occurs when any configuration parameter has changed.
Top
Fields
 NameDescription
Public fieldStatic memberMinCorrection 
Top
Remarks

The field correction is associated with an immutable correction format, which is required to convert correction values from real-world units into the binary format saved in the correction file, and vice versa.

The field correction consists of a grid that divides the entire field into equi-spaced rows and columns. Accessing the correction table is in the order row, column - similar to accessing a mathematical matrix.

Row 0 and column 0 are mapped to the bottom-most row and left-most column, respectively.

See Also