Medical Imaging Interaction Toolkit  2024.06.00
Medical Imaging Interaction Toolkit
itkEnhancedHistogramToRunLengthFeaturesFilter.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 /*=========================================================================
14 *
15 * Copyright Insight Software Consortium
16 *
17 * Licensed under the Apache License, Version 2.0 (the "License");
18 * you may not use this file except in compliance with the License.
19 * You may obtain a copy of the License at
20 *
21 * https://www.apache.org/licenses/LICENSE-2.0.txt
22 *
23 * Unless required by applicable law or agreed to in writing, software
24 * distributed under the License is distributed on an "AS IS" BASIS,
25 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
26 * See the License for the specific language governing permissions and
27 * limitations under the License.
28 *
29 *=========================================================================*/
30 #ifndef __itkEnhancedHistogramToRunLengthFeaturesFilter_h
31 #define __itkEnhancedHistogramToRunLengthFeaturesFilter_h
32 
33 #include "itkHistogram.h"
34 #include "itkMacro.h"
35 #include "itkProcessObject.h"
36 #include "itkSimpleDataObjectDecorator.h"
37 
38 namespace itk {
39  namespace Statistics {
77  template< typename THistogram >
78  class EnhancedHistogramToRunLengthFeaturesFilter : public ProcessObject
79  {
80  public:
83  typedef ProcessObject Superclass;
86 
88  itkTypeMacro( EnhancedHistogramToRunLengthFeaturesFilter, ProcessObject );
89 
91  itkNewMacro( Self );
92 
93  typedef THistogram HistogramType;
94  typedef typename HistogramType::Pointer HistogramPointer;
95  typedef typename HistogramType::ConstPointer HistogramConstPointer;
96  typedef typename HistogramType::MeasurementType MeasurementType;
97  typedef typename HistogramType::MeasurementVectorType MeasurementVectorType;
98  typedef typename HistogramType::IndexType IndexType;
99  typedef typename HistogramType::
100  TotalAbsoluteFrequencyType FrequencyType;
101 
103  using Superclass::SetInput;
104  void SetInput ( const HistogramType * histogram );
105  const HistogramType * GetInput() const;
106 
108  typedef DataObject::Pointer DataObjectPointer;
109 
111  typedef SimpleDataObjectDecorator<MeasurementType> MeasurementObjectType;
112 
116 
120 
124 
128 
132 
136 
140 
144 
148 
152 
156 
160 
164 
168 
172 
176 
180 
181  itkGetMacro( TotalNumberOfRuns, unsigned long );
182 
183  itkGetConstMacro(NumberOfVoxels, unsigned long);
184  itkSetMacro(NumberOfVoxels, unsigned long);
185 
187  typedef enum
188  {
207 
210 
211  protected:
214  void PrintSelf(std::ostream& os, Indent indent) const ITK_OVERRIDE;
215 
217  typedef ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
218  using Superclass::MakeOutput;
220 
221  void GenerateData() ITK_OVERRIDE;
222 
223  private:
224  EnhancedHistogramToRunLengthFeaturesFilter(const Self&); //purposely not implemented
225  void operator=(const Self&); //purposely not implemented
226 
227  unsigned long m_TotalNumberOfRuns;
228  unsigned long m_NumberOfVoxels;
229  };
230  } // end of namespace Statistics
231 } // end of namespace itk
232 
233 #ifndef ITK_MANUAL_INSTANTIATION
234 #include "itkEnhancedHistogramToRunLengthFeaturesFilter.hxx"
235 #endif
236 
237 #endif
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::HighGreyLevelRunEmphasis
@ HighGreyLevelRunEmphasis
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:196
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GreyLevelNonuniformity
@ GreyLevelNonuniformity
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:191
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetRunLengthVarianceOutput
const MeasurementObjectType * GetRunLengthVarianceOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetInput
const HistogramType * GetInput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::MakeOutput
DataObjectPointer MakeOutput(DataObjectPointerArraySizeType) ITK_OVERRIDE
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::DataObjectPointerArraySizeType
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:217
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetHighGreyLevelRunEmphasis
MeasurementType GetHighGreyLevelRunEmphasis() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetLongRunEmphasisOutput
const MeasurementObjectType * GetLongRunEmphasisOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetRunEntropyOutput
const MeasurementObjectType * GetRunEntropyOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::RunEntropy
@ RunEntropy
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:205
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::ShortRunHighGreyLevelEmphasis
@ ShortRunHighGreyLevelEmphasis
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:198
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetRunLengthNonuniformityOutput
const MeasurementObjectType * GetRunLengthNonuniformityOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetLowGreyLevelRunEmphasisOutput
const MeasurementObjectType * GetLowGreyLevelRunEmphasisOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetGreyLevelNonuniformityNormalized
MeasurementType GetGreyLevelNonuniformityNormalized() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetLongRunLowGreyLevelEmphasisOutput
const MeasurementObjectType * GetLongRunLowGreyLevelEmphasisOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::RunLengthFeatureName
RunLengthFeatureName
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:187
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::RunLengthNonuniformityNormalized
@ RunLengthNonuniformityNormalized
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:194
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetNumberOfRuns
MeasurementType GetNumberOfRuns() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::HistogramType
THistogram HistogramType
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:91
itk::SmartPointer< Self >
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetShortRunHighGreyLevelEmphasisOutput
const MeasurementObjectType * GetShortRunHighGreyLevelEmphasisOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetLongRunHighGreyLevelEmphasisOutput
const MeasurementObjectType * GetLongRunHighGreyLevelEmphasisOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::IndexType
HistogramType::IndexType IndexType
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:98
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetLowGreyLevelRunEmphasis
MeasurementType GetLowGreyLevelRunEmphasis() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::Pointer
SmartPointer< Self > Pointer
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:84
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::MeasurementVectorType
HistogramType::MeasurementVectorType MeasurementVectorType
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:97
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetRunLengthNonuniformityNormalizedOutput
const MeasurementObjectType * GetRunLengthNonuniformityNormalizedOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetRunPercentage
MeasurementType GetRunPercentage() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetGreyLevelVariance
MeasurementType GetGreyLevelVariance() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetGreyLevelNonuniformity
MeasurementType GetGreyLevelNonuniformity() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetShortRunHighGreyLevelEmphasis
MeasurementType GetShortRunHighGreyLevelEmphasis() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GenerateData
void GenerateData() ITK_OVERRIDE
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetNumberOfRunsOutput
const MeasurementObjectType * GetNumberOfRunsOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:85
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::NumberOfRuns
@ NumberOfRuns
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:202
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::~EnhancedHistogramToRunLengthFeaturesFilter
~EnhancedHistogramToRunLengthFeaturesFilter() override
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:213
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetHighGreyLevelRunEmphasisOutput
const MeasurementObjectType * GetHighGreyLevelRunEmphasisOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::RunLengthVariance
@ RunLengthVariance
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:204
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GreyLevelNonuniformityNormalized
@ GreyLevelNonuniformityNormalized
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:192
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::DataObjectPointer
DataObject::Pointer DataObjectPointer
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:108
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::MeasurementObjectType
SimpleDataObjectDecorator< MeasurementType > MeasurementObjectType
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:111
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetGreyLevelNonuniformityOutput
const MeasurementObjectType * GetGreyLevelNonuniformityOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetGreyLevelVarianceOutput
const MeasurementObjectType * GetGreyLevelVarianceOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::LowGreyLevelRunEmphasis
@ LowGreyLevelRunEmphasis
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:195
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GreyLevelVariance
@ GreyLevelVariance
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:203
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetShortRunLowGreyLevelEmphasis
MeasurementType GetShortRunLowGreyLevelEmphasis() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::SetInput
void SetInput(const HistogramType *histogram)
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::Self
EnhancedHistogramToRunLengthFeaturesFilter Self
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:82
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::HistogramConstPointer
HistogramType::ConstPointer HistogramConstPointer
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:95
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter
This class computes texture feature coefficients from a grey level run-length matrix.
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:78
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::LongRunLowGreyLevelEmphasis
@ LongRunLowGreyLevelEmphasis
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:199
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::LongRunEmphasis
@ LongRunEmphasis
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:190
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::ShortRunEmphasis
@ ShortRunEmphasis
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:189
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetShortRunEmphasisOutput
const MeasurementObjectType * GetShortRunEmphasisOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::LongRunHighGreyLevelEmphasis
@ LongRunHighGreyLevelEmphasis
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:200
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::EnhancedHistogramToRunLengthFeaturesFilter
EnhancedHistogramToRunLengthFeaturesFilter()
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::HistogramPointer
HistogramType::Pointer HistogramPointer
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:94
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetLongRunEmphasis
MeasurementType GetLongRunEmphasis() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::RunPercentage
@ RunPercentage
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:201
itk
SET FUNCTIONS.
Definition: itkIntelligentBinaryClosingFilter.h:30
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::ShortRunLowGreyLevelEmphasis
@ ShortRunLowGreyLevelEmphasis
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:197
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::MeasurementType
HistogramType::MeasurementType MeasurementType
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:96
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetLongRunHighGreyLevelEmphasis
MeasurementType GetLongRunHighGreyLevelEmphasis() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetRunEntropy
MeasurementType GetRunEntropy() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::Superclass
ProcessObject Superclass
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:83
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetRunLengthNonuniformity
MeasurementType GetRunLengthNonuniformity() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetShortRunEmphasis
MeasurementType GetShortRunEmphasis() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetRunLengthNonuniformityNormalized
MeasurementType GetRunLengthNonuniformityNormalized() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::FrequencyType
HistogramType::TotalAbsoluteFrequencyType FrequencyType
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:100
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::RunLengthNonuniformity
@ RunLengthNonuniformity
Definition: itkEnhancedHistogramToRunLengthFeaturesFilter.h:193
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetRunPercentageOutput
const MeasurementObjectType * GetRunPercentageOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetGreyLevelNonuniformityNormalizedOutput
const MeasurementObjectType * GetGreyLevelNonuniformityNormalizedOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetRunLengthVariance
MeasurementType GetRunLengthVariance() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetShortRunLowGreyLevelEmphasisOutput
const MeasurementObjectType * GetShortRunLowGreyLevelEmphasisOutput() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetLongRunLowGreyLevelEmphasis
MeasurementType GetLongRunLowGreyLevelEmphasis() const
itk::Statistics::EnhancedHistogramToRunLengthFeaturesFilter::GetFeature
MeasurementType GetFeature(RunLengthFeatureName name)