fit_surface_first_orderfit_surface_first_orderFitSurfaceFirstOrderFitSurfaceFirstOrderfit_surface_first_order (Operator)
Name
fit_surface_first_orderfit_surface_first_orderFitSurfaceFirstOrderFitSurfaceFirstOrderfit_surface_first_order
— Calculate gray value moments and approximation by a first order surface
(plane).
Signature
Herror fit_surface_first_order(const Hobject Regions, const Hobject Image, const char* Algorithm, const Hlong Iterations, double ClippingFactor, double* Alpha, double* Beta, double* Gamma)
Herror T_fit_surface_first_order(const Hobject Regions, const Hobject Image, const Htuple Algorithm, const Htuple Iterations, const Htuple ClippingFactor, Htuple* Alpha, Htuple* Beta, Htuple* Gamma)
void FitSurfaceFirstOrder(const HObject& Regions, const HObject& Image, const HTuple& Algorithm, const HTuple& Iterations, const HTuple& ClippingFactor, HTuple* Alpha, HTuple* Beta, HTuple* Gamma)
HTuple HImage::FitSurfaceFirstOrder(const HRegion& Regions, const HString& Algorithm, Hlong Iterations, double ClippingFactor, HTuple* Beta, HTuple* Gamma) const
double HImage::FitSurfaceFirstOrder(const HRegion& Regions, const HString& Algorithm, Hlong Iterations, double ClippingFactor, double* Beta, double* Gamma) const
double HImage::FitSurfaceFirstOrder(const HRegion& Regions, const char* Algorithm, Hlong Iterations, double ClippingFactor, double* Beta, double* Gamma) const
double HImage::FitSurfaceFirstOrder(const HRegion& Regions, const wchar_t* Algorithm, Hlong Iterations, double ClippingFactor, double* Beta, double* Gamma) const
(Windows only)
HTuple HRegion::FitSurfaceFirstOrder(const HImage& Image, const HString& Algorithm, Hlong Iterations, double ClippingFactor, HTuple* Beta, HTuple* Gamma) const
double HRegion::FitSurfaceFirstOrder(const HImage& Image, const HString& Algorithm, Hlong Iterations, double ClippingFactor, double* Beta, double* Gamma) const
double HRegion::FitSurfaceFirstOrder(const HImage& Image, const char* Algorithm, Hlong Iterations, double ClippingFactor, double* Beta, double* Gamma) const
double HRegion::FitSurfaceFirstOrder(const HImage& Image, const wchar_t* Algorithm, Hlong Iterations, double ClippingFactor, double* Beta, double* Gamma) const
(Windows only)
static void HOperatorSet.FitSurfaceFirstOrder(HObject regions, HObject image, HTuple algorithm, HTuple iterations, HTuple clippingFactor, out HTuple alpha, out HTuple beta, out HTuple gamma)
HTuple HImage.FitSurfaceFirstOrder(HRegion regions, string algorithm, int iterations, double clippingFactor, out HTuple beta, out HTuple gamma)
double HImage.FitSurfaceFirstOrder(HRegion regions, string algorithm, int iterations, double clippingFactor, out double beta, out double gamma)
HTuple HRegion.FitSurfaceFirstOrder(HImage image, string algorithm, int iterations, double clippingFactor, out HTuple beta, out HTuple gamma)
double HRegion.FitSurfaceFirstOrder(HImage image, string algorithm, int iterations, double clippingFactor, out double beta, out double gamma)
def fit_surface_first_order(regions: HObject, image: HObject, algorithm: str, iterations: int, clipping_factor: float) -> Tuple[Sequence[float], Sequence[float], Sequence[float]]
def fit_surface_first_order_s(regions: HObject, image: HObject, algorithm: str, iterations: int, clipping_factor: float) -> Tuple[float, float, float]
Description
The operator fit_surface_first_orderfit_surface_first_orderFitSurfaceFirstOrderFitSurfaceFirstOrderFitSurfaceFirstOrderfit_surface_first_order
calculates the gray value
moments and the parameters of the approximation of the gray values
by a first order surface. The calculation is done by minimizing the
distance between the gray values and the surface. A first order surface is
described by the following formula:
ImageImageImageImageimageimage
(r,c) = AlphaAlphaAlphaAlphaalphaalpha
(r - r_center) +
BetaBetaBetaBetabetabeta
(c - c_center) +
GammaGammaGammaGammagammagamma
r_center and c_center are the center coordinates of intersection of the
input region with the full image domain. By the minimization process the
parameters from
AlphaAlphaAlphaAlphaalphaalpha
to GammaGammaGammaGammagammagamma
is calculated.
The algorithm used for the fitting can be selected via
AlgorithmAlgorithmAlgorithmAlgorithmalgorithmalgorithm
:
- 'regression'
-
Standard 'least squares' line fitting.
- 'huber'
-
Weighted 'least squares' fitting, where the impact of outliers
is decreased based on the approach of Huber.
- 'tukey'
-
Weighted 'least squares' fitting, where outliers
are ignored based on the approach of Tukey.
The parameter ClippingFactorClippingFactorClippingFactorClippingFactorclippingFactorclipping_factor
(a scaling factor for the standard
deviation) controls the amount of damping outliers: The smaller the
value chosen for ClippingFactorClippingFactorClippingFactorClippingFactorclippingFactorclipping_factor
the more outliers are
detected. The detection of outliers is repeated. The parameter
IterationsIterationsIterationsIterationsiterationsiterations
specifies the number of iterations. In the modus
'regression' this value is ignored.
Attention
Note that the operator fit_surface_first_orderfit_surface_first_orderFitSurfaceFirstOrderFitSurfaceFirstOrderFitSurfaceFirstOrderfit_surface_first_order
only considers
the given RegionsRegionsRegionsRegionsregionsregions
and ignores any previously set domain
of the input image ImageImageImageImageimageimage
.
Execution Information
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
- Automatically parallelized on internal data level.
Parameters
RegionsRegionsRegionsRegionsregionsregions
(input_object) region(-array) →
objectHRegionHObjectHRegionHobject
Regions to be checked.
ImageImageImageImageimageimage
(input_object) singlechannelimage →
objectHImageHObjectHImageHobject (byte / uint2 / direction / cyclic / real)
Corresponding gray values.
AlgorithmAlgorithmAlgorithmAlgorithmalgorithmalgorithm
(input_control) string →
HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Algorithm for the fitting.
Default value:
'regression'
"regression"
"regression"
"regression"
"regression"
"regression"
List of values: 'huber'"huber""huber""huber""huber""huber", 'regression'"regression""regression""regression""regression""regression", 'tukey'"tukey""tukey""tukey""tukey""tukey"
IterationsIterationsIterationsIterationsiterationsiterations
(input_control) integer →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Maximum number of iterations (unused for 'regression').
Default value: 5
Restriction: Iterations >= 0
ClippingFactorClippingFactorClippingFactorClippingFactorclippingFactorclipping_factor
(input_control) real →
HTuplefloatHTupleHtuple (real) (double) (double) (double)
Clipping factor for the elimination of outliers.
Default value: 2.0
List of values: 1.0, 1.5, 2.0, 2.5, 3.0
Restriction: ClippingFactor > 0
AlphaAlphaAlphaAlphaalphaalpha
(output_control) real(-array) →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Parameter Alpha of the approximating surface.
BetaBetaBetaBetabetabeta
(output_control) real(-array) →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Parameter Beta of the approximating surface.
GammaGammaGammaGammagammagamma
(output_control) real(-array) →
HTupleSequence[float]HTupleHtuple (real) (double) (double) (double)
Parameter Gamma of the approximating surface.
Result
The operator fit_surface_first_orderfit_surface_first_orderFitSurfaceFirstOrderFitSurfaceFirstOrderFitSurfaceFirstOrderfit_surface_first_order
returns the
value 2 (H_MSG_TRUE) if an
image with the defined gray values ('byte'"byte""byte""byte""byte""byte") is entered and
the parameters are correct.
If necessary an exception is raised.
Possible Successors
gen_image_surface_first_ordergen_image_surface_first_orderGenImageSurfaceFirstOrderGenImageSurfaceFirstOrderGenImageSurfaceFirstOrdergen_image_surface_first_order
See also
moments_gray_planemoments_gray_planeMomentsGrayPlaneMomentsGrayPlaneMomentsGrayPlanemoments_gray_plane
,
fit_surface_second_orderfit_surface_second_orderFitSurfaceSecondOrderFitSurfaceSecondOrderFitSurfaceSecondOrderfit_surface_second_order
Module
Foundation