ClassesClassesClassesClasses | | | | Operators

set_fuzzy_measureT_set_fuzzy_measureSetFuzzyMeasureset_fuzzy_measureSetFuzzyMeasureSetFuzzyMeasure (Operator)

Name

set_fuzzy_measureT_set_fuzzy_measureSetFuzzyMeasureset_fuzzy_measureSetFuzzyMeasureSetFuzzyMeasure — Specify a fuzzy function.

Signature

set_fuzzy_measure( : : MeasureHandle, SetType, Function : )

Herror T_set_fuzzy_measure(const Htuple MeasureHandle, const Htuple SetType, const Htuple Function)

Herror set_fuzzy_measure(const HTuple& MeasureHandle, const HTuple& SetType, const HTuple& Function)

void HMeasure::SetFuzzyMeasure(const HTuple& SetType, const HTuple& Function) const

void SetFuzzyMeasure(const HTuple& MeasureHandle, const HTuple& SetType, const HTuple& Function)

void HMeasure::SetFuzzyMeasure(const HString& SetType, const HFunction1D& Function) const

void HMeasure::SetFuzzyMeasure(const char* SetType, const HFunction1D& Function) const

void HOperatorSetX.SetFuzzyMeasure(
[in] VARIANT MeasureHandle, [in] VARIANT SetType, [in] VARIANT Function)

void HMeasureX.SetFuzzyMeasure(
[in] BSTR SetType, [in] IHFunction1DX* Function)

static void HOperatorSet.SetFuzzyMeasure(HTuple measureHandle, HTuple setType, HTuple function)

void HMeasure.SetFuzzyMeasure(string setType, HFunction1D function)

Description

set_fuzzy_measureset_fuzzy_measureSetFuzzyMeasureset_fuzzy_measureSetFuzzyMeasureSetFuzzyMeasure specifies a fuzzy function passed in FunctionFunctionFunctionFunctionFunctionfunction. The specified fuzzy functions enable fuzzy_measure_posfuzzy_measure_posFuzzyMeasurePosfuzzy_measure_posFuzzyMeasurePosFuzzyMeasurePos and fuzzy_measure_pairsfuzzy_measure_pairsFuzzyMeasurePairsfuzzy_measure_pairsFuzzyMeasurePairsFuzzyMeasurePairs / fuzzy_measure_pairingfuzzy_measure_pairingFuzzyMeasurePairingfuzzy_measure_pairingFuzzyMeasurePairingFuzzyMeasurePairing to evaluate and select the detected edge candidates. For this purpose, weighting characteristics for different edge features can be defined by one function each. Such a specified feature is called fuzzy set. Specifying no function for a fuzzy set means not to use this feature for the final edge evaluation. Setting a second fuzzy function to a set means to discard the first defined function and replace it by the second one. A previously defined fuzzy function can be discarded completely by reset_fuzzy_measurereset_fuzzy_measureResetFuzzyMeasurereset_fuzzy_measureResetFuzzyMeasureResetFuzzyMeasure.

Functions for five different fuzzy set types selected by the SetTypeSetTypeSetTypeSetTypeSetTypesetType parameter can be defined, the sub types of a set being mutual exclusive:

A fuzzy function is defined as a piecewise linear function by at least two pairs of values, sorted in an ascending order by their x value. The x values represent the edge feature and must lie within the parameter space of the set type, i.e., in case of 'contrast'"contrast""contrast""contrast""contrast""contrast" and 'gray'"gray""gray""gray""gray""gray" feature and, e.g., byte images within the range 0.0 <= x <= 255.0. In case of 'size'"size""size""size""size""size" x has to satisfy 0.0 <= x whereas in case of 'position'"position""position""position""position""position" x can be any real number. The y values of the fuzzy function represent the weight of the corresponding feature value and have to satisfy the range of 0.0 <= y <= 1.0. Outside of the function's interval, defined by the smallest and the greatest x value, the y values of the interval borders are continued constantly. Such Fuzzy functions can be generated by create_funct_1d_pairscreate_funct_1d_pairsCreateFunct1dPairscreate_funct_1d_pairsCreateFunct1dPairsCreateFunct1dPairs.

If more than one set is defined, fuzzy_measure_posfuzzy_measure_posFuzzyMeasurePosfuzzy_measure_posFuzzyMeasurePosFuzzyMeasurePos / fuzzy_measure_pairsfuzzy_measure_pairsFuzzyMeasurePairsfuzzy_measure_pairsFuzzyMeasurePairsFuzzyMeasurePairs / fuzzy_measure_pairingfuzzy_measure_pairingFuzzyMeasurePairingfuzzy_measure_pairingFuzzyMeasurePairingFuzzyMeasurePairing yield the overall fuzzy weighting by the geometric middle of the weights of each set.

