Open johannesmayer opened 6 years ago
In order to provide RPE support, one needs NFFT encoding:
The interface is given in the toolbox <gadgetron/hoNFFT.h>
Use is exemplified in CPUGriddingReconGadget
:
hoNDArray<float_complext> *data;
hoNDArray<floatd2> *traj; // this has to be 2D since we do cartesian readouts
hoNDArray<float> *dcw; // this has to be 0x0 array because we forward project
hoNFFT_plan<float, 2> plan( from_std_vector<size_t, 2>(imageDims),
oversamplingFactor,
kernelWidth);
hoNDArray<float_complext> result; result.create(imageDimsOs[0], imageDimsOs[1]);
plan.preprocess(*traj);
// last argument has to be forward with Cartesian to non Carteisan layout.
plan.compute(*data, result, *dcw, hoNFFT_plan<float, 2>::NFFT_BACKWARDS_NC2C);
return boost::make_shared<hoNDArray<float_complext>>(result); // or any other post processing of result!
In vector_td_utilities
the function
template<class T, unsigned int D> inline
vector_td<T,D> from_std_vector( std::vector<T> &_vector )
provides interface to std vector extraction of dimensions
Check influence of parameter oversampling_factor
in encoding call
hoNFFT_plan<float, 2> nufft_operator( from_std_vector<size_t, 2>(slice_dims) , oversampling_factor, kernel_size);
This has to do with deapodization but I don't know how yet.
Rewrite encoding to take 4d data since coilmaps take up an extra dimension.
Dimensions need then be [N_ro, N_r, N_ang, N_coil]
Provide automated trajectory computing based on input files. Slice and Phase encoding then become parameters of the trajectory. This would allow trajectory consistency with the rawdata files at all times.
Interace is provided now. Now a radial readout should be enabled!
Enable subtrajectory sampling, s.t. only points which necessary are actually interpolated
The following trajectories are rather easy to simulate:
The following 'non-cartesian' trajectories need to be enabled:
Select encoding based on the trajectory parameter set in the ISMRMRD Header passed to the simulation. Setting this will be enabled in the interface of the python/matlab code .