RTK  1.4.0
Reconstruction Toolkit
rtkVarianObiGeometryReader.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  * http://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 rtkVarianObiGeometryReader_h
20 #define rtkVarianObiGeometryReader_h
21 
22 #include <itkLightProcessObject.h>
24 
25 namespace rtk
26 {
27 
40 {
41 public:
46 
49  typedef std::vector<std::string> FileNamesContainer;
50 
53 
55  itkNewMacro(Self);
56 
58  itkGetMacro(Geometry, GeometryType::Pointer);
59 
61  itkGetMacro(XMLFileName, std::string);
62  itkSetMacro(XMLFileName, std::string);
64 
67  void SetProjectionsFileNames (const FileNamesContainer &name)
68  {
69  if ( m_ProjectionsFileNames != name)
70  {
71  m_ProjectionsFileNames = name;
72  this->Modified();
73  }
74  }
75  const FileNamesContainer & GetProjectionsFileNames() const
76  {
77  return m_ProjectionsFileNames;
78  }
80 
81 protected:
83 
84 
85 private:
86  //purposely not implemented
87  VarianObiGeometryReader(const Self&);
88  void operator=(const Self&);
89 
90  void GenerateData() ITK_OVERRIDE;
91 
93  std::string m_XMLFileName;
94  FileNamesContainer m_ProjectionsFileNames;
95 };
96 
97 }
98 #endif
ThreeDCircularProjectionGeometry GeometryType
Projection geometry for a source and a 2-D flat panel.
std::vector< std::string > FileNamesContainer
void SetProjectionsFileNames(const FileNamesContainer &name)
#define RTK_EXPORT
const FileNamesContainer & GetProjectionsFileNames() const
#define itkSetMacro(name, type)