ClassesClassesClassesClasses | | | | Operators

gen_gauss_pyramidgen_gauss_pyramidGenGaussPyramidgen_gauss_pyramidGenGaussPyramidGenGaussPyramid (Operator)

Name

gen_gauss_pyramidgen_gauss_pyramidGenGaussPyramidgen_gauss_pyramidGenGaussPyramidGenGaussPyramid — Calculating a Gauss pyramid.

Signature

gen_gauss_pyramid(Image : ImagePyramid : Mode, Scale : )

Herror gen_gauss_pyramid(const Hobject Image, Hobject* ImagePyramid, const char* Mode, double Scale)

Herror T_gen_gauss_pyramid(const Hobject Image, Hobject* ImagePyramid, const Htuple Mode, const Htuple Scale)

Herror gen_gauss_pyramid(Hobject Image, Hobject* ImagePyramid, const HTuple& Mode, const HTuple& Scale)

HImageArray HImage::GenGaussPyramid(const HTuple& Mode, const HTuple& Scale) const

void GenGaussPyramid(const HObject& Image, HObject* ImagePyramid, const HTuple& Mode, const HTuple& Scale)

HImage HImage::GenGaussPyramid(const HString& Mode, double Scale) const

HImage HImage::GenGaussPyramid(const char* Mode, double Scale) const

void HOperatorSetX.GenGaussPyramid(
[in] IHUntypedObjectX* Image, [out] IHUntypedObjectX*ImagePyramid, [in] VARIANT Mode, [in] VARIANT Scale)

IHImageX* HImageX.GenGaussPyramid(
[in] BSTR Mode, [in] double Scale)

static void HOperatorSet.GenGaussPyramid(HObject image, out HObject imagePyramid, HTuple mode, HTuple scale)

HImage HImage.GenGaussPyramid(string mode, double scale)

Description

The operator gen_gauss_pyramidgen_gauss_pyramidGenGaussPyramidgen_gauss_pyramidGenGaussPyramidGenGaussPyramid calculates a pyramid of scaled down images. The scale by which the next image will be reduced is determined by the parameter ScaleScaleScaleScaleScalescale. For instance, a value of 0.5 for ScaleScaleScaleScaleScalescale will shorten the edge length of ImageImageImageImageImageimage by 50%. This is exactly equivalent to the “normal” pyramid.

The parameter ModeModeModeModeModemode determines the way of averaging. For a more detailed description concerning this parameter see also affine_trans_imageaffine_trans_imageAffineTransImageaffine_trans_imageAffineTransImageAffineTransImage. In the case that ScaleScaleScaleScaleScalescale is equal 0.5 there are the additional modes 'min'"min""min""min""min""min" and 'max'"max""max""max""max""max" available. In this case the minimum or the maximum of the four neighboring pixels is selected.

Please note that each level will be returned as an individual image, i.e., as one iconic objekt, with one matrix and its own domain. Single or multiple levels can be selected by using select_objselect_objSelectObjselect_objSelectObjSelectObj or copy_objcopy_objCopyObjcopy_objCopyObjCopyObj, respectively.

Parallelization

Parameters

ImageImageImageImageImageimage (input_object)  (multichannel-)image objectHImageHImageHImageHImageXHobject (byte / uint2 / real)

Input image.

ImagePyramidImagePyramidImagePyramidImagePyramidImagePyramidimagePyramid (output_object)  (multichannel-)image-array objectHImageHImageHImageArrayHImageXHobject * (byte / uint2 / real)

Output images.

Number of elements: ImagePyramid > Image

ModeModeModeModeModemode (input_control)  string HTupleHTupleHTupleVARIANTHtuple (string) (string) (HString) (char*) (BSTR) (char*)

Kind of filtermask.

Default value: 'weighted' "weighted" "weighted" "weighted" "weighted" "weighted"

List of values: 'constant'"constant""constant""constant""constant""constant", 'max'"max""max""max""max""max", 'min'"min""min""min""min""min", 'nearest_neighbor'"nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor""nearest_neighbor", 'weighted'"weighted""weighted""weighted""weighted""weighted"

ScaleScaleScaleScaleScalescale (input_control)  real HTupleHTupleHTupleVARIANTHtuple (real) (double) (double) (double) (double) (double)

Factor for scaling down.

Default value: 0.5

Suggested values: 0.2, 0.3, 0.4, 0.5, 0.6

Typical range of values: 0.1 ≤ Scale Scale Scale Scale Scale scale ≤ 0.9

Minimum increment: 0.01

Recommended increment: 0.1

Restriction: 0.1 < Scale && Scale < 0.9

Example (C)

gen_gauss_pyramid(Image,Pyramid,"weighted",0.5);
count_obj(Pyramid,&num);
for (i=1; i<=num; i++)
{
  select_obj(Pyramid,&Single,i);
  disp_image(Single,WindowHandle);
  clear(Single);
}

Possible Successors

image_to_channelsimage_to_channelsImageToChannelsimage_to_channelsImageToChannelsImageToChannels, count_objcount_objCountObjcount_objCountObjCountObj, select_objselect_objSelectObjselect_objSelectObjSelectObj, copy_objcopy_objCopyObjcopy_objCopyObjCopyObj

Alternatives

zoom_image_sizezoom_image_sizeZoomImageSizezoom_image_sizeZoomImageSizeZoomImageSize, zoom_image_factorzoom_image_factorZoomImageFactorzoom_image_factorZoomImageFactorZoomImageFactor

See also

affine_trans_imageaffine_trans_imageAffineTransImageaffine_trans_imageAffineTransImageAffineTransImage

Module

Foundation


ClassesClassesClassesClasses | | | | Operators