OTB
9.0.0
Orfeo Toolbox
|
#include <otbScalarImageToTexturesFilter.h>
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
void | BeforeThreadedGenerateData () override |
void | GenerateInputRequestedRegion () override |
void | GenerateOutputInformation () override |
ScalarImageToTexturesFilter () | |
void | ThreadedGenerateData (const OutputRegionType &outputRegion, itk::ThreadIdType threadId) override |
~ScalarImageToTexturesFilter () override | |
Private Member Functions | |
double | GetPixelValueTolerance () const |
void | operator= (const Self &)=delete |
ScalarImageToTexturesFilter (const Self &)=delete | |
Static Private Member Functions | |
static OutputRegionType | RegionUnion (const OutputRegionType ®ion1, const OutputRegionType ®ion2) |
This class compute 8 local Haralick textures features. The 8 output image channels are: Energy, Entropy, Correlation, Inverse Difference Moment, Inertia, Cluster Shade, Cluster Prominence and Haralick Correlation. They are provided in this exact order in the output image. Thus, this application computes the following Haralick textures over a neighborhood with user defined radius.
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.
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).
"Energy"
"Entropy" , or 0 if
"Correlation"
"Difference Moment"
"Inertia" (sometimes called "contrast")
"Cluster Shade"
"Cluster Prominence"
"Haralick's Correlation" where and are the mean and standard deviation of the row (or column, due to symmetry) sums.
Above, (weighted pixel average) (due to matrix symmetry), and
(weighted pixel variance) (due to matrix symmetry)
Definition at line 105 of file otbScalarImageToTexturesFilter.h.
typedef itk::SmartPointer<const Self> otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::ConstPointer |
Definition at line 112 of file otbScalarImageToTexturesFilter.h.
typedef CooccurrenceIndexedListType::ConstPointer otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::CooccurrenceIndexedListConstPointerType |
Definition at line 134 of file otbScalarImageToTexturesFilter.h.
typedef CooccurrenceIndexedListType::Pointer otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::CooccurrenceIndexedListPointerType |
Definition at line 133 of file otbScalarImageToTexturesFilter.h.
typedef GreyLevelCooccurrenceIndexedList<InputPixelType> otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::CooccurrenceIndexedListType |
Definition at line 132 of file otbScalarImageToTexturesFilter.h.
typedef CooccurrenceIndexedListType::IndexType otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::CooccurrenceIndexType |
Definition at line 135 of file otbScalarImageToTexturesFilter.h.
typedef InputImageType::Pointer otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::InputImagePointerType |
Definition at line 122 of file otbScalarImageToTexturesFilter.h.
typedef TInpuImage otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::InputImageType |
Template class typedefs
Definition at line 118 of file otbScalarImageToTexturesFilter.h.
typedef InputImageType::PixelType otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::InputPixelType |
Definition at line 123 of file otbScalarImageToTexturesFilter.h.
typedef InputImageType::RegionType otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::InputRegionType |
Definition at line 124 of file otbScalarImageToTexturesFilter.h.
typedef InputImageType::OffsetType otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::OffsetType |
Definition at line 126 of file otbScalarImageToTexturesFilter.h.
typedef OutputImageType::Pointer otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::OutputImagePointerType |
Definition at line 129 of file otbScalarImageToTexturesFilter.h.
typedef TOutputImage otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::OutputImageType |
Definition at line 128 of file otbScalarImageToTexturesFilter.h.
typedef OutputImageType::RegionType otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::OutputRegionType |
Definition at line 130 of file otbScalarImageToTexturesFilter.h.
typedef CooccurrenceIndexedListType::PixelValueType otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::PixelValueType |
Definition at line 136 of file otbScalarImageToTexturesFilter.h.
typedef itk::SmartPointer<Self> otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::Pointer |
Definition at line 111 of file otbScalarImageToTexturesFilter.h.
typedef CooccurrenceIndexedListType::RelativeFrequencyType otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::RelativeFrequencyType |
Definition at line 137 of file otbScalarImageToTexturesFilter.h.
typedef ScalarImageToTexturesFilter otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::Self |
Standard class typedefs
Definition at line 109 of file otbScalarImageToTexturesFilter.h.
typedef InputRegionType::SizeType otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::SizeType |
Definition at line 125 of file otbScalarImageToTexturesFilter.h.
typedef itk::ImageToImageFilter<TInpuImage, TOutputImage> otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::Superclass |
Definition at line 110 of file otbScalarImageToTexturesFilter.h.
typedef VectorType::const_iterator otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::VectorConstIteratorType |
Definition at line 141 of file otbScalarImageToTexturesFilter.h.
typedef VectorType::iterator otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::VectorIteratorType |
Definition at line 140 of file otbScalarImageToTexturesFilter.h.
typedef CooccurrenceIndexedListType::VectorType otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::VectorType |
Definition at line 138 of file otbScalarImageToTexturesFilter.h.
|
protected |
Constructor
Definition at line 37 of file otbScalarImageToTexturesFilter.hxx.
References otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::m_SubsampleFactor, and otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::m_SubsampleOffset.
|
overrideprotected |
Destructor
Definition at line 65 of file otbScalarImageToTexturesFilter.hxx.
|
privatedelete |
|
overrideprotected |
Before Parallel textures extraction
Definition at line 247 of file otbScalarImageToTexturesFilter.hxx.
virtual::itk::LightObject::Pointer otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::CreateAnother | ( | void | ) | const |
|
overrideprotected |
Generate the input requested region
Definition at line 184 of file otbScalarImageToTexturesFilter.hxx.
|
overrideprotected |
Generate the output information
Definition at line 154 of file otbScalarImageToTexturesFilter.hxx.
ScalarImageToTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToTexturesFilter< TInputImage, TOutputImage >::GetClusterProminenceOutput |
Get the cluster prominence image
Definition at line 133 of file otbScalarImageToTexturesFilter.hxx.
ScalarImageToTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToTexturesFilter< TInputImage, TOutputImage >::GetClusterShadeOutput |
Get the cluster shade output image
Definition at line 122 of file otbScalarImageToTexturesFilter.hxx.
ScalarImageToTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToTexturesFilter< TInputImage, TOutputImage >::GetCorrelationOutput |
Get the correlation output image
Definition at line 90 of file otbScalarImageToTexturesFilter.hxx.
ScalarImageToTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToTexturesFilter< TInputImage, TOutputImage >::GetEnergyOutput |
Get the energy output image
Definition at line 70 of file otbScalarImageToTexturesFilter.hxx.
ScalarImageToTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToTexturesFilter< TInputImage, TOutputImage >::GetEntropyOutput |
Get the entropy output image
Definition at line 80 of file otbScalarImageToTexturesFilter.hxx.
ScalarImageToTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToTexturesFilter< TInputImage, TOutputImage >::GetHaralickCorrelationOutput |
Get the Haralick correlation output image
Definition at line 144 of file otbScalarImageToTexturesFilter.hxx.
ScalarImageToTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToTexturesFilter< TInputImage, TOutputImage >::GetInertiaOutput |
Get the inertia output image
Definition at line 111 of file otbScalarImageToTexturesFilter.hxx.
|
virtual |
Get the input image maximum
|
virtual |
Get the input image minimum
ScalarImageToTexturesFilter< TInputImage, TOutputImage >::OutputImageType * otb::ScalarImageToTexturesFilter< TInputImage, TOutputImage >::GetInverseDifferenceMomentOutput |
Get the inverse difference moment output image
Definition at line 101 of file otbScalarImageToTexturesFilter.hxx.
|
virtual |
RTTI
|
virtual |
Get the number of bin per axis
|
virtual |
Get the offset for co-occurence computation
|
inlineprivate |
Definition at line 254 of file otbScalarImageToTexturesFilter.h.
|
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
|
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 262 of file otbScalarImageToTexturesFilter.hxx.
|
private |
Input image maximum
Definition at line 251 of file otbScalarImageToTexturesFilter.h.
|
private |
Input image minimum
Definition at line 248 of file otbScalarImageToTexturesFilter.h.
|
private |
Radius of the neighborhood iterator which is minimum of m_Radius
Definition at line 242 of file otbScalarImageToTexturesFilter.h.
|
private |
Number of bins per axis
Definition at line 245 of file otbScalarImageToTexturesFilter.h.
|
private |
Offset for co-occurence
Definition at line 239 of file otbScalarImageToTexturesFilter.h.
|
private |
Radius of the window on which to compute textures
Definition at line 236 of file otbScalarImageToTexturesFilter.h.
|
private |
Sub-sampling factor
Definition at line 260 of file otbScalarImageToTexturesFilter.h.
Referenced by otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::ScalarImageToTexturesFilter().
|
private |
Sub-sampling offset
Definition at line 263 of file otbScalarImageToTexturesFilter.h.
Referenced by otb::ScalarImageToTexturesFilter< TInpuImage, TOutputImage >::ScalarImageToTexturesFilter().