Medical Imaging Interaction Toolkit  2024.06.00
Medical Imaging Interaction Toolkit
itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.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 __itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter_h
31 #define __itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter_h
32 
33 #include "itkDataObjectDecorator.h"
34 
37 
38 namespace itk
39 {
40  namespace Statistics
41  {
106  template< typename TImageType,
107  typename THistogramFrequencyContainer = DenseFrequencyContainer2 >
109  {
110  public:
113  typedef ProcessObject Superclass;
116 
119 
121  itkNewMacro(Self);
122 
123  typedef THistogramFrequencyContainer FrequencyContainerType;
124  typedef TImageType ImageType;
125  typedef typename ImageType::Pointer ImagePointer;
126 
127  typedef typename ImageType::PixelType PixelType;
128  typedef typename ImageType::OffsetType OffsetType;
129  typedef VectorContainer< unsigned char, OffsetType > OffsetVector;
130  typedef typename OffsetVector::Pointer OffsetVectorPointer;
131  typedef typename OffsetVector::ConstPointer OffsetVectorConstPointer;
132 
135 
138 
141 
143  typedef VectorContainer<unsigned char,
145  typedef typename FeatureNameVector::Pointer FeatureNameVectorPointer;
146  typedef typename FeatureNameVector::ConstPointer FeatureNameVectorConstPointer;
147  typedef VectorContainer< unsigned char, double > FeatureValueVector;
148  typedef typename FeatureValueVector::Pointer FeatureValueVectorPointer;
149 
151  typedef DataObject::Pointer DataObjectPointer;
152 
154  typedef DataObjectDecorator< FeatureValueVector >
156 
158 
160  const;
161 
164  using Superclass::SetInput;
165  void SetInput(const ImageType *);
166 
167  const ImageType * GetInput() const;
168 
170  itkGetConstReferenceObjectMacro(FeatureMeans, FeatureValueVector);
171  itkGetConstReferenceObjectMacro(FeatureStandardDeviations, FeatureValueVector);
172 
174  itkSetConstObjectMacro(RequestedFeatures, FeatureNameVector);
175  itkGetConstObjectMacro(RequestedFeatures, FeatureNameVector);
176 
179  itkSetConstObjectMacro(Offsets, OffsetVector);
180  itkGetConstObjectMacro(Offsets, OffsetVector);
181 
184  void SetNumberOfBinsPerAxis(unsigned int);
185 
188  void SetPixelValueMinMax(PixelType min, PixelType max);
189 
192  void SetDistanceValueMinMax( double min, double max );
193 
196  void SetMaskImage(const ImageType *);
197 
198  const ImageType * GetMaskImage() const;
199 
202  void SetInsidePixelValue(PixelType InsidePixelValue);
203 
204  itkGetConstMacro(FastCalculations, bool);
205  itkSetMacro(FastCalculations, bool);
206  itkBooleanMacro(FastCalculations);
207 
208  protected:
211  void PrintSelf( std::ostream & os, Indent indent ) const ITK_OVERRIDE;
212 
213  void FastCompute();
214 
215  void FullCompute();
216 
218  void GenerateData() ITK_OVERRIDE;
219 
222  using Superclass::MakeOutput;
224 
225  private:
226  typename NeighbourhoodGreyLevelDifferenceMatrixFilterType::Pointer m_NeighbourhoodGreyLevelDifferenceMatrixGenerator;
227 
228  FeatureValueVectorPointer m_FeatureMeans;
229  FeatureValueVectorPointer m_FeatureStandardDeviations;
230  FeatureNameVectorConstPointer m_RequestedFeatures;
231  OffsetVectorConstPointer m_Offsets;
232  bool m_FastCalculations;
233  };
234  } // end of namespace Statistics
235 } // end of namespace itk
236 
237 #ifndef ITK_MANUAL_INSTANTIATION
238 #include "itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.hxx"
239 #endif
240 
241 #endif
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::HistogramType
NeighbourhoodGreyLevelDifferenceMatrixFilterType::HistogramType HistogramType
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:137
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::GetFeatureStandardDeviationsOutput
const FeatureValueVectorDataObjectType * GetFeatureStandardDeviationsOutput() const
itkEnhancedHistogramToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::SetPixelValueMinMax
void SetPixelValueMinMax(PixelType min, PixelType max)
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::FeatureNameVector
VectorContainer< unsigned char, NeighbourhoodGreyLevelDifferenceFeatureName > FeatureNameVector
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:144
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::OffsetVectorPointer
OffsetVector::Pointer OffsetVectorPointer
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:130
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::FeatureValueVectorDataObjectType
DataObjectDecorator< FeatureValueVector > FeatureValueVectorDataObjectType
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:155
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::FeatureValueVector
VectorContainer< unsigned char, double > FeatureValueVector
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:147
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::SetMaskImage
void SetMaskImage(const ImageType *)
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceMatrixFilter
This class computes a run length matrix (histogram) from a given image and a mask image if provided....
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceMatrixFilter.h:117
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::NeighbourhoodGreyLevelDifferenceFeaturesFilterType
EnhancedHistogramToNeighbourhoodGreyLevelDifferenceFeaturesFilter< HistogramType > NeighbourhoodGreyLevelDifferenceFeaturesFilterType
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:140
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::Superclass
ProcessObject Superclass
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:113
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceMatrixFilter::HistogramType
Histogram< MeasurementType, THistogramFrequencyContainer > HistogramType
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceMatrixFilter.h:148
itk::SmartPointer< Self >
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::Pointer
SmartPointer< Self > Pointer
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:114
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::Self
EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter Self
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:112
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::PrintSelf
void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::GetInput
const ImageType * GetInput() const
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::OffsetVector
VectorContainer< unsigned char, OffsetType > OffsetVector
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:129
itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceMatrixFilter.h
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::PixelType
ImageType::PixelType PixelType
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:127
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::SetInsidePixelValue
void SetInsidePixelValue(PixelType InsidePixelValue)
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter
This class computes run length descriptions from an image.
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:108
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::GetFeatureMeansOutput
const FeatureValueVectorDataObjectType * GetFeatureMeansOutput() const
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::SetDistanceValueMinMax
void SetDistanceValueMinMax(double min, double max)
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::SetNumberOfBinsPerAxis
void SetNumberOfBinsPerAxis(unsigned int)
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::SetInput
void SetInput(const ImageType *)
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::NeighbourhoodGreyLevelDifferenceMatrixFilterType
EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceMatrixFilter< ImageType, FrequencyContainerType > NeighbourhoodGreyLevelDifferenceMatrixFilterType
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:134
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::OffsetVectorConstPointer
OffsetVector::ConstPointer OffsetVectorConstPointer
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:131
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::NeighbourhoodGreyLevelDifferenceFeatureName
short NeighbourhoodGreyLevelDifferenceFeatureName
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:142
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::FeatureNameVectorPointer
FeatureNameVector::Pointer FeatureNameVectorPointer
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:145
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::GetMaskImage
const ImageType * GetMaskImage() const
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::FrequencyContainerType
THistogramFrequencyContainer FrequencyContainerType
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:121
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter
EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter()
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:115
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::~EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter
~EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter() override
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:210
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::ImageType
TImageType ImageType
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:124
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::FastCompute
void FastCompute()
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::DataObjectPointer
DataObject::Pointer DataObjectPointer
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:151
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::FullCompute
void FullCompute()
itk
SET FUNCTIONS.
Definition: itkIntelligentBinaryClosingFilter.h:30
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::DataObjectPointerArraySizeType
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:221
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::FeatureValueVectorPointer
FeatureValueVector::Pointer FeatureValueVectorPointer
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:148
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::MakeOutput
DataObjectPointer MakeOutput(DataObjectPointerArraySizeType) ITK_OVERRIDE
itk::Statistics::EnhancedHistogramToNeighbourhoodGreyLevelDifferenceFeaturesFilter
This class computes texture feature coefficients from a grey level Zone-length matrix.
Definition: itkEnhancedHistogramToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:78
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::ImagePointer
ImageType::Pointer ImagePointer
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:125
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::OffsetType
ImageType::OffsetType OffsetType
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:128
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::GenerateData
void GenerateData() ITK_OVERRIDE
itk::Statistics::EnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter::FeatureNameVectorConstPointer
FeatureNameVector::ConstPointer FeatureNameVectorConstPointer
Definition: itkEnhancedScalarImageToNeighbourhoodGreyLevelDifferenceFeaturesFilter.h:146