Programming Reference for VirtualLab Fusion  2025.1
Loading...
Searching...
No Matches
DataArray2D Class Reference

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for objects that store gridded data in C^N which are equidistant or non equidistant distributed in R^2 More...

Inheritance diagram for DataArray2D:

Public Member Functions

override object Clone ()
 Deep copy.
 
double CoordinateOfDataPointIndex_X (long indexX)
 Gives the x coordinate of a certain data point as double.
 
PhysicalValue CoordinateOfDataPointIndex_X_asPValue (long indexX)
 Gives the x coordinate of a certain data point as PhysicalValue.
 
double CoordinateOfDataPointIndex_Y (long indexY)
 Gives the y coordinates of a certain data point as double.
 
PhysicalValue CoordinateOfDataPointIndex_Y_asPValue (long indexY)
 Gives the y coordinates of a certain data point as PhysicalValue.
 
 DataArray2D (ComplexFieldArray data, MeasuredQuantity[] measuredQuantitiesOfData, string[] commentsOfData, CFieldDerivative1DReal coordinatesX, MeasuredQuantity measuredQuantityOfCoordinatesX, string commentOfCoordinatesX, double coordinateOfLastXIntervalsUpperLimit, CFieldDerivative1DReal coordinatesY, MeasuredQuantity measuredQuantityOfCoordinatesY, string commentOfCoordinatesY, double coordinateOfLastYIntervalsUpperLimit, ExtrapolationInfo extrapolation=null, InterpolationMethodForNonequidistantData interpolationX=InterpolationMethodForNonequidistantData.ConstantInterval, InterpolationMethodForNonequidistantData interpolationY=InterpolationMethodForNonequidistantData.ConstantInterval)
 Constructor for data, non-equidistant in x and y, and with a coordinate for the last interval's upper limit for x and y, respectively.
 
 DataArray2D (ComplexFieldArray data, MeasuredQuantity[] measuredQuantitiesOfData, string[] commentsOfData, CFieldDerivative1DReal coordinatesX, MeasuredQuantity measuredQuantityOfCoordinatesX, string commentOfCoordinatesX, double coordinateOfLastXIntervalsUpperLimit, double samplingDistanceY, double coordinateOfFirstDataPointY, MeasuredQuantity measuredQuantityOfCoordinatesY, string commentOfCoordinatesY, ExtrapolationInfo extrapolation=null, InterpolationMethodForNonequidistantData interpolationX=InterpolationMethodForNonequidistantData.ConstantInterval, InterpolationMethod interpolationY=InterpolationMethod.Nearest)
 Constructor for data, non-equidistant in x and equidistant in y.
 
 DataArray2D (ComplexFieldArray data, MeasuredQuantity[] measuredQuantitiesOfData, string[] commentsOfData, double samplingDistanceX, double coordinateOfFirstDataPointX, MeasuredQuantity measuredQuantityOfCoordinatesX, string commentOfCoordinatesX, CFieldDerivative1DReal coordinatesY, MeasuredQuantity measuredQuantityOfCoordinatesY, string commentOfCoordinatesY, double coordinateOfLastYIntervalsUpperLimit, ExtrapolationInfo extrapolation=null, InterpolationMethod interpolationX=InterpolationMethod.Nearest, InterpolationMethodForNonequidistantData interpolationY=InterpolationMethodForNonequidistantData.ConstantInterval)
 Constructor for data, equidistant in x and non-equidistant in y.
 
 DataArray2D (ComplexFieldArray data, MeasuredQuantity[] measuredQuantitiesOfData, string[] commentsOfData, double samplingDistanceX, double coordinateOfFirstDataPointX, MeasuredQuantity measuredQuantityOfCoordinatesX, string commentOfCoordinatesX, double samplingDistanceY, double coordinateOfFirstDataPointY, MeasuredQuantity measuredQuantityOfCoordinatesY, string commentOfCoordinatesY, ExtrapolationInfo extrapolation=null, InterpolationMethod interpolationX=InterpolationMethod.Nearest, InterpolationMethod interpolationY=InterpolationMethod.Nearest)
 Constructor for data, equidistant in x and y.
 
 DataArray2D (ComplexFieldArray data, PhysicalProperty[] physicalPropertiesOfData, string[] commentsOfData, CFieldDerivative1DReal coordinatesX, PhysicalProperty physicalPropertyOfCoordinatesX, string commentOfCoordinatesX, double coordinateOfLastXIntervalsUpperLimit, CFieldDerivative1DReal coordinatesY, PhysicalProperty physicalPropertyOfCoordinatesY, string commentOfCoordinatesY, double coordinateOfLastYIntervalsUpperLimit, ExtrapolationInfo extrapolation=null, InterpolationMethodForNonequidistantData interpolationX=InterpolationMethodForNonequidistantData.ConstantInterval, InterpolationMethodForNonequidistantData interpolationY=InterpolationMethodForNonequidistantData.ConstantInterval)
 Constructor for data, non-equidistant in x and y, and with a coordinate for the last interval's upper limit for x and y, respectively.
 
 DataArray2D (ComplexFieldArray data, PhysicalProperty[] physicalPropertiesOfData, string[] commentsOfData, CFieldDerivative1DReal coordinatesX, PhysicalProperty physicalPropertyOfCoordinatesX, string commentOfCoordinatesX, double coordinateOfLastXIntervalsUpperLimit, double samplingDistanceY, double coordinateOfFirstDataPointY, PhysicalProperty physicalPropertyOfCoordinatesY, string commentOfCoordinatesY, ExtrapolationInfo extrapolation=null, InterpolationMethodForNonequidistantData interpolationX=InterpolationMethodForNonequidistantData.ConstantInterval, InterpolationMethod interpolationY=InterpolationMethod.Nearest)
 Constructor for data, non-equidistant in x and equidistant in y.
 
 DataArray2D (ComplexFieldArray data, PhysicalProperty[] physicalPropertiesOfData, string[] commentsOfData, double samplingDistanceX, double coordinateOfFirstDataPointX, PhysicalProperty physicalPropertyOfCoordinatesX, string commentOfCoordinatesX, CFieldDerivative1DReal coordinatesY, PhysicalProperty physicalPropertyOfCoordinatesY, string commentOfCoordinatesY, double coordinateOfLastYIntervalsUpperLimit, ExtrapolationInfo extrapolation=null, InterpolationMethod interpolationX=InterpolationMethod.Nearest, InterpolationMethodForNonequidistantData interpolationY=InterpolationMethodForNonequidistantData.ConstantInterval)
 Constructor for data, equidistant in x and non-equidistant in y.
 
 DataArray2D (ComplexFieldArray data, PhysicalProperty[] physicalPropertiesOfData, string[] commentsOfData, double samplingDistanceX, double coordinateOfFirstDataPointX, PhysicalProperty physicalPropertyOfCoordinatesX, string commentOfCoordinatesX, double samplingDistanceY, double coordinateOfFirstDataPointY, PhysicalProperty physicalPropertyOfCoordinatesY, string commentOfCoordinatesY, ExtrapolationInfo extrapolation=null, InterpolationMethod interpolationX=InterpolationMethod.Nearest, InterpolationMethod interpolationY=InterpolationMethod.Nearest)
 Constructor for data, equidistant in x and y.
 
 DataArray2D (DataArray2D dataArray)
 Copy constructor.
 
 DataArray2D (double[,] data, PhysicalProperty physicalPropertyOfData, string commentOfData, double samplingDistanceX, double coordinateOfFirstDataPointX, PhysicalProperty physicalPropertyOfCoordinatesX, string commentOfCoordinatesX, double samplingDistanceY, double coordinateOfFirstDataPointY, PhysicalProperty physicalPropertyOfCoordinatesY, string commentOfCoordinatesY, ExtrapolationInfo extrapolation=null, InterpolationMethod interpolationX=InterpolationMethod.Nearest, InterpolationMethod interpolationY=InterpolationMethod.Nearest)
 Special constructor for data, equidistant in x and y which gets a double[,] array. Only one subset is used, i.e. N = 1.
 
new void DeserializationPostProcessing (ref List< FieldInfo > unfindableFields, RemainingData remainingData)
 Method for doing post-processing after XML deserialization. Especially, handling of fields which have been altered since the version the data were saved with. But also additional operations (like filling caching variables etc.) can be done here.
 
