18 #ifndef RECOREADERISMRMRD_H
19 #define RECOREADERISMRMRD_H
29 class AcquisitionHeader;
46 RecoReaderISMRMRD(
LDRblock&) : dset(0) {}
52 bool init(
const STD_string& input_filename);
54 const STD_vector<RecoCoord>&
get_coords()
const {
return coord_vec_cache;}
56 const TinyVector<float,3>&
reloffset()
const {
return reloffset_cache;}
58 const TinyVector<int,3>&
image_size()
const {
return size_cache;}
66 TinyVector<float,3> reloffset_cache;
67 TinyVector<int,3> size_cache;
70 ISMRMRD::Dataset* dset;
72 mutable STD_vector<RecoCoord> coord_vec_cache;
74 unsigned int ismrmrd_nacq;
75 unsigned int ismrmrd_count;
76 unsigned int coord_count;
79 unsigned int chancount;
81 unsigned int pre_discard_cache;
82 unsigned int post_discard_cache;
83 unsigned int nsamples_raw_cache;
84 unsigned int nchan_cache;
86 static void print_flags(ISMRMRD::AcquisitionHeader& acqhead);
87 static bool ignore_acq(ISMRMRD::AcquisitionHeader& acqhead);
88 static bool pe_offset(
const ISMRMRD::Limit& limit,
unsigned int& offset,
float& partfour_prot);
virtual STD_string image_proc() const =0
virtual STD_string postProc3D() const =0
virtual const Protocol & protocol() const =0
virtual STD_string cmdline_opts() const =0
virtual bool init(const STD_string &input_filename)=0
virtual const STD_vector< RecoCoord > & get_coords() const =0
virtual const TinyVector< float, 3 > & reloffset() const =0
virtual STD_string seqrecipe() const =0
virtual const TinyVector< int, 3 > & image_size() const =0
virtual STD_string preProc3D() const =0
virtual dvector dim_values(recoDim dim) const =0
virtual bool fetch(RecoCoord &coord, ComplexData< 1 > &adc)=0