ITK  4.10.0
Insight Segmentation and Registration Toolkit
itkScalarImageToCooccurrenceListSampleFilter.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 itkScalarImageToCooccurrenceListSampleFilter_h
19 #define itkScalarImageToCooccurrenceListSampleFilter_h
20 
21 #include <typeinfo>
22 
24 #include "itkSmartPointer.h"
25 #include "itkImageRegionIterator.h"
29 #include "itkFixedArray.h"
30 
31 #include <vector>
32 #include <algorithm>
33 #include <iostream>
34 
35 namespace itk
36 {
37 namespace Statistics
38 {
50 template< typename TImage >
52  public ProcessObject
53 {
54 public:
55  typedef TImage ImageType;
56 
58 
61 
67 
70  TImage,
73 
76  typedef std::vector< OffsetType > OffsetTable;
77 
78  void UseNeighbor(const OffsetType & offset);
79 
82  void SetInput(const ImageType *image);
83 
84  const ImageType * GetInput() const;
85 
87  const SampleType * GetOutput() const;
88 
91 
93  itkNewMacro(Self);
94 
96  itkStaticConstMacro(MeasurementVectorSize, unsigned int, 2);
97 
99  itkStaticConstMacro(ImageDimension, unsigned int,
100  TImage::ImageDimension);
101 
102 protected:
105  virtual void PrintSelf(std::ostream & os, Indent indent) const ITK_OVERRIDE;
106 
110  virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
111 
113  virtual void GenerateData() ITK_OVERRIDE;
114 
115 private:
116  ScalarImageToCooccurrenceListSampleFilter(const Self &) ITK_DELETE_FUNCTION;
117  void operator=(const Self &) ITK_DELETE_FUNCTION;
118 
119  OffsetTable m_OffsetTable;
120 }; // end of class ScalarImageToListSampleFilter
121 } // end of namespace Statistics
122 } // end of namespace itk
123 
124 #ifndef ITK_MANUAL_INSTANTIATION
125 #include "itkScalarImageToCooccurrenceListSampleFilter.hxx"
126 #endif
127 
128 #endif
itk::ShapedNeighborhoodIterator< TImage, ConstantBoundaryCondition< TImage > > ShapedNeighborhoodIteratorType
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override
Make a DataObject of the correct type to used as the specified output.
This boundary condition returns a constant value for out-of-bounds image pixels.
The base class for all process objects (source, filters, mappers) in the Insight data processing pipe...
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
Definition: itkArray.h:30
A neighborhood iterator which can take on an arbitrary shape.
Simulate a standard C array with copy semnatics.
Definition: itkFixedArray.h:50
Converts pixel data into a list of pairs in order to compute a cooccurrence Histogram.
DataObjectPointerArray::size_type DataObjectPointerArraySizeType
virtual void PrintSelf(std::ostream &os, Indent indent) const override
virtual void SetInput(const DataObjectIdentifierType &key, DataObject *input)
Protected method for setting indexed and named inputs.
virtual DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx)
Make a DataObject of the correct type to used as the specified output.
Superclass::MeasurementVectorSizeType MeasurementVectorSizeType
Definition: itkListSample.h:68
This class is the native implementation of the a Sample with an STL container.
Definition: itkListSample.h:51
Control indentation during Print() invocation.
Definition: itkIndent.h:49