00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __itkImageToMeshFilter_h
00018 #define __itkImageToMeshFilter_h
00019
00020 #include "itkMeshSource.h"
00021
00022 namespace itk
00023 {
00024
00034 template <class TInputImage, class TOutputMesh>
00035 class ITK_EXPORT ImageToMeshFilter : public MeshSource<TOutputMesh>
00036 {
00037 public:
00039 typedef ImageToMeshFilter Self;
00040 typedef MeshSource<TOutputMesh> Superclass;
00041 typedef SmartPointer<Self> Pointer;
00042 typedef SmartPointer<const Self> ConstPointer;
00043
00044
00046 itkTypeMacro(ImageToMeshFilter, MeshSource);
00047
00049 DataObject::Pointer MakeOutput(unsigned int idx);
00050
00052 typedef TInputImage InputImageType;
00053 typedef typename InputImageType::Pointer InputImagePointer;
00054 typedef typename InputImageType::ConstPointer InputImageConstPointer;
00055 typedef typename InputImageType::RegionType InputImageRegionType;
00056 typedef typename InputImageType::PixelType InputImagePixelType;
00057
00059 typedef TOutputMesh OutputMeshType;
00060 typedef typename OutputMeshType::Pointer OutputMeshPointer;
00061
00063 void SetInput(unsigned int idx, const InputImageType *input);
00064
00066 const InputImageType * GetInput(unsigned int idx);
00067
00069 OutputMeshType * GetOutput(void);
00070
00072 void GenerateOutputInformation(void);
00073
00074 protected:
00075 ImageToMeshFilter();
00076 ~ImageToMeshFilter();
00077 void PrintSelf(std::ostream& os, Indent indent) const;
00078
00079 private:
00080 ImageToMeshFilter(const ImageToMeshFilter&);
00081 void operator=(const ImageToMeshFilter&);
00082
00083 };
00084
00085 }
00086
00087 #ifndef ITK_MANUAL_INSTANTIATION
00088 #include "itkImageToMeshFilter.txx"
00089 #endif
00090
00091 #endif