public interface CustomRankPrecision
Complete description of precision characteristics of rank operations, described in RankMorphology
interface. Usually this interface is used for instantiating BasicRankMorphology
class
by BasicRankMorphology.getInstance(net.algart.arrays.ArrayContext, double, net.algart.matrices.morphology.CustomRankPrecision)
method.
This package offers RankPrecision
class, providing a ready set of instances of this interface,
enough for most situations. If you need another precision parameters, not listed in that class,
you can implement this interface yourself.
The classes, implementing this interface, are immutable and threadsafe: there are no ways to modify settings of the created instance.
AlgART Laboratory 2007–2014
Modifier and Type  Field and Description 

static int 
MAX_NUMBER_OF_ANALYZED_BITS
The maximal possible number of analyzed bits: 30.

Modifier and Type  Method and Description 

int[] 
bitLevels()
The bit levels.

boolean 
interpolated()
Selects the histogram model used while calculating rank characteristics:
true means the precise histogram model, false means the simple histogram model.

int 
numberOfAnalyzedBits()
Returns the last element of the
bitLevels() array. 
static final int MAX_NUMBER_OF_ANALYZED_BITS
bitLevels()
method,
must not be greater than this value; in other case, an attempt to create an instance
of BasicRankMorphology
will lead to IllegalArgumentException.int[] bitLevels()
The last element of this array bitLevels[bitLevels.length1] is named
the number of analysed bits and specifies the logarithm of the length
of the histogram, used while calculating rank characteristics. More precisely, the length
of the histogram is array()
.bitsPerElement()
RankMorphology
interface, section 3.
First bitLevels.length1 elements of this array, i.e.
JArrays.copyOfRange
(bitLevels,0,bitLevels.length1)Histogram.newIntHistogram
or SummingHistogram.newSummingIntHistogram
methods, when they are called for creating objects,
which really calculate the rank characteristics, described in RankMorphology
interface.
In other words, first bitLevels.length1 elements describe the levels of the pyramid
of histograms: it is necessary for efficient processing large histograms,
consisting of thousands or millions bars.
This array must not be empty and must not contain more than 31 elements,
and all its elements must be sorted in strictly increasing order:
MAX_NUMBER_OF_ANALYZED_BITS
limit.
Below are possible examples of the array, returned by this method:
Note that the situation, when some or even all elements of this array are greater than 2^{β}, is not an error — it just will lead to unjustified slowing down of calculations, because some levels of the pyramid of histograms will contain only 1 "wide" bar.
the pyramid of histograms
(all elements excepting the last one) and
the maximal possible total number of analyzed bits numberOfAnalyzedBits()
int numberOfAnalyzedBits()
bitLevels()
array.boolean interpolated()
Histogram
and SummingHistogram
classes
about these models.