Orfeo Toolbox  3.16
itkContourDirectedMeanDistanceImageFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkContourDirectedMeanDistanceImageFilter.h,v $
5  Language: C++
6  Date: $Date: 2009-04-25 12:27:20 $
7  Version: $Revision: 1.7 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkContourDirectedMeanDistanceImageFilter_h
18 #define __itkContourDirectedMeanDistanceImageFilter_h
19 
20 #include "itkImageToImageFilter.h"
21 #include "itkNumericTraits.h"
22 #include "itkArray.h"
23 #include "itkImage.h"
24 
25 namespace itk {
26 
63 template<class TInputImage1, class TInputImage2>
65  public ImageToImageFilter<TInputImage1, TInputImage1>
66 {
67 public:
73 
75  itkNewMacro(Self);
76 
79 
81  typedef TInputImage1 InputImage1Type;
82  typedef TInputImage2 InputImage2Type;
83  typedef typename TInputImage1::Pointer InputImage1Pointer;
84  typedef typename TInputImage2::Pointer InputImage2Pointer;
85  typedef typename TInputImage1::ConstPointer InputImage1ConstPointer;
86  typedef typename TInputImage2::ConstPointer InputImage2ConstPointer;
87 
88  typedef typename TInputImage1::RegionType RegionType;
89  typedef typename TInputImage1::SizeType SizeType;
90  typedef typename TInputImage1::IndexType IndexType;
91 
92  typedef typename TInputImage1::PixelType InputImage1PixelType;
93  typedef typename TInputImage2::PixelType InputImage2PixelType;
94 
96  itkStaticConstMacro(ImageDimension, unsigned int,
97  TInputImage1::ImageDimension);
98 
100  typedef typename NumericTraits<InputImage1PixelType>::RealType RealType;
101 
103  void SetInput1( const InputImage1Type * image )
104  {
105  this->SetInput( image );
106  }
107 
109  void SetInput2( const InputImage2Type * image );
110 
112  const InputImage1Type * GetInput1(void)
113  {
114  return this->GetInput();
115  }
116 
118  const InputImage2Type * GetInput2(void);
119 
121  itkGetConstMacro(ContourDirectedMeanDistance,RealType);
122 
123 #ifdef ITK_USE_CONCEPT_CHECKING
124 
125  itkConceptMacro(InputHasNumericTraitsCheck,
128 #endif
129 
130 protected:
133  void PrintSelf(std::ostream& os, Indent indent) const;
134 
136  void AllocateOutputs();
137 
139  void BeforeThreadedGenerateData ();
140 
142  void AfterThreadedGenerateData ();
143 
145  void ThreadedGenerateData (const RegionType&
146  outputRegionForThread,
147  int threadId);
148 
149  // Override since the filter needs all the data for the algorithm
150  void GenerateInputRequestedRegion();
151 
152  // Override since the filter produces all of its output
153  void EnlargeOutputRequestedRegion(DataObject *data);
154 
155 private:
156  ContourDirectedMeanDistanceImageFilter(const Self&); //purposely not implemented
157  void operator=(const Self&); //purposely not implemented
158 
160 
165 
166 }; // end of class
167 
168 } // end namespace itk
169 
170 #ifndef ITK_MANUAL_INSTANTIATION
172 #endif
173 
174 #endif

Generated at Sat Feb 2 2013 23:33:34 for Orfeo Toolbox with doxygen 1.8.1.1