void Dispose ()
 Frees all memory that is used for the data.
 
void EmbedExtract (Vector numberOfDataPoints)
 Method to perform an embed/extract operation on the data array.
 
DataArray2D EmbedExtract (Vector startPoint, Size extractSize)
 Method to extract a given data point range from this.
 
override bool Equals (object obj, EqualityIntent equalityIntent)
 Checks whether two DataArray1D objects are equal.
 
void EquidistantToNonEquidistant (AxisDirection directionToConvert, bool forNN_convertCenterCoordinateInsteadOfIntervalBorder)
 If this data array is equidistant, this conversion method makes it non equidistant for the given dimension X or Y. This is done by calculating the member NonequidistantCoordinates_X/Y from CoordinateOfFirstDataPoint_X/Y, SamplingDistance_X/Y and the respective index.
 
void EquidistantToNonEquidistant (bool forNN_convertCenterCoordinateInsteadOfIntervalBorder)
 If this data array is equidistant, this conversion method makes it non equidistant for both dimensions X and Y. This is done by calculating the member NonequidistantCoordinates_X/Y from CoordinateOfFirstDataPoint_X/Y, SamplingDistance_X/Y and the respective index.
 
DataArray2D FieldInterpolation_PureEquidistantSampling (SamplingParameters sParaInterpolation, InterpolationMethod? interpolationMethod=null)
 Interpolates this DataArray2D completely and gives a new resampled data array if both dimensions x and y are sampled equidistantly. Each DataSubSet is interpolated to the user defined sampling parameters.
 
void Fill (Complex[] values)
 Method to fill the data array subsets, each with a constant value.
 
PhysicalValueRange GetCoordinateRange_X (bool boundaryExtrapolation)
 Gets the whole range of x-coordinates (coordinate extent).
 
PhysicalValueRange GetCoordinateRange_Y (bool boundaryExtrapolation)
 Gets the whole range of y-coordinates (coordinate extent).
 
override FormDocument GetNewDocumentWindow (Form formMain, string fileName)
 
override string HeaderInformation (int subSetID, TextExportImportSettings exportSettings, FieldQuantity? quantityForInformation=null)
 Public method to get the export header (data meaning and sampling parameters) for a specific data array.
 
long IndexOfDataPointAtCoordinate_X (double xCoord, bool enforceSteppedInterpolation, out bool coordinatesOutsideGivenIndexRange)
 Method to get the x index of that data point which corresponds to a given x coordinate.
 
long IndexOfDataPointAtCoordinate_X (double xCoord, long startIndex, long endIndex, bool enforceSteppedInterpolation, out bool coordinatesOutsideGivenIndexRange)
 Method to get the x index of that data point which corresponds to a given x coordinate.
 
long IndexOfDataPointAtCoordinate_Y (double yCoord, bool enforceSteppedInterpolation, out bool coordinatesOutsideGivenIndexRange)
 Method to get the y index of that data point which corresponds to a given y coordinate.
 
long IndexOfDataPointAtCoordinate_Y (double yCoord, long startIndex, long endIndex, bool enforceSteppedInterpolation, out bool coordinatesOutsideGivenIndexRange)
 Method to get the y index of that data point which corresponds to a given y coordinate.
 
void InsertDataArray2D (DataArray2D arrayToInsert)
 Inserts another DataArray2D into this. Data inside the coordinate range of the array to insert will be overwritten.
 
void Mirror (AxisDirection mirrorAxis)
 Mirrors the dataArray2D either in x or y direction. The position of the mirror axis is defined as the center of the array (with reference to the coordinate to invert).
 
void Mirror (AxisDirection mirrorAxis, double mirrorAxisPosition)
 Mirrors the dataArray2D either in x or y direction. The position of the mirror axis can be arbitrary.
 
Complex[] PointInterpolation (VectorD coords, bool enforceSteppedInterpolation, out Vector relatedDataPointIndices, out bool coordinatesOutsideGivenIndexRange)
 Gives the interpolated complex value for given coordinates. Search intervals [startIndices.X, endIndices.X] and [startIndices.Y, endIndices.Y] can be set. At the moment, there are only nearest neighbor (for equidistant data) and constant interval interpolation (for non equidistant data) supported.
 
Complex[] PointInterpolation (VectorD coords, Vector startIndices, Vector endIndices, bool enforceSteppedInterpolation, out Vector relatedDataPointIndices, out bool coordinatesOutsideGivenIndexRange)
 Gives the interpolated complex value for given coordinates. Search intervals [startIndices.X, endIndices.X] and [startIndices.Y, endIndices.Y] can be set. At the moment, there are only nearest neighbor (for equidistant data), constant interval interpolation (for non equidistant data), and linear interpolation (for both sampling types) supported.
 
void Rotate (DiscreteOrientation rotationAngle)
 TU20111202 Rotates this DataArray2D around its central point.
 
override void SetDataWithPropertiesAndCommentsAtOnce (ComplexField[] data, MeasuredQuantity[] measuredQuantitiesOfDataEntries, string[] commentsOfDataEntries)
 
void SetDataWithPropertiesAndCommentsAtOnce (ComplexFieldArray data, MeasuredQuantity[] measuredQuantities, string[] comments)
 Sets the members Data, MeasuredQuantitiesOfDataEntries and CommentsOfDataEntries at once to ensure consistency.
 
void SetDataWithPropertiesAndCommentsAtOnce (ComplexFieldArray data, PhysicalProperty[] properties, string[] comments)
 Sets the members Data, PhysicalPropertiesOfDataEntries and CommentsOfDataEntries at once to ensure consistency.
 

Static Public Member Functions

static DataArray2D CreateDataArray2D_fromComplexArray (Complex[,] dataMatrix, bool createRealValuedResult, MeasuredQuantity quantityOfData, string commentOfData, MeasuredQuantity quantityOfXCoordinates, string commentOfXCoordinates, MeasuredQuantity quantityOfYCoordinates, string commentOfYCoordinates, ExtrapolationInfo extrapolation, ref(double sDistX, double startCoordX, InterpolationMethod interpX, double sDistY, double startCoordY, InterpolationMethod interpY)? sampling_equidist,(double coordOfLastIntUpperLimitX, InterpolationMethodForNonequidistantData nonEquidistantInterpolationX, double coordOfLastIntUpperLimitY, InterpolationMethodForNonequidistantData nonEquidistantInterpolationY)? sampling_nonEquidist)
 Method which converts complex data (double precision, usually read from a text file) into a 2D data array.
 
static DataArray2D CreateDataArray2DEquidistantOrNonEquidistant (ComplexFieldArray data, MeasuredQuantity[] measuredQuantitiesOfData, string[] commentsOfData, List< PhysicalValue > coordinatesX, List< PhysicalValue > coordinatesY, InterpolationMethod interpolationMethodEquidistant, InterpolationMethodForNonequidistantData interpolationMethodNonEquidistant, ExtrapolationInfo extrapolation=null)
 Static 'constructor' for data that can be either equidistant or non-equidistant.
 
static DataArray2D CreateDataArray2DEquidistantOrNonEquidistant (List<(double x, double y, Complex[] data)> dataPoints, MeasuredQuantity[] measuredQuantitiesOfData, string[] commentsOfData, MeasuredQuantity measuredQuantityOfCoordinatesX, string commentOfCoordinatesX, MeasuredQuantity measuredQuantityOfCoordinatesY, string commentOfCoordinatesY, InterpolationMethod interpolationMethodEquidistant, InterpolationMethodForNonequidistantData interpolationMethodNonEquidistant, ExtrapolationInfo extrapolation=null)
 Static 'constructor' for data points that can be either equidistant or non-equidistant.
 
static DataArray2D Load (string fileName)
 Loads the specified file name. Works independently from whether the document has been saved without view settings (as prior to VL 6.0) or with view settings.
 
static DataArray2D Load (string fileName, out UI.ViewSettings_SaveAndLoad.ListOfSavedViewSettings viewSettings)
 Loads the specified file name. Works independently from whether the document has been saved without view settings (as prior to VL 6.0) or with view settings.
 
