Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How to handle the reconstructed FOV when remove_oversampling is used. #239

Open
aTrotier opened this issue Feb 26, 2025 · 1 comment
Open
Labels
bug Something isn't working enhancement New feature or request

Comments

@aTrotier
Copy link
Contributor

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 :

  1. After removing the oversample I change the encodedFOV[1] to the reconFOV[1] and we used that to create the pixel spacing for nifti
  2. 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) 
@aTrotier aTrotier added bug Something isn't working enhancement New feature or request labels Feb 26, 2025
@aTrotier
Copy link
Contributor Author

Actually MRICoilSensitivities.crop(im_sense.data,Tuple(raw_imaging.params["reconSize"])) seems to works

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant