I am reconstructing a siemens MPRAGE acquisition with readout and phase oversampling
The readout oversampling is now handle by the function remove_oversampling which does not edit the encodedFOV / reconFOV.
After performing the reconstruction with MRIReco I get an image with correct FOV along the readout but the oversampling is still present in the phase direction.
If I write a nifti in order to get the correct pixel spacing I need to take the reconFOV for the first dimension and the encodedFOV for the y and z direction.
Multiple possibilities :
- After removing the oversample I change the encodedFOV[1] to the reconFOV[1] and we used that to create the pixel spacing for nifti
- We should apply the remove_oversampling along the y/z direction after reconstruction and in that case the reconFOV should be used
The 2nd option seems better but we need to pass the encodedFOV/reconFOV which are not stored in the acq struct.
Should we automatically store raw.params in acq.sequenceInfo in order to keep thus informations ?
acq = AcquisitionData(tr, kdata,
idx = subsampleIdx,
encodingSize = ntuple(d->f.params["encodedSize"][d], ndims(tr[1])),
fov = Float64.(ntuple(d->f.params["encodedFOV"][d], 3)))
In that case the second step of remove_oversampling will be something like :
remove_oversampling!(image, acq ;readout=false, phase = true, partition = true)
I am reconstructing a siemens MPRAGE acquisition with readout and phase oversampling
The readout oversampling is now handle by the function
remove_oversamplingwhich does not edit the encodedFOV / reconFOV.After performing the reconstruction with MRIReco I get an image with correct FOV along the readout but the oversampling is still present in the phase direction.
If I write a nifti in order to get the correct pixel spacing I need to take the reconFOV for the first dimension and the encodedFOV for the y and z direction.
Multiple possibilities :
The 2nd option seems better but we need to pass the encodedFOV/reconFOV which are not stored in the acq struct.
Should we automatically store raw.params in acq.sequenceInfo in order to keep thus informations ?
In that case the second step of remove_oversampling will be something like :