1 #ifndef CTL_BASETYPEIO_H 2 #define CTL_BASETYPEIO_H 4 #include "abstractbasetypeio.h" 67 template <
class FileIOImplementer>
73 QVariantMap
metaInfo(
const QString& fileName)
const;
92 QVariantMap supplementaryMetaInfo = {})
const;
95 QVariantMap supplementaryMetaInfo = {})
const;
97 QVariantMap supplementaryMetaInfo = {})
const;
99 QVariantMap supplementaryMetaInfo = {})
const;
101 QVariantMap supplementaryMetaInfo = {})
const;
103 QVariantMap supplementaryMetaInfo = {})
const;
108 public: QVariantMap metaInfo(
const QString& fileName)
const override;
114 public: QVariantMap metaInfo(
const QString& fileName)
const override;
115 public:
VoxelVolume<T> readVolume(
const QString& fileName)
const override;
116 public:
Chunk2D<T> readSlice(
const QString& fileName,
uint sliceNb)
const override;
117 public:
bool write(
const VoxelVolume<T>& data,
const QString& fileName,
118 QVariantMap supplementaryMetaInfo = {})
const override;
119 public:
bool write(
const Chunk2D<T>& data,
const QString& fileName,
120 QVariantMap supplementaryMetaInfo = {})
const override;
125 public: QVariantMap metaInfo(
const QString& fileName)
const override;
127 uint nbModules = 0)
const override;
129 uint nbModules = 0)
const override;
130 public:
bool write(
const ProjectionData& data,
const QString& fileName,
131 QVariantMap supplementaryMetaInfo = {})
const override;
132 public:
bool write(
const SingleViewData& data,
const QString& fileName,
133 QVariantMap supplementaryMetaInfo = {})
const override;
138 public: QVariantMap metaInfo(
const QString& fileName)
const override;
139 public:
FullGeometry readFullGeometry(
const QString& fileName,
140 uint nbModules = 0)
const override;
142 uint nbModules = 0)
const override;
143 public:
bool write(
const FullGeometry& data,
const QString& fileName,
144 QVariantMap supplementaryMetaInfo = {})
const override;
146 QVariantMap supplementaryMetaInfo = {})
const override;
150 static auto makeMetaInfoReader() -> std::unique_ptr<MetaInfoReader>;
152 static auto makeVolumeIO() -> std::unique_ptr<VolumeIO<T>>;
153 static auto makeProjectionDataIO() -> std::unique_ptr<ProjectionDataIO>;
154 static auto makeProjectionMatrixIO() -> std::unique_ptr<ProjectionMatrixIO>;
157 FileIOImplementer _implementer;
160 QVariantMap
fusedMetaInfo(
const QVariantMap& baseInfo, QVariantMap supplementary)
const;
166 #include "io/basetypeio.tpp" 184 #endif // CTL_BASETYPEIO_H Definition: abstractbasetypeio.h:28
FullGeometry readFullGeometry(const QString &fileName, uint nbModules=0) const
Definition: basetypeio.tpp:161
ProjectionData readProjections(const QString &fileName, uint nbModules=0) const
Definition: basetypeio.tpp:106
bool write(const Chunk2D< T > &data, const QString &fileName, QVariantMap supplementaryMetaInfo={}) const
Definition: basetypeio.tpp:237
QVariantMap metaInfo(const QString &fileName) const
Definition: basetypeio.tpp:88
Definition: abstractbasetypeio.h:70
Holds a list of projection matrices corresponding to the detector modules of a single view.
Definition: viewgeometry.h:21
The VoxelVolume class provides a simple container for storage of voxelized 3D volume data.
Definition: ctsystemview.h:14
Definition: basetypeio.h:112
Holds a list of SingleViewGeometry instances to represent the acquisition geometry of a full CT scan.
Definition: viewgeometry.h:71
Definition: basetypeio.h:123
The ProjectionData class is the container class used to store all projections from all views.
Definition: projectiondata.h:19
Chunk2D< T > readSlice(const QString &fileName, uint sliceNb) const
Definition: basetypeio.tpp:53
ProjectionData::Dimensions dimensionsFromMetaInfo(const QVariantMap &info, uint nbModules=0) const
Definition: basetypeio.tpp:464
The Chunk2D class provides a simple container for storage of 2D image data.
Definition: chunk2d.h:51
Struct that holds the dimensions of a ProjectionData object.
Definition: projectiondata.h:118
Definition: basetypeio.h:136
unsigned int uint
Qt style alias for unsigned int.
Definition: modulelayout.h:6
SingleViewGeometry readSingleViewGeometry(const QString &fileName, uint viewNb, uint nbModules=0) const
Definition: basetypeio.tpp:207
QVariantMap fusedMetaInfo(const QVariantMap &baseInfo, QVariantMap supplementary) const
Definition: basetypeio.tpp:527
Interface to read and write basic CTL container types.
Definition: basetypeio.h:68
Definition: abstractbasetypeio.h:48
VoxelVolume< T > readVolume(const QString &fileName) const
Definition: basetypeio.tpp:20
The SingleViewData class is the container class used to store all projections from one particular vie...
Definition: singleviewdata.h:19
SingleViewData readSingleView(const QString &fileName, uint viewNb, uint nbModules=0) const
Definition: basetypeio.tpp:131