]> Creatis software - clitk.git/blob - common/clitkHisImageIOFactory.h
Synergy projections file format
[clitk.git] / common / clitkHisImageIOFactory.h
1 #ifndef CLITKHISIMAGEIOFACTORY_H
2 #define CLITKHISIMAGEIOFACTORY_H
3
4 /**
5  ===================================================================
6  * @file   clitkHisImageIOFactory.h
7  * @author Simon Rit <simon.rit@gmail.com>
8  * @date   16 Feb 2010
9
10  * @brief  
11
12  ===================================================================*/
13
14 // clitk include
15 #include "clitkHisImageIO.h"
16
17 // itk include
18 #include "itkImageIOBase.h"
19 #include "itkObjectFactoryBase.h"
20 #include "itkVersion.h"
21
22 namespace clitk {
23   
24   //====================================================================
25   // Factory for reading His Image file format
26   class HisImageIOFactory: public itk::ObjectFactoryBase
27   {
28   public:
29         /** Standard class typedefs. */
30         typedef HisImageIOFactory              Self;
31         typedef itk::ObjectFactoryBase         Superclass;
32         typedef itk::SmartPointer<Self>        Pointer;
33         typedef itk::SmartPointer<const Self>  ConstPointer;
34         
35         /** Class methods used to interface with the registered factories. */
36         const char* GetITKSourceVersion(void) const {
37           return ITK_SOURCE_VERSION;
38         }
39         
40         const char* GetDescription(void) const {
41           return "His ImageIO Factory, allows the loading of His images into insight";
42         }
43         
44         /** Method for class instantiation. */
45         itkFactorylessNewMacro(Self);
46         
47         /** Run-time type information (and related methods). */
48         itkTypeMacro(HisImageIOFactory, ObjectFactoryBase);
49         
50         /** Register one factory of this type  */
51         static void RegisterOneFactory(void) {
52           ObjectFactoryBase::RegisterFactory( Self::New() );
53         }       
54
55   protected:
56         HisImageIOFactory();
57         ~HisImageIOFactory() {};
58         typedef HisImageIOFactory myProductType;
59         const myProductType* m_MyProduct;
60         
61   private:
62         HisImageIOFactory(const Self&); //purposely not implemented
63         void operator=(const Self&); //purposely not implemented
64   };
65
66 } // end namespace
67
68 #endif /* end #define CLITKHISIMAGEIOFACTORY_H */
69