Orfeo Toolbox  4.0
itkWatershedBoundaryResolver.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 __itkWatershedBoundaryResolver_h
19 #define __itkWatershedBoundaryResolver_h
20 
21 
22 #include "itkWatershedSegmenter.h"
23 
24 namespace itk
25 {
26 namespace watershed
27 {
63 template< typename TPixelType, unsigned int TDimension >
65 {
66 public:
72  itkNewMacro(Self);
73  itkTypeMacro(WatershedBoundaryResolver, ProcessObject);
74 
76  itkStaticConstMacro(ImageDimension, unsigned int, TDimension);
77 
79  typedef TPixelType PixelType;
84 
87  { this->ProcessObject::SetNthInput(0, bd); }
89  { return static_cast< BoundaryType * >( this->GetInput(0) ); }
90 
93  { this->ProcessObject::SetNthInput(1, bd); }
95  { return static_cast< BoundaryType * >( this->GetInput(1) ); }
96 
99  itkSetMacro(Face, unsigned short);
100  itkGetConstMacro(Face, unsigned short);
101 
106  { this->ProcessObject::SetNthOutput( 0, a.GetPointer() ); }
108  {
109  return static_cast< EquivalencyTableType * >
110  ( this->ProcessObject::GetOutput(0) );
111  }
112 
114  void GenerateData();
115 
120 
121 protected:
123  {
125  static_cast< EquivalencyTable * >( this->MakeOutput(0).GetPointer() );
126 
128  this->ProcessObject::SetNthOutput( 0, eq.GetPointer() );
129  }
130 
131  virtual ~BoundaryResolver() {}
132  BoundaryResolver(const Self &) {}
133  void operator=(const Self &) {}
134  void PrintSelf(std::ostream & os, Indent indent) const;
135 
136  unsigned short m_Face;
138 };
139 } // end namespace watershed
140 } // end namespace itk
141 
142 #ifndef ITK_MANUAL_INSTANTIATION
144 #endif
145 
146 #endif

Generated at Sat Mar 8 2014 15:46:38 for Orfeo Toolbox with doxygen 1.8.3.1