41class InterfileHeaderSiemens :
public InterfileHeader
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();
117class InterfileRawDataHeaderSiemens :
public InterfileHeaderSiemens
120 InterfileRawDataHeaderSiemens();
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;
159class InterfilePDFSHeaderSiemens :
public InterfileRawDataHeaderSiemens
162 InterfilePDFSHeaderSiemens();
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();