]> Creatis software - clitk.git/blob - common/clitkEsrfHstImageIOFactory.h
Add 2 options to clitkImage2Dicom
[clitk.git] / common / clitkEsrfHstImageIOFactory.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
19 #ifndef __clitkEsrfHstImageIOFactory_h
20 #define __clitkEsrfHstImageIOFactory_h
21
22 #include "clitkEsrfHstImageIO.h"
23 #include <itkImageIOBase.h>
24 #include <itkObjectFactoryBase.h>
25 #include <itkVersion.h>
26
27 #include "clitkCommon.h"
28
29 namespace clitk
30 {
31
32 //====================================================================
33 // Factory for reading Esrf Hst Image file format
34 class EsrfHstImageIOFactory: public itk::ObjectFactoryBase
35 {
36 public:
37   /** Standard class typedefs. */
38   typedef EsrfHstImageIOFactory          Self;
39   typedef itk::ObjectFactoryBase         Superclass;
40   typedef itk::SmartPointer<Self>        Pointer;
41   typedef itk::SmartPointer<const Self>  ConstPointer;
42
43   /** Class methods used to interface with the registered factories. */
44   const char* GetITKSourceVersion(void) const ITK_OVERRIDE {
45     return ITK_SOURCE_VERSION;
46   }
47
48   const char* GetDescription(void) const ITK_OVERRIDE {
49     return "Esrf Hst ImageIO Factory, allows the loading of Esrf Hst images into insight";
50   }
51
52   /** Method for class instantiation. */
53   itkFactorylessNewMacro(Self);
54
55   /** Run-time type information (and related methods). */
56   itkTypeMacro(EsrfHstImageIOFactory, ObjectFactoryBase);
57
58   /** Register one factory of this type  */
59   static void RegisterOneFactory(void) {
60     ObjectFactoryBase::RegisterFactory( Self::New() );
61   }
62
63 protected:
64   EsrfHstImageIOFactory();
65   ~EsrfHstImageIOFactory() {};
66   typedef EsrfHstImageIOFactory myProductType;
67   const myProductType* m_MyProduct;
68
69 private:
70   EsrfHstImageIOFactory(const Self&); //purposely not implemented
71   void operator=(const Self&);        //purposely not implemented
72 };
73
74 } // end namespace
75
76 #endif
77