Name
gen_measure_rectangle2gen_measure_rectangle2GenMeasureRectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2 — Prepare the extraction of straight edges perpendicular to a rectangle.
Herror gen_measure_rectangle2(double Row, double Column, double Phi, double Length1, double Length2, const Hlong Width, const Hlong Height, const char* Interpolation, Hlong* MeasureHandle)
Herror T_gen_measure_rectangle2(const Htuple Row, const Htuple Column, const Htuple Phi, const Htuple Length1, const Htuple Length2, const Htuple Width, const Htuple Height, const Htuple Interpolation, Htuple* MeasureHandle)
Herror gen_measure_rectangle2(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation, Hlong* MeasureHandle)
void HMeasure::GenMeasureRectangle2(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation)
void GenMeasureRectangle2(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, const HTuple& Width, const HTuple& Height, const HTuple& Interpolation, HTuple* MeasureHandle)
void HMeasure::HMeasure(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, Hlong Width, Hlong Height, const HString& Interpolation)
void HMeasure::HMeasure(double Row, double Column, double Phi, double Length1, double Length2, Hlong Width, Hlong Height, const HString& Interpolation)
void HMeasure::HMeasure(double Row, double Column, double Phi, double Length1, double Length2, Hlong Width, Hlong Height, const char* Interpolation)
void HMeasure::GenMeasureRectangle2(const HTuple& Row, const HTuple& Column, const HTuple& Phi, const HTuple& Length1, const HTuple& Length2, Hlong Width, Hlong Height, const HString& Interpolation)
void HMeasure::GenMeasureRectangle2(double Row, double Column, double Phi, double Length1, double Length2, Hlong Width, Hlong Height, const HString& Interpolation)
void HMeasure::GenMeasureRectangle2(double Row, double Column, double Phi, double Length1, double Length2, Hlong Width, Hlong Height, const char* Interpolation)
void HOperatorSetX.GenMeasureRectangle2(
[in] VARIANT Row, [in] VARIANT Column, [in] VARIANT Phi, [in] VARIANT Length1, [in] VARIANT Length2, [in] VARIANT Width, [in] VARIANT Height, [in] VARIANT Interpolation, [out] VARIANT* MeasureHandle)
void HMeasureX.GenMeasureRectangle2(
[in] VARIANT Row, [in] VARIANT Column, [in] VARIANT Phi, [in] VARIANT Length1, [in] VARIANT Length2, [in] Hlong Width, [in] Hlong Height, [in] BSTR Interpolation)
static void HOperatorSet.GenMeasureRectangle2(HTuple row, HTuple column, HTuple phi, HTuple length1, HTuple length2, HTuple width, HTuple height, HTuple interpolation, out HTuple measureHandle)
public HMeasure(HTuple row, HTuple column, HTuple phi, HTuple length1, HTuple length2, int width, int height, string interpolation)
public HMeasure(double row, double column, double phi, double length1, double length2, int width, int height, string interpolation)
void HMeasure.GenMeasureRectangle2(HTuple row, HTuple column, HTuple phi, HTuple length1, HTuple length2, int width, int height, string interpolation)
void HMeasure.GenMeasureRectangle2(double row, double column, double phi, double length1, double length2, int width, int height, string interpolation)
gen_measure_rectangle2gen_measure_rectangle2GenMeasureRectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2 prepares the extraction of
straight edges which lie perpendicular to the major
axis of a rectangle. The center of the rectangle is passed in the
parameters RowRowRowRowRowrow and ColumnColumnColumnColumnColumncolumn, the direction of the
major axis of the rectangle in PhiPhiPhiPhiPhiphi, and the length of the
two axes, i.e., half the diameter of the rectangle, in
Length1Length1Length1Length1Length1length1 and Length2Length2Length2Length2Length2length2.
For an explanation of the concept of 1D measuring see the introduction of
chapter 1D Measuring.
The edge extraction algorithm is described in the documentation of
the operator measure_posmeasure_posMeasurePosmeasure_posMeasurePosMeasurePos. As discussed there, different
types of interpolation can be used for the calculation of the
one-dimensional gray value profile. For InterpolationInterpolationInterpolationInterpolationInterpolationinterpolation =
'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor", the gray values in the measurement are
obtained from the gray values of the closest pixel, i.e., by
constant interpolation. For InterpolationInterpolationInterpolationInterpolationInterpolationinterpolation =
'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear", bilinear interpolation is used, while for
InterpolationInterpolationInterpolationInterpolationInterpolationinterpolation = 'bicubic'"bicubic""bicubic""bicubic""bicubic""bicubic", bicubic interpolation
is used.
To perform the actual measurement at optimal speed, all computations that can
be used for multiple measurements are already performed in the operator
gen_measure_rectangle2gen_measure_rectangle2GenMeasureRectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2. For this, an optimized data structure, a
so-called measure object, is constructed and returned in
MeasureHandleMeasureHandleMeasureHandleMeasureHandleMeasureHandlemeasureHandle. The size of the images in which measurements will be
performed must be specified in the parameters WidthWidthWidthWidthWidthwidth and
HeightHeightHeightHeightHeightheight.
The system parameter 'int_zooming'"int_zooming""int_zooming""int_zooming""int_zooming""int_zooming" (see set_systemset_systemSetSystemset_systemSetSystemSetSystem)
affects the accuracy and speed of the calculations used to construct
the measure object. If 'int_zooming'"int_zooming""int_zooming""int_zooming""int_zooming""int_zooming" is set to
'true'"true""true""true""true""true", the internal calculations are performed using fixed
point arithmetic, leading to much shorter execution times. However,
the geometric accuracy is slightly lower in this mode. If
'int_zooming'"int_zooming""int_zooming""int_zooming""int_zooming""int_zooming" is set to 'false'"false""false""false""false""false", the internal
calculations are performed using floating point arithmetic, leading
to the maximum geometric accuracy, but also to significantly
increased execution times.
Note that when using bilinear or bicubic interpolation, not only the
measurement rectangle but additionally the margin around the
rectangle must fit into the image. The width of the margin (in all
four directions) must be at least one pixel for bilinear
interpolation and two pixels for bicubic interpolation. For
projection lines that do not fulfill this condition, no gray value
is computed. Thus, no edge can be extracted at these positions.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
This operator returns a handle. Note that the state of an instance of this handle type may be changed by specific operators even though the handle is used as an input parameter by those operators.
RowRowRowRowRowrow (input_control) rectangle2.center.y → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Row coordinate of the center of the rectangle.
Default value: 300.0
Suggested values: 10.0, 20.0, 50.0, 100.0, 200.0, 300.0, 400.0, 500.0
Typical range of values: 0.0
≤
Row
Row
Row
Row
Row
row
≤
511.0 (lin)
Minimum increment: 1.0
Recommended increment: 10.0
Column coordinate of the center of the rectangle.
Default value: 200.0
Suggested values: 10.0, 20.0, 50.0, 100.0, 200.0, 300.0, 400.0, 500.0
Typical range of values: 0.0
≤
Column
Column
Column
Column
Column
column
≤
511.0 (lin)
Minimum increment: 1.0
Recommended increment: 10.0
PhiPhiPhiPhiPhiphi (input_control) rectangle2.angle.rad → HTupleHTupleHTupleVARIANTHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong) (double / Hlong) (double / Hlong)
Angle of longitudinal axis of the rectangle to
horizontal (radians).
Default value: 0.0
Suggested values: -1.178097, -0.785398, -0.392699, 0.0, 0.392699, 0.785398, 1.178097
Typical range of values: -1.178097
≤
Phi
Phi
Phi
Phi
Phi
phi
≤
1.178097 (lin)
Minimum increment: 0.001
Recommended increment: 0.1
Restriction: - pi < Phi && Phi <= pi
Half width of the rectangle.
Default value: 100.0
Suggested values: 3.0, 5.0, 10.0, 15.0, 20.0, 50.0, 100.0, 200.0, 300.0, 500.0
Typical range of values: 1.0
≤
Length1
Length1
Length1
Length1
Length1
length1
≤
511.0 (lin)
Minimum increment: 1.0
Recommended increment: 10.0
Restriction: Length1 >= 1.0
Half height of the rectangle.
Default value: 20.0
Suggested values: 1.0, 2.0, 3.0, 5.0, 10.0, 15.0, 20.0, 50.0, 100.0, 200.0
Typical range of values: 0.0
≤
Length2
Length2
Length2
Length2
Length2
length2
≤
511.0 (lin)
Minimum increment: 1.0
Recommended increment: 10.0
Restriction: Length2 >= 0.0
Width of the image to be processed subsequently.
Default value: 512
Suggested values: 128, 160, 192, 256, 320, 384, 512, 640, 768
Typical range of values: 0
≤
Width
Width
Width
Width
Width
width
≤
1024 (lin)
Minimum increment: 1
Recommended increment: 16
Height of the image to be processed subsequently.
Default value: 512
Suggested values: 120, 128, 144, 240, 256, 288, 480, 512, 576
Typical range of values: 0
≤
Height
Height
Height
Height
Height
height
≤
1024 (lin)
Minimum increment: 1
Recommended increment: 16
Type of interpolation to be used.
Default value:
'nearest_neighbor'
"nearest_neighbor"
"nearest_neighbor"
"nearest_neighbor"
"nearest_neighbor"
"nearest_neighbor"
List of values: 'bicubic'"bicubic""bicubic""bicubic""bicubic""bicubic", 'bilinear'"bilinear""bilinear""bilinear""bilinear""bilinear", 'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor"
If the parameter values are correct the operator
gen_measure_rectangle2gen_measure_rectangle2GenMeasureRectangle2gen_measure_rectangle2GenMeasureRectangle2GenMeasureRectangle2 returns the value 2 (H_MSG_TRUE).
Otherwise an exception is raised.
draw_rectangle2draw_rectangle2DrawRectangle2draw_rectangle2DrawRectangle2DrawRectangle2
measure_posmeasure_posMeasurePosmeasure_posMeasurePosMeasurePos,
measure_pairsmeasure_pairsMeasurePairsmeasure_pairsMeasurePairsMeasurePairs,
fuzzy_measure_posfuzzy_measure_posFuzzyMeasurePosfuzzy_measure_posFuzzyMeasurePosFuzzyMeasurePos,
fuzzy_measure_pairsfuzzy_measure_pairsFuzzyMeasurePairsfuzzy_measure_pairsFuzzyMeasurePairsFuzzyMeasurePairs,
fuzzy_measure_pairingfuzzy_measure_pairingFuzzyMeasurePairingfuzzy_measure_pairingFuzzyMeasurePairingFuzzyMeasurePairing,
measure_threshmeasure_threshMeasureThreshmeasure_threshMeasureThreshMeasureThresh
edges_sub_pixedges_sub_pixEdgesSubPixedges_sub_pixEdgesSubPixEdgesSubPix
gen_measure_arcgen_measure_arcGenMeasureArcgen_measure_arcGenMeasureArcGenMeasureArc
1D Metrology