static bool operator!= (DataArray2D da1, DataArray2D da2)
 Checks whether two DataArray2D objects are unequal.
 
static DataArray2D operator* (DataArray2D dataArray1, DataArray2D dataArray2)
 Implements the operator * for multiplication of two two-dimensional data arrays.
 
static DataArray2D operator+ (DataArray2D dataArray1, DataArray2D dataArray2)
 Implements the operator + for addition of two two-dimensional data arrays.
 
static DataArray2D operator- (DataArray2D dataArray1, DataArray2D dataArray2)
 Implements the operator - for subtraction of two two-dimensional data arrays.
 
static DataArray2D operator/ (DataArray2D dataArray1, DataArray2D dataArray2)
 Implements the operator / for division of two two-dimensional data arrays.
 
static bool operator== (DataArray2D da1, DataArray2D da2)
 Checks whether two DataArray2D objects are equal.
 

Properties

double BiggestCoordinateStep_X [get]
 Gets the biggest occurring distance between two neighbored x-coordinates. (So in the equidistant case, this is identical to SamplingDistance_X.)
 
double BiggestCoordinateStep_Y [get]
 Gets the biggest occurring distance between two neighbored y-coordinates. (So in the equidistant case, this is identical to SamplingDistance_Y.)
 
bool BothAxesHaveSameMeasuredQuantity [get]
 Gets whether both axes have the same measured quantity.
 
string CommentOfCoordinates_X [get, set]
 Gets and sets the comment for the x-coordinates.
 
string CommentOfCoordinates_Y [get, set]
 Gets and sets the comment for the y-coordinates.
 
override string[] CommentsOfDataEntries [get, set]
 Gets and sets the comment for each dimension in C^N.
 
double CoordinateOfFirstDataPoint_X [get, set]
 Gets and sets the x-coordinate of the data point Data[0,0].
 
double CoordinateOfFirstDataPoint_Y [get, set]
 Gets and sets the y-coordinate of the data point Data[0,0].
 
double CoordinateOfLast_X_IntervalsUpperLimit [get, set]
 Gets and sets the coordinate of the last interval's upper limit for the x-dimension. This is needed if non equidistantly sampled data shall be interpolated in x with the method 'ConstantInterval'. For this method the data are assumed to be constant in each interval which is given by [coordinate(i), coordinate(i+1)[, where i is the data point index. So the width of the last interval has to be defined separately by [coordinate(NoOfDataPoints_X-1), CoordinateOfLast_X_IntervalsUpperLimit[.
 
double CoordinateOfLast_Y_IntervalsUpperLimit [get, set]
 Gets and sets the coordinate of the last interval's upper limit for the y-dimension. This is needed if non equidistantly sampled data shall be interpolated in y with the method 'ConstantInterval'. For this method the data are assumed to be constant in each interval which is given by [coordinate(i), coordinate(i+1)[, where i is the data point index. So the width of the last interval has to be defined separately by [coordinate(NoOfDataPoints_Y-1), CoordinateOfLast_Y_IntervalsUpperLimit[.
 
double CoordinateOfLastDataPoint_X [get]
 Gets the x-coordinate of the data point Data[NoOfDataPoints_X - 1, NoOfDataPoints_Y - 1].
 
double CoordinateOfLastDataPoint_Y [get]
 Gets the y-coordinate of the data point Data[NoOfDataPoints_X - 1, NoOfDataPoints_Y - 1].
 
ComplexFieldArray Data [get, set]
 Gets and sets the data in C^N. Each single 2D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
 
override DataArrayType DataArrayType [get]
 public property to get the data array type of the current data array
 
override int DimensionalityOfCoordinates [get]
 Dimensionality M of the space of independent variables R^M.
 
override int DimensionalityOfData [get]
 Dimensionality N of the space of data values C^N.
 
bool Equidistant_X [get, set]
 Gets and sets whether the data are sampled equidistantly in x.
 
bool Equidistant_Y [get, set]
 Gets and sets whether the data are sampled equidistantly in y.
 
override ExtrapolationInfo ExtrapolationHandling [get, set]
 The extrapolation handling.
 
InterpolationMethod InterpolationMethodForEquidistantSampling_X [get, set]
 Gets and sets the method used for interpolation in case of equidistant sampling in x-direction.
 
InterpolationMethod InterpolationMethodForEquidistantSampling_Y [get, set]
 Gets and sets the method used for interpolation in case of equidistant sampling in y-direction.
 
