gen_image_surface_second_order gen_image_surface_second_order GenImageSurfaceSecondOrder GenImageSurfaceSecondOrder gen_image_surface_second_order (Operator)
Name
gen_image_surface_second_order gen_image_surface_second_order GenImageSurfaceSecondOrder GenImageSurfaceSecondOrder gen_image_surface_second_order
— Create a curved gray surface with second order polynomial.
Signature
gen_image_surface_second_order ( : ImageSurface : Type , Alpha , Beta , Gamma , Delta , Epsilon , Zeta , Row , Column , Width , Height : )
Herror gen_image_surface_second_order (Hobject* ImageSurface , const char* Type , double Alpha , double Beta , double Gamma , double Delta , double Epsilon , double Zeta , double Row , double Column , const Hlong Width , const Hlong Height )
Herror T_gen_image_surface_second_order (Hobject* ImageSurface , const Htuple Type , const Htuple Alpha , const Htuple Beta , const Htuple Gamma , const Htuple Delta , const Htuple Epsilon , const Htuple Zeta , const Htuple Row , const Htuple Column , const Htuple Width , const Htuple Height )
void GenImageSurfaceSecondOrder (HObject* ImageSurface , const HTuple& Type , const HTuple& Alpha , const HTuple& Beta , const HTuple& Gamma , const HTuple& Delta , const HTuple& Epsilon , const HTuple& Zeta , const HTuple& Row , const HTuple& Column , const HTuple& Width , const HTuple& Height )
void HImage ::GenImageSurfaceSecondOrder (const HString& Type , double Alpha , double Beta , double Gamma , double Delta , double Epsilon , double Zeta , double Row , double Column , Hlong Width , Hlong Height )
void HImage ::GenImageSurfaceSecondOrder (const char* Type , double Alpha , double Beta , double Gamma , double Delta , double Epsilon , double Zeta , double Row , double Column , Hlong Width , Hlong Height )
void HImage ::GenImageSurfaceSecondOrder (const wchar_t* Type , double Alpha , double Beta , double Gamma , double Delta , double Epsilon , double Zeta , double Row , double Column , Hlong Width , Hlong Height )
(Windows only)
static void HOperatorSet .GenImageSurfaceSecondOrder (out HObject imageSurface , HTuple type , HTuple alpha , HTuple beta , HTuple gamma , HTuple delta , HTuple epsilon , HTuple zeta , HTuple row , HTuple column , HTuple width , HTuple height )
void HImage .GenImageSurfaceSecondOrder (string type , double alpha , double beta , double gamma , double delta , double epsilon , double zeta , double row , double column , int width , int height )
def gen_image_surface_second_order (type : str, alpha : float, beta : float, gamma : float, delta : float, epsilon : float, zeta : float, row : float, column : float, width : int, height : int) -> HObject
Description The operator gen_image_surface_second_order gen_image_surface_second_order GenImageSurfaceSecondOrder GenImageSurfaceSecondOrder GenImageSurfaceSecondOrder gen_image_surface_second_order
creates a curved
gray value surface according to the following equation:
The size of the image is determined by Width Width Width Width width width
and Height Height Height Height height height
.
The parameters Row Row Row Row row row
and Column Column Column Column column column
define the reference point
of the created gray surface. If fit_surface_second_order fit_surface_second_order FitSurfaceSecondOrder FitSurfaceSecondOrder FitSurfaceSecondOrder fit_surface_second_order
was used to
determine the parameters of the gray surface, this reference point should
correspond to the center of gravity that is used in the surface equation
(see fit_surface_second_order fit_surface_second_order FitSurfaceSecondOrder FitSurfaceSecondOrder FitSurfaceSecondOrder fit_surface_second_order
). Its coordinates can be computed as
follows:
intersection(ROI, Image, RegionIntersection) intersection(ROI, Image, RegionIntersection) Intersection(ROI, Image, RegionIntersection) Intersection(ROI, Image, RegionIntersection) Intersection(ROI, Image, RegionIntersection) intersection(ROI, Image, RegionIntersection)
fit_surface_second_order(RegionIntersection, Image, Algorithm, Iterations, ClippingFactor, Alpha, Beta, Gamma, Delta, Epsilon, Zeta) fit_surface_second_order(RegionIntersection, Image, Algorithm, Iterations, ClippingFactor, Alpha, Beta, Gamma, Delta, Epsilon, Zeta) FitSurfaceSecondOrder(RegionIntersection, Image, Algorithm, Iterations, ClippingFactor, Alpha, Beta, Gamma, Delta, Epsilon, Zeta) FitSurfaceSecondOrder(RegionIntersection, Image, Algorithm, Iterations, ClippingFactor, Alpha, Beta, Gamma, Delta, Epsilon, Zeta) FitSurfaceSecondOrder(RegionIntersection, Image, Algorithm, Iterations, ClippingFactor, Alpha, Beta, Gamma, Delta, Epsilon, Zeta) fit_surface_second_order(RegionIntersection, Image, Algorithm, Iterations, ClippingFactor, Alpha, Beta, Gamma, Delta, Epsilon, Zeta)
area_center(RegionIntersection, Area, Row, Column) area_center(RegionIntersection, Area, Row, Column) AreaCenter(RegionIntersection, Area, Row, Column) AreaCenter(RegionIntersection, Area, Row, Column) AreaCenter(RegionIntersection, Area, Row, Column) area_center(RegionIntersection, Area, Row, Column)
gen_image_surface_second_order(ImageSurface, Type, Alpha, Beta, Gamma, Delta, Epsilon, Zeta, Row, Column, Width, Height) gen_image_surface_second_order(ImageSurface, Type, Alpha, Beta, Gamma, Delta, Epsilon, Zeta, Row, Column, Width, Height) GenImageSurfaceSecondOrder(ImageSurface, Type, Alpha, Beta, Gamma, Delta, Epsilon, Zeta, Row, Column, Width, Height) GenImageSurfaceSecondOrder(ImageSurface, Type, Alpha, Beta, Gamma, Delta, Epsilon, Zeta, Row, Column, Width, Height) GenImageSurfaceSecondOrder(ImageSurface, Type, Alpha, Beta, Gamma, Delta, Epsilon, Zeta, Row, Column, Width, Height) gen_image_surface_second_order(ImageSurface, Type, Alpha, Beta, Gamma, Delta, Epsilon, Zeta, Row, Column, Width, Height)
The gray values are of the type Type Type Type Type type type
(see gen_image_const gen_image_const GenImageConst GenImageConst GenImageConst gen_image_const
for a detailed description of the pixel types).
Gray values outside the valid area are clipped.
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
ImageSurface ImageSurface ImageSurface ImageSurface imageSurface image_surface
(output_object) image →
object HImage HObject HImage Hobject * (byte / uint2 / real)
Created image with new image matrix.
Type Type Type Type type type
(input_control) string →
HTuple str HTuple Htuple (string) (string ) (HString ) (char* )
Pixel type.
Default value:
'byte'
"byte"
"byte"
"byte"
"byte"
"byte"
List of values: 'byte' "byte" "byte" "byte" "byte" "byte" , 'real' "real" "real" "real" "real" "real" , 'uint2' "uint2" "uint2" "uint2" "uint2" "uint2"
Alpha Alpha Alpha Alpha alpha alpha
(input_control) number →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
Second order coefficient in vertical direction.
Default value: 1.0
Suggested values: -2.0, -1.0, -0.5, -0.0, 0.5, 1.0, 2.0
Minimum increment: 0.000001
Recommended increment: -0.005
Beta Beta Beta Beta beta beta
(input_control) number →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
Second order coefficient in horizontal direction.
Default value: 1.0
Suggested values: -2.0, -1.0, -0.5, -0.0, 0.5, 1.0, 2.0
Minimum increment: 0.000001
Recommended increment: -0.005
Gamma Gamma Gamma Gamma gamma gamma
(input_control) number →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
Mixed second order coefficient.
Default value: 1.0
Suggested values: -2.0, -1.0, -0.5, -0.0, 0.5, 1.0, 2.0
Minimum increment: 0.000001
Recommended increment: -0.005
Delta Delta Delta Delta delta delta
(input_control) number →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
First order coefficient in vertical direction.
Default value: 1.0
Suggested values: -2.0, -1.0, -0.5, -0.0, 0.5, 1.0, 2.0
Minimum increment: 0.000001
Recommended increment: -0.005
Epsilon Epsilon Epsilon Epsilon epsilon epsilon
(input_control) number →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
First order coefficient in horizontal direction.
Default value: 1.0
Suggested values: -2.0, -1.0, -0.5, -0.0, 0.5, 1.0, 2.0
Minimum increment: 0.000001
Recommended increment: -0.005
Zeta Zeta Zeta Zeta zeta zeta
(input_control) number →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
Zero order coefficient.
Default value: 1.0
Suggested values: -2.0, -1.0, -0.5, -0.0, 0.5, 1.0, 2.0
Minimum increment: 0.000001
Recommended increment: -0.005
Row Row Row Row row row
(input_control) number →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
Row coordinate of the reference point of the surface.
Default value: 256.0
Suggested values: 0.0, 128.0, 256.0, 512.0
Minimum increment: 0.000001
Recommended increment: -0.005
Column Column Column Column column column
(input_control) number →
HTuple float HTuple Htuple (real) (double ) (double ) (double )
Column coordinate of the reference point of the surface.
Default value: 256.0
Suggested values: 0.0, 128.0, 256.0, 512.0
Minimum increment: 0.000001
Recommended increment: -0.005
Width Width Width Width width width
(input_control) extent.x →
HTuple int HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Width of image.
Default value: 512
Suggested values: 128, 256, 512, 1024
Typical range of values: 1
≤
Width
Width
Width
Width
width
width
≤
512
(lin)
Minimum increment: 1
Recommended increment: 10
Restriction: Width >= 1
Height Height Height Height height height
(input_control) extent.y →
HTuple int HTuple Htuple (integer) (int / long) (Hlong ) (Hlong )
Height of image.
Default value: 512
Suggested values: 128, 256, 512, 1024
Typical range of values: 1
≤
Height
Height
Height
Height
height
height
≤
512
(lin)
Minimum increment: 1
Recommended increment: 10
Restriction: Height >= 1
Example (HDevelop)
* Adjust an inhomogeneous illumination
* using gen_image_surface_second_order
read_image (Image, 'cap_illumination/cap_illumination_01')
get_image_size (Image, Width, Height)
gen_circle (Circle, 495, 630, 350.5)
difference (Image, Circle, RegionDifference)
fit_surface_second_order (RegionDifference, Image, 'regression', 5, 2, \
Alpha, Beta, Gamma, Delta, Epsilon, Zeta)
area_center (RegionDifference, Area, Row, Column)
gen_image_surface_second_order (ImageSurface, 'byte', Alpha, Beta, \
Gamma, Delta, Epsilon, Zeta, Row, Column, \
Width, Height)
sub_image (Image, ImageSurface, ImageSub, 1, 128)
Result
If the parameter values are correct gen_image_surface_second_order gen_image_surface_second_order GenImageSurfaceSecondOrder GenImageSurfaceSecondOrder GenImageSurfaceSecondOrder gen_image_surface_second_order
returns the value 2 (H_MSG_TRUE ). Otherwise an exception is raised.
Possible Predecessors
fit_surface_second_order fit_surface_second_order FitSurfaceSecondOrder FitSurfaceSecondOrder FitSurfaceSecondOrder fit_surface_second_order
Possible Successors
sub_image sub_image SubImage SubImage SubImage sub_image
See also
gen_image_gray_ramp gen_image_gray_ramp GenImageGrayRamp GenImageGrayRamp GenImageGrayRamp gen_image_gray_ramp
,
gen_image_surface_first_order gen_image_surface_first_order GenImageSurfaceFirstOrder GenImageSurfaceFirstOrder GenImageSurfaceFirstOrder gen_image_surface_first_order
,
gen_image_const gen_image_const GenImageConst GenImageConst GenImageConst gen_image_const
Module
Foundation