oevislib_net  0.14.3.0
Loading...
Searching...
No Matches

Represents the discrete approximation of a continuous real function or the output of some analysis on images. More...

Inheritance diagram for oevislib_net.Profile:

Public Member Functions

 Profile ()
 Creates an empty Profile object.
 Profile (float inXOffset, float inXScale)
 Creates a new Profile object, defining only its XAxis parameters.
 Profile (Array< float > inValues)
 Creates a new Profile object, defining only the array of values.
 Profile (float inXOffset, float inXScale, Array< float > inValues)
 Creates a new Profile object.
 Profile (float inXOffset, float inXScale, float[] inData, int inSize)
 Creates a new Profile object from raw data.
 Profile (float inXOffset, float inXScale, int inSize, float inValue=0.0f)
 Creates a new Profile object using a single value to fill the entire array.
 Profile (int inSize, float inValue=0.0f)
 Creates a new Profile object using a single value to fill the entire array.
float GetXOffset ()
 Returns the offset of the X transform.
float GetXScale ()
 Returns the scale of the X transform.
int GetSize ()
 Returns the size of the profile.
float GetX (float inIndex)
 Return the X value at the specified index.
float GetX (int inIndex)
 Return the X value at the specified index.
float GetY (int inIndex)
 Return the Y value at the specified index.
float[] GetData ()
 Returns the pointer to the first element of the profile.
void ResetDomain (Profile inProfile)
 Reset the domain, setting the X transform equal to the other profile and resizing the array.
void SetXOffset (float inXOffset)
 Set the offset of the X transform.
void SetXScale (float inXScale)
 Set the scale of the X transform.
ByteBuffer Serialize ()
 Serialize the Profile object using flatbuffers.
Array< int > GetIndices ()
 Returns the array of the profile's indices.
float GetInterpolatedValue (float inIndex, bool inCyclic=false, bool inCubicInterpolation=false)
 Returns the profile value interpolated at a specified point.
float GetInterpolatedValueFromX (float inX, bool inCubicInterpolation=false)
 Returns the profile value interpolated at the specified X coordinate.
float GetValue (int inIndex, bool inInverse=false)
 Returns the profile value at a specified index.
float GetXCoordinate (int inIndex)
 Returns the X coordinate associated to the provided index.
Array< float > GetXCoordinates (Optional< Range > inRange=null)
 Returns an array with all profile's X coordinates.
Array< float > GetYCoordinates (Optional< Range > inRange=null)
 Returns an array with all profile's Y coordinates.
void SetValue (int inIndex, float inValue, bool inInverse=false)
 Sets the profile value in the specified index.
Array< ProfileSectionDivideInSections (Optional< Range > inRange, Optional< float > inMinValue, Optional< float > inMaxValue, float inMinSectionWidth, Optional< float > inMaxSectionWidth, float inMinGapWidth, Optional< float > inMaxGapWidth, Optional< float > inMaxInnerGapWidth, Optional< Conditional< ProfileSection > > outBoundingSection)
 Divides the profile into sections where the values fall into the specified range.
float GetAverage (Optional< Range > inRange=null)
 Computes the average value of the profile.
