Back to Aurora Vision Library website

You are here: Start » Function Reference » Region » Region Relations » ClassifyRegions

ClassifyRegions


Header: AVL.h
Namespace: avl
Module: FoundationBasic

Splits an array of regions according to the selected feature and range.

Applications: Use this filter when you have an array of regions and you want to select some of them for further processing.

Syntax

C++
C#
 
void avl::ClassifyRegions
(
	const atl::Array<avl::Region>& inRegions,
	avl::RegionFeature::Type inFeature,
	atl::Optional<float> inMinimum,
	atl::Optional<float> inMaximum,
	atl::Optional<atl::Array<avl::Region>&> outAccepted,
	atl::Optional<atl::Array<avl::Region>&> outRejected = atl::NIL,
	atl::Optional<atl::Array<avl::Region>&> outBelow = atl::NIL,
	atl::Optional<atl::Array<avl::Region>&> outAbove = atl::NIL,
	atl::Optional<atl::Array<float>&> outValues = atl::NIL
)

Parameters

Name Type Default Description
Input value inRegions const Array<Region>& Input regions
Input value inFeature RegionFeature::Type Region feature value to be computed
Input value inMinimum Optional<float> NIL Lowest value of the range
Input value inMaximum Optional<float> NIL Highest value of the range
Output value outAccepted Optional<Array<Region>&> Regions with feature values matching the range
Output value outRejected Optional<Array<Region>&> NIL Regions with feature values outside the range
Output value outBelow Optional<Array<Region>&> NIL Regions with feature values lower than inMinimum
Output value outAbove Optional<Array<Region>&> NIL Regions with feature values higher than inMaximum
Output value outValues Optional<Array<float>&> NIL Computed feature values

Optional Outputs

The computation of following outputs can be switched off by passing value atl::NIL to these parameters: outAccepted, outRejected, outBelow, outAbove, outValues.

Read more about Optional Outputs.

Description

The filter accepts an array of regions and splits it into output arrays, depending on how each of the computed feature values fits the (inMinimum, inMaximum) range.

  • Regions corresponding to feature values lower than inMinimum are passed onto outBelow and outRejected.
  • Regions corresponding to feature values that fit closed range (inMinimum, inMaximum) are passed onto outAccepted.
  • Regions corresponding to feature values higher than inMaximum are passed onto outAbove and outRejected.

In the special case of inMinimum being greater than inMaximum, first matching condition is applied, which means that objects corresponding to values higher than inMaximum and lower than inMinimum are passed onto outBelow.

To learn about possible features to classify regions, one should see RegionFeature documentation. To know details about particular feature, corresponding filter article should be read.

Hints

  • Pass an array of regions to the inRegions input.
  • Using the inFeature input select a feature that well separates the interesting objects.
  • Set the range of inMinimum and inMaximum to define the accepted objects. Refer to the outValues output to see the feature values for all input objects.

Examples

ClassifyRegions performed with Elongation selected as the region feature and inMaximum = 10. The blue regions are from outAccepted output, the orange ones from outRejected.

See Also

  • ClassifyByRange – Separates the elements of the input array into three output arrays, depending on whether the related values fall below, into or above the specified range.
  • GetMaximumRegion – Returns the region from the input array that corresponds to the largest computed feature value.
  • GetMinimumRegion – Returns the region from the input array that corresponds to the smallest computed feature value.
  • SortRegions – Changes the order of regions from the input array according to an ascending/descending sequence of their computed feature values.