add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXldadd_noise_white_contour_xld (Operator)
Name
add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXldadd_noise_white_contour_xld — Add noise to XLD contours.
Signature
Description
add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXldadd_noise_white_contour_xld adds noise to the input XLD contours
ContoursContoursContourscontourscontours and returns the noisy contours in
NoisyContoursNoisyContoursNoisyContoursnoisyContoursnoisy_contours. For each point along the original contours
the local regression line (i.e., a least-squares approximating line)
based on NumRegrPointsNumRegrPointsNumRegrPointsnumRegrPointsnum_regr_points neighboring points is determined.
Then the point is shifted perpendicular to this line. The length
of the shifts corresponds to white noise, equally distributed in the
interval [-AmpAmpAmpampamp,AmpAmpAmpampamp].
The random noise is generated using the C function “drand48()”.
See the parameter 'seed_rand'"seed_rand""seed_rand""seed_rand""seed_rand" of set_systemset_systemSetSystemSetSystemset_system for
information on the used random seed.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Processed without parallelization.
Parameters
ContoursContoursContourscontourscontours (input_object) xld_cont(-array) → objectHXLDContHObjectHObjectHobject
Original contours.
NoisyContoursNoisyContoursNoisyContoursnoisyContoursnoisy_contours (output_object) xld_cont(-array) → objectHXLDContHObjectHObjectHobject *
Noisy contours.
NumRegrPointsNumRegrPointsNumRegrPointsnumRegrPointsnum_regr_points (input_control) integer → HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Number of points used to calculate the regression
line.
Default:
5
Suggested values:
3, 5, 7, 9
Restriction:
NumRegrPoints >= 3 && odd(NumRegrPoints)
AmpAmpAmpampamp (input_control) real → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Maximum amplitude of the added noise (equally
distributed in [-Amp,Amp]).
Default:
1.0
Suggested values:
0.25, 0.5, 1.0, 1.5, 2.0, 3.0, 4.0, 5.0, 10.0
Restriction:
Amp > 0
Example (HDevelop)
draw_ellipse(WindowHandle,Row,Column,Phi,Radius1,Radius2)
gen_ellipse_contour_xld(Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319, \
'positive', 1.5)
add_noise_white_contour_xld(Ellipse,NoisyEllipse,5,0.5)
fit_ellipse_contour_xld (NoisyEllipse, 'fitzgibbon', -1, 2, 0, 200, 3, 2.0, \
ERow, EColumn, EPhi, ERadius1, ERadius2, \
EStartPhi, EEndPhi, EPointOrder)
Example (C)
draw_ellipse(WindowHandle,&Row,&Column,&Phi,&Radius1,&Radius2);
gen_ellipse_contour_xld(&Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319,
"positive",1.5);
add_noise_white_contour_xld(Ellipse,&NoisyEllipse,5,0.5);
fit_ellipse_contour_xld (NoisyEllipse, "fitzgibbon", -1, 2, 0, 200, 3, 2.0,
&ERow, &EColumn, &EPhi, &ERadius1, &ERadius2,
&EStartPhi, &EEndPhi, &EPointOrder);
Example (HDevelop)
draw_ellipse(WindowHandle,Row,Column,Phi,Radius1,Radius2)
gen_ellipse_contour_xld(Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319, \
'positive', 1.5)
add_noise_white_contour_xld(Ellipse,NoisyEllipse,5,0.5)
fit_ellipse_contour_xld (NoisyEllipse, 'fitzgibbon', -1, 2, 0, 200, 3, 2.0, \
ERow, EColumn, EPhi, ERadius1, ERadius2, \
EStartPhi, EEndPhi, EPointOrder)
Example (HDevelop)
draw_ellipse(WindowHandle,Row,Column,Phi,Radius1,Radius2)
gen_ellipse_contour_xld(Ellipse,Row,Column,Phi,Radius1,Radius2,0,6.28319, \
'positive', 1.5)
add_noise_white_contour_xld(Ellipse,NoisyEllipse,5,0.5)
fit_ellipse_contour_xld (NoisyEllipse, 'fitzgibbon', -1, 2, 0, 200, 3, 2.0, \
ERow, EColumn, EPhi, ERadius1, ERadius2, \
EStartPhi, EEndPhi, EPointOrder)
Result
add_noise_white_contour_xldadd_noise_white_contour_xldAddNoiseWhiteContourXldAddNoiseWhiteContourXldadd_noise_white_contour_xld returns 2 (
H_MSG_TRUE)
if all parameter
values are correct. If the input is empty the behavior can be set via
set_system('no_object_result',<Result>)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>). If necessary, an
exception is raised.
Possible Predecessors
gen_contours_skeleton_xldgen_contours_skeleton_xldGenContoursSkeletonXldGenContoursSkeletonXldgen_contours_skeleton_xld,
lines_gausslines_gaussLinesGaussLinesGausslines_gauss,
lines_facetlines_facetLinesFacetLinesFacetlines_facet,
edges_sub_pixedges_sub_pixEdgesSubPixEdgesSubPixedges_sub_pix,
gen_ellipse_contour_xldgen_ellipse_contour_xldGenEllipseContourXldGenEllipseContourXldgen_ellipse_contour_xld
Possible Successors
smooth_contours_xldsmooth_contours_xldSmoothContoursXldSmoothContoursXldsmooth_contours_xld
See also
smooth_contours_xldsmooth_contours_xldSmoothContoursXldSmoothContoursXldsmooth_contours_xld,
add_noise_whiteadd_noise_whiteAddNoiseWhiteAddNoiseWhiteadd_noise_white
Module
Foundation