Operator Reference

tile_channelstile_channelsTileChannelsTileChannelstile_channels (Operator)

tile_channelstile_channelsTileChannelsTileChannelstile_channels — Tile multiple images into a large image.

Signature

tile_channels(Image : TiledImage : NumColumns, TileOrder : )

Herror tile_channels(const Hobject Image, Hobject* TiledImage, const Hlong NumColumns, const char* TileOrder)

Herror T_tile_channels(const Hobject Image, Hobject* TiledImage, const Htuple NumColumns, const Htuple TileOrder)

void TileChannels(const HObject& Image, HObject* TiledImage, const HTuple& NumColumns, const HTuple& TileOrder)

HImage HImage::TileChannels(Hlong NumColumns, const HString& TileOrder) const

HImage HImage::TileChannels(Hlong NumColumns, const char* TileOrder) const

HImage HImage::TileChannels(Hlong NumColumns, const wchar_t* TileOrder) const   ( Windows only)

static void HOperatorSet.TileChannels(HObject image, out HObject tiledImage, HTuple numColumns, HTuple tileOrder)

HImage HImage.TileChannels(int numColumns, string tileOrder)

def tile_channels(image: HObject, num_columns: int, tile_order: str) -> HObject

Description

tile_channelstile_channelsTileChannelsTileChannelstile_channels tiles an image consisting of multiple channels into a large single-channel image. The input image ImageImageImageimageimage contains Num images of the same size, which are stored in the individual channels. The output image TiledImageTiledImageTiledImagetiledImagetiled_image contains a single channel image, where the Num input channels have been tiled into NumColumnsNumColumnsNumColumnsnumColumnsnum_columns columns. In particular, this means that tile_channelstile_channelsTileChannelsTileChannelstile_channels cannot tile color images. For this purpose, tile_imagestile_imagesTileImagesTileImagestile_images can be used. The parameter TileOrderTileOrderTileOrdertileOrdertile_order determines the order in which the images are copied into the output in the cases in which this is not already determined by NumColumnsNumColumnsNumColumnsnumColumnsnum_columns (i.e., if NumColumnsNumColumnsNumColumnsnumColumnsnum_columns != 1 and NumColumnsNumColumnsNumColumnsnumColumnsnum_columns != Num). If TileOrderTileOrderTileOrdertileOrdertile_order = 'horizontal'"horizontal""horizontal""horizontal""horizontal" the images are copied in the horizontal direction, i.e., the second channel of ImageImageImageimageimage will be to the right of the first channel. If TileOrderTileOrderTileOrdertileOrdertile_order = 'vertical'"vertical""vertical""vertical""vertical" the images are copied in the vertical direction, i.e., the second channel of ImageImageImageimageimage will be below the first channel. The domain of TiledImageTiledImageTiledImagetiledImagetiled_image is obtained by copying the domain of ImageImageImageimageimage to the corresponding locations in the output image. If Num is not a multiple of NumColumnsNumColumnsNumColumnsnumColumnsnum_columns the output image will have undefined gray values in the lower right corner of the image. The output domain will reflect this.

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.

Parameters

ImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHObjectHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real)

Input image.

TiledImageTiledImageTiledImagetiledImagetiled_image (output_object)  singlechannelimage(-array) objectHImageHObjectHObjectHobject * (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real)

Tiled output image.

NumColumnsNumColumnsNumColumnsnumColumnsnum_columns (input_control)  integer HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Number of columns to use for the output image.

Default: 1

Suggested values: 1, 2, 3, 4, 5, 6, 7

Restriction: NumColumns >= 1

TileOrderTileOrderTileOrdertileOrdertile_order (input_control)  string HTuplestrHTupleHtuple (string) (string) (HString) (char*)

Order of the input images in the output image.

Default: 'vertical' "vertical" "vertical" "vertical" "vertical"

List of values: 'horizontal'"horizontal""horizontal""horizontal""horizontal", 'vertical'"vertical""vertical""vertical""vertical"

Example (HDevelop)

* Grab 5 single-channel images and stack them vertically.
gen_rectangle1 (Image, 0, 0, Height-1, Width-1)
for I := 1 to 5 by 1
    grab_image_async (ImageGrabbed, AcqHandle, -1)
    append_channel (Image, ImageGrabbed, Image)
endfor
tile_channels (Image, TiledImage, 1, 'vertical')

Result

tile_channelstile_channelsTileChannelsTileChannelstile_channels returns 2 ( H_MSG_TRUE) if all parameters are correct and no error occurs during execution. 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

append_channelappend_channelAppendChannelAppendChannelappend_channel

Alternatives

tile_imagestile_imagesTileImagesTileImagestile_images, tile_images_offsettile_images_offsetTileImagesOffsetTileImagesOffsettile_images_offset

See also

change_formatchange_formatChangeFormatChangeFormatchange_format, crop_partcrop_partCropPartCropPartcrop_part, crop_rectangle1crop_rectangle1CropRectangle1CropRectangle1crop_rectangle1

Module

Foundation