InterpolationMethodForNonequidistantData InterpolationMethodForNonequidistantSampling_X [get, set]
 Gets and sets the method used for interpolation in case of non equidistant sampling in x-direction. For the method 'ConstantInterval' the data are assumed to be constant in each interval which is given by [coordinate(i), coordinate(i+1)[, where i is the data point index. So the width of the last interval has to be defined separately by [coordinate(NoOfDataPoints_X - 1), CoordinateOfLast_X_IntervalsUpperLimit[.
 
InterpolationMethodForNonequidistantData InterpolationMethodForNonequidistantSampling_Y [get, set]
 Gets and sets the method used for interpolation in case of non equidistant sampling in y-direction. For the method 'ConstantInterval' the data are assumed to be constant in each interval which is given by [coordinate(i), coordinate(i+1)[, where i is the data point index. So the width of the last interval has to be defined separately by [coordinate(NoOfDataPoints_Y - 1), CoordinateOfLast_Y_IntervalsUpperLimit[.
 
override bool IsComplex [get]
 Are the values defined in C^N (TRUE) or in the subset of real numbers R^N (FALSE)? Returns TRUE if any of the data entries is complex.
 
MeasuredQuantity MeasuredQuantityOf_X_Coordinates [get, set]
 Gets and sets the measured quantity of the x-coordinates.
 
MeasuredQuantity MeasuredQuantityOf_Y_Coordinates [get, set]
 Gets and sets the measured quantity of the y-coordinates.
 
CFieldDerivative1DReal NonequidistantCoordinates_X [get, set]
 
CFieldDerivative1DReal NonequidistantCoordinates_Y [get, set]
 Gets and sets the y-coordinates for the data in R^2. IMPORTANT: This property applies for non equidistant data only! If you need to get the coordinates for one index for equidistant as well as for non equidistant data, use the method CoordinateOfDataPointIndex_Y(long index) instead! For setting pay attention to the following restrictions: value must not be complex and value.SamplingPointsOneD has to be equal to NoOfDataPoints_Y.
 
int NoOfDataPoints_X [get]
 Gets the number of data values stored in x-direction.
 
int NoOfDataPoints_Y [get]
 Gets the number of data values stored in y-direction.
 
override bool NoSmoothingInterpolationMethod [get]
 Gets a flag indicating whether or not none of the interpolation methods is smoothing (like nearest neighbor or constant interval) -> TRUE But if one of the methods does (like all other methods) -> the flag is set to FALSE.
 
PhysicalProperty PhysicalPropertyOf_X_Coordinates [get, set]
 Gets and sets the physical property for the x-coordinates.
 
PhysicalProperty PhysicalPropertyOf_Y_Coordinates [get, set]
 Gets and sets the physical property for the y-coordinates.
 
double SamplingDistance_X [get, set]
 Gets and sets the sampling distance for (and only for) data sampled equidistantly in x.
 
double SamplingDistance_Y [get, set]
 Gets and sets the sampling distance for (and only for) data sampled equidistantly in y.
 
double SmallestCoordinateStep_X [get]
 Gets the smallest occurring distance between two neighbored x-coordinates. (So in the equidistant case, this is identical to SamplingDistance_X.)
 
double SmallestCoordinateStep_Y [get]
 Gets the smallest occurring distance between two neighbored y-coordinates. (So in the equidistant case, this is identical to SamplingDistance_Y.)
 
override string SuffixForPhysicalMeaning [get]
 Property which gives the suffix which is used in FormPhysicalObjectBase.SetTypeOfPhysicalObject.
 

Detailed Description

This class is subject to change. Programs using this class may require changes with a new version of VirtualLab.
Class for objects that store gridded data in C^N which are equidistant or non equidistant distributed in R^2

Constructor & Destructor Documentation

◆ DataArray2D() [1/10]

DataArray2D ( DataArray2D  dataArray)

Copy constructor.

Parameters
dataArrayData array to copy

◆ DataArray2D() [2/10]

DataArray2D ( ComplexFieldArray  data,
PhysicalProperty[]  physicalPropertiesOfData,
string[]  commentsOfData,
CFieldDerivative1DReal  coordinatesX,
PhysicalProperty  physicalPropertyOfCoordinatesX,
string  commentOfCoordinatesX,
double  coordinateOfLastXIntervalsUpperLimit,
CFieldDerivative1DReal  coordinatesY,
PhysicalProperty  physicalPropertyOfCoordinatesY,
string  commentOfCoordinatesY,
double  coordinateOfLastYIntervalsUpperLimit,
ExtrapolationInfo  extrapolation = null,
InterpolationMethodForNonequidistantData  interpolationX = InterpolationMethodForNonequidistantData::ConstantInterval,
InterpolationMethodForNonequidistantData  interpolationY = InterpolationMethodForNonequidistantData::ConstantInterval 
)

Constructor for data, non-equidistant in x and y, and with a coordinate for the last interval's upper limit for x and y, respectively.

Parameters
dataThe data in C^N. Each single 2D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
physicalPropertiesOfDataPhysical properties of each data subset.
commentsOfDataComments for each data subset.
coordinatesXNon-equidistant coordinates for the data in X dimension.
physicalPropertyOfCoordinatesXPhysical property for the coordinates in X.
commentOfCoordinatesXComment for the coordinates in X.
coordinateOfLastXIntervalsUpperLimitCoordinate of the last X interval's upper limit.
coordinatesYNon-equidistant coordinates for the data in Y dimension.
physicalPropertyOfCoordinatesYPhysical property for the coordinates in Y.
commentOfCoordinatesYComment for the coordinates in Y.
coordinateOfLastYIntervalsUpperLimitCoordinate of the last Y interval's upper limit.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationXThe interpolation method to be used in x-direction.
interpolationYThe interpolation method to be used in y-direction.

◆ DataArray2D() [3/10]

DataArray2D ( ComplexFieldArray  data,
MeasuredQuantity[]  measuredQuantitiesOfData,
string[]  commentsOfData,
CFieldDerivative1DReal  coordinatesX,
MeasuredQuantity  measuredQuantityOfCoordinatesX,
string  commentOfCoordinatesX,
double  coordinateOfLastXIntervalsUpperLimit,
CFieldDerivative1DReal  coordinatesY,
MeasuredQuantity  measuredQuantityOfCoordinatesY,
string  commentOfCoordinatesY,
double  coordinateOfLastYIntervalsUpperLimit,
ExtrapolationInfo  extrapolation = null,
InterpolationMethodForNonequidistantData  interpolationX = InterpolationMethodForNonequidistantData::ConstantInterval,
InterpolationMethodForNonequidistantData  interpolationY = InterpolationMethodForNonequidistantData::ConstantInterval 
)

Constructor for data, non-equidistant in x and y, and with a coordinate for the last interval's upper limit for x and y, respectively.

Parameters
dataThe data in C^N. Each single 2D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
measuredQuantitiesOfDataMeasured quantities of each data subset.
commentsOfDataComments for each data subset.
coordinatesXNon-equidistant coordinates for the data in X dimension.
measuredQuantityOfCoordinatesXMeasured quantity for the coordinates in X.
commentOfCoordinatesXComment for the coordinates in X.
coordinateOfLastXIntervalsUpperLimitCoordinate of the last X interval's upper limit.
coordinatesYNon-equidistant coordinates for the data in Y dimension.
measuredQuantityOfCoordinatesYMeasured quantity for the coordinates in Y.
commentOfCoordinatesYComment for the coordinates in Y.
coordinateOfLastYIntervalsUpperLimitCoordinate of the last Y interval's upper limit.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationXThe interpolation method to be used in x-direction.
interpolationYThe interpolation method to be used in y-direction.

◆ DataArray2D() [4/10]

DataArray2D ( ComplexFieldArray  data,
PhysicalProperty[]  physicalPropertiesOfData,
string[]  commentsOfData,
double  samplingDistanceX,
double  coordinateOfFirstDataPointX,
PhysicalProperty  physicalPropertyOfCoordinatesX,
string  commentOfCoordinatesX,
CFieldDerivative1DReal  coordinatesY,
PhysicalProperty  physicalPropertyOfCoordinatesY,
string  commentOfCoordinatesY,
double  coordinateOfLastYIntervalsUpperLimit,
ExtrapolationInfo  extrapolation = null,
InterpolationMethod  interpolationX = InterpolationMethod::Nearest,
InterpolationMethodForNonequidistantData  interpolationY = InterpolationMethodForNonequidistantData::ConstantInterval 
)

Constructor for data, equidistant in x and non-equidistant in y.

Parameters
dataThe data in C^N. Each single 2D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
physicalPropertiesOfDataPhysical properties of each data subset.
commentsOfDataComments for each data subset.
samplingDistanceXSampling distance in X
coordinateOfFirstDataPointXCoordinate of the first data point Data[0, y] for (and only for) equidistantly sampled data.
physicalPropertyOfCoordinatesXPhysical property for the coordinates in X.
commentOfCoordinatesXComment for the coordinates in X.
coordinatesYNon-equidistant coordinates for the data in Y dimension.
physicalPropertyOfCoordinatesYPhysical property for the coordinates in Y.
commentOfCoordinatesYComment for the coordinates in Y.
coordinateOfLastYIntervalsUpperLimitCoordinate of the last Y interval's upper limit.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationXThe interpolation method to be used in x-direction.
interpolationYThe interpolation method to be used in y-direction.

◆ DataArray2D() [5/10]

DataArray2D ( ComplexFieldArray  data,
MeasuredQuantity[]  measuredQuantitiesOfData,
string[]  commentsOfData,
double  samplingDistanceX,
double  coordinateOfFirstDataPointX,
MeasuredQuantity  measuredQuantityOfCoordinatesX,
string  commentOfCoordinatesX,
CFieldDerivative1DReal  coordinatesY,
MeasuredQuantity  measuredQuantityOfCoordinatesY,
string  commentOfCoordinatesY,
double  coordinateOfLastYIntervalsUpperLimit,
ExtrapolationInfo  extrapolation = null,
InterpolationMethod  interpolationX = InterpolationMethod::Nearest,
InterpolationMethodForNonequidistantData  interpolationY = InterpolationMethodForNonequidistantData::ConstantInterval 
)

Constructor for data, equidistant in x and non-equidistant in y.

Parameters
dataThe data in C^N. Each single 2D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
measuredQuantitiesOfDataMeasured quantities of each data subset.
commentsOfDataComments for each data subset.
samplingDistanceXSampling distance in X
coordinateOfFirstDataPointXCoordinate of the first data point Data[0, y] for (and only for) equidistantly sampled data.
measuredQuantityOfCoordinatesXMeasured quantity for the coordinates in X.
commentOfCoordinatesXComment for the coordinates in X.
coordinatesYNon-equidistant coordinates for the data in Y dimension.
measuredQuantityOfCoordinatesYMeasured quantity for the coordinates in Y.
commentOfCoordinatesYComment for the coordinates in Y.
coordinateOfLastYIntervalsUpperLimitCoordinate of the last Y interval's upper limit.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationXThe interpolation method to be used in x-direction.
interpolationYThe interpolation method to be used in y-direction.

◆ DataArray2D() [6/10]

DataArray2D ( ComplexFieldArray  data,
PhysicalProperty[]  physicalPropertiesOfData,
string[]  commentsOfData,
CFieldDerivative1DReal  coordinatesX,
PhysicalProperty  physicalPropertyOfCoordinatesX,
string  commentOfCoordinatesX,
double  coordinateOfLastXIntervalsUpperLimit,
double  samplingDistanceY,
double  coordinateOfFirstDataPointY,
PhysicalProperty  physicalPropertyOfCoordinatesY,
string  commentOfCoordinatesY,
ExtrapolationInfo  extrapolation = null,
InterpolationMethodForNonequidistantData  interpolationX = InterpolationMethodForNonequidistantData::ConstantInterval,
InterpolationMethod  interpolationY = InterpolationMethod::Nearest 
)

Constructor for data, non-equidistant in x and equidistant in y.

Parameters
dataThe data in C^N. Each single 2D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
physicalPropertiesOfDataPhysical properties of each data subset.
commentsOfDataComments for each data subset.
coordinatesXNon-equidistant coordinates for the data in X dimension.
physicalPropertyOfCoordinatesXPhysical property for the coordinates in X.
commentOfCoordinatesXComment for the coordinates in X.
samplingDistanceYSampling distance in Y
coordinateOfFirstDataPointYCoordinate of the first data point Data[x, 0] for (and only for) equidistantly sampled data.


Parameters
physicalPropertyOfCoordinatesYPhysical property for the coordinates in Y.
commentOfCoordinatesYComment for the coordinates in Y.
coordinateOfLastXIntervalsUpperLimitCoordinate of the last X interval's upper limit.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationXThe interpolation method to be used in x-direction.
interpolationYThe interpolation method to be used in y-direction.

◆ DataArray2D() [7/10]

DataArray2D ( ComplexFieldArray  data,
MeasuredQuantity[]  measuredQuantitiesOfData,
string[]  commentsOfData,
CFieldDerivative1DReal  coordinatesX,
MeasuredQuantity  measuredQuantityOfCoordinatesX,
string  commentOfCoordinatesX,
double  coordinateOfLastXIntervalsUpperLimit,
double  samplingDistanceY,
double  coordinateOfFirstDataPointY,
MeasuredQuantity  measuredQuantityOfCoordinatesY,
string  commentOfCoordinatesY,
ExtrapolationInfo  extrapolation = null,
InterpolationMethodForNonequidistantData  interpolationX = InterpolationMethodForNonequidistantData::ConstantInterval,
InterpolationMethod  interpolationY = InterpolationMethod::Nearest 
)

Constructor for data, non-equidistant in x and equidistant in y.

Parameters
dataThe data in C^N. Each single 2D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
measuredQuantitiesOfDataMeasured quantities of each data subset.
commentsOfDataComments for each data subset.
coordinatesXNon-equidistant coordinates for the data in X dimension.
measuredQuantityOfCoordinatesXMeasured quantity for the coordinates in X.
commentOfCoordinatesXComment for the coordinates in X.
samplingDistanceYSampling distance in Y
coordinateOfFirstDataPointYCoordinate of the first data point Data[x, 0] for (and only for) equidistantly sampled data.


Parameters
measuredQuantityOfCoordinatesYMeasured quantity for the coordinates in Y.
commentOfCoordinatesYComment for the coordinates in Y.
coordinateOfLastXIntervalsUpperLimitCoordinate of the last X interval's upper limit.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationXThe interpolation method to be used in x-direction.
interpolationYThe interpolation method to be used in y-direction.

◆ DataArray2D() [8/10]

DataArray2D ( ComplexFieldArray  data,
PhysicalProperty[]  physicalPropertiesOfData,
string[]  commentsOfData,
double  samplingDistanceX,
double  coordinateOfFirstDataPointX,
PhysicalProperty  physicalPropertyOfCoordinatesX,
string  commentOfCoordinatesX,
double  samplingDistanceY,
double  coordinateOfFirstDataPointY,
PhysicalProperty  physicalPropertyOfCoordinatesY,
string  commentOfCoordinatesY,
ExtrapolationInfo  extrapolation = null,
InterpolationMethod  interpolationX = InterpolationMethod::Nearest,
InterpolationMethod  interpolationY = InterpolationMethod::Nearest 
)

Constructor for data, equidistant in x and y.

Parameters
dataThe data in C^N. Each single 2D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
physicalPropertiesOfDataPhysical properties of each data subset.
commentsOfDataComments for each data subset.
samplingDistanceXSampling distance in X
coordinateOfFirstDataPointXCoordinate of the first data point Data[0, y] for (and only for) equidistantly sampled data.
physicalPropertyOfCoordinatesXPhysical property for the coordinates in X.
commentOfCoordinatesXComment for the coordinates in X.
samplingDistanceYSampling distance in Y
coordinateOfFirstDataPointYCoordinate of the first data point Data[x, 0] for (and only for) equidistantly sampled data.
physicalPropertyOfCoordinatesYPhysical property for the coordinates in Y.
commentOfCoordinatesYComment for the coordinates in Y.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationXThe interpolation method to be used in x-direction.
interpolationYThe interpolation method to be used in y-direction.
Exceptions
ArgumentExceptionEmpty ComplexFieldArray given. or Wrong number of physical properties for the data given. or Wrong number of data comments given. or Sampling Distances have to be greater than zero.

◆ DataArray2D() [9/10]

DataArray2D ( ComplexFieldArray  data,
MeasuredQuantity[]  measuredQuantitiesOfData,
string[]  commentsOfData,
double  samplingDistanceX,
double  coordinateOfFirstDataPointX,
MeasuredQuantity  measuredQuantityOfCoordinatesX,
string  commentOfCoordinatesX,
double  samplingDistanceY,
double  coordinateOfFirstDataPointY,
MeasuredQuantity  measuredQuantityOfCoordinatesY,
string  commentOfCoordinatesY,
ExtrapolationInfo  extrapolation = null,
InterpolationMethod  interpolationX = InterpolationMethod::Nearest,
InterpolationMethod  interpolationY = InterpolationMethod::Nearest 
)

Constructor for data, equidistant in x and y.

Parameters
dataThe data in C^N. Each single 2D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
measuredQuantitiesOfDataMeasured quantities of each data subset.
commentsOfDataComments for each data subset.
samplingDistanceXSampling distance in X
coordinateOfFirstDataPointXCoordinate of the first data point Data[0, y] for (and only for) equidistantly sampled data.
measuredQuantityOfCoordinatesXMeasured quantity for the coordinates in X.
commentOfCoordinatesXComment for the coordinates in X.
samplingDistanceYSampling distance in Y
coordinateOfFirstDataPointYCoordinate of the first data point Data[x, 0] for (and only for) equidistantly sampled data.
measuredQuantityOfCoordinatesYMeasured quantity for the coordinates in Y.
commentOfCoordinatesYComment for the coordinates in Y.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationXThe interpolation method to be used in x-direction.
interpolationYThe interpolation method to be used in y-direction.
Exceptions
ArgumentExceptionEmpty ComplexFieldArray given. or Wrong number of measured quantities for the data given. or Wrong number of data comments given. or Sampling Distances have to be greater than zero.

◆ DataArray2D() [10/10]

DataArray2D ( double  data[,],
PhysicalProperty  physicalPropertyOfData,
string  commentOfData,
double  samplingDistanceX,
double  coordinateOfFirstDataPointX,
PhysicalProperty  physicalPropertyOfCoordinatesX,
string  commentOfCoordinatesX,
double  samplingDistanceY,
double  coordinateOfFirstDataPointY,
PhysicalProperty  physicalPropertyOfCoordinatesY,
string  commentOfCoordinatesY,
ExtrapolationInfo  extrapolation = null,
InterpolationMethod  interpolationX = InterpolationMethod::Nearest,
InterpolationMethod  interpolationY = InterpolationMethod::Nearest 
)

Special constructor for data, equidistant in x and y which gets a double[,] array. Only one subset is used, i.e. N = 1.

Parameters
dataThe data in C^1. The double values will be filled into one real valued subset.
physicalPropertyOfDataPhysical properties of each data subset.
commentOfDataComments for each data subset.
samplingDistanceXSampling distance in X
coordinateOfFirstDataPointXCoordinate of the first data point Data[0, y] for (and only for) equidistantly sampled data.
physicalPropertyOfCoordinatesXPhysical property for the coordinates in X.
commentOfCoordinatesXComment for the coordinates in X.
samplingDistanceYSampling distance in Y
coordinateOfFirstDataPointYCoordinate of the first data point Data[x, 0] for (and only for) equidistantly sampled data.
physicalPropertyOfCoordinatesYPhysical property for the coordinates in Y.
commentOfCoordinatesYComment for the coordinates in Y.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
interpolationXThe interpolation method to be used in x-direction.
interpolationYThe interpolation method to be used in y-direction.

Member Function Documentation

◆ Clone()

override object Clone ( )

Deep copy.

Returns
Copy of data array

◆ CoordinateOfDataPointIndex_X()

double CoordinateOfDataPointIndex_X ( long  indexX)

Gives the x coordinate of a certain data point as double.

Parameters
indexXX index of the data point to get the coordinate for.
Returns
X coordinate of the data point as double

◆ CoordinateOfDataPointIndex_X_asPValue()

PhysicalValue CoordinateOfDataPointIndex_X_asPValue ( long  indexX)

Gives the x coordinate of a certain data point as PhysicalValue.

Parameters
indexXX index of the data point to get the coordinate for.
Returns
X coordinate of the data point as PhysicalValue

◆ CoordinateOfDataPointIndex_Y()

double CoordinateOfDataPointIndex_Y ( long  indexY)

Gives the y coordinates of a certain data point as double.

Parameters
indexYY index of the data point to get the coordinate for.
Returns
Y coordinate of the data point as double

◆ CoordinateOfDataPointIndex_Y_asPValue()

PhysicalValue CoordinateOfDataPointIndex_Y_asPValue ( long  indexY)

Gives the y coordinates of a certain data point as PhysicalValue.

Parameters
indexYY index of the data point to get the coordinate for.
Returns
Y coordinate of the data point as PhysicalValue

◆ CreateDataArray2D_fromComplexArray()

static DataArray2D CreateDataArray2D_fromComplexArray ( Complex  dataMatrix[,],
bool  createRealValuedResult,
MeasuredQuantity  quantityOfData,
string  commentOfData,
MeasuredQuantity  quantityOfXCoordinates,
string  commentOfXCoordinates,
MeasuredQuantity  quantityOfYCoordinates,
string  commentOfYCoordinates,
ExtrapolationInfo  extrapolation,
ref(double sDistX, double startCoordX, InterpolationMethod interpX, double sDistY, double startCoordY, InterpolationMethod interpY)?  sampling_equidist,
(double coordOfLastIntUpperLimitX, InterpolationMethodForNonequidistantData nonEquidistantInterpolationX, double coordOfLastIntUpperLimitY, InterpolationMethodForNonequidistantData nonEquidistantInterpolationY)?  sampling_nonEquidist 
)
static

Method which converts complex data (double precision, usually read from a text file) into a 2D data array.

Parameters
dataMatrixAn array of data which holds the raw values, usually read from a text file.
createRealValuedResultIf true, the result will be real-valued, no matter if there are imaginary parts given or not.
sampling_equidistIf not null, an equidistantly sampled (both coordinate directions!) data array will be created with the given sampling distances and start coordinates. If null, a non-equidistantly sampled (both coordinate directions!) data array will be created. The coordinates will be read from first row and column, then. DataArrays which have one equidistant and one non-equidistant dimension are not supported.
sampling_nonEquidistIn case no sampling_equidist parameter is given, this parameter is needed for specific settings of a non-equidistant data array.
quantityOfDataThe measured quantity to be set to the subset which is read from the file.
commentOfDataThe comment to be set to the subset which is read from the file.
quantityOfXCoordinatesThe measured quantity to be set to the x-coordinates.
commentOfXCoordinatesThe comment to be set to the x-coordinates.
quantityOfYCoordinatesThe measured quantity to be set to the y-coordinates.
commentOfYCoordinatesThe comment to be set to the y-coordinates.
extrapolationThe extrapolation info.
Returns
A gridded 2D data array, , created from an array of double values.

◆ CreateDataArray2DEquidistantOrNonEquidistant() [1/2]

static DataArray2D CreateDataArray2DEquidistantOrNonEquidistant ( ComplexFieldArray  data,
MeasuredQuantity[]  measuredQuantitiesOfData,
string[]  commentsOfData,
List< PhysicalValue coordinatesX,
List< PhysicalValue coordinatesY,
InterpolationMethod  interpolationMethodEquidistant,
InterpolationMethodForNonequidistantData  interpolationMethodNonEquidistant,
ExtrapolationInfo  extrapolation = null 
)
static

Static 'constructor' for data that can be either equidistant or non-equidistant.

Parameters
dataThe data in C^N. Each single 2D ComplexField in this array holds one data subset, i.e. the complete set of data for one data dimension \(i\) ( \(1 \leq i \leq N\)).
measuredQuantitiesOfDataMeasured quantity of each data subset.
commentsOfDataComments for each data subset.
coordinatesXThe coordinates in x-direction (sorted ascending). If they are equidistant, sampling distance and minimum value are calculated from this array. Otherwise the given coordinates are used directly and the last interval's upper limit is the last coordinate plus the absolute distance to the last but one coordinate. Comment and physical property of the x-axis are taken from the corresponding properties of the first coordinate.
coordinatesYThe coordinates in y-direction (sorted ascending). If they are equidistant, sampling distance and minimum value are calculated from this array. Otherwise the given coordinates are used directly and the last interval's upper limit is the last coordinate plus the absolute distance to the last but one coordinate. Comment and physical property of the y-axis are taken from the corresponding properties of the first coordinate.
interpolationMethodEquidistantThe interpolation method used for equidistant axes.
interpolationMethodNonEquidistantThe interpolation method used for non-equidistant axes.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
Returns
The two-dimensional gridded data array.

◆ CreateDataArray2DEquidistantOrNonEquidistant() [2/2]

static DataArray2D CreateDataArray2DEquidistantOrNonEquidistant ( List<(double x, double y, Complex[] data)>  dataPoints,
MeasuredQuantity[]  measuredQuantitiesOfData,
string[]  commentsOfData,
MeasuredQuantity  measuredQuantityOfCoordinatesX,
string  commentOfCoordinatesX,
MeasuredQuantity  measuredQuantityOfCoordinatesY,
string  commentOfCoordinatesY,
InterpolationMethod  interpolationMethodEquidistant,
InterpolationMethodForNonequidistantData  interpolationMethodNonEquidistant,
ExtrapolationInfo  extrapolation = null 
)
static

Static 'constructor' for data points that can be either equidistant or non-equidistant.

Parameters
dataPointsThe data points as list of tuples (x, y, and array with complex data values for each subset).
measuredQuantitiesOfDataPhysical properties of each data subset.
commentsOfDataComments for each data subset.
measuredQuantityOfCoordinatesXPhysical property for the coordinates in x.
commentOfCoordinatesXComment for the coordinates in x.
measuredQuantityOfCoordinatesYPhysical property for the coordinates in y.
commentOfCoordinatesYComment for the coordinates in y.
interpolationMethodEquidistantThe interpolation method used for equidistant axes.
interpolationMethodNonEquidistantThe interpolation method used for non-equidistant axes.
extrapolationOptional information about how extrapolation of the data shall be done. By default border value continuation is done.
Returns
The complex-valued two-dimensional gridded data array. Points with no data are indicated by NaN.

◆ DeserializationPostProcessing()

new void DeserializationPostProcessing ( ref List< FieldInfo >  unfindableFields,
RemainingData  remainingData 
)

Method for doing post-processing after XML deserialization. Especially, handling of fields which have been altered since the version the data were saved with. But also additional operations (like filling caching variables etc.) can be done here.

Parameters
unfindableFieldsList of all those fields which are expected but could not be read from XML.
remainingDataData contained in XML but which haven't been read yet.

◆ EmbedExtract() [1/2]

void EmbedExtract ( Vector  numberOfDataPoints)

Method to perform an embed/extract operation on the data array.

Parameters
numberOfDataPointsThe numbers of the data points to be used for the embed/extract operation in each dimension X and Y. If, for one dimension x or y, it is greater than this.NoOfDataPoints_X/Y, the data array will be embedded, otherwise the given number of data points will be extracted.

◆ EmbedExtract() [2/2]

DataArray2D EmbedExtract ( Vector  startPoint,
Size  extractSize 
)

Method to extract a given data point range from this.

Parameters
startPointData point indices to start the extraction with (zero based!).
extractSizeNumber of data point to be extracted in X and Y.
Returns
A data array with the extracted data.
Exceptions
ExceptionEmbed Extract is only available for equidistant data arrays.
ArgumentExceptionThe extraction size has to be larger than zero.

◆ Equals()

override bool Equals ( object  obj,
EqualityIntent  equalityIntent 
)

Checks whether two DataArray1D objects are equal.

Parameters
objThe System.Object to compare with this instance.
equalityIntentDefines what kind of equality you want to check when comparing two objects, for example all values or physical equality.
Returns
true if the specified System.Object is equal to this instance; otherwise, false.

◆ EquidistantToNonEquidistant() [1/2]

void EquidistantToNonEquidistant ( AxisDirection  directionToConvert,
bool  forNN_convertCenterCoordinateInsteadOfIntervalBorder 
)

If this data array is equidistant, this conversion method makes it non equidistant for the given dimension X or Y. This is done by calculating the member NonequidistantCoordinates_X/Y from CoordinateOfFirstDataPoint_X/Y, SamplingDistance_X/Y and the respective index.

Parameters
directionToConvertDimension to convert (X and/or Y).
forNN_convertCenterCoordinateInsteadOfIntervalBorderIn case an equidistant data array is given, it is to be converted into a non-equidistant one. This will take the interpolation method into account, which means that for Nearest-Neighbor interpolation the interval boundaries are converted instead of the original coordinates. This flag will prevent this if set to true and will ensure that the original coordinates are converted. This is usually needed for subsequent coordinate transformations only.

◆ EquidistantToNonEquidistant() [2/2]

void EquidistantToNonEquidistant ( bool  forNN_convertCenterCoordinateInsteadOfIntervalBorder)

If this data array is equidistant, this conversion method makes it non equidistant for both dimensions X and Y. This is done by calculating the member NonequidistantCoordinates_X/Y from CoordinateOfFirstDataPoint_X/Y, SamplingDistance_X/Y and the respective index.

Parameters
forNN_convertCenterCoordinateInsteadOfIntervalBorderIn case an equidistant data array is given, it is to be converted into a non-equidistant one. This will take the interpolation method into account, which means that for Nearest-Neighbor interpolation the interval boundaries are converted instead of the original coordinates. This flag will prevent this if set to true and will ensure that the original coordinates are converted. This is usually needed for subsequent coordinate transformations only.

◆ FieldInterpolation_PureEquidistantSampling()

DataArray2D FieldInterpolation_PureEquidistantSampling ( SamplingParameters  sParaInterpolation,
InterpolationMethod interpolationMethod = null 
)

Interpolates this DataArray2D completely and gives a new resampled data array if both dimensions x and y are sampled equidistantly. Each DataSubSet is interpolated to the user defined sampling parameters.

Parameters
sParaInterpolationThe sampling parameters which shall be used for interpolation.
interpolationMethodOptional parameter to specify the used interpolation method. If this optional parameter is not set, the interpolation stored in the data array for the x-direction is used.
Returns
The interpolated data array.
Exceptions
ArgumentExceptionInterpolation of DataArray2D is not supported for non-equidistant coordinates. or Interpolation of DataArray2D is not supported for different interpolation methods in x- and y-direction.

◆ Fill()

void Fill ( Complex[]  values)

Method to fill the data array subsets, each with a constant value.

Parameters
valuesThe values to be used for filling the DataArray2D

◆ GetCoordinateRange_X()

PhysicalValueRange GetCoordinateRange_X ( bool  boundaryExtrapolation)

Gets the whole range of x-coordinates (coordinate extent).

Parameters
boundaryExtrapolationIf set, the method works as if the interpolation method were set to Nearest Neighbor or Constant Interval, resp. That means for equidistant data an extrapolation of half a sampling distance below the coordinates minimum and above the coordinates maximum. For non equidistant data it means an extrapolation between the coordinates maximum and CoordinateOfLast_X_IntervalsUpperLimit. If the interpolation method is Nearest Neighbor or Constant Interval resp., this flag has no meaning, because extrapolation will be done anyway. If the 'array size' (range between first and last data point's coordinate) is needed for Nearest Neighbor or Constant Interval, it has to be calculated from CoordinateOfFirstDataPoint_X and CoordinateOfLastDataPoint_X.
Returns
The whole range of x-coordinates.

◆ GetCoordinateRange_Y()

PhysicalValueRange GetCoordinateRange_Y ( bool  boundaryExtrapolation)

Gets the whole range of y-coordinates (coordinate extent).

Parameters
boundaryExtrapolationIf set, the method works as if the interpolation method were set to Nearest Neighbor or Constant Interval, resp. That means for equidistant data an extrapolation of half a sampling distance below the coordinates minimum and above the coordinates maximum. For non equidistant data it means an extrapolation between the coordinates maximum and CoordinateOfLast_Y_IntervalsUpperLimit. If the interpolation method is Nearest Neighbor or Constant Interval resp., this flag has no meaning, because extrapolation will be done anyway. If the 'array size' (range between first and last data point's coordinate) is needed for Nearest Neighbor or Constant Interval, it has to be calculated from CoordinateOfFirstDataPoint_Y and CoordinateOfLastDataPoint_Y.
Returns
The whole range of y-coordinates.

◆ HeaderInformation()

override string HeaderInformation ( int  subSetID,
TextExportImportSettings  exportSettings,
FieldQuantity quantityForInformation = null 
)

Public method to get the export header (data meaning and sampling parameters) for a specific data array.

Parameters
subSetIDThe ID of the subset for which the header information shall be extracted.
exportSettingsThe text export settings (header indicator, decimal separator and so on).
quantityForInformationOptional FieldQuantity for which the header information shall be generated.
Returns
The export header string for the subset within the DataArray which has the subSetID.

◆ IndexOfDataPointAtCoordinate_X() [1/2]

long IndexOfDataPointAtCoordinate_X ( double  xCoord,
bool  enforceSteppedInterpolation,
out bool  coordinatesOutsideGivenIndexRange 
)

Method to get the x index of that data point which corresponds to a given x coordinate.

Parameters
xCoordcoordinate to get the corresponding data point's index for
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is. This flag affects the border handling only, i.e. how restrictive the flag coordinatesOutsideGivenIndexRange will be set.
coordinatesOutsideGivenIndexRangeFlag indicating whether the given coordinate lies outside the valid range (defined by the number of data points in x direction). The 'outside' detection considers the flag enforceSteppedInterpolation.
Returns
the x index of that data point which corresponds to the given x coordinate

◆ IndexOfDataPointAtCoordinate_X() [2/2]

long IndexOfDataPointAtCoordinate_X ( double  xCoord,
long  startIndex,
long  endIndex,
bool  enforceSteppedInterpolation,
out bool  coordinatesOutsideGivenIndexRange 
)

Method to get the x index of that data point which corresponds to a given x coordinate.

Parameters
xCoordcoordinate to get the corresponding data point's index for
startIndexindex to begin the search at
endIndexindex to stop the search at
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is. This flag affects the border handling only, i.e. how restrictive the flag coordinatesOutsideGivenIndexRange will be set.
coordinatesOutsideGivenIndexRangeFlag indicating whether the given coordinate lies outside the valid range (defined by startIndex and endIndex). The 'outside' detection considers the flag enforceSteppedInterpolation.
Returns
the x index of that data point which corresponds to the given x coordinate

◆ IndexOfDataPointAtCoordinate_Y() [1/2]

long IndexOfDataPointAtCoordinate_Y ( double  yCoord,
bool  enforceSteppedInterpolation,
out bool  coordinatesOutsideGivenIndexRange 
)

Method to get the y index of that data point which corresponds to a given y coordinate.

Parameters
yCoordcoordinate to get the corresponding data point's index for
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is. This flag affects the border handling only, i.e. how restrictive the flag coordinatesOutsideGivenIndexRange will be set.
coordinatesOutsideGivenIndexRangeFlag indicating whether the given coordinate lies outside the valid range (defined by the number of data points in y direction). The 'outside' detection considers the flag enforceSteppedInterpolation.
Returns
the y index of that data point which corresponds to the given y coordinate

◆ IndexOfDataPointAtCoordinate_Y() [2/2]

long IndexOfDataPointAtCoordinate_Y ( double  yCoord,
long  startIndex,
long  endIndex,
bool  enforceSteppedInterpolation,
out bool  coordinatesOutsideGivenIndexRange 
)

Method to get the y index of that data point which corresponds to a given y coordinate.

Parameters
yCoordcoordinate to get the corresponding data point's index for
startIndexindex to begin the search at
endIndexindex to stop the search at
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is. This flag affects the border handling only, i.e. how restrictive the flag coordinatesOutsideGivenIndexRange will be set.
coordinatesOutsideGivenIndexRangeFlag indicating whether the given coordinate lies outside the valid range (defined by startIndex and endIndex). The 'outside' detection considers the flag enforceSteppedInterpolation.
Returns
the y index of that data point which corresponds to the given y coordinate

◆ InsertDataArray2D()

void InsertDataArray2D ( DataArray2D  arrayToInsert)

Inserts another DataArray2D into this. Data inside the coordinate range of the array to insert will be overwritten.

Parameters
arrayToInsertDataArray2D to be inserted into this.

◆ Load() [1/2]

static DataArray2D Load ( string  fileName)
static

Loads the specified file name. Works independently from whether the document has been saved without view settings (as prior to VL 6.0) or with view settings.

Parameters
fileNameName of the file.
Returns
The specified document.

◆ Load() [2/2]

static DataArray2D Load ( string  fileName,
out UI::ViewSettings_SaveAndLoad::ListOfSavedViewSettings  viewSettings 
)
static

Loads the specified file name. Works independently from whether the document has been saved without view settings (as prior to VL 6.0) or with view settings.

Parameters
fileNameName of the file.
viewSettingsThe view settings the data array has been saved with.
Returns
The specified document.

◆ Mirror() [1/2]

void Mirror ( AxisDirection  mirrorAxis)

Mirrors the dataArray2D either in x or y direction. The position of the mirror axis is defined as the center of the array (with reference to the coordinate to invert).

Parameters
mirrorAxisMirror axis. If it is X, the array is inverted in Y coordinates, if it is Y, the array is inverted in X coordinates. Z is not allowed.

◆ Mirror() [2/2]

void Mirror ( AxisDirection  mirrorAxis,
double  mirrorAxisPosition 
)

Mirrors the dataArray2D either in x or y direction. The position of the mirror axis can be arbitrary.

Parameters
mirrorAxisMirror axis. If it is X, the array is inverted in Y coordinates, if it is Y, the array is inverted in X coordinates. Z is not allowed.
mirrorAxisPositionCoordinate of the mirror axis.

◆ operator!=()

static bool operator!= ( DataArray2D  da1,
DataArray2D  da2 
)
static

Checks whether two DataArray2D objects are unequal.

Parameters
da1The first data array.
da2The second data array.
Returns
True if the two data arrays differ in at least one property or variable.

◆ operator*()

static DataArray2D operator* ( DataArray2D  dataArray1,
DataArray2D  dataArray2 
)
static

Implements the operator * for multiplication of two two-dimensional data arrays.

Parameters
dataArray1The first factor.
dataArray2The second factor.
Returns
The result of the multiplication.

◆ operator+()

static DataArray2D operator+ ( DataArray2D  dataArray1,
DataArray2D  dataArray2 
)
static

Implements the operator + for addition of two two-dimensional data arrays.

Parameters
dataArray1The first summand.
dataArray2The second summand.
Returns
The result of the addition.

◆ operator-()

static DataArray2D operator- ( DataArray2D  dataArray1,
DataArray2D  dataArray2 
)
static

Implements the operator - for subtraction of two two-dimensional data arrays.

Parameters
dataArray1The minuend.
dataArray2The subtrahend.
Returns
The result of the subtraction.

◆ operator/()

static DataArray2D operator/ ( DataArray2D  dataArray1,
DataArray2D  dataArray2 
)
static

Implements the operator / for division of two two-dimensional data arrays.

Parameters
dataArray1The dividend.
dataArray2The divisor.
Returns
The result of the division.

◆ operator==()

static bool operator== ( DataArray2D  da1,
DataArray2D  da2 
)
static

Checks whether two DataArray2D objects are equal.

Parameters
da1The first data array.
da2The second data array.
Returns
True if the two data arrays represent exactly the same data.

◆ PointInterpolation() [1/2]

Complex[] PointInterpolation ( VectorD  coords,
bool  enforceSteppedInterpolation,
out Vector  relatedDataPointIndices,
out bool  coordinatesOutsideGivenIndexRange 
)

Gives the interpolated complex value for given coordinates. Search intervals [startIndices.X, endIndices.X] and [startIndices.Y, endIndices.Y] can be set. At the moment, there are only nearest neighbor (for equidistant data) and constant interval interpolation (for non equidistant data) supported.

Parameters
coordscoordinates to interpolate the value for
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is.
relatedDataPointIndicesGives the indices of the next smaller (non equidistant) or the nearest neighbor (equidistant) coordinates.
coordinatesOutsideGivenIndexRangeFlag, indicating whether the given coordinates lie outside the given index range
Returns
interpolated complex value for the given coordinates

◆ PointInterpolation() [2/2]

Complex[] PointInterpolation ( VectorD  coords,
Vector  startIndices,
Vector  endIndices,
bool  enforceSteppedInterpolation,
out Vector  relatedDataPointIndices,
out bool  coordinatesOutsideGivenIndexRange 
)

Gives the interpolated complex value for given coordinates. Search intervals [startIndices.X, endIndices.X] and [startIndices.Y, endIndices.Y] can be set. At the moment, there are only nearest neighbor (for equidistant data), constant interval interpolation (for non equidistant data), and linear interpolation (for both sampling types) supported.

Parameters
coordscoordinates to interpolate the value for
startIndicesStart indices for faster search. Important: If coords lie outside the range [startIndices...endIndices], the result most probably will be unexpected.
endIndicesEnd indices for faster search. Important: If coords lie outside the range [startIndices...endIndices], the result most probably will be unexpected.
enforceSteppedInterpolationIf true, a stepped interpolation (i.e. Nearest Neighbor or Constant Interval) will be used, no matter what the DataArrays own interpolation method is.
relatedDataPointIndicesGives the indices of the next smaller (non equidistant) or the nearest neighbor (equidistant) coordinates.
coordinatesOutsideGivenIndexRangeFlag, indicating whether the given coordinates lie outside the given index range
Returns
interpolated complex value for the given coordinates

◆ Rotate()

void Rotate ( DiscreteOrientation  rotationAngle)

TU20111202 Rotates this DataArray2D around its central point.

Parameters
rotationAngleRotation angle

◆ SetDataWithPropertiesAndCommentsAtOnce() [1/2]

void SetDataWithPropertiesAndCommentsAtOnce ( ComplexFieldArray  data,
MeasuredQuantity[]  measuredQuantities,
string[]  comments 
)

Sets the members Data, MeasuredQuantitiesOfDataEntries and CommentsOfDataEntries at once to ensure consistency.

Parameters
dataData to set.
measuredQuantitiesMeasuredQuantitiesOfDataEntries to set.
commentsCommentsOfDataEntries to set.

◆ SetDataWithPropertiesAndCommentsAtOnce() [2/2]

void SetDataWithPropertiesAndCommentsAtOnce ( ComplexFieldArray  data,
PhysicalProperty[]  properties,
string[]  comments 
)

Sets the members Data, PhysicalPropertiesOfDataEntries and CommentsOfDataEntries at once to ensure consistency.

Parameters
dataData to set.
propertiesPhysicalPropertiesOfDataEntries to set.
commentsCommentsOfDataEntries to set.

Property Documentation

◆ MeasuredQuantityOf_X_Coordinates

MeasuredQuantity MeasuredQuantityOf_X_Coordinates
getset

Gets and sets the measured quantity of the x-coordinates.


◆ MeasuredQuantityOf_Y_Coordinates

MeasuredQuantity MeasuredQuantityOf_Y_Coordinates
getset

Gets and sets the measured quantity of the y-coordinates.


◆ NonequidistantCoordinates_X

CFieldDerivative1DReal NonequidistantCoordinates_X
getset
 Get and set the x-coordinates for the data in R^2.
 IMPORTANT: This property applies for non equidistant data only! If you need to get the coordinates for one index for equidistant as well as for non equidistant data, 
 use the method CoordinateOfDataPointIndex_X(long index) instead!
 For setting pay attention to the following restrictions: 
 value must not be complex and value.SamplingPointsOneD has to be equal to NoOfDataPoints_X.
 </summary>