ClassesClassesClassesClasses | | | | Operators

learn_ndim_normT_learn_ndim_normLearnNdimNormlearn_ndim_normLearnNdimNormLearnNdimNorm (Operator)

Name

learn_ndim_normT_learn_ndim_normLearnNdimNormlearn_ndim_normLearnNdimNormLearnNdimNorm — Construct classes for class_ndim_normclass_ndim_normClassNdimNormclass_ndim_normClassNdimNormClassNdimNorm.

Signature

learn_ndim_norm(Foreground, Background, Image : : Metric, Distance, MinNumberPercent : Radius, Center, Quality)

Herror T_learn_ndim_norm(const Hobject Foreground, const Hobject Background, const Hobject Image, const Htuple Metric, const Htuple Distance, const Htuple MinNumberPercent, Htuple* Radius, Htuple* Center, Htuple* Quality)

Herror learn_ndim_norm(Hobject Foreground, Hobject Background, Hobject Image, const HTuple& Metric, const HTuple& Distance, const HTuple& MinNumberPercent, HTuple* Radius, HTuple* Center, HTuple* Quality)

HTuple HRegion::LearnNdimNorm(const HRegion& Background, const HImage& Image, const HTuple& Metric, const HTuple& Distance, const HTuple& MinNumberPercent, HTuple* Center, double* Quality) const

HTuple HRegionArray::LearnNdimNorm(const HRegionArray& Background, const HImageArray& Image, const HTuple& Metric, const HTuple& Distance, const HTuple& MinNumberPercent, HTuple* Center, HTuple* Quality) const

void LearnNdimNorm(const HObject& Foreground, const HObject& Background, const HObject& Image, const HTuple& Metric, const HTuple& Distance, const HTuple& MinNumberPercent, HTuple* Radius, HTuple* Center, HTuple* Quality)

HTuple HImage::LearnNdimNorm(const HRegion& Foreground, const HRegion& Background, const HString& Metric, const HTuple& Distance, const HTuple& MinNumberPercent, HTuple* Center, double* Quality) const

HTuple HImage::LearnNdimNorm(const HRegion& Foreground, const HRegion& Background, const HString& Metric, double Distance, double MinNumberPercent, HTuple* Center, double* Quality) const

HTuple HImage::LearnNdimNorm(const HRegion& Foreground, const HRegion& Background, const char* Metric, double Distance, double MinNumberPercent, HTuple* Center, double* Quality) const

HTuple HRegion::LearnNdimNorm(const HRegion& Background, const HImage& Image, const HString& Metric, const HTuple& Distance, const HTuple& MinNumberPercent, HTuple* Center, double* Quality) const

HTuple HRegion::LearnNdimNorm(const HRegion& Background, const HImage& Image, const HString& Metric, double Distance, double MinNumberPercent, HTuple* Center, double* Quality) const

HTuple HRegion::LearnNdimNorm(const HRegion& Background, const HImage& Image, const char* Metric, double Distance, double MinNumberPercent, HTuple* Center, double* Quality) const

void HOperatorSetX.LearnNdimNorm(
[in] IHUntypedObjectX* Foreground, [in] IHUntypedObjectX* Background, [in] IHUntypedObjectX* Image, [in] VARIANT Metric, [in] VARIANT Distance, [in] VARIANT MinNumberPercent, [out] VARIANT* Radius, [out] VARIANT* Center, [out] VARIANT* Quality)

VARIANT HImageX.LearnNdimNorm(
[in] IHRegionX* Foreground, [in] IHRegionX* Background, [in] BSTR Metric, [in] VARIANT Distance, [in] VARIANT MinNumberPercent, [out] VARIANT* Center, [out] double* Quality)

VARIANT HRegionX.LearnNdimNorm(
[in] IHRegionX* Background, [in] IHImageX* Image, [in] BSTR Metric, [in] VARIANT Distance, [in] VARIANT MinNumberPercent, [out] VARIANT* Center, [out] double* Quality)

static void HOperatorSet.LearnNdimNorm(HObject foreground, HObject background, HObject image, HTuple metric, HTuple distance, HTuple minNumberPercent, out HTuple radius, out HTuple center, out HTuple quality)

HTuple HImage.LearnNdimNorm(HRegion foreground, HRegion background, string metric, HTuple distance, HTuple minNumberPercent, out HTuple center, out double quality)

