go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkImageToVectorContainerFilter.h
Go to the documentation of this file.
00001 /*======================================================================
00002 
00003   This file is part of the elastix software.
00004 
00005   Copyright (c) University Medical Center Utrecht. All rights reserved.
00006   See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
00007   details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE. See the above copyright notices for more information.
00012 
00013 ======================================================================*/
00014 
00015 #ifndef __ImageToVectorContainerFilter_h
00016 #define __ImageToVectorContainerFilter_h
00017 
00018 #include "itkVectorContainerSource.h"
00019 
00020 
00021 namespace itk
00022 {
00023 
00030   template < class TInputImage, class TOutputVectorContainer >
00031   class ImageToVectorContainerFilter :
00032     public VectorContainerSource< TOutputVectorContainer >
00033   {
00034   public:
00035 
00037     typedef ImageToVectorContainerFilter  Self;
00038     typedef VectorContainerSource<
00039       TOutputVectorContainer >            Superclass;
00040     typedef SmartPointer<Self>            Pointer;
00041     typedef SmartPointer<const Self>      ConstPointer;
00042 
00044     itkNewMacro( Self );
00045 
00047     itkTypeMacro( ImageToVectorContainerFilter, VectorContainerSource );
00048 
00050     typedef typename Superclass::DataObjectPointer            DataObjectPointer;
00051     typedef typename Superclass::OutputVectorContainerType    OutputVectorContainerType;
00052     typedef typename Superclass::OutputVectorContainerPointer OutputVectorContainerPointer;
00053 
00055     typedef TInputImage                             InputImageType;
00056     typedef typename InputImageType::Pointer        InputImagePointer;
00057     typedef typename InputImageType::ConstPointer   InputImageConstPointer;
00058     typedef typename InputImageType::RegionType     InputImageRegionType;
00059     typedef typename InputImageType::PixelType      InputImagePixelType;
00060 
00062     DataObject::Pointer MakeOutput(unsigned int idx);
00063 
00065     void SetInput( unsigned int idx, const InputImageType *input );
00066 
00068     void SetInput( const InputImageType *input );
00069 
00071     const InputImageType * GetInput( void );
00072 
00074     const InputImageType * GetInput( unsigned int idx );
00075 
00077     OutputVectorContainerType * GetOutput( void );
00078 
00080     //virtual void GenerateOutputInformation( void );
00081 
00082   protected:
00083 
00085     ImageToVectorContainerFilter();
00087     virtual ~ImageToVectorContainerFilter() {};
00088 
00090     void PrintSelf( std::ostream& os, Indent indent ) const;
00091 
00092   private:
00093 
00095     ImageToVectorContainerFilter( const Self& );  // purposely not implemented
00097     void operator=( const Self& );                // purposely not implemented
00098 
00099   }; // end class ImageToVectorContainerFilter
00100 
00101 
00102 } // end namespace itk
00103 
00104 #ifndef ITK_MANUAL_INSTANTIATION
00105 #include "itkImageToVectorContainerFilter.txx"
00106 #endif
00107 
00108 #endif // end #ifndef __ImageToVectorContainerFilter_h
00109 


Generated on 24-10-2011 for elastix by doxygen 1.7.4 elastix logo