Name
runlength_featuresrunlength_featuresRunlengthFeaturesRunlengthFeatures — Characteristic values for runlength coding of regions.
Herror runlength_features(const Hobject Regions, Hlong* NumRuns, double* KFactor, double* LFactor, double* MeanLength, Hlong* Bytes)
Herror T_runlength_features(const Hobject Regions, Htuple* NumRuns, Htuple* KFactor, Htuple* LFactor, Htuple* MeanLength, Htuple* Bytes)
void RunlengthFeatures(const HObject& Regions, HTuple* NumRuns, HTuple* KFactor, HTuple* LFactor, HTuple* MeanLength, HTuple* Bytes)
HTuple HRegion::RunlengthFeatures(HTuple* KFactor, HTuple* LFactor, HTuple* MeanLength, HTuple* Bytes) const
Hlong HRegion::RunlengthFeatures(double* KFactor, double* LFactor, double* MeanLength, Hlong* Bytes) const
static void HOperatorSet.RunlengthFeatures(HObject regions, out HTuple numRuns, out HTuple KFactor, out HTuple LFactor, out HTuple meanLength, out HTuple bytes)
HTuple HRegion.RunlengthFeatures(out HTuple KFactor, out HTuple LFactor, out HTuple meanLength, out HTuple bytes)
int HRegion.RunlengthFeatures(out double KFactor, out double LFactor, out double meanLength, out int bytes)
The operator runlength_featuresrunlength_featuresRunlengthFeaturesRunlengthFeaturesRunlengthFeatures calculates for every input region
from RegionsRegionsRegionsRegionsregions the number of runs necessary for storing
this region with the aid of runlength coding.
Furthermore the so-called “K-factor” is determined, which indicates
by how much the number of runs differs from the ideal of the square
in which this value is 1.0.
The K-factor (KFactorKFactorKFactorKFactorKFactor) is calculated according to the formula:
wherein Area indicates the area of the region.
It should be noted that the K-factor can be smaller than 1.0
(in case of long horizontal regions).
The L-factor (LFactorLFactorLFactorLFactorLFactor) indicates the mean number of runs
for each line index occurring in the region.
MeanLengthMeanLengthMeanLengthMeanLengthmeanLength indicates the mean length of the runs.
The parameter BytesBytesBytesBytesbytes indicates how many bytes are
necessary for coding the region with runlengths.
All features calculated by the operator runlength_featuresrunlength_featuresRunlengthFeaturesRunlengthFeaturesRunlengthFeatures are not
rotation invariant because the runlength coding depends on the direction.
The operator runlength_featuresrunlength_featuresRunlengthFeaturesRunlengthFeaturesRunlengthFeatures does not serve for calculating shape
features but for controlling and analysing the efficiency of the
runlength coding.
- Multithreading type: reentrant (runs in parallel with non-exclusive operators).
- Multithreading scope: global (may be called from any thread).
- Automatically parallelized on tuple level.
Number of runs.
Assertion: 0 <= NumRuns
Storing factor in relation to a square.
Assertion: 0 <= KFactor
Mean number of runs per line.
Assertion: 0 <= LFactor
Mean length of runs.
Assertion: 0 <= MeanLength
Number of bytes necessary for coding the region.
Assertion: 0 <= Bytes
The mean runtime complexity is O(1).
The operator runlength_featuresrunlength_featuresRunlengthFeaturesRunlengthFeaturesRunlengthFeatures returns the value 2 (H_MSG_TRUE)
if the input is not empty.
If necessary an exception is raised.
thresholdthresholdThresholdThresholdThreshold,
regiongrowingregiongrowingRegiongrowingRegiongrowingRegiongrowing,
connectionconnectionConnectionConnectionConnection
runlength_distributionrunlength_distributionRunlengthDistributionRunlengthDistributionRunlengthDistribution
Foundation