ITK  6.0.0
Insight Toolkit
itkScalarImageToRunLengthFeaturesFilter.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * https://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkScalarImageToRunLengthFeaturesFilter_h
19#define itkScalarImageToRunLengthFeaturesFilter_h
20
22
25
26namespace itk
27{
28namespace Statistics
29{
94template <typename TImageType, typename THistogramFrequencyContainer = DenseFrequencyContainer2>
95class ITK_TEMPLATE_EXPORT ScalarImageToRunLengthFeaturesFilter : public ProcessObject
96{
97public:
103
105 itkOverrideGetNameOfClassMacro(ScalarImageToRunLengthFeaturesFilter);
106
108 itkNewMacro(Self);
109
110 using FrequencyContainerType = THistogramFrequencyContainer;
111 using ImageType = TImageType;
113
114 using PixelType = typename ImageType::PixelType;
115 using OffsetType = typename ImageType::OffsetType;
119
121
123
125
126 // More work needs to be done to fix wrapping
127 // using RunLengthFeatureName = itk::Statistics::RunLengthFeatureEnum;
128 using RunLengthFeatureName = uint8_t;
134
137
140
143
146
149 using Superclass::SetInput;
150 void
152
153 const ImageType *
154 GetInput() const;
155
157 itkGetConstReferenceObjectMacro(FeatureMeans, FeatureValueVector);
158 itkGetConstReferenceObjectMacro(FeatureStandardDeviations, FeatureValueVector);
162 itkSetConstObjectMacro(RequestedFeatures, FeatureNameVector);
163 itkGetConstObjectMacro(RequestedFeatures, FeatureNameVector);
168 itkSetConstObjectMacro(Offsets, OffsetVector);
169 itkGetConstObjectMacro(Offsets, OffsetVector);
174 void
176
179 void
185 void
186 SetDistanceValueMinMax(double min, double max);
191 void
193
194 const ImageType *
196
199 void
201
202 itkGetConstMacro(FastCalculations, bool);
203 itkSetMacro(FastCalculations, bool);
204 itkBooleanMacro(FastCalculations);
205
206protected:
209 void
210 PrintSelf(std::ostream & os, Indent indent) const override;
211
212 void
214
215 void
217
219 void
220 GenerateData() override;
221
224 using Superclass::MakeOutput;
226
227private:
228 typename RunLengthMatrixFilterType::Pointer m_RunLengthMatrixGenerator{};
229
231 FeatureValueVectorPointer m_FeatureStandardDeviations{};
232 FeatureNameVectorConstPointer m_RequestedFeatures{};
234 bool m_FastCalculations{};
235};
236} // end of namespace Statistics
237} // end of namespace itk
238
239#ifndef ITK_MANUAL_INSTANTIATION
240# include "itkScalarImageToRunLengthFeaturesFilter.hxx"
241#endif
242
243#endif
Decorates any subclass of itkObject with a DataObject API.
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
Definition: itkIndent.h:50
Light weight base class for most itk classes.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
This class computes texture feature coefficients from a grey level run-length matrix.
This class stores measurement vectors in the context of n-dimensional histogram.
Definition: itkHistogram.h:78
This class computes run length descriptions from an image.
void SetInsidePixelValue(PixelType insidePixelValue)
DataObjectPointer MakeOutput(DataObjectPointerArraySizeType) override
Make a DataObject of the correct type to used as the specified output.
void PrintSelf(std::ostream &os, Indent indent) const override
void SetPixelValueMinMax(PixelType min, PixelType max)
const FeatureValueVectorDataObjectType * GetFeatureStandardDeviationsOutput() const
const FeatureValueVectorDataObjectType * GetFeatureMeansOutput() const
This class computes a run length matrix (histogram) from a given image and a mask image if provided....
Define a front-end to the STL "vector" container that conforms to the IndexedContainerInterface.
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
class ITK_FORWARD_EXPORT ProcessObject
Definition: itkDataObject.h:41