]> Creatis software - clitk.git/blob - common/clitkGateAsciiImageIOFactory.h
Put back and refactored manual rigid registration
[clitk.git] / common / clitkGateAsciiImageIOFactory.h
1 /*=========================================================================
2   Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
3
4   Authors belong to: 
5   - University of LYON              http://www.universite-lyon.fr/
6   - Léon Bérard cancer center       http://www.centreleonberard.fr
7   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
8
9   This software is distributed WITHOUT ANY WARRANTY; without even
10   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11   PURPOSE.  See the copyright notices for more information.
12
13   It is distributed under dual licence
14
15   - BSD        See included LICENSE.txt file
16   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17 ===========================================================================**/
18 #ifndef CLITKGATEASCIIIMAGEIOFACTORY_H
19 #define CLITKGATEASCIIIMAGEIOFACTORY_H
20
21 // clitk include
22 #include "clitkGateAsciiImageIO.h"
23
24 // itk include
25 #include "itkImageIOBase.h"
26 #include "itkObjectFactoryBase.h"
27 #include "itkVersion.h"
28
29 namespace clitk {
30
31     //====================================================================
32     // Factory for reading GateAscii Image file format
33     class GateAsciiImageIOFactory: public itk::ObjectFactoryBase
34     {
35         public:
36             /** Standard class typedefs. */
37             typedef GateAsciiImageIOFactory        Self;
38             typedef itk::ObjectFactoryBase         Superclass;
39             typedef itk::SmartPointer<Self>        Pointer;
40             typedef itk::SmartPointer<const Self>  ConstPointer;
41
42             /** Class methods used to interface with the registered factories. */
43             const char* GetITKSourceVersion(void) const {
44                 return ITK_SOURCE_VERSION;
45             }
46
47             const char* GetDescription(void) const {
48                 return "GateAscii ImageIO Factory, allows the loading of gate ascii images into insight";
49             }
50
51             /** Method for class instantiation. */
52             itkFactorylessNewMacro(Self);
53
54             /** Run-time type information (and related methods). */
55             itkTypeMacro(GateAsciiImageIOFactory, ObjectFactoryBase);
56
57             /** Register one factory of this type  */
58             static void RegisterOneFactory(void) {
59                 ObjectFactoryBase::RegisterFactory( Self::New() );
60             }   
61
62         protected:
63             GateAsciiImageIOFactory();
64             ~GateAsciiImageIOFactory() {};
65
66         private:
67             GateAsciiImageIOFactory(const Self&); //purposely not implemented
68             void operator=(const Self&); //purposely not implemented
69     };
70
71 } // end namespace
72
73 #endif /* end #define CLITKGATEASCIIIMAGEIOFACTORY_H */
74