Orfeo Toolbox  3.16
itkLevelSetVelocityNeighborhoodExtractor.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkLevelSetVelocityNeighborhoodExtractor.h,v $
5  Language: C++
6  Date: $Date: 2009-01-24 20:02:58 $
7  Version: $Revision: 1.23 $
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 __itkLevelSetVelocityNeighborhoodExtractor_h
18 #define __itkLevelSetVelocityNeighborhoodExtractor_h
19 
21 #include "itkLevelSet.h"
22 #include "itkIndex.h"
23 
24 namespace itk
25 {
26 
54 template <
55  class TLevelSet,
56  class TAuxValue,
57  unsigned int VAuxDimension = 1
58  >
60  public LevelSetNeighborhoodExtractor<TLevelSet>
61 {
62 public:
68 
70  itkNewMacro(Self);
71 
75 
78 
80  itkStaticConstMacro(SetDimension, unsigned int,
81  LevelSetType::SetDimension);
82 
84  typedef ::itk::Index<itkGetStaticConstMacro(SetDimension)> Index;
85 
95 
97  void SetAuxImage( const AuxImageType * ptr, unsigned int idx = 0 )
98  {
99  if ( idx < VAuxDimension && m_AuxImage[idx] != ptr )
100  {
101  m_AuxImage[idx] = ptr;
102  }
103  this->Modified();
104  }
105 
107  AuxImageConstPointer GetAuxImage( unsigned int idx = 0 )
108  {
109  if ( idx >= VAuxDimension )
110  {
111  return NULL;
112  }
113  else
114  {
115  return m_AuxImage[idx];
116  }
117  }
118 
121  itkGetObjectMacro( AuxInsideValues, AuxValueContainer );
122 
125  itkGetObjectMacro( AuxOutsideValues, AuxValueContainer );
126 
127 protected:
130  void PrintSelf( std::ostream& os, Indent indent ) const;
131 
132  virtual void Initialize();
133  virtual double CalculateDistance( Index & index );
134 
135 private:
136  LevelSetVelocityNeighborhoodExtractor(const Self&); //purposely not implemented
137  void operator=(const Self&); //purposely not implemented
138 
141  AuxImageConstPointer m_AuxImage[VAuxDimension];
142 
143 };
144 
145 } // namespace itk
146 
147 #ifndef ITK_MANUAL_INSTANTIATION
149 #endif
150 
151 #endif

Generated at Sat Feb 2 2013 23:51:03 for Orfeo Toolbox with doxygen 1.8.1.1