You are here: Start » AVL.NET » Function Reference » Profile » Profile Features » AVL.ProfileLocalExtrema

AVL.ProfileLocalExtrema

Finds the locations at which the values of the input profile are locally highest or lowest.

Namespace:AvlNet
Assembly:AVL.NET.dll

Syntax

C++
C#
 
public static void ProfileLocalExtrema
(
	AvlNet.Profile inProfile,
	AvlNet.Range? inRange,
	bool inCyclic,
	AvlNet.ExtremumType inExtremumType,
	AvlNet.ProfileInterpolationMethod inInterpolationMethod,
	bool inConsiderPlateaus,
	float? inMinValue,
	float? inMaxValue,
	AvlNet.LocalBlindness? inLocalBlindness,
	IList<AvlNet.Extremum1D> outLocalExtrema
)

Parameters

Name Type Range Default Description
inProfileAvlNet.ProfileInput profile.
inRangeAvlNet.Range?
inCyclicboolIndicates whether the last element should be considered a neighbour of the first element.
inExtremumTypeAvlNet.ExtremumTypeType of extremum to find.
inInterpolationMethodAvlNet.ProfileInterpolationMethodQuadratic4When interpolation is set to Quadratic each non-plateau extremum is located using a parabola fit. Default value: Quadratic4.
inConsiderPlateausboolTrueIndicates whether the result should include centers of plateau extrema. Default value: True.
inMinValuefloat?Minimum value of an extremum. Default value: atl::NIL.
inMaxValuefloat?Maximum value of an extremum. Default value: atl::NIL.
inLocalBlindnessAvlNet.LocalBlindness?Defines conditions in which weaker extrema can be detected in the vicinity of stronger ones. Default value: atl::NIL.
outLocalExtremaSystem.Collections.Generic.IList<AvlNet.Extremum1D>Extrema of the profile values.

Description

The operation returns locations where the profile values are locally extremal, i.e. maximal or minimal, depending on the inExtremumType parameter. If the inConsiderPlateaus parameter is set to true, the same-value-ranges of the input profile will also be detected. The inMinValue and inMaxValue parameters control how strong an extremum has to be to be a part of the result. The inLocalBlindness parameter allows to have an even better control over the results of the filter. Its fields define a set of conditions in which weaker extrema can be detected in the vicinity of stronger extrema. When e.g. a maximum of value 50 is present at location 35 and another maximum of value 40 is present at location 28, the local blindness with the threshold bigger than 0.8 and the radius not smaller than 7 will suppress the weaker maximum. For minimum, the threshold works as a reciprocal, i.e. under a local blindness with the threshold equal to 0.8 the minimum with value 20 could suppress another minimum with value 26, but not a minimum with value 24. It should be noted that the inLocalBlindness parameter has no effect at all when inExtremumType is set to Any. When some profile values are negative, setting inLocalBlindness leads to undefined results.

Errors

List of possible exceptions:

Error type Description
DomainError Range exceeds the input profile in ProfileLocalExtrema.

Function Overrides

See also