Array< Extremum1DGetLocalExtrema (bool inCyclic, ExtremumType inExtremumType, bool inConsiderPlateaus, InterpolationMethod1D inInterpolationMethod, Optional< float > inMinValue, Optional< float > inMaxValue, Optional< Range > inRange, Optional< LocalBlindness > inLocalBlindness)
 Finds the local extrema positions (where the profile's values are locally minimum or maximum).
float GetMaxValue (InterpolationMethod1D inInterpolationMethod, Optional< Range > inRange, Optional< int > outMaxIndex, Optional< float > outMaxCoordinate)
 Finds the maximum value of the profile.
float GetMinValue (InterpolationMethod1D inInterpolationMethod, Optional< Range > inRange, Optional< int > outMinIndex, Optional< float > outMinCoordinate)
 Finds the minimum value of the profile.
float GetSum (Optional< Range > inRange=null)
 Computes the sum of all profile values.
Array< float > FindZeroCrossings (Optional< Range > inRange=null)
 Finds the X coordinates where the profile intersects the X axis.
Profile Convolve (Array< float > inKernel, bool inNormalizeKernel, Optional< int > inKernelAnchor, BorderPadding inBorderPadding)
 Applies a convolution to the profile, using the given mask.
Profile Erode (bool inCyclic, int inKernelRadius, Optional< Range > inRange=null)
 Erodes the profile.
Profile Differentiate (bool inCyclic, DifferentiationMethod inDifferentiationMethod)
 Differentiates the profile (computes its derivative).
Profile Differentiate (bool inCyclic, int inStep)
 Differentiate the profile, using a specific difference step.
Profile Dilate (bool inCyclic, int inKernelRadius, Optional< Range > inRange=null)
 Dilates the profile.
Profile GaussianSmooth (float inStdDev, float inKernelRelativeSize, BorderPadding inBorderPadding)
 Smooths a profile by Gaussian-averaging points inside the specified kernel.
Profile Smooth (int inKernelRadius, BorderPadding inBorderPadding)
 Smooths a profile by averaging points inside the specified kernel.
void Abs (Optional< Range > inRange=null)
 Replaces each profile value with its absolute value (in-place).
void Add (float inValue, Optional< Range > inRange=null)
 Adds the value to each element of the profile (in-place).
void Divide (float inValue, Optional< Range > inRange=null)
 Divides each element of a profile by the specified value (in-place).
void Limit (Optional< float > inLowValue=null, Optional< float > inHighValue=null, Optional< Range > inRange=null)
 Limits profile's values in a certain range (in-place).
void Multiply (float inValue, Optional< Range > inRange=null)
 Multiplies each element of a profile by the specified value (in-place).
void Negate (Optional< Range > inRange=null)
 Negates each value of the profile (in-place).
void Normalize (Optional< float > inNewMinimum, Optional< float > inNewMaximum, float inSaturateHighestFraction, float inSaturateLowestFraction, Optional< Range > inRange, Optional< float > outA, Optional< float > outB)
 Rescales the profile linearly so that its minimum becomes inNewMinimum and its maximum becomes inNewMaximum (in-place).
void Rescale (float inA, float inB, Optional< Range > inRange=null)
 Rescales the profile, applying the linear transformation x * inA + inB (in-place).
void Subtract (float inValue, Optional< Range > inRange=null)
 Subtracts the specified value from each element of the profile (in-place).
bool Dominates (Profile inProfile)
 Tests if the values of the profile are greater or equal to the corresponding values in another profile.
Profile Crop (int inStart, Optional< int > inLength=null)
 Crops the profile, given a starting index and the new length.
void Resize (int inSize)
 Changes the current size of the profile (removing the other values) (in-place).
Profile Resize (int inSize, ProfileResizeMethod inResizeMethod)
 Changes the size of the profile, preserving its shape.
Profile Rotate (int inShift)
 Moves the last n elements before the first one.
Profile ShrinkNTimes (int inN)
 Reduces the size of a profile N-times by averaging each N consecutive elements.
Profile Uncrop (int inStart, int inLength)
 Extends the profile by adding zeros at the beginning and at the end of the profile to fill the new length.
bool Equals (Profile other)
override bool Equals (object obj)
override int GetHashCode ()
override object Clone ()
override void Dispose ()

Static Public Member Functions

static bool operator== (Profile inProfile1, Profile inProfile2)
static bool operator!= (Profile inProfile1, Profile inProfile2)
static Profile operator* (Profile inProfile, float inValue)
 Multiplies each element of a profile by the specified value.
static Profile operator* (Profile inProfile1, Profile inProfile2)
 Multiplies two profiles.
static Profile operator+ (Profile inProfile1, Profile inProfile2)
 Sums two profiles.
static Profile operator+ (Profile inProfile, float inScalar)
static Profile operator- (Profile inProfile, float inScalar)
static Profile operator- (Profile inProfile1, Profile inProfile2)
 Subtracts the second profile from the first one.
static Profile operator/ (Profile inProfile, float inScalar)
static Profile operator/ (Profile inProfile1, Profile inProfile2)
 Divides one profile by another one.
static Profile Deserialize (ByteBuffer inBuffer)
 De-serialize a Profile buffer.
static Profile SumProfiles (Profile inProfile1, Profile inProfile2)
 Sum every value of the first profile with the corresponding value of the second profile.
static Profile SumProfiles (Array< Profile > inProfiles)
 Sum all profiles' values from an array.
static Profile AbsDifferenceProfile (Profile inProfile1, Profile inProfile2)
 Computes the absolute difference between the first profile's values and the second profile's values.
static Profile DivideProfiles (Profile inProfile1, Profile inProfile2)
 Divides two profiles value by value.
static Profile JoinProfiles (Profile inProfile1, Profile inProfile2)
 Joins two profiles together, adding the second profile at the end of the first one.
static Profile MaxProfile (Profile inProfile1, Profile inProfile2)
 Computes the maximum between the two corresponding values in the two profiles, point by point.
static Profile MaxProfile (Array< Profile > inProfiles)
 Computes the maximum profile, extracting the maximum value for every point in the array of profiles.
static Profile MinProfile (Profile inProfile1, Profile inProfile2)
 Computes the minimum between the two corresponding values in the two profiles, point by point.
static Profile MinProfile (Array< Profile > inProfiles)
 Computes the minimum profile, extracting the maximum value for every point in the array of profiles.
static Profile MultiplyProfiles (Profile inProfile1, Profile inProfile2)
 Multiplies the first profile's values with the corresponding values in the second profile.
static Profile MultiplyProfiles (Array< Profile > inProfiles)
 Multiplies all profiles' values from an array.
static Profile SubtractProfiles (Profile inProfile1, Profile inProfile2)
 Subtracts the second profile's values from the first profile's corresponding values.
static Array< ProfileEdgeFindProfileEdges (Profile inProfile, bool inCyclic, Optional< Range > inRange, EdgeScanParams inEdgeScanParams, float inMinDistance, Optional< float > inMaxDistance, Optional< LocalBlindness > inLocalBlindness, Optional< Array< float > > outDistances, Optional< Profile > outResponseProfile)
 Finds the positions where profile values change rapidly.
static Array< ProfileRidgeFindProfileRidges (Profile inProfile, bool inCyclic, Optional< Range > inRange, RidgeScanParams inRidgeScanParams, float inMinDistance, Optional< float > inMaxDistance, Optional< LocalBlindness > inLocalBlindness, Optional< Array< float > > outDistances, Optional< Profile > outFirstDerivativeProfile, Optional< Profile > outSecondDerivativeProfile)
 Finds the local minima or maxima in the profile.
static Array< ProfileStripeFindProfileStripes (Profile inProfile, bool inCyclic, Optional< Range > inRange, StripeScanParams inStripeScanParams, float inMinGapWidth, Optional< float > inMaxGapWidth, Optional< LocalBlindness > inLocalBlindness, Optional< Array< float > > outDistances, Optional< Profile > outResponseProfile)
 Finds segments included between two edges of opposite transition.
static float Correlation (Profile inProfile1, Profile inProfile2, int inStart1, int inStart2, Optional< int > inLength, Optional< float > outCovariance, Optional< Profile > outProfile1, Optional< Profile > outProfile2)
 Computes the correlation between two sub-profiles (using the Pearson correlation coefficient).
static float Distance (Profile inProfile1, Profile inProfile2, DistanceMeasure inDistanceMeasure, Optional< Range > inRange)
 Computes the distance between two profiles.

Properties

float this[int i] [get, set]

Detailed Description

Represents the discrete approximation of a continuous real function or the output of some analysis on images.

It is used for describing the projection of an image's pixels or a geometric object, to define the distances between two paths, but mostly to represent the outputs of 1D edge detections.