At high resolution EPI, the gradients are pushed to their limits and the ramp sampling ratio is particularly large. This means that the ghosting is increased and the Nyquist ghost correction is getting more important. In this post, I describe how to change the Nyquist ghost correction algorithm.
Nyquist ghost correction becomes challenging with large ramp sampling ratios
For a given gradient strengths, any time delay between odd and even lines in k-space refers to a shift in read direction. Hence, without ramp sampling, a given delay can be easilty corrected for with a global realignment of odd and even k-space lines. When the gradient strengths is not constant anymore during ramp sampling, however, time delay cannot be approximated with a a gloabl shift (phase offset). During the ramps, a given time delay refers to different shift distances. Hence, with high ramp sampling factors, the two fit parameters in the phase correction cannot completely correct for all eddy currents.
Additionally, field drifts due to gratient temperature changes can then be translated to additional phase offsets and additional EPI-ghosting.
How to change the Nyquist ghost correction
Changing the phase correction algorithm in the protocol editor
Very few sequences allow the user to change the phase correction algorithm. In this case its very easy to adjust. I have the best experienced with the ‘local’ phase correction scheme. I also found that the ‘local’ phase correction should reduce the changing ghosting over time. Strangely, sometimes, the tSNR is higher for the ‘normal’ phase correction scheme, though the ghosting makes the image completely unusable.
Changing the phase correction algorithm in the sequence code
The phase correction algorithm can be set in the sequence code as follows by setting the parameter pSeqExpo->setOnlinePhaseCorrectionAlgo().
Changing the phase correction algorithm in the Ice-Configurations
You can change the reconstruction method via Twix at the scanner. This method is helpful when you don’t have the sequence code. It is also very helpful, when you want to reconstruct the same dataset multiple times with different phase correction methods:
- Start twix (Ctrl+Esc and run twix)
- select the dataset in the left panel
- click the edit symbol
- click on edit
- search for iOnlinePhasCorrectionAlgo
- select iOnlinePhasCorrectionAlgo
- change number to 68
- click save
- reconstruct by clicking Start
Note however, that if the phase correction is hard coded in the sequence, the parameters in the iceConfig file are not used.
There are multiple algorithms implemented that you can choose from. As far as I understand the assignment is as follows:
0 no phase correction: the ghosts look horrible
1: IsOnlinePCCCrossCorr (iterative and patented algorithm from SIEMENS explained in the ICE manual)
2: IsOnlinePCAutoCorr (different iterative and patented algorithm from SIEMENS explained in the ICE manual)
7=4,2,1 a.k.a Pixel-by-pixel fit with one parameter: unusable for me because the ghosts are very bad
68: default for some: correlation estimation of odd and even lines (two parameters) multiplied by the magnitude (according to Polimeni).
summing any of these together enables those algorithms (e.g. 1+2+4 = 7: CrossCorr, AutoCorr & Primary Mode)
You can check which algorithms correspond to which parameters by opening the twix and viewing “onlinetse” under the “PIPE”.
Some of these algorithms are only accessible, if you have the IceFunctor: onlinetse or onlinetse_advanced, which is included in some C2Ps.
Sometimes different combinations of the algorithms above are also referred to “global”, local (68)”, Pixel-by-pixel (6), normal.
As usual with sequence stuff. I learned everything from Ben Poser. I want to thank Joseph Vu for the discussions about this on github.