OTB
9.0.0
Orfeo Toolbox
|
#include <otbScalarImageToAdvancedTexturesFilter.h>
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
void | BeforeThreadedGenerateData () override |
void | GenerateInputRequestedRegion () override |
void | GenerateOutputInformation () override |
ScalarImageToAdvancedTexturesFilter () | |
void | ThreadedGenerateData (const OutputRegionType &outputRegion, itk::ThreadIdType threadId) override |
~ScalarImageToAdvancedTexturesFilter () override | |
Private Member Functions | |
void | operator= (const Self &)=delete |
ScalarImageToAdvancedTexturesFilter (const Self &)=delete | |
Static Private Member Functions | |
static OutputRegionType | RegionUnion (const OutputRegionType ®ion1, const OutputRegionType ®ion2) |
In this case, 10 advanced texture features will be processed. The 10 output image channels are: Mean, Variance, Dissimilarity, Sum Average, Sum Variance, Sum Entropy, Difference of Entropies, Difference of Variances, IC1 and IC2. They are provided in this exact order in the output image. The textures are computed over a sliding window with user defined radius.
To improve the speed of computation, a variant of Grey Level Co-occurrence Matrix(GLCM) called Grey Level Co-occurrence Indexed List (GLCIL) is used. Given below is the mathematical explanation on the computation of each textures. Here $ g(i, j) $ is the frequency of element in the GLCIL whose index is i, j. GLCIL stores a pair of frequency of two pixels from the given offset and the cell index (i, j) of the pixel in the neighborhood window. :(where each element in GLCIL is a pair of pixel index and it's frequency, $ g(i, j) $ is the frequency value of the pair having index is i, j).
"Mean"
"Sum of squares: Variance"
"Dissimilarity"
"Sum average"
"Sum Variance"
"Sum Entropy"
"Difference variance"
"Difference entropy"
"Information Measures of Correlation IC1"
"Information Measures of Correlation IC2"
Above, (weighted pixel average) (due to matrix symmetry), and
where and and
where and : Number of distinct gray levels in the quantized image.
References:
Haralick, R.M., K. Shanmugam and I. Dinstein. 1973. Textural Features for Image Classification. IEEE Transactions on Systems, Man and Cybernetics. SMC-3(6):610-620.
David A. Clausi and Yongping Zhao. 2002. Rapid extraction of image texture by co-occurrence using a hybrid data structure. Comput. Geosci. 28, 6 (July 2002), 763-774. DOI=10.1016/S0098-3004(01)00108-X http://dx.doi.org/10.1016/S0098-3004(01)00108-X
de O.Bastos, L.; Liatsis, P.; Conci, A., Automatic texture segmentation based on k-means clustering and efficient calculation of co-occurrence features. Systems, Signals and Image Processing, 2008. IWSSIP 2008. 15th International Conference on , vol., no., pp.141,144, 25-28 June 2008 doi: 10.1109/IWSSIP.2008.4604387
Neighborhood size can be set using the SetRadius() method. Offset for co-occurence estimation is set using the SetOffset() method.
Definition at line 105 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef itk::SmartPointer<const Self> otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::ConstPointer |
Definition at line 113 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef CooccurrenceIndexedListType::ConstPointer otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::CooccurrenceIndexedListConstPointerType |
Definition at line 134 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef CooccurrenceIndexedListType::Pointer otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::CooccurrenceIndexedListPointerType |
Definition at line 133 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef GreyLevelCooccurrenceIndexedList<InputPixelType> otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::CooccurrenceIndexedListType |
Definition at line 132 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef CooccurrenceIndexedListType::IndexType otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::CooccurrenceIndexType |
Definition at line 135 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef InputImageType::Pointer otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::InputImagePointerType |
Definition at line 123 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef TInpuImage otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::InputImageType |
Template class typedefs
Definition at line 119 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef InputImageType::PixelType otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::InputPixelType |
Definition at line 124 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef InputImageType::RegionType otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::InputRegionType |
Definition at line 125 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef InputImageType::OffsetType otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::OffsetType |
Definition at line 126 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef OutputImageType::Pointer otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::OutputImagePointerType |
Definition at line 129 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef TOutputImage otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::OutputImageType |
Definition at line 128 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef OutputImageType::RegionType otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::OutputRegionType |
Definition at line 130 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef CooccurrenceIndexedListType::PixelValueType otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::PixelValueType |
Definition at line 136 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef itk::SmartPointer<Self> otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::Pointer |
Definition at line 112 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef CooccurrenceIndexedListType::RelativeFrequencyType otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::RelativeFrequencyType |
Definition at line 137 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef ScalarImageToAdvancedTexturesFilter otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::Self |
Standard class typedefs
Definition at line 110 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef InputRegionType::SizeType otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::SizeType |
Definition at line 127 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef itk::ImageToImageFilter<TInpuImage, TOutputImage> otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::Superclass |
Definition at line 111 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef VectorType::const_iterator otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::VectorConstIteratorType |
Definition at line 141 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef VectorType::iterator otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::VectorIteratorType |
Definition at line 140 of file otbScalarImageToAdvancedTexturesFilter.h.
typedef CooccurrenceIndexedListType::VectorType otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::VectorType |
Definition at line 138 of file otbScalarImageToAdvancedTexturesFilter.h.
|
protected |
Constructor
Definition at line 35 of file otbScalarImageToAdvancedTexturesFilter.hxx.
References otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::m_SubsampleFactor, and otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::m_SubsampleOffset.
|
overrideprotected |
Destructor
Definition at line 65 of file otbScalarImageToAdvancedTexturesFilter.hxx.
|
privatedelete |
|
overrideprotected |
Before Parallel textures extraction
Definition at line 272 of file otbScalarImageToAdvancedTexturesFilter.hxx.
virtual::itk::LightObject::Pointer otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::CreateAnother | ( | void | ) | const |
|
overrideprotected |
Generate the input requested region
Definition at line 209 of file otbScalarImageToAdvancedTexturesFilter.hxx.
|
overrideprotected |
Generate the output information
Definition at line 179 of file otbScalarImageToAdvancedTexturesFilter.hxx.
ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::GetDifferenceEntropyOutput |
Get the difference of entropies output image
Definition at line 136 of file otbScalarImageToAdvancedTexturesFilter.hxx.
ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::GetDifferenceVarianceOutput |
Get the difference of variance output image
Definition at line 147 of file otbScalarImageToAdvancedTexturesFilter.hxx.
ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::GetDissimilarityOutput |
Get the dissimilarity output image
Definition at line 92 of file otbScalarImageToAdvancedTexturesFilter.hxx.
ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::GetIC1Output |
Get the IC1 image
Definition at line 158 of file otbScalarImageToAdvancedTexturesFilter.hxx.
ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::GetIC2Output |
Get the IC2 output image
Definition at line 169 of file otbScalarImageToAdvancedTexturesFilter.hxx.
|
virtual |
Get the input image maximum
|
virtual |
Get the input image minimum
ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::GetMeanOutput |
Get the mean output image
Definition at line 70 of file otbScalarImageToAdvancedTexturesFilter.hxx.
|
virtual |
RTTI
|
virtual |
Get the number of bin per axis
|
virtual |
Get the offset for co-occurence computation
|
virtual |
Get the radius of the window on which textures will be computed
|
virtual |
Get the sub-sampling factor
|
virtual |
Get the sub-sampling offset
ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::GetSumAverageOutput |
Get the sum average output image
Definition at line 103 of file otbScalarImageToAdvancedTexturesFilter.hxx.
ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::GetSumEntropyOutput |
Get the sum of entropies output image
Definition at line 125 of file otbScalarImageToAdvancedTexturesFilter.hxx.
ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::GetSumVarianceOutput |
Get the sum of variances output image
Definition at line 114 of file otbScalarImageToAdvancedTexturesFilter.hxx.
ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToAdvancedTexturesFilter< TInputImage, TOutputImage >::GetVarianceOutput |
Get the variance output image
Definition at line 81 of file otbScalarImageToAdvancedTexturesFilter.hxx.
|
static |
Creation through the object factory
|
privatedelete |
|
staticprivate |
Convenient method to compute union of 2 regions
|
virtual |
Set the input image maximum
|
virtual |
Set the input image minimum
|
virtual |
Set the number of bin per axis
|
virtual |
Set the offset for co-occurence computation
|
virtual |
Set the radius of the window on which textures will be computed
|
virtual |
Set the sub-sampling factor
|
virtual |
Set the sub-sampling offset
|
overrideprotected |
Parallel textures extraction
Definition at line 287 of file otbScalarImageToAdvancedTexturesFilter.hxx.
|
private |
Input image maximum
Definition at line 257 of file otbScalarImageToAdvancedTexturesFilter.h.
|
private |
Input image minimum
Definition at line 254 of file otbScalarImageToAdvancedTexturesFilter.h.
|
private |
Radius of the neighborhood iterator which is minimum of m_Radius
Definition at line 248 of file otbScalarImageToAdvancedTexturesFilter.h.
|
private |
Number of bins per axis
Definition at line 251 of file otbScalarImageToAdvancedTexturesFilter.h.
|
private |
Offset for co-occurence
Definition at line 245 of file otbScalarImageToAdvancedTexturesFilter.h.
|
private |
Radius of the window on which to compute textures
Definition at line 242 of file otbScalarImageToAdvancedTexturesFilter.h.
|
private |
Sub-sampling factor
Definition at line 260 of file otbScalarImageToAdvancedTexturesFilter.h.
Referenced by otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::ScalarImageToAdvancedTexturesFilter().
|
private |
Sub-sampling offset
Definition at line 263 of file otbScalarImageToAdvancedTexturesFilter.h.
Referenced by otb::ScalarImageToAdvancedTexturesFilter< TInpuImage, TOutputImage >::ScalarImageToAdvancedTexturesFilter().