Medical Imaging Interaction Toolkit  2024.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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)