RegionsOperatorsmRgnClumpiness Method
|
|
The fraction of heterogeneous pixels remaining after an erosion.
Namespace:
MediaCy.IQL.Operators
Assembly:
MediaCy.IQL.Operators (in MediaCy.IQL.Operators.dll) Version: 3.1.0.0
Syntax
RemarksmRgnClumpiness is derived from mRgnHeterogeneity. Heterogeonous
pixels are those that vary by more than the McHeterogeneity.IntensityRange
property percent (of the full intensity) from the average intensity for the
region (mRgnDensity).
For the mRgnClumpiness computation, all hetrogenerous pixels are marked as
foreground in a temporary image. That image is then eroded by one (the
default) or more times using a 5 by 5 octagonal kernel. The ratio of the
number of pixels surviving the erosion compared to the number of
hetrogenerous pixels is reported as the mRgnClumpiness value for each
region.
Thus to have a non-zero clumpiness, the region must have fairly large
connected areas (greater than about 6 by 6 pixels for a single erode pass)
of "hetrodox" (see below) pixels. Subtly or finely textured regions will result in
either no heterogeneous pixels or none that will survive the erosion.
The largest possible value of mRgnClumpiness approaches 1.0, but never
reaches it, because even if all pixels in a region are hetrogenerous the
erosion will remove some from the region's edges.
The measurement was originally described by
Young IT, Verbeek PW, and Mayall BH, Characterization of chromatin
distribution in cell nuclei. Cytometry, 1986. 7: p. 467-474.
There are three optional parameters that affect mRgnClumpiness: two
are shared with mRgnHeterogeneity (i.e., setting the parameter for one
measurement also sets it for the other), and one parameter (the number of
5x5 erosions applied before the clumpiness count is made) only applies
to mRgnClumpiness.
The intensity range parameter determines the offset from the mean intensity
outside-which "hetrodox" pixels are identified. The IntensityRange parameter
can be set either by assigning to mRgnClumpiness.IntensityRange or by
calling mRgnClumpiness.SetParameter(0, NewIntensityRange). The default
IntensityRange is 10 percent.
By default the test for heterogeneous pixels is bipolar, including pixels
that are both sufficiently darker than the mean as well as those
sufficiently brighter. The second parameter takes a Bipolar enumeration
0=Both, 1=BrightOnly, 2=DarkOnly. This parameter is set by calling
mRgnClumpiness.SetParameter(1, NewBipolarEnum). By default the Bipolar
parameter is 0 ("Both").
Givnen the measured image's McImage.RangeMax and RangeMin, the heterogeneity
computation is done as follows:
LuminanceRange = (RangeMax - RangeMin) * IntensityRange/ 100
Bright hetrodox pixels are those more intense than
mRgnDensity+LuminanceRange, while dark hetrodox pixels are those less
intense than mRgnDensity-LuminanceRange. If Bipolar is not DarkOnly, bright
hetrodox pixels are marked in the mRgnClumpiness pre-erosion map. Similarly,
if Bipolar is not BrightOnly, dark hetrodox pixels are marked. Of course if
Bipolar is Both (the default), then both bright and dark hetrodox pixels are
marked.
The IntensityRange parameter is allowed to be negative, which may be useful
only in cases where the Bipolar parameter is either DarkOnly or BrightOnly.
For example, if the Bipolar parameter is BrightOnly and IntensityRange is
minus 10, then hetrodox pixels would be those within each sub-region that
are brighter than the mean intensity for that region minus 10% of the full
luminance range.
This sort of arrangement can be quite useful for mRgnClumpiness where it
allows you to have more control over the pixels included in the "hetrodox"
mask before the erosion is applied. For example, if the IntensityRange
parameter is 0 percent and the Bipolar parameter is BrightOnly, then the
clumpiness test (ratio of forground pixels after to before the erosion)
would be applied to all pixels brighter than the mean intensity.
The third optional mRgnClumpiness parameter is the Number of Erosions, which
is set by calling mRgnClumpiness.SetParameter(2, NewNumberOfErosions).
Number of Erosions is one by default and is silently constrained to be from
one to ten. Each erosion is made with a 5x5 octagonal
kernel so that an approximately 3-pixel deep edge is shaved off the boundary
of each group of connected hetrodox. With one pass, no group smaller than 6
pixels will survive; with two passes all groups of 10 or fewer pixels will
disappear. Stringy groups are eroded more completely that compact groups
of pixels.
This is a pixel-based measurement. So for regions created by the
McThreshold.Execute method or McFeatures.SetFromMask method (features of
Type mcftScanList), holes in the blob are significant.
See Also