convert_image_typeconvert_image_typeConvertImageTypeConvertImageTypeconvert_image_type (Operator)

Name

convert_image_typeconvert_image_typeConvertImageTypeConvertImageTypeconvert_image_type — Convert the type of an image.

Signature

convert_image_type(Image : ImageConverted : NewType : )

Herror convert_image_type(const Hobject Image, Hobject* ImageConverted, const char* NewType)

Herror T_convert_image_type(const Hobject Image, Hobject* ImageConverted, const Htuple NewType)

void ConvertImageType(const HObject& Image, HObject* ImageConverted, const HTuple& NewType)

HImage HImage::ConvertImageType(const HString& NewType) const

HImage HImage::ConvertImageType(const char* NewType) const

HImage HImage::ConvertImageType(const wchar_t* NewType) const   (Windows only)

static void HOperatorSet.ConvertImageType(HObject image, out HObject imageConverted, HTuple newType)

HImage HImage.ConvertImageType(string newType)

def convert_image_type(image: HObject, new_type: str) -> HObject

Description

convert_image_typeconvert_image_typeConvertImageTypeConvertImageTypeConvertImageTypeconvert_image_type converts images of an arbitrary type into an arbitrary new image type. If the conversion is done from a larger to a smaller gray value range (e.g., from 'int4' to 'byte'), too large or too small values are simply “clipped”. If the result images are of type 'direction', gray values that are not in the value range that is valid for 'direction' images are set to the value 255 to mark them as invalid. It is therefore advisable to adapt the range of gray values by calling scale_imagescale_imageScaleImageScaleImageScaleImagescale_image before calling this operator. For images of type complex, only the real part is converted. The imaginary part is ignored. This facilitates an efficient conversion of images that have been transformed back from the frequency domain. Such images always have an imaginary part of 0.

Attention

The conversion to the 'int8' image format is only available on 64 bit systems! If the source and destination image type are identical, no new image matrix is allocated.

Execution Information

Parameters

ImageImageImageImageimageimage (input_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject (byte* / direction* / cyclic* / int1* / int2* / uint2* / int4* / int8 / real* / complex*) *allowed for compute devices

Image whose image type is to be changed.

ImageConvertedImageConvertedImageConvertedImageConvertedimageConvertedimage_converted (output_object)  (multichannel-)image(-array) objectHImageHObjectHImageHobject * (byte* / direction* / cyclic* / int1* / int2* / uint2* / int4* / int8 / real* / complex*) *allowed for compute devices

Converted image.

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

Desired image type (i.e., type of the gray values).

Default value: 'byte' "byte" "byte" "byte" "byte" "byte"

List of values: 'byte'"byte""byte""byte""byte""byte", 'complex'"complex""complex""complex""complex""complex", 'cyclic'"cyclic""cyclic""cyclic""cyclic""cyclic", 'direction'"direction""direction""direction""direction""direction", 'int1'"int1""int1""int1""int1""int1", 'int2'"int2""int2""int2""int2""int2", 'int4'"int4""int4""int4""int4""int4", 'int8'"int8""int8""int8""int8""int8", 'real'"real""real""real""real""real", 'uint2'"uint2""uint2""uint2""uint2""uint2"

List of values (for compute devices): 'int1'"int1""int1""int1""int1""int1", 'int2'"int2""int2""int2""int2""int2", 'uint2'"uint2""uint2""uint2""uint2""uint2", 'int4'"int4""int4""int4""int4""int4", 'byte'"byte""byte""byte""byte""byte", 'real'"real""real""real""real""real", 'direction'"direction""direction""direction""direction""direction", 'cyclic'"cyclic""cyclic""cyclic""cyclic""cyclic", 'complex'"complex""complex""complex""complex""complex"

Result

convert_image_typeconvert_image_typeConvertImageTypeConvertImageTypeConvertImageTypeconvert_image_type returns 2 (H_MSG_TRUE) if all parameters are correct. 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>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

scale_imagescale_imageScaleImageScaleImageScaleImagescale_image

See also

scale_imagescale_imageScaleImageScaleImageScaleImagescale_image, abs_imageabs_imageAbsImageAbsImageAbsImageabs_image

Module

Foundation