00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _itkPathToChainCodePathFilter_h
00019 #define _itkPathToChainCodePathFilter_h
00020
00021 #include "itkPathToPathFilter.h"
00022 #include "itkOffset.h"
00023
00024
00025 namespace itk
00026 {
00027
00037 template <class TInputPath, class TOutputChainCodePath>
00038 class ITK_EXPORT PathToChainCodePathFilter : public
00039 PathToPathFilter< TInputPath, TOutputChainCodePath >
00040 {
00041 public:
00043 typedef PathToChainCodePathFilter Self;
00044 typedef PathToPathFilter< TInputPath, TOutputChainCodePath > Superclass;
00045 typedef SmartPointer<Self> Pointer;
00046 typedef SmartPointer<const Self> ConstPointer;
00047
00049 itkNewMacro(Self);
00050
00052 itkTypeMacro(PathToChainCodePathFilter, PathToPathFilter);
00053
00055 typedef TInputPath InputPathType;
00056 typedef typename InputPathType::Pointer InputPathPointer;
00057 typedef typename InputPathType::InputType InputPathInputType;
00058 typedef TOutputChainCodePath OutputPathType;
00059 typedef typename OutputPathType::Pointer OutputPathPointer;
00060 typedef typename OutputPathType::InputType OutputPathInputType;
00061 typedef typename InputPathType::IndexType IndexType;
00062 typedef typename InputPathType::OffsetType OffsetType;
00063
00065 itkSetMacro( MaximallyConnected, bool )
00066 itkBooleanMacro( MaximallyConnected )
00067
00068 protected:
00069 PathToChainCodePathFilter();
00070 virtual ~PathToChainCodePathFilter() {};
00071 void PrintSelf(std::ostream& os, Indent indent) const;
00072
00073 void GenerateData(void);
00074
00075 private:
00076 PathToChainCodePathFilter(const Self&);
00077 void operator=(const Self&);
00078
00079 bool m_MaximallyConnected;
00080
00081 };
00082
00083 }
00084
00085 #ifndef ITK_MANUAL_INSTANTIATION
00086 #include "itkPathToChainCodePathFilter.txx"
00087 #endif
00088
00089 #endif