10 #ifndef __stir_IO_GEHDF5Wrapper_H__ 11 #define __stir_IO_GEHDF5Wrapper_H__ 54 static bool check_GE_signature(
const std::string& filename);
58 static bool check_GE_signature(H5::H5File& file);
67 bool is_list_file()
const;
69 bool is_sino_file()
const;
71 bool is_geo_file()
const;
73 bool is_norm_file()
const;
75 Succeeded open(
const std::string& filename);
86 Succeeded initialise_proj_data(
const unsigned int view_num);
90 Succeeded initialise_geo_factors_data(
const unsigned int slice_num);
92 Succeeded initialise_efficiency_factors();
99 Succeeded read_list_data(
char* output,
const std::streampos offset,
const hsize_t size)
const;
106 const std::array<hsize_t, 3>& offset = { 0, 0, 0 },
107 const std::array<hsize_t, 3>& stride = { 1, 1, 1 });
113 const std::array<hsize_t, 2>& offset = { 0, 0 },
114 const std::array<hsize_t, 2>& count = { 0, 0 },
115 const std::array<hsize_t, 2>& stride = { 1, 1 });
118 const std::array<hsize_t, 2>& offset = { 0, 0 },
119 const std::array<hsize_t, 2>& stride = { 1, 1 });
121 inline H5::DataSet* get_dataset_ptr()
const;
123 inline hsize_t get_dataset_size()
const;
125 inline unsigned int get_geo_dims()
const;
127 unsigned int get_num_singles_samples();
133 inline shared_ptr<ExamInfo> get_exam_info_sptr()
const;
135 inline shared_ptr<Scanner> get_scanner_sptr()
const;
137 inline shared_ptr<const ProjDataInfo> get_proj_data_info_sptr()
const;
140 inline const H5::H5File& get_file()
const;
144 std::uint32_t read_dataset_uint32(
const std::string& dataset_name);
145 std::int32_t read_dataset_int32(
const std::string& dataset_name);
163 void initialise_proj_data_info_from_HDF5();
164 void initialise_exam_info();
166 shared_ptr<ProjDataInfo> proj_data_info_sptr;
167 shared_ptr<ExamInfo> exam_info_sptr;
172 unsigned int check_geo_type();
173 shared_ptr<Scanner> get_scanner_from_HDF5();
177 shared_ptr<H5::DataSet> m_dataset_sptr;
179 H5::DataSpace m_dataspace;
181 std::uint64_t m_list_size = 0;
182 int m_dataset_list_Ndims;
183 unsigned int m_num_singles_samples;
185 bool is_list =
false;
186 bool is_sino =
false;
188 bool is_norm =
false;
192 unsigned int geo_dims = 0;
193 std::string m_address;
195 unsigned int rdf_ver = 0;
197 hsize_t m_size_of_record_signature = 0;
199 hsize_t m_max_size_of_record = 0;
201 hsize_t m_NX_SUB = 0;
202 hsize_t m_NY_SUB = 0;
203 hsize_t m_NZ_SUB = 0;
205 static const int m_max_dataset_dims = 5;
Declaration of class stir::Succeeded.
This file declares the class stir::ExamInfo.
Declaration of class stir::ProjDataInfo.
AcqPatientPositions
enum for encoding patient orientation in the RDF file
Definition: GEHDF5Wrapper.h:155
Import of std::shared_ptr, std::dynamic_pointer_cast and std::static_pointer_cast (or corresponding b...
A class that extracts and reads the necessary data from GE HDF5 input files.
Definition: GEHDF5Wrapper.h:49
defines the Array class for multi-dimensional (numeric) arrays
Declaration of class stir::Scanner.
This class defines multi-dimensional (numeric) arrays.
Definition: Array.h:73
AcqPatientEntries
enum for encoding head/feet first in the RDF file
Definition: GEHDF5Wrapper.h:149
a class containing an enumeration type that can be used by functions to signal successful operation o...
Definition: Succeeded.h:43
Declaration of class stir::GE::RDF_HDF5::GEHDF5Wrapper.