Operator Reference

set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval (Operator)

set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval — Set single gray values in an image.

Signature

set_grayval(Image : : Row, Column, Grayval : )

Herror set_grayval(const Hobject Image, const Hlong Row, const Hlong Column, double Grayval)

Herror T_set_grayval(const Hobject Image, const Htuple Row, const Htuple Column, const Htuple Grayval)

void SetGrayval(const HObject& Image, const HTuple& Row, const HTuple& Column, const HTuple& Grayval)

void HImage::SetGrayval(const HTuple& Row, const HTuple& Column, const HTuple& Grayval) const

void HImage::SetGrayval(Hlong Row, Hlong Column, double Grayval) const

static void HOperatorSet.SetGrayval(HObject image, HTuple row, HTuple column, HTuple grayval)

void HImage.SetGrayval(HTuple row, HTuple column, HTuple grayval)

void HImage.SetGrayval(int row, int column, double grayval)

def set_grayval(image: HObject, row: MaybeSequence[int], column: MaybeSequence[int], grayval: MaybeSequence[Union[int, float]]) -> None

Description

set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval sets the gray values of the input image ImageImageImageimageimage at the positions (RowRowRowrowrow,ColumnColumnColumncolumncolumn) to the values specified by GrayvalGrayvalGrayvalgrayvalgrayval. If ImageImageImageimageimage is a multi-channel image, you can either set a single gray value for a pixel and thus set it for all available channels, or you can set the gray values g for all channels individually by concatenating them within GrayvalGrayvalGrayvalgrayvalgrayval. For example, for a three-channel image three gray values (according to the order of the channels) are specified for each pixel: [g(channel0,pixel0), g(channel1,pixel0), g(channel2,pixel0), g(channel0,pixel1), ... ]. Please note that for complex or vector field images, two gray values per pixel must be specified (per channel).

If the image is 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.

Attention

The operator set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval produces quite some overhead. Typically, it is used to set single gray values of an image. It is not suitable for programming image processing operations such as filters. In this case it is more useful to use the operator get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1get_image_pointer1 and to directly use the C or C++ interface for integrating own procedures.

Note also that set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval modifies the content of an already existing image (ImageImageImageimageimage). Besides, even other image objects may be affected: For example, if you created ImageImageImageimageimage via copy_objcopy_objCopyObjCopyObjcopy_obj from another image object, set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval will also modify the image matrix of this other image object. Therefore, set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval should only be used to overpaint newly created image objects.

Execution Information

  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).
  • Multithreading scope: global (may be called from any thread).
  • Processed without parallelization.

This operator modifies the state of the following input parameter:

During execution of this operator, access to the value of this parameter must be synchronized if it is used across multiple threads.

Parameters

ImageImageImageimageimage (input_object, state is modified)  (multichannel-)image objectHImageHObjectHObjectHobject (byte / direction / cyclic / int1 / int2 / uint2 / int4 / int8 / real / complex / vector_field)

Image to be modified.

RowRowRowrowrow (input_control)  point.y(-array) HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Row coordinates of the pixels to be modified.

Default: 0

Suggested values: 0, 10, 50, 127, 255, 511

Value range: 0 ≤ Row Row Row row row

Restriction: 0 <= Row && Row < height(Image)

ColumnColumnColumncolumncolumn (input_control)  point.x(-array) HTupleMaybeSequence[int]HTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Column coordinates of the pixels to be modified.

Default: 0

Suggested values: 0, 10, 50, 127, 255, 511

Value range: 0 ≤ Column Column Column column column

Restriction: 0 <= Column && Column < width(Image)

GrayvalGrayvalGrayvalgrayvalgrayval (input_control)  grayval(-array) HTupleMaybeSequence[Union[int, float]]HTupleHtuple (real / integer) (double / int / long) (double / Hlong) (double / Hlong)

Gray values to be used.

Default: 255.0

Suggested values: 0.0, 1.0, 10.0, 128.0, 255.0

Result

set_grayvalset_grayvalSetGrayvalSetGrayvalset_grayval 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>)set_system("no_object_result",<Result>). If necessary, an exception is raised.

Possible Predecessors

read_imageread_imageReadImageReadImageread_image, get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1get_image_pointer1, gen_image_protogen_image_protoGenImageProtoGenImageProtogen_image_proto, gen_image1gen_image1GenImage1GenImage1gen_image1

Alternatives

get_image_pointer1get_image_pointer1GetImagePointer1GetImagePointer1get_image_pointer1, paint_graypaint_grayPaintGrayPaintGraypaint_gray, paint_regionpaint_regionPaintRegionPaintRegionpaint_region

See also

get_grayvalget_grayvalGetGrayvalGetGrayvalget_grayval, gen_image_constgen_image_constGenImageConstGenImageConstgen_image_const, gen_image1gen_image1GenImage1GenImage1gen_image1, gen_image_protogen_image_protoGenImageProtoGenImageProtogen_image_proto

Module

Foundation