]> Creatis software - clitk.git/blob - common/clitkDicomRTDoseIOFactory.h
add cache for read image
[clitk.git] / common / clitkDicomRTDoseIOFactory.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://oncora1.lyon.fnclcc.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 clitkDicomRTDoseIOFactory_h
19 #define clitkDicomRTDoseIOFactory_h
20
21 // clitk include
22 #include "clitkDicomRTDoseIO.h"
23
24 // itk include
25 #include "itkImageIOBase.h"
26 #include "itkObjectFactoryBase.h"
27 #include "itkVersion.h"
28
29 namespace clitk
30 {
31
32 //====================================================================
33 // Factory for reading Dicom RT Dose file
34 class DicomRTDoseIOFactory: public itk::ObjectFactoryBase
35 {
36 public:
37   /** Standard class typedefs. */
38   typedef DicomRTDoseIOFactory           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 {
45     return ITK_SOURCE_VERSION;
46   }
47
48   const char* GetDescription(void) const {
49     return "Dicom RT Dose IO factory";
50   }
51
52   /** Method for class instantiation. */
53   itkFactorylessNewMacro(Self);
54
55   /** Run-time type information (and related methods). */
56   itkTypeMacro(DicomRTDoseIOFactory, ObjectFactoryBase);
57
58   /** Register one factory of this type  */
59   static void RegisterOneFactory(void) {
60     ObjectFactoryBase::RegisterFactory( Self::New() );
61   }
62
63 protected:
64   DicomRTDoseIOFactory();
65   ~DicomRTDoseIOFactory() {};
66
67 private:
68   DicomRTDoseIOFactory(const Self&); //purposely not implemented
69   void operator=(const Self&); //purposely not implemented
70 };
71
72 } // end namespace
73
74 #endif /* end #define clitkDicomRTDoseIOFactory_h */
75