RTK  2.7.0
Reconstruction Toolkit
rtkImagXImageIOFactory.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright RTK Consortium
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * https://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 
19 #ifndef rtkImagXImageIOFactory_h
20 #define rtkImagXImageIOFactory_h
21 
22 #include "RTKExport.h"
23 #include "rtkImagXImageIO.h"
24 #include <itkImageIOBase.h>
25 #include <itkObjectFactoryBase.h>
26 #include <itkVersion.h>
27 
28 namespace rtk
29 {
30 
37 class RTK_EXPORT ImagXImageIOFactory : public itk::ObjectFactoryBase
38 {
39 public:
40  ITK_DISALLOW_COPY_AND_MOVE(ImagXImageIOFactory);
41 
44  using Superclass = itk::ObjectFactoryBase;
45  using Pointer = itk::SmartPointer<Self>;
46  using ConstPointer = itk::SmartPointer<const Self>;
47 
49  const char *
50  GetITKSourceVersion() const override
51  {
52  return ITK_SOURCE_VERSION;
53  }
54 
55  const char *
56  GetDescription() const override
57  {
58  return "ImagX ImageIO Factory, allows the loading of ImagX images into insight";
59  }
60 
62  itkFactorylessNewMacro(Self);
63 
65  itkOverrideGetNameOfClassMacro(ImagXImageIOFactory);
66 
68  static void
70  {
71  ObjectFactoryBase::RegisterFactory(Self::New());
72  }
73 
74 protected:
76  ~ImagXImageIOFactory() override = default;
79 };
80 
81 } // namespace rtk
82 
83 #endif
itk::ObjectFactoryBase Superclass
const char * GetDescription() const override
itk::SmartPointer< Self > Pointer
const char * GetITKSourceVersion() const override
itk::SmartPointer< const Self > ConstPointer
const myProductType * m_MyProduct