CImCombine:SdevClipClip


The SdevClip method creates an image who's pixel values are the standard deviation of values among all images at each point. This method discards the nHigh highest and nLow lowest values from the standard deviation calculation. If no pixels need to be rejected, see the Sdev method.

Syntax

CImage = CImCombine:SdevClip( CImageSet, nHigh, nLow )

where

    CImageSet contains the collection of images to be combined

    nHigh specifies the number of highest values to discard from the calculation; default value is 2.5.

    nLow specifies the number of lowest values to discard from the calculation; default value is 2.5

    CImage is a new image created by this method. On failure, nil is returned.

  

Use this method to compute the standard deviation about the mean when there are contaminating values that should be rejected so they do not bias the calculated standard deviation. Applications include calculations where the images have non-aligned artifacts including pixel defects, radiation events, and so on.

Each pixel in the output image is the standard deviation of values at the same location in all the images of the CImageSet. This is not an image like each of the source images, but is a statistical map over the surface of the collection of images. Depending upon the images and the application, you may or may not wish to normalize the images before computing the range.

Example

Suppose a CImageSet named S exists. The following script combines the images by the SdevClip method after normalizing their luminance by the median statistic computed inside the central 10% of the image. The 2 highest and 1 lowest values are rejected at each point:

C = CImCombine:new()

-- create a CImCombine object

R = NewRect(10,50,10,50)

-- central 10% of the image

C:SetRelRect( R )

-- specify CImage and CRect to measure

C:SetNormStat("median")

-- use the median as the normalization statistic

C:SetNormMethod("scale")

-- scale to normalize the image set

I = C:SdevClip( S, 2, 1 )

-- combine the image set and return a new image

I:Display()

-- show the new image

Related Topics

Sdev

CImCombine class

CImageSet class

CImage class

CRect class