rank_nrank_nRankNRankN (Operator)


rank_nrank_nRankNRankN — Return gray values with given rank from multiple channels.


rank_n(Image : RankImage : RankIndex : )

Herror rank_n(const Hobject Image, Hobject* RankImage, const Hlong RankIndex)

Herror T_rank_n(const Hobject Image, Hobject* RankImage, const Htuple RankIndex)

void RankN(const HObject& Image, HObject* RankImage, const HTuple& RankIndex)

HImage HImage::RankN(Hlong RankIndex) const

static void HOperatorSet.RankN(HObject image, out HObject rankImage, HTuple rankIndex)

HImage HImage.RankN(int rankIndex)


The operator rank_nrank_nRankNRankNRankN returns pixel-by-pixel the result of the rank-function over all channels.

For every pixel in the input image the following is being done: The gray values of all channels at this position are sorted in ascending order. Then the pixel with index RankIndexRankIndexRankIndexRankIndexrankIndex is selected and placed in the output image at the same position. The output image has one channel.

In the special cases RankIndexRankIndexRankIndexRankIndexrankIndex = 1 and RankIndexRankIndexRankIndexRankIndexrankIndex = '(Number of channels)'"(Number of channels)""(Number of channels)""(Number of channels)""(Number of channels)" the minimum and maximum are returned. RankIndexRankIndexRankIndexRankIndexrankIndex = '(Number of channels + 1) / 2'"(Number of channels + 1) / 2""(Number of channels + 1) / 2""(Number of channels + 1) / 2""(Number of channels + 1) / 2" returns the median (here, / denotes integer division). Hence, for a five-channel image, 3 returns the median.

The operator rank_nrank_nRankNRankNRankN should not be confused with the operator rank_imagerank_imageRankImageRankImageRankImage which computes the rank within a certain mask.

For an explanation of the concept of smoothing filters see the introduction of chapter Filters / Smoothing.


Note that filter operators may return unexpected results if an image with a reduced domain is used as input. Please refer to the chapter Filters.

Execution Information


ImageImageImageImageimage (input_object)  (multichannel-)image(-array) objectHImageHImageHobject (byte / int2 / uint2 / int4 / int8 / real)

Multichannel gray image.

RankImageRankImageRankImageRankImagerankImage (output_object)  singlechannelimage(-array) objectHImageHImageHobject * (byte / int2 / uint2 / int4 / int8 / real)

Result of the rank function.

RankIndexRankIndexRankIndexRankIndexrankIndex (input_control)  integer HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Rank of the gray value images to return.

Default value: 2

Suggested values: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 15, 20

Example (HDevelop)

compose5 (Image1, Image2, Image3, Image4, Image5, MultiChannelImage)
rank_n (MultiChannelImage, ImageMin, 1)
rank_n (MultiChannelImage, ImageMax, 5)
rank_n (MultiChannelImage, ImageMedian, 3)

Possible Predecessors

compose2compose2Compose2Compose2Compose2, compose3compose3Compose3Compose3Compose3, compose4compose4Compose4Compose4Compose4, compose5compose5Compose5Compose5Compose5, add_channelsadd_channelsAddChannelsAddChannelsAddChannels



See also

count_channelscount_channelsCountChannelsCountChannelsCountChannels, rank_imagerank_imageRankImageRankImageRankImage