ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkScalarImageToTextureFeaturesFilter.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 itkScalarImageToTextureFeaturesFilter_h
19#define itkScalarImageToTextureFeaturesFilter_h
20
22
25
26namespace itk::Statistics
27{
93
94template <typename TImageType,
95 typename THistogramFrequencyContainer = DenseFrequencyContainer2,
96 typename TMaskImageType = TImageType>
97class ITK_TEMPLATE_EXPORT ScalarImageToTextureFeaturesFilter : public ProcessObject
98{
99public:
105
107 itkOverrideGetNameOfClassMacro(ScalarImageToTextureFeaturesFilter);
108
110 itkNewMacro(Self);
111
112 using FrequencyContainerType = THistogramFrequencyContainer;
113 using ImageType = TImageType;
114 using ImagePointer = typename ImageType::Pointer;
115 using MaskImageType = TMaskImageType;
116 using MaskPointer = typename MaskImageType::Pointer;
117 using MaskPixelType = typename MaskImageType::PixelType;
118
119 using PixelType = typename ImageType::PixelType;
120 using OffsetType = typename ImageType::OffsetType;
124
127
130
131 // More work needs to be done to fix wrapping
132 // using TextureFeatureName = itk::Statistics::TextureFeatureEnum;
133 using TextureFeatureName = uint8_t;
135
140
143
146
149
152
156 void
158
159 const ImageType *
160 GetInput() const;
161
164 itkGetConstReferenceObjectMacro(FeatureMeans, FeatureValueVector);
165 itkGetConstReferenceObjectMacro(FeatureStandardDeviations, FeatureValueVector);
167
170 itkSetConstObjectMacro(RequestedFeatures, FeatureNameVector);
171 itkGetConstObjectMacro(RequestedFeatures, FeatureNameVector);
173
177 itkSetConstObjectMacro(Offsets, OffsetVector);
178 itkGetConstObjectMacro(Offsets, OffsetVector);
180
183 void
185
188 void
190
193 void
195
196 const MaskImageType *
198
201 void
203
204 itkGetConstMacro(FastCalculations, bool);
205 itkSetMacro(FastCalculations, bool);
206 itkBooleanMacro(FastCalculations);
207
208protected:
211 void
212 PrintSelf(std::ostream & os, Indent indent) const override;
213
214 void
216
217 void
219
221 void
222 GenerateData() override;
223
228
229private:
231
233
239};
240} // namespace itk::Statistics
241
242#ifndef ITK_MANUAL_INSTANTIATION
243# include "itkScalarImageToTextureFeaturesFilter.hxx"
244#endif
245
246#endif
Decorates any subclass of itkObject with a DataObject API.
SmartPointer< Self > Pointer
Control indentation during Print() invocation.
Definition itkIndent.h:50
virtual void SetInput(const DataObjectIdentifierType &key, DataObject *input)
Protected method for setting indexed and named inputs.
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx)
Make a DataObject of the correct type to used as the specified output.
Implements transparent reference counting.
This class is a container for frequencies of bins in an histogram.
This class computes texture feature coefficients from a grey level co-occurrence matrix.
This class computes a co-occurrence matrix (histogram) from a given image and a mask image if provide...
void SetPixelValueMinMax(PixelType min, PixelType max)
HistogramToTextureFeaturesFilter< HistogramType > TextureFeaturesFilterType
const FeatureValueVectorDataObjectType * GetFeatureMeansOutput() const
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
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
VectorContainer< unsigned char, TextureFeatureName > FeatureNameVector
const FeatureValueVectorDataObjectType * GetFeatureStandardDeviationsOutput() const
ScalarImageToCooccurrenceMatrixFilter< ImageType, FrequencyContainerType, MaskImageType > CooccurrenceMatrixFilterType
void SetInsidePixelValue(MaskPixelType insidePixelValue)
typename CooccurrenceMatrixFilterType::HistogramType HistogramType
detail::VectorContainer< std::conditional_t< std::is_void_v< T2 >, SizeValueType, T1 >, std::conditional_t< std::is_void_v< T2 >, T1, T2 > > VectorContainer