Attention

A measure object 'MeasureHandle'"MeasureHandle""MeasureHandle""MeasureHandle""MeasureHandle""MeasureHandle" cannot be shared between two or more user's threads. Different measure objects can be used independently and safely in different threads.

Parallelization

Parameters

MeasureHandleMeasureHandleMeasureHandleMeasureHandleMeasureHandlemeasureHandle (input_control)  measure_id HMeasure, HTupleHTupleHMeasure, HTupleHMeasureX, VARIANTHtuple (integer) (IntPtr) (Hlong) (Hlong) (Hlong) (Hlong)

Measure object handle.

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

Selection of the fuzzy set.

Default value: 'contrast' "contrast" "contrast" "contrast" "contrast" "contrast"

List of values: 'contrast'"contrast""contrast""contrast""contrast""contrast", 'gray'"gray""gray""gray""gray""gray", 'position'"position""position""position""position""position", 'position_center'"position_center""position_center""position_center""position_center""position_center", 'position_end'"position_end""position_end""position_end""position_end""position_end", 'position_first_edge'"position_first_edge""position_first_edge""position_first_edge""position_first_edge""position_first_edge", 'position_first_pair'"position_first_pair""position_first_pair""position_first_pair""position_first_pair""position_first_pair", 'position_last_edge'"position_last_edge""position_last_edge""position_last_edge""position_last_edge""position_last_edge", 'position_last_pair'"position_last_pair""position_last_pair""position_last_pair""position_last_pair""position_last_pair", 'position_pair_center'"position_pair_center""position_pair_center""position_pair_center""position_pair_center""position_pair_center", 'position_pair_end'"position_pair_end""position_pair_end""position_pair_end""position_pair_end""position_pair_end", 'size'"size""size""size""size""size"

FunctionFunctionFunctionFunctionFunctionfunction (input_control)  function_1d HFunction1D, HTupleHTupleHFunction1D, HTupleHFunction1DX, VARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)

Fuzzy function.

Example (HDevelop)

* how to use a fuzzy function
* ...
gen_measure_rectangle2 (50, 100, 0, 200, 100, 512, 512, 'nearest_neighbor', \
                        MeasureHandle)
* create a generalized fuzzy function to evaluate edge pairs
* * (30% uncertainty).
create_funct_1d_pairs ([0.7,1.0,1.3], [0.0,1.0,0.0], SizeFunction)
* and transform it to expected size of 13.45 pixels
transform_funct_1d (SizeFunction, [1.0,0.0,13.45,0.0], TransformedFunction)
set_fuzzy_measure (MeasureHandle, 'size', SizeFunction)

fuzzy_measure_pairs (Image, MeasureHandle, 1, 30, 0.5, 'all', RowEdgeFirst, \
                     ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, \
                     ColumnEdgeSecond, AmplitudeSecond, RowEdgeCenter, \
                     ColumnEdgeCenter, FuzzyScore, IntraDistance, \
                     InterDistance)

Possible Predecessors

gen_measure_arcgen_measure_arcGenMeasureArcgen_measure_arcGenMeasureArcGenMeasureArc, gen_measure_rectangle2gen_measure_rectangle2GenMeasureRectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2, create_funct_1d_pairscreate_funct_1d_pairsCreateFunct1dPairscreate_funct_1d_pairsCreateFunct1dPairsCreateFunct1dPairs, transform_funct_1dtransform_funct_1dTransformFunct1dtransform_funct_1dTransformFunct1dTransformFunct1d

Possible Successors

fuzzy_measure_posfuzzy_measure_posFuzzyMeasurePosfuzzy_measure_posFuzzyMeasurePosFuzzyMeasurePos, fuzzy_measure_pairsfuzzy_measure_pairsFuzzyMeasurePairsfuzzy_measure_pairsFuzzyMeasurePairsFuzzyMeasurePairs

Alternatives

set_fuzzy_measure_norm_pairset_fuzzy_measure_norm_pairSetFuzzyMeasureNormPairset_fuzzy_measure_norm_pairSetFuzzyMeasureNormPairSetFuzzyMeasureNormPair

See also

reset_fuzzy_measurereset_fuzzy_measureResetFuzzyMeasurereset_fuzzy_measureResetFuzzyMeasureResetFuzzyMeasure

Module

1D Metrology


ClassesClassesClassesClasses | | | | Operators