Medical Imaging Interaction Toolkit  2024.06.00
Medical Imaging Interaction Toolkit
itkEnhancedHistogramToSizeZoneFeaturesFilter.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 __itkEnhancedHistogramToSizeZoneFeaturesFilter_h
31 #define __itkEnhancedHistogramToSizeZoneFeaturesFilter_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 EnhancedHistogramToSizeZoneFeaturesFilter : public ProcessObject
79  {
80  public:
83  typedef ProcessObject Superclass;
86 
88  itkTypeMacro( EnhancedHistogramToSizeZoneFeaturesFilter, 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( TotalNumberOfZones, unsigned long );
182 
183  itkGetConstMacro(NumberOfVoxels, unsigned long);
184  itkSetMacro(NumberOfVoxels, unsigned long);
185 
187  typedef enum
188  {
206 
209 
210  protected:
213  virtual void PrintSelf(std::ostream& os, Indent indent) const ITK_OVERRIDE;
214 
216  typedef ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType;
217  using Superclass::MakeOutput;
219 
220  virtual void GenerateData() ITK_OVERRIDE;
221 
222  private:
223  EnhancedHistogramToSizeZoneFeaturesFilter(const Self&); //purposely not implemented
224  void operator=(const Self&); //purposely not implemented
225 
226  unsigned long m_TotalNumberOfZones;
227  unsigned long m_NumberOfVoxels;
228  };
229  } // end of namespace Statistics
230 } // end of namespace itk
231 
232 #ifndef ITK_MANUAL_INSTANTIATION
233 #include "itkEnhancedHistogramToSizeZoneFeaturesFilter.hxx"
234 #endif
235 
236 #endif
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::SizeZoneVariance
@ SizeZoneVariance
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:203
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::MeasurementType
HistogramType::MeasurementType MeasurementType
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:96
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GreyLevelVariance
@ GreyLevelVariance
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:202
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetLargeZoneLowGreyLevelEmphasisOutput
const MeasurementObjectType * GetLargeZoneLowGreyLevelEmphasisOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetSmallZoneEmphasis
MeasurementType GetSmallZoneEmphasis() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::ZoneEntropy
@ ZoneEntropy
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:204
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::LargeZoneHighGreyLevelEmphasis
@ LargeZoneHighGreyLevelEmphasis
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:200
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetZoneEntropy
MeasurementType GetZoneEntropy() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetGreyLevelNonuniformityNormalizedOutput
const MeasurementObjectType * GetGreyLevelNonuniformityNormalizedOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetSizeZoneVarianceOutput
const MeasurementObjectType * GetSizeZoneVarianceOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::MeasurementVectorType
HistogramType::MeasurementVectorType MeasurementVectorType
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:97
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::~EnhancedHistogramToSizeZoneFeaturesFilter
~EnhancedHistogramToSizeZoneFeaturesFilter()
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:212
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::Superclass
ProcessObject Superclass
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:83
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::MeasurementObjectType
SimpleDataObjectDecorator< MeasurementType > MeasurementObjectType
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:111
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::IndexType
HistogramType::IndexType IndexType
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:98
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetLargeZoneLowGreyLevelEmphasis
MeasurementType GetLargeZoneLowGreyLevelEmphasis() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetNumberOfZonesOutput
const MeasurementObjectType * GetNumberOfZonesOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::DataObjectPointerArraySizeType
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:216
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetSmallZoneHighGreyLevelEmphasis
MeasurementType GetSmallZoneHighGreyLevelEmphasis() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::ZonePercentage
@ ZonePercentage
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:201
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:85
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetLowGreyLevelZoneEmphasis
MeasurementType GetLowGreyLevelZoneEmphasis() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::SizeZoneFeatureName
SizeZoneFeatureName
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:187
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::DataObjectPointer
DataObject::Pointer DataObjectPointer
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:108
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetSizeZoneNonuniformity
MeasurementType GetSizeZoneNonuniformity() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GenerateData
virtual void GenerateData() ITK_OVERRIDE
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::HistogramType
THistogram HistogramType
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:91
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::Self
EnhancedHistogramToSizeZoneFeaturesFilter Self
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:82
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetLowGreyLevelZoneEmphasisOutput
const MeasurementObjectType * GetLowGreyLevelZoneEmphasisOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetSizeZoneNonuniformityNormalizedOutput
const MeasurementObjectType * GetSizeZoneNonuniformityNormalizedOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::LargeZoneEmphasis
@ LargeZoneEmphasis
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:190
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetLargeZoneHighGreyLevelEmphasisOutput
const MeasurementObjectType * GetLargeZoneHighGreyLevelEmphasisOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetGreyLevelVariance
MeasurementType GetGreyLevelVariance() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetSizeZoneNonuniformityOutput
const MeasurementObjectType * GetSizeZoneNonuniformityOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetSmallZoneLowGreyLevelEmphasis
MeasurementType GetSmallZoneLowGreyLevelEmphasis() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetGreyLevelNonuniformityNormalized
MeasurementType GetGreyLevelNonuniformityNormalized() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::SetInput
void SetInput(const HistogramType *histogram)
itk::SmartPointer< Self >
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GreyLevelNonuniformityNormalized
@ GreyLevelNonuniformityNormalized
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:192
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter
This class computes texture feature coefficients from a grey level Zone-length matrix.
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:78
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetLargeZoneHighGreyLevelEmphasis
MeasurementType GetLargeZoneHighGreyLevelEmphasis() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::LargeZoneLowGreyLevelEmphasis
@ LargeZoneLowGreyLevelEmphasis
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:199
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::SizeZoneNonuniformity
@ SizeZoneNonuniformity
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:193
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetInput
const HistogramType * GetInput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetLargeZoneEmphasisOutput
const MeasurementObjectType * GetLargeZoneEmphasisOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::EnhancedHistogramToSizeZoneFeaturesFilter
EnhancedHistogramToSizeZoneFeaturesFilter()
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::SmallZoneHighGreyLevelEmphasis
@ SmallZoneHighGreyLevelEmphasis
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:198
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetSmallZoneHighGreyLevelEmphasisOutput
const MeasurementObjectType * GetSmallZoneHighGreyLevelEmphasisOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetZoneEntropyOutput
const MeasurementObjectType * GetZoneEntropyOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetGreyLevelVarianceOutput
const MeasurementObjectType * GetGreyLevelVarianceOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::HistogramPointer
HistogramType::Pointer HistogramPointer
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:94
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetFeature
MeasurementType GetFeature(SizeZoneFeatureName name)
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetNumberOfZones
MeasurementType GetNumberOfZones() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetSizeZoneNonuniformityNormalized
MeasurementType GetSizeZoneNonuniformityNormalized() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetHighGreyLevelZoneEmphasisOutput
const MeasurementObjectType * GetHighGreyLevelZoneEmphasisOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GreyLevelNonuniformity
@ GreyLevelNonuniformity
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:191
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetHighGreyLevelZoneEmphasis
MeasurementType GetHighGreyLevelZoneEmphasis() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetSmallZoneEmphasisOutput
const MeasurementObjectType * GetSmallZoneEmphasisOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetSizeZoneVariance
MeasurementType GetSizeZoneVariance() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::SizeZoneNonuniformityNormalized
@ SizeZoneNonuniformityNormalized
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:194
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::Pointer
SmartPointer< Self > Pointer
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:84
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::HighGreyLevelZoneEmphasis
@ HighGreyLevelZoneEmphasis
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:196
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::FrequencyType
HistogramType::TotalAbsoluteFrequencyType FrequencyType
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:100
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::LowGreyLevelZoneEmphasis
@ LowGreyLevelZoneEmphasis
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:195
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetLargeZoneEmphasis
MeasurementType GetLargeZoneEmphasis() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::SmallZoneLowGreyLevelEmphasis
@ SmallZoneLowGreyLevelEmphasis
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:197
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetGreyLevelNonuniformityOutput
const MeasurementObjectType * GetGreyLevelNonuniformityOutput() const
itk
SET FUNCTIONS.
Definition: itkIntelligentBinaryClosingFilter.h:30
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetSmallZoneLowGreyLevelEmphasisOutput
const MeasurementObjectType * GetSmallZoneLowGreyLevelEmphasisOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::SmallZoneEmphasis
@ SmallZoneEmphasis
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:189
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetZonePercentage
MeasurementType GetZonePercentage() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::PrintSelf
virtual void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetZonePercentageOutput
const MeasurementObjectType * GetZonePercentageOutput() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::HistogramConstPointer
HistogramType::ConstPointer HistogramConstPointer
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:95
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::GetGreyLevelNonuniformity
MeasurementType GetGreyLevelNonuniformity() const
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter::MakeOutput
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType) ITK_OVERRIDE