HTuple HImage.LearnNdimNorm(HRegion foreground, HRegion background, string metric, double distance, double minNumberPercent, out HTuple center, out double quality)

HTuple HRegion.LearnNdimNorm(HRegion background, HImage image, string metric, HTuple distance, HTuple minNumberPercent, out HTuple center, out double quality)

HTuple HRegion.LearnNdimNorm(HRegion background, HImage image, string metric, double distance, double minNumberPercent, out HTuple center, out double quality)

Description

learn_ndim_normlearn_ndim_normLearnNdimNormlearn_ndim_normLearnNdimNormLearnNdimNorm generates classification clusters from the region ForegroundForegroundForegroundForegroundForegroundforeground and the corresponding gray values in the multi-channel image ImageImageImageImageImageimage, which can be used in class_ndim_normclass_ndim_normClassNdimNormclass_ndim_normClassNdimNormClassNdimNorm. BackgroundBackgroundBackgroundBackgroundBackgroundbackground determines a class of pixels not to be found in class_ndim_normclass_ndim_normClassNdimNormclass_ndim_normClassNdimNormClassNdimNorm. This parameter may be empty (empty object).

The parameter DistanceDistanceDistanceDistanceDistancedistance determines the maximum distance RadiusRadiusRadiusRadiusRadiusradius of the clusters. It describes the minimum distance between two cluster centers. If the parameter DistanceDistanceDistanceDistanceDistancedistance is small the (small) hyper-cubes or hyper-spheres can approximate the feature space well. Simultaneously the runtime during classification increases.

The ratio of the number of pixels in a cluster to the total number of pixels (in percent) must be larger than the value of MinNumberPercentMinNumberPercentMinNumberPercentMinNumberPercentMinNumberPercentminNumberPercent, otherwise the cluster is not returned. MinNumberPercentMinNumberPercentMinNumberPercentMinNumberPercentMinNumberPercentminNumberPercent serves to eliminate outliers in the training set. If it is chosen too large many clusters are suppressed.

Two different clustering procedures can be selected: The minimum Euclidean distance algorithm (n-dimensional hyper-spheres) and the maximum algorithm (n-dimensional hyper-cubes) for describing the pixels of the image to classify in the n-dimensional histogram (parameter MetricMetricMetricMetricMetricmetric). The Euclidian metric usually yields the better results, but takes longer to compute. The parameter QualityQualityQualityQualityQualityquality returns the quality of the clustering. It is a measure of overlap between the rejection class and the classificator classes. Values larger than 0 denote the corresponding ratio of overlap. If no rejection region is given, its value is set to 1. The regions in BackgroundBackgroundBackgroundBackgroundBackgroundbackground do not influence on the clustering. They are merely used to check the results that can be expected.

From a user's point of view the key difference between learn_ndim_normlearn_ndim_normLearnNdimNormlearn_ndim_normLearnNdimNormLearnNdimNorm and learn_ndim_boxlearn_ndim_boxLearnNdimBoxlearn_ndim_boxLearnNdimBoxLearnNdimBox is that in the latter case the rejection class affects the classification process itself. Here, a hyper plane is generated that separates ForegroundForegroundForegroundForegroundForegroundforeground and BackgroundBackgroundBackgroundBackgroundBackgroundbackground classes, so that no points in feature space are classified incorrectly. As for learn_ndim_normlearn_ndim_normLearnNdimNormlearn_ndim_normLearnNdimNormLearnNdimNorm, however, an overlap between ForegroundForegroundForegroundForegroundForegroundforeground and BackgroundBackgroundBackgroundBackgroundBackgroundbackground class is allowed. This has its effect on the return value QualityQualityQualityQualityQualityquality. The larger the overlap, the smaller this value.

Parallelization

Parameters

ForegroundForegroundForegroundForegroundForegroundforeground (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Foreground pixels to be trained.

BackgroundBackgroundBackgroundBackgroundBackgroundbackground (input_object)  region(-array) objectHRegionHRegionHRegionHRegionXHobject

Background pixels to be trained (rejection class).

ImageImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHImageHImageXHobject (byte)

Multi-channel training image.

MetricMetricMetricMetricMetricmetric (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Metric to be used.

Default value: 'euclid' "euclid" "euclid" "euclid" "euclid" "euclid"

List of values: 'euclid'"euclid""euclid""euclid""euclid""euclid", 'maximum'"maximum""maximum""maximum""maximum""maximum"

DistanceDistanceDistanceDistanceDistancedistance (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Maximum cluster radius.

Default value: 10.0

Suggested values: 1.0, 2.0, 3.0, 4.0, 6.0, 8.0, 10.0, 13.0, 17.0, 24.0, 30.0, 40.0

Typical range of values: 0.0 ≤ Distance Distance Distance Distance Distance distance ≤ 511.0 (lin)

Minimum increment: 0.01

Recommended increment: 1.0

Restriction: Distance > 0.0

MinNumberPercentMinNumberPercentMinNumberPercentMinNumberPercentMinNumberPercentminNumberPercent (input_control)  number HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

The ratio of the number of pixels in a cluster to the total number of pixels (in percent) must be larger than MinNumberPercent (otherwise the cluster is not output).

Default value: 0.01

Suggested values: 0.001, 0.05, 0.1, 0.2, 0.5, 1.0, 2.0, 5.0, 10.0

Typical range of values: 0.0 ≤ MinNumberPercent MinNumberPercent MinNumberPercent MinNumberPercent MinNumberPercent minNumberPercent ≤ 100.0 (lin)

Minimum increment: 0.01

Recommended increment: 0.1

Restriction: 0 <= MinNumberPercent && MinNumberPercent <= 100

RadiusRadiusRadiusRadiusRadiusradius (output_control)  real-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Cluster radii or half edge lengths.

CenterCenterCenterCenterCentercenter (output_control)  real-array HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Coordinates of all cluster centers.

QualityQualityQualityQualityQualityquality (output_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Overlap of the rejection class with the classified objects (1: no overlap).

Assertion: 0 <= Quality && Quality <= 1

Result

learn_ndim_normlearn_ndim_normLearnNdimNormlearn_ndim_normLearnNdimNormLearnNdimNorm returns 2 (H_MSG_TRUE) if all parameters are correct. The behavior with respect to the input images can be determined by setting the values of the flags 'no_object_result'"no_object_result""no_object_result""no_object_result""no_object_result""no_object_result" and 'empty_region_result'"empty_region_result""empty_region_result""empty_region_result""empty_region_result""empty_region_result" with set_systemset_systemSetSystemset_systemSetSystemSetSystem. If necessary, an exception is raised.

Possible Predecessors

min_max_graymin_max_grayMinMaxGraymin_max_grayMinMaxGrayMinMaxGray, sobel_ampsobel_ampSobelAmpsobel_ampSobelAmpSobelAmp, binomial_filterbinomial_filterBinomialFilterbinomial_filterBinomialFilterBinomialFilter, gauss_filtergauss_filterGaussFiltergauss_filterGaussFilterGaussFilter, reduce_domainreduce_domainReduceDomainreduce_domainReduceDomainReduceDomain, diff_of_gaussdiff_of_gaussDiffOfGaussdiff_of_gaussDiffOfGaussDiffOfGauss

Possible Successors

class_ndim_normclass_ndim_normClassNdimNormclass_ndim_normClassNdimNormClassNdimNorm, connectionconnectionConnectionconnectionConnectionConnection, dilation1dilation1Dilation1dilation1Dilation1Dilation1, erosion1erosion1Erosion1erosion1Erosion1Erosion1, openingopeningOpeningopeningOpeningOpening, closingclosingClosingclosingClosingClosing, rank_regionrank_regionRankRegionrank_regionRankRegionRankRegion, shape_transshape_transShapeTransshape_transShapeTransShapeTrans, skeletonskeletonSkeletonskeletonSkeletonSkeleton

Alternatives

learn_ndim_boxlearn_ndim_boxLearnNdimBoxlearn_ndim_boxLearnNdimBoxLearnNdimBox, learn_class_boxlearn_class_boxLearnClassBoxlearn_class_boxLearnClassBoxLearnClassBox

See also

class_ndim_normclass_ndim_normClassNdimNormclass_ndim_normClassNdimNormClassNdimNorm, class_ndim_boxclass_ndim_boxClassNdimBoxclass_ndim_boxClassNdimBoxClassNdimBox, histo_2dimhisto_2dimHisto2dimhisto_2dimHisto2dimHisto2dim

References

P. Haberäcker, “Digitale Bildverarbeitung”; Hanser-Studienbücher, München, Wien, 1987

Module

Foundation


ClassesClassesClassesClasses | | | | Operators