Skip to content

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🔗

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