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
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