Medical Imaging Interaction Toolkit  2023.12.00
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
itkEnhancedScalarImageToSizeZoneFeaturesFilter.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 __itkEnhancedScalarImageToSizeZoneFeaturesFilter_h
31 #define __itkEnhancedScalarImageToSizeZoneFeaturesFilter_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 
118  itkTypeMacro(EnhancedScalarImageToSizeZoneFeaturesFilter, ProcessObject);
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 
142  typedef short SizeZoneFeatureName;
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  virtual void PrintSelf( std::ostream & os, Indent indent ) const ITK_OVERRIDE;
212 
213  void FastCompute();
214 
215  void FullCompute();
216 
218  virtual void GenerateData() ITK_OVERRIDE;
219 
222  using Superclass::MakeOutput;
224 
225  private:
226  typename SizeZoneMatrixFilterType::Pointer m_SizeZoneMatrixGenerator;
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 "itkEnhancedScalarImageToSizeZoneFeaturesFilter.hxx"
239 #endif
240 
241 #endif
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::ImagePointer
ImageType::Pointer ImagePointer
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:125
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::OffsetVectorConstPointer
OffsetVector::ConstPointer OffsetVectorConstPointer
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:131
itkEnhancedHistogramToSizeZoneFeaturesFilter.h
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::SizeZoneFeatureName
short SizeZoneFeatureName
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:142
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::FeatureValueVectorDataObjectType
DataObjectDecorator< FeatureValueVector > FeatureValueVectorDataObjectType
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:155
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::FeatureNameVectorConstPointer
FeatureNameVector::ConstPointer FeatureNameVectorConstPointer
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:146
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::GenerateData
virtual void GenerateData() ITK_OVERRIDE
itkEnhancedScalarImageToSizeZoneMatrixFilter.h
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::Superclass
ProcessObject Superclass
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:113
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::FeatureValueVector
VectorContainer< unsigned char, double > FeatureValueVector
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:147
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::DataObjectPointer
DataObject::Pointer DataObjectPointer
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:151
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::PixelType
ImageType::PixelType PixelType
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:127
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::FeatureNameVectorPointer
FeatureNameVector::Pointer FeatureNameVectorPointer
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:145
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::ConstPointer
SmartPointer< const Self > ConstPointer
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:115
itk::Statistics::EnhancedScalarImageToSizeZoneMatrixFilter
This class computes a run length matrix (histogram) from a given image and a mask image if provided....
Definition: itkEnhancedScalarImageToSizeZoneMatrixFilter.h:117
itk::SmartPointer< Self >
itk::Statistics::EnhancedHistogramToSizeZoneFeaturesFilter
This class computes texture feature coefficients from a grey level Zone-length matrix.
Definition: itkEnhancedHistogramToSizeZoneFeaturesFilter.h:78
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::Pointer
SmartPointer< Self > Pointer
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:114
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::FeatureValueVectorPointer
FeatureValueVector::Pointer FeatureValueVectorPointer
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:148
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::OffsetVector
VectorContainer< unsigned char, OffsetType > OffsetVector
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:129
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::~EnhancedScalarImageToSizeZoneFeaturesFilter
virtual ~EnhancedScalarImageToSizeZoneFeaturesFilter()
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:210
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::OffsetVectorPointer
OffsetVector::Pointer OffsetVectorPointer
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:130
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::FastCompute
void FastCompute()
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::GetMaskImage
const ImageType * GetMaskImage() const
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter
This class computes run length descriptions from an image.
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:108
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::SetInsidePixelValue
void SetInsidePixelValue(PixelType InsidePixelValue)
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::SetDistanceValueMinMax
void SetDistanceValueMinMax(double min, double max)
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::SizeZoneMatrixFilterType
EnhancedScalarImageToSizeZoneMatrixFilter< ImageType, FrequencyContainerType > SizeZoneMatrixFilterType
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:134
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::SetMaskImage
void SetMaskImage(const ImageType *)
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::GetInput
const ImageType * GetInput() const
itk::Statistics::EnhancedScalarImageToSizeZoneMatrixFilter::HistogramType
Histogram< MeasurementType, THistogramFrequencyContainer > HistogramType
Definition: itkEnhancedScalarImageToSizeZoneMatrixFilter.h:148
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::HistogramType
SizeZoneMatrixFilterType::HistogramType HistogramType
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:137
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::PrintSelf
virtual void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::FeatureNameVector
VectorContainer< unsigned char, SizeZoneFeatureName > FeatureNameVector
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:144
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::SetInput
void SetInput(const ImageType *)
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::OffsetType
ImageType::OffsetType OffsetType
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:128
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::GetFeatureMeansOutput
const FeatureValueVectorDataObjectType * GetFeatureMeansOutput() const
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::SetNumberOfBinsPerAxis
void SetNumberOfBinsPerAxis(unsigned int)
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::SizeZoneFeaturesFilterType
EnhancedHistogramToSizeZoneFeaturesFilter< HistogramType > SizeZoneFeaturesFilterType
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:140
itk
SET FUNCTIONS.
Definition: itkIntelligentBinaryClosingFilter.h:30
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::MakeOutput
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType) ITK_OVERRIDE
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::FullCompute
void FullCompute()
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::GetFeatureStandardDeviationsOutput
const FeatureValueVectorDataObjectType * GetFeatureStandardDeviationsOutput() const
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::SetPixelValueMinMax
void SetPixelValueMinMax(PixelType min, PixelType max)
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::DataObjectPointerArraySizeType
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:221
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::Self
EnhancedScalarImageToSizeZoneFeaturesFilter Self
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:112
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::FrequencyContainerType
THistogramFrequencyContainer FrequencyContainerType
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:121
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::EnhancedScalarImageToSizeZoneFeaturesFilter
EnhancedScalarImageToSizeZoneFeaturesFilter()
itk::Statistics::EnhancedScalarImageToSizeZoneFeaturesFilter::ImageType
TImageType ImageType
Definition: itkEnhancedScalarImageToSizeZoneFeaturesFilter.h:124