gen_image_surface_first_orderGenImageSurfaceFirstOrderGenImageSurfaceFirstOrdergen_image_surface_first_ordergen_image_surface_first_order
Short description
gen_image_surface_first_orderGenImageSurfaceFirstOrderGenImageSurfaceFirstOrdergen_image_surface_first_ordergen_image_surface_first_order — Create a tilted gray surface with first order polynomial.
Signature
gen_image_surface_first_order( out image ImageSurface, string Type, number Alpha, number Beta, number Gamma, number Row, number Column, extent.x Width, extent.y Height )void GenImageSurfaceFirstOrder( HObject* ImageSurface, const HTuple& Type, const HTuple& Alpha, const HTuple& Beta, const HTuple& Gamma, const HTuple& Row, const HTuple& Column, const HTuple& Width, const HTuple& Height )static void HOperatorSet.GenImageSurfaceFirstOrder( out HObject imageSurface, HTuple type, HTuple alpha, HTuple beta, HTuple gamma, HTuple row, HTuple column, HTuple width, HTuple height )def gen_image_surface_first_order( type: str, alpha: float, beta: float, gamma: float, row: float, column: float, width: int, height: int ) -> HObject
Herror gen_image_surface_first_order( Hobject* ImageSurface, const char* Type, double Alpha, double Beta, double Gamma, double Row, double Column, const Hlong Width, const Hlong Height )
Herror T_gen_image_surface_first_order( Hobject* ImageSurface, const Htuple Type, const Htuple Alpha, const Htuple Beta, const Htuple Gamma, const Htuple Row, const Htuple Column, const Htuple Width, const Htuple Height )
void HImage::GenImageSurfaceFirstOrder( const HString& Type, double Alpha, double Beta, double Gamma, double Row, double Column, Hlong Width, Hlong Height )
void HImage::GenImageSurfaceFirstOrder( const char* Type, double Alpha, double Beta, double Gamma, double Row, double Column, Hlong Width, Hlong Height )
void HImage::GenImageSurfaceFirstOrder( const wchar_t* Type, double Alpha, double Beta, double Gamma, double Row, double Column, Hlong Width, Hlong Height ) (Windows only)
void HImage.GenImageSurfaceFirstOrder( string type, double alpha, double beta, double gamma, double row, double column, int width, int height )
Description
The operator gen_image_surface_first_orderGenImageSurfaceFirstOrder creates a tilted
gray value surface according to the following equation:
\[\begin{eqnarray*}
\textrm{ImageSurface}(r,c) & = & \textrm{Alpha}(r - \textrm{Row})\\
& + & \textrm{Beta}(c - \textrm{Column})\\
& + & \textrm{Gamma}
\end{eqnarray*}\]
The size of the image is determined by Widthwidthwidth and Heightheightheight.
The parameters Rowrowrow and Columncolumncolumn define the reference point
of the created gray surface. If fit_surface_first_orderFitSurfaceFirstOrder 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_first_orderFitSurfaceFirstOrder). 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) |
fit_surface_first_order(RegionIntersection, Image, Algorithm, Iterations, ClippingFactor, Alpha, Beta, Gamma) |
area_center(RegionIntersection, Area, Row, Column)AreaCenter(RegionIntersection, Area, Row, Column)AreaCenter(RegionIntersection, Area, Row, Column)area_center(RegionIntersection, Area, Row, Column)area_center(RegionIntersection, Area, Row, Column) |
gen_image_surface_first_order(ImageSurface, Type, Alpha, Beta, Gamma, Row, Column, Width, Height)GenImageSurfaceFirstOrder(ImageSurface, Type, Alpha, Beta, Gamma, Row, Column, Width, Height)GenImageSurfaceFirstOrder(ImageSurface, Type, Alpha, Beta, Gamma, Row, Column, Width, Height)gen_image_surface_first_order(ImageSurface, Type, Alpha, Beta, Gamma, Row, Column, Width, Height)gen_image_surface_first_order(ImageSurface, Type, Alpha, Beta, Gamma, Row, Column, Width, Height) |
The gray values are of the type Typetypetype (see gen_image_constGenImageConst
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
ImageSurfaceimageSurfaceimage_surface (output_object) image → object (byte / uint2 / real)HObject (byte / uint2 / real)HImage (byte / uint2 / real)HObject (byte / uint2 / real)Hobject * (byte / uint2 / real)
Created image with new image matrix.
Typetypetype (input_control) string → (string)HTuple (HString)HTuple (string)strHtuple (char*)
Pixel type.
Default: 'byte'"byte"
List of values: 'byte', 'real', 'uint2'"byte", "real", "uint2"
Alphaalphaalpha (input_control) number → (real)HTuple (double)HTuple (double)floatHtuple (double)
First order coefficient in vertical direction.
Default: 1.01.0
Suggested values: -2.0, -1.0, -0.5, -0.0, 0.5, 1.0, 2.0-2.0, -1.0, -0.5, -0.0, 0.5, 1.0, 2.0
Minimum increment: 0.000001
Recommended increment: -0.005
Betabetabeta (input_control) number → (real)HTuple (double)HTuple (double)floatHtuple (double)
First order coefficient in horizontal direction.
Default: 1.01.0
Suggested values: -2.0, -1.0, -0.5, -0.0, 0.5, 1.0, 2.0-2.0, -1.0, -0.5, -0.0, 0.5, 1.0, 2.0
Minimum increment: 0.000001
Recommended increment: -0.005
Gammagammagamma (input_control) number → (real)HTuple (double)HTuple (double)floatHtuple (double)
Zero order coefficient.
Default: 1.01.0
Suggested values: -2.0, -1.0, -0.5, -0.0, 0.5, 1.0, 2.0-2.0, -1.0, -0.5, -0.0, 0.5, 1.0, 2.0
Minimum increment: 0.000001
Recommended increment: -0.005
Rowrowrow (input_control) number → (real)HTuple (double)HTuple (double)floatHtuple (double)
Row coordinate of the reference point of the surface.
Default: 256.0256.0
Suggested values: 0.0, 128.0, 256.0, 512.00.0, 128.0, 256.0, 512.0
Minimum increment: 0.000001
Recommended increment: -0.005
Columncolumncolumn (input_control) number → (real)HTuple (double)HTuple (double)floatHtuple (double)
Column coordinate of the reference point of the surface.
Default: 256.0256.0
Suggested values: 0.0, 128.0, 256.0, 512.00.0, 128.0, 256.0, 512.0
Minimum increment: 0.000001
Recommended increment: -0.005
Widthwidthwidth (input_control) extent.x → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)
Width of image.
Default: 512512
Suggested values: 128, 256, 512, 1024128, 256, 512, 1024
Value range: 1 ≤ Width (lin)
Minimum increment: 1
Recommended increment: 10
Heightheightheight (input_control) extent.y → (integer)HTuple (Hlong)HTuple (int / long)intHtuple (Hlong)
Height of image.
Default: 512512
Suggested values: 128, 256, 512, 1024128, 256, 512, 1024
Value range: 1 ≤ Height (lin)
Minimum increment: 1
Recommended increment: 10
Result
If the parameter values are correct gen_image_surface_first_orderGenImageSurfaceFirstOrder
returns the value 2 (H_MSG_TRUE). Otherwise an exception is raised.
Combinations with other operators
Combinations
Possible predecessors
fit_surface_first_orderFitSurfaceFirstOrder
Possible successors
sub_imageSubImage
See also
gen_image_gray_rampGenImageGrayRamp, gen_image_surface_second_orderGenImageSurfaceSecondOrder, gen_image_constGenImageConst
Module
Foundation