|
| CFieldDerivative1DReal () |
| Creates a CFieldDerivative1DReal with 1 sampling point. The default precision is used.
|
|
| CFieldDerivative1DReal (CFieldDerivative1DReal cfd) |
| Copy constructor.
|
|
| CFieldDerivative1DReal (ComplexField cf) |
| Constructor that uses an object of type ComplexField.
|
|
| CFieldDerivative1DReal (int samplingPoints) |
| Creates a CFieldDerivative1DReal with the given number of sampling points. As CFieldDerivative1DReal objects are only used for coordinates, where a) the difference between double and float is crucial (see e.g. TT 4358) and b) only small amounts of data are expected. PrecisionMode.Double is used as default.
|
|
| CFieldDerivative1DReal (int samplingPoints, double value) |
| Creates a CFieldDerivative1DReal with given number of sampling points using specified precision. The field will be filled with a given constant value.
|
|
| CFieldDerivative1DReal (int samplingPoints, PrecisionMode precision) |
| Creates a CFieldDerivative1DReal with given number of sampling points using specified precision.
|
|
| CFieldDerivative1DReal (int samplingPoints, PrecisionMode precision, double c) |
| Creates a CFieldDerivative1DReal with given number of sampling points using specified precision. The field will be filled with a given constant value.
|
|
override object | Clone () |
| Clones this CFieldDerivative1DReal.
|
|
double | GetCenterOfRightInterval (long x) |
| Gets the linearly interpolated center between value x and value x+1.
|
|
long | GetNearestNeighborIndex (double value, out long otherIndex) |
| Gets the index of the nearest neighbor to a given value.
|
|
long | GetNearestSmallerIndex (double value) |
| Searches for the nearest smaller index (to a given value) via interval bisection.
|
|
long | GetNearestSmallerIndex (double value, long startIndex, long endIndex) |
| Searches for the nearest smaller index (to a given value) via interval bisection.
|
|
override object | Clone () |
| Clones this ComplexFieldDerivative1D.
|
|
| ComplexFieldDerivative1D () |
| Creates a ComplexFieldDerivative1D with 1 sampling point. The default precision is used and the internal data presentation is complex.
|
|
| ComplexFieldDerivative1D (ComplexField cf) |
| Constructor that gets an object of type ComplexField.
|
|
| ComplexFieldDerivative1D (ComplexFieldDerivative1D cfd) |
| Copy constructor.
|
|
| ComplexFieldDerivative1D (int samplingPoints) |
| Creates a ComplexFieldDerivative1D with given number of sampling points. The default precision is used and the internal data representation is complex.
|
|
| ComplexFieldDerivative1D (int samplingPoints, bool isComplex, Complex c) |
| Creates a ComplexFieldDerivative1D with given number of sampling points using specified precision. The internal data representation can be complex or real. The field will be filled with a given constant value. In case of a real valued complex field only the real part of constant value is stored.
|
|
| ComplexFieldDerivative1D (int samplingPoints, bool isComplex, PrecisionMode precision, Complex c) |
| Creates a ComplexFieldDerivative1D with given number of sampling points using specified precision. The internal data representation can be complex or real. The field will be filled with a given constant value. In case of a real valued complex field only the real part of constant value is stored.
|
|
| ComplexFieldDerivative1D (int samplingPoints, bool isComplex, PrecisionMode precision=PrecisionMode.Double) |
| Creates a ComplexFieldDerivative1D with given number of sampling points using specified precision. The internal data representation can be complex or real.
|
|
void | ConvertTo1DDoubleArray (out double[] doubleArrayReal, out double[] doubleArrayImaginary) |
| Public support method to convert the complex field into two double arrays. (real and imaginary part will be output separately)
|
|
override void | EmbedExtract () |
| Embeds the current ComplexFieldDerivative1D into double side-length field of zero sampling points and places the original in the middle of the new field.
|
|
override ComplexField | EmbedExtract (Rectangle rectangle) |
| Extract a region of the current ComplexFieldDerivative1D including the left corner but excluding the right corner.
|
|
override void | EmbedExtract (Vector newSize) |
| Embeds the current ComplexFieldDerivative1D into field of passed size of zero sampling points and places the original in the middle of the new field. By decreasing size, field can be extracted.
|
|
void | AddConjugate () |
| Adds conjugated ComplexField to current one.
|
|
void | AddEqual (Complex c) |
| Adds a Complex to current ComplexField. See important note on ComplexField.
|
|
void | AddEqual (ComplexField field) |
| Adds a ComplexField to current one. Both field must have same number of sampling points. See important note on ComplexField.
|
|
void | ClipAmplitude (double clippingLevel) |
| Sets all amplitude value greater than clippingLevel to clippingLevel.
|
|
| ComplexField () |
| Creates a ComplexField with 1x1 sampling points. The default precision is used and the internal data presentation is complex.
|
|
| ComplexField (ComplexField field) |
| Copy constructor.
|
|
| ComplexField (Vector samplingPoints) |
| Creates a ComplexField with given number of sampling points. The default precision is used and the internal data presentation is complex.
|
|
| ComplexField (Vector samplingPoints, bool createComplexField, Func< int, int, double > function, ParallelizationType parallelizationType=ParallelizationType.Always) |
| Constructs a ComplexField object with given number of sampling points using a real-valued function which will be evaluated to fill in the complex amplitudes. The parameters x and y of the real function are measured in pixel coordinates whose origin is the upper left corner of the field.
|
|
| ComplexField (Vector samplingPoints, bool isComplex, PrecisionMode precision, Complex c) |
| Creates a ComplexField with given number of sampling points using specified precision. The internal data representation can be complex or real. Field is filled with constant value. In case of a real valued complex field only the real part of constant value is stored.
|
|
| ComplexField (Vector samplingPoints, bool isComplex, PrecisionMode precision=PrecisionMode.Double, bool initializeValues=true) |
| Creates a ComplexField with given number of sampling points using specified precision. The internal data representation can be complex or real.
|
|
| ComplexField (Vector samplingPoints, Complex c, bool isComplex=true) |
| Creates a ComplexField with given number of sampling points using specified precision. The internal data representation can be complex or real. Field is filled with constant value. In case of a real valued complex field only the real part of constant value is stored.
|
|
| ComplexField (Vector samplingPoints, Func< int, int, Complex > function, ParallelizationType parallelizationType=ParallelizationType.Always) |
| Constructs a ComplexField object with given number of sampling points using a complex-valued function which will be evaluated to fill in the complex amplitudes. The parameters x and y of the real function are measured in pixel coordinates whose origin is the upper left corner of the field.
|
|
void | Conjugate () |
| Conjugates current ComplexField.
|
|
void | ConvertTo2DDoubleArray (out double[,] doubleArrayReal, out double[,] doubleArrayImaginary) |
| Public support method to convert the complex field into two double arrays. (real and imaginary part will be output separately) Remark: This function was implemented to realize compatibility to Python.
|
|
void | DivEqual (Complex c) |
| Divides the present ComplexField by complex number. See important note on ComplexField.
|
|
void | DivEqual (ComplexField field) |
| Divides the present ComplexField by passed one. Both field must have same number of sampling points. See important note on ComplexField.
|
|
void | EmbedCorner (Vector newSize) |
| Embeds the current ComplexField into double side-length field of zero sampling points and places the original in bottom left corner of the new field. If the ComplexField is one-dimensional, only longer side of field is doubled.
|
|
override bool | Equals (Object obj) |
| Checks whether two complex fields represent the same values.
|
|
ComplexField | Extract (Vector size, VectorL position, bool elliptical=false) |
| Extracts the given region at given position out of the current field. Points exceeding boundaries of current field will be ignored.
|
|
ComplexField | ExtractColumn (int colIndex) |
| Extracts a column out of the current field. Points exceeding boundaries of current field will be set to zero.
|
|
ComplexField | ExtractRow (int rowIndex) |
| Extracts a row out of the current field. Points exceeding boundaries of current field will be set to zero.
|
|
void | Fill (Complex c) |
| Fills whole current ComplexField with the specified complex value.
|
|
void | Fill (Complex c, Rectangle marker, bool inside, bool elliptical=false) |
| Fills whole ComplexField inside marker with the specified complex value. If inside is set to false, field outside marker will be filled.
|
|
void | GetAmplitude () |
| Returns ComplexField with zero phase and a magnitude equal to that of current ComplexField.
|
|
void | GetImaginaryPart () |
| Extracts the imaginary part of current ComplexField. The real part is set to zero.
|
|
void | GetIntensity () |
| Extracts the intensity of ComplexField and shifts to the real part of current ComplexField. The imaginary part is set to zero.
|
|
void | GetPhase () |
| Returns ComplexField with unit magnitude and a phase equal to that of current ComplexField.
|
|
void | GetRealPart () |
| Extracts the real part of current ComplexField. The imaginary part is set to zero.
|
|
void | HorizontalMirror () |
| Performs a horizontal mirroring of current ComplexField. [SamplingPoints.X - x - 1, y] = [x, y].
|
|
void | Insert (ComplexField field, VectorL position, bool elliptical=false) |
| Inserts the given ComplexField into current field at given position. Points exceeding boundaries of current field will be ignored.
|
|
void | InsertColumn (int colIndex) |
| Inserts or appends empty column.
|
|
void | InsertRow (int rowIndex) |
| Inserts or appends empty row.
|
|
void | LiftPositive () |
| Lifts real part of current ComplexField to positive numbers. Function detects the minimum real number. If this number is smaller than zero it adds the absolute value of the minimum. If the minimum real number is larger than zero the present object is returned without changes.
|
|
double[] | LinearFit (VectorD samplDist) |
| Linear regression on a real valued Complex Field (phase derivative of a CA in x resp. y) Excluded points are assumed to be marked by float.Epsilon.
|
|
void | ModifyComplexPart (ComplexPart complexPart, bool makeRealValuedIfSuitable=false, double thresholdForPhaseArtifacts=0, double amplitudeMaximum=0) |
| Extract, shifts or swaps complex parts of the complex field.
|
|
void | ModifyPixels (Func< Complex, Complex > modificationMethod) |
| Modifies all pixels in parallel. Can be used if the new pixel value depends only on the old pixel value (and maybe some fixed parameters).
|
|
void | ModifyPixels (Func< Complex, int, int, Complex > modificationMethod) |
| Modifies all pixels in parallel. Can be used if the new pixel value depends on the old pixel value and the current position in pixel coordinates (and maybe some fixed parameters).
|
|
void | MultEqual (Complex c) |
| Multiplies a Complex number to current ComplexField. See important note on ComplexField.
|
|
void | MultEqual (ComplexField field) |
| Multiplies a ComplexField with current one. Both field must have same number of sampling points. See important note on ComplexField.
|
|
void | MultEqual (IRegion1D2D region, SamplingParameters samplingParameters) |
| Multiplies a IRegion1D2D with this ComplexField.
|
|
void | Normalize (System.Drawing.Rectangle? rectangle=null) |
| Normalizes ComplexField so that maximal amplitude inside rectangle is one.
|
|
void | PowerEqual (Complex c) |
| Raises every element of current ComplexField to the power of passed complex number. See important note on ComplexField.
|
|
double | RadiusError (double constPart, double radius, double k, VectorD dist, bool computeInX) |
| compute the fit measure of the spherical phase dependent on radius in partial phase derivative
|
|
void | Replicate (Vector newSize, VectorL shift) |
| Replicates current ComplexField periodically. Needs new size.
|
|
void | Replicate_Periodic (Vector newSize) |
| Replicates current ComplexField periodically, old field is at (0,0). Needs new size.
|
|
void | Rotate180 () |
| Rotates this ComplexField through 180° about the field center.
|
|
void | Shift (Vector shift, bool assumePeriodicField=false) |
| Shifts current ComplexField by a specified distance. Size is not modified, so sampling points can get lost.
|
|
void | ShiftColumnFromOnePositionToAnother (int oldColIndex, int newColIndex) |
| Shifts a single column from one pixel index to another.
|
|
void | ShiftRowFromOnePositionToAnother (int oldRowIndex, int newRowIndex) |
| Shifts a single row from one pixel index to another.
|
|
void | SortColumns (int[] newColIndices) |
| Method which brings all columns into a new, given order. Since this is not optimized, it shall not be used if a) the field is to be mirrored or b) only a single column is to be shifted.
|
|
void | SortRows (int[] newRowIndices) |
| Method which brings all rows into a new, given order. Since this is not optimized, it shall not be used if a) the field is to be mirrored or b) only a single row is to be shifted.
|
|
void | SubEqual (Complex c) |
| Subtracts a Complex from current ComplexField. See important note on ComplexField.
|
|
void | SubEqual (ComplexField field) |
| Subtracts a ComplexField from current one. Both field must have same number of sampling points. See important note on ComplexField.
|
|
void | Transpose () |
| Transposes current ComplexField. This means [x, y] = [y, x].
|
|
void | VerticalMirror () |
| Performs a vertical mirroring of current ComplexField. [x, SamplingPoints.Y - y - 1] = [x, y].
|
|
|
override bool | IsComplex [get, set] |
| Overrides a property in base class ComplexField. This will return always FALSE for objects of type CFieldDerivative1DReal.
|
|
new double | this[long x] [get, set] |
| Indexer to access values of a CFieldDerivative1DReal. Property performs a range checking before every access. If you try to read a value and index is out of range 0 is returned. If you try to set a value and index is out of range nothing will happen. Indexer returns always a number in double precision independent on the internal representation. During the setting of a value the indexer converts the number from double precision to the internal data representation. If internal precision is less accurate, double precision information will be lost. Conversion to the less accurate precision is done by truncating the numbers after the last digit of the new precision.
|
|
override bool | IsOneD [get] |
| Overrides a property in base class ComplexField. This will return always TRUE for objects of type ComplexFieldDerivative1D.
|
|
override Vector | SamplingPoints [get, set] |
| Gets or sets the number of sampling points. Setting a new number of sampling points will embed the sampling points in zero samples or extract the central sampling points. See also EmbedExtract.
|
|
override Complex | this[int x, int y] [get, set] |
| Overriden 2D indexer. Uses 1D indexer, ignoring y!
|
|
Complex | this[int x] [get, set] |
| Indexer to access complex values of complex field. Property performs a range checking before every access. If you try to read a complex value and index is out of range Complex(0) is returned. If you try to set a complex value and index is out of range nothing will happen. Indexer returns always a complex number in double precision independent on the internal complex number representation. During the setting of a complex value the indexer converts the complex number from double precision to the internal data representation. If internal precision is less accurate double precision information will be lost. Conversion to the less accurate precision is done by truncating the numbers after the last digit of the new precision. If IsComplex = false only the real part is stored.
|
|
double | this[long x, FieldQuantity quantity, double thresholdForPhaseArtifacts, double maxAmplitude] [get] |
| Special indexer which checks for phase artifacts and returns a certain field quantity.
|
|
Complex | this[long x] [get, set] |
| Indexer to access complex values of complex field. Property performs a range checking before every access. If you try to read a complex value and index is out of range Complex(0) is returned. If you try to set a complex value and index is out of range nothing will happen. Indexer returns always a complex number in double precision independent on the internal complex number representation. During the setting of a complex value the indexer converts the complex number from double precision to the internal data representation. If internal precision is less accurate double precision information will be lost. Conversion to the less accurate precision is done by truncating the numbers after the last digit of the new precision. If IsComplex = false only the real part is stored.
|
|
virtual bool | IsComplex [get, set] |
| Gets or sets the internal representation of the values of ComplexFieldGenerate Spheric. If IsComplex = true the real and imaginary part is stored. Is IsComplex = false only the real part is stored. It is assumed that the imagary part is zero. Setting the IsComplex property will convert the ComplexField from present representation to new one. Information can be lost during this conversion.
|
|
virtual bool | IsOneD [get] |
| Indicates whether field is one-dimensional or not.
|
|
PrecisionMode | Precision [get, set] |
| Changes the precision of the internal number representation. It is possible to switch between double (64 bit), single (32 bit) and integer precision (16bit). The different precisions are realized by using 3 different arrays of numbers. Only the array that corresponds to the selected precision is used and contains the values of the ComplexField. All other arrays are empty. Setting a different precision than the present will start a conversion of the ComplexField data to the new precision format. Information can be lost in case of a conversions to a lower accuracy.
|
|
virtual Vector | SamplingPoints [get, set] |
| Gets or sets number of sampling points of ComplexField. Setting a new number of sampling points will embed the sampling points in zero samples or extract the central sampling points. See also EmbedExtract.
|
|
int | SamplingPointsOneD [get] |
| Number of sampling points of one-dimensional field. An exception will be thrown, if field is two-dimensional.
|
|
virtual Complex | this[int x, int y] [get, set] |
| Indexer to access complex values of complex field. Property performs a range checking before every access. If you try to read a complex value and index is out of range Complex(0) is returned. If you try to set a complex value and index is out of range nothing will happen. Indexer returns always a complex number in double precision independent on the internal complex number representation. During the setting of a complex value the indexer converts the complex number from double precision to the internal data representation. If internal precision is less accurate double precision information will be lost. Conversion to the less accurate precision is done by truncating the numbers after the last digit of the new precision. If IsComplex = false only the real part is stored.
|
|
Complex | this[long x, long y] [get, set] |
| Indexer to access complex values of complex field. Property performs a range checking before every access. If you try to read a complex value and index is out of range Complex(0) is returned. If you try to set a complex value and index is out of range nothing will happen. Indexer returns always a complex number in double precision independent on the internal complex number representation. During the setting of a complex value the indexer converts the complex number from double precision to the internal data representation. If internal precision is less accurate double precision information will be lost. Conversion to the less accurate precision is done by truncating the numbers after the last digit of the new precision. If IsComplex = false only the real part is stored.
|
|
|
static ComplexField | ConvertFrom2_1D_DoubleArrays (double[] doubleArray1, double[] doubleArray2) |
| Converts two one-dimensional double arrays to a two dimensional complex field of dimensions 2 x doubleArray1.Length.
|
|
static ComplexField | ConvertFrom2D_DoubleArray (double[,] doubleArray) |
| Converts a two dimensional double array to a two dimensional complex field.
|
|
static ComplexFieldDerivative1D | ConvertFrom_1D_ComplexArray (Complex[] complexArray) |
| Converts one one-dimensional complex array to a one-dimensional complex field.
|
|
static CFieldDerivative1DReal | ConvertFrom_1D_DoubleArray (double[] doubleArray) |
| Converts one one-dimensional double array to a one-dimensional complex field.
|
|
static double[] | ConvertTo1D_DoubleArray (ComplexField complexField, bool errorWhenComplex) |
| Converts a one dimensional complex field to a one dimensional double array.
|
|
static double[,] | ConvertTo2D_DoubleArray (ComplexField complexField, bool errorWhenComplex) |
| Converts a two dimensional complex field to a two dimensional double array.
|
|
static bool | operator!= (ComplexField field1, ComplexField field2) |
| Compares two complex fields for equality.
|
|
static ComplexField | operator* (Complex c, ComplexField field) |
| Multiplies a complex value to a complex field.
|
|
static ComplexField | operator* (ComplexField field, Complex c) |
| Multiplies a complex value to a complex field.
|
|
static ComplexField | operator* (ComplexField field1, ComplexField field2) |
| Multiplies two complex fields.
|
|
static ComplexField | operator+ (ComplexField field, Complex c) |
| Adds a complex value to a complex field.
|
|
static ComplexField | operator+ (ComplexField field1, ComplexField field2) |
| Adds two complex fields.
|
|
static ComplexField | operator- (Complex c, ComplexField field) |
| Subtracts a complex number and a complex field.
|
|
static ComplexField | operator- (ComplexField field, Complex c) |
| Subtracts a complex field and a complex number.
|
|
static ComplexField | operator- (ComplexField field1, ComplexField field2) |
| Subtracts two complex fields.
|
|
static ComplexField | operator/ (ComplexField field, Complex c) |
| Divides a complex field by a complex number.
|
|
static ComplexField | operator/ (ComplexField field1, ComplexField field2) |
| Divide two complex fields.
|
|
static bool | operator== (ComplexField field1, ComplexField field2) |
| Compares two complex fields for equality.
|
|
static Complex | operator| (ComplexField field1, ComplexField field2) |
| Computes the inner (or scalar) product of two complex fields as defined by (u|v) := Integrate[u(x) * v^(x), {x, -Infinity, Infinity}].
|
|