ITK  4.8.0
Insight Segmentation and Registration Toolkit
itkHistogramToRunLengthFeaturesFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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  * http://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 itkHistogramToRunLengthFeaturesFilter_h
19 #define itkHistogramToRunLengthFeaturesFilter_h
20 
21 #include "itkHistogram.h"
22 #include "itkMacro.h"
23 #include "itkProcessObject.h"
25 
26 namespace itk {
27 namespace Statistics {
65 template< typename THistogram >
67 {
68 public:
74 
77 
79  itkNewMacro( Self );
80 
81  typedef THistogram HistogramType;
82  typedef typename HistogramType::Pointer HistogramPointer;
83  typedef typename HistogramType::ConstPointer HistogramConstPointer;
84  typedef typename HistogramType::MeasurementType MeasurementType;
85  typedef typename HistogramType::MeasurementVectorType MeasurementVectorType;
86  typedef typename HistogramType::IndexType IndexType;
87  typedef typename HistogramType::
88  TotalAbsoluteFrequencyType FrequencyType;
89 
92  void SetInput ( const HistogramType * histogram );
93  const HistogramType * GetInput() const;
95 
98 
101 
106 
111 
116 
121 
126 
131 
136 
141 
146 
151 
152  itkGetMacro( TotalNumberOfRuns, unsigned long );
153 
155  typedef enum
156  {
168 
171 
172 protected:
175  virtual void PrintSelf(std::ostream& os, Indent indent) const ITK_OVERRIDE;
176 
181 
182  virtual void GenerateData() ITK_OVERRIDE;
183 
184 private:
185  HistogramToRunLengthFeaturesFilter(const Self&); //purposely not implemented
186  void operator=(const Self&); //purposely not implemented
187 
188  unsigned long m_TotalNumberOfRuns;
189 
190 };
191 
192 } // end of namespace Statistics
193 } // end of namespace itk
194 
195 #ifndef ITK_MANUAL_INSTANTIATION
196 #include "itkHistogramToRunLengthFeaturesFilter.hxx"
197 #endif
198 
199 #endif
const MeasurementObjectType * GetShortRunEmphasisOutput() const
Light weight base class for most itk classes.
This class computes texture feature coefficients from a grey level run-length matrix.
const MeasurementObjectType * GetGreyLevelNonuniformityOutput() const
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
SimpleDataObjectDecorator< MeasurementType > MeasurementObjectType
MeasurementType GetLongRunHighGreyLevelEmphasis() const
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType) override
Make a DataObject of the correct type to used as the specified output.
const MeasurementObjectType * GetLongRunLowGreyLevelEmphasisOutput() const
Decorates any &quot;simple&quot; data type (data types without smart pointers) with a DataObject API...
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
virtual void SetInput(const DataObjectIdentifierType &key, DataObject *input)
Protected method for setting indexed and named inputs.
MeasurementType GetFeature(RunLengthFeatureName name)
const MeasurementObjectType * GetRunLengthNonuniformityOutput() const
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx)
Make a DataObject of the correct type to used as the specified output.
MeasurementType GetShortRunHighGreyLevelEmphasis() const
const MeasurementObjectType * GetLongRunHighGreyLevelEmphasisOutput() const
const MeasurementObjectType * GetShortRunLowGreyLevelEmphasisOutput() const
virtual void PrintSelf(std::ostream &os, Indent indent) const override
const MeasurementObjectType * GetLowGreyLevelRunEmphasisOutput() const
Control indentation during Print() invocation.
Definition: itkIndent.h:49
const MeasurementObjectType * GetHighGreyLevelRunEmphasisOutput() const
MeasurementType GetShortRunLowGreyLevelEmphasis() const
void SetInput(const HistogramType *histogram)
const MeasurementObjectType * GetShortRunHighGreyLevelEmphasisOutput() const
const MeasurementObjectType * GetLongRunEmphasisOutput() const