22 #ifndef __stir_InterfileHeaderSiemens_H__ 23 #define __stir_InterfileHeaderSiemens_H__ 41 class InterfileHeaderSiemens :
public InterfileHeader
45 static const double double_value_not_set;
47 InterfileHeaderSiemens();
49 ~InterfileHeaderSiemens()
override {}
53 bool post_processing()
override;
66 void ignore_Siemens_date_and_time_keys(
const std::string& keyword);
72 ASCIIlist_type byte_order_values;
73 ASCIIlist_type patient_position_values;
79 int patient_position_index;
81 void set_type_of_data();
84 void read_scan_data_types();
87 #if 0 // probably not necessary 93 class InterfileImageHeader :
public InterfileHeaderSiemens
96 typedef InterfileHeaderSiemens base_type;
99 InterfileImageHeader();
100 std::vector<double> first_pixel_offsets;
103 virtual void read_matrix_info();
105 virtual bool post_processing();
117 class InterfileRawDataHeaderSiemens :
public InterfileHeaderSiemens
120 InterfileRawDataHeaderSiemens();
124 bool post_processing()
override;
126 bool is_arccorrected;
129 ProjDataFromStream::StorageOrder storage_order;
130 std::vector<int> segment_sequence;
131 std::vector<int> timing_poss_sequence;
132 shared_ptr<ProjDataInfo> data_info_ptr;
135 void resize_segments_and_set();
141 int axial_compression;
142 int maximum_ring_difference;
145 std::vector<int> segment_table;
159 class InterfilePDFSHeaderSiemens :
public InterfileRawDataHeaderSiemens
162 InterfilePDFSHeaderSiemens();
166 bool post_processing()
override;
169 std::vector<std::string> applied_corrections;
173 void resize_segments_and_set();
175 int find_storage_order();
177 int num_scan_data_types;
178 std::vector<std::string> scan_data_types;
179 void read_scan_data_types();
180 int total_num_sinograms;
181 std::string compression_as_string;
184 std::vector<int> bucket_singles_rates;
185 void read_bucket_singles_rates();
194 class InterfileListmodeHeaderSiemens :
public InterfileRawDataHeaderSiemens
197 InterfileListmodeHeaderSiemens();
201 bool post_processing()
override;
205 int get_axial_compression()
const;
207 int get_maximum_ring_difference()
const;
209 int get_num_views()
const;
211 int get_num_projections()
const;
214 int find_storage_order();
223 class InterfileNormHeaderSiemens :
public InterfileRawDataHeaderSiemens
226 InterfileNormHeaderSiemens();
230 bool post_processing()
override;
234 float cross_calib_factor;
239 std::vector<std::vector<int>> number_of_dimensions;
240 void read_num_components();
245 #endif // __stir_InterfileHeaderSiemens_H__ This file declares the stir::ByteOrder class.
This file declares the class stir::ExamInfo.
Declaration of class stir::ProjDataFromStream.
This file declares the class stir::NumericInfo.