shimming-toolbox icon indicating copy to clipboard operation
shimming-toolbox copied to clipboard

Shimming optimization: re-evaluation of methods and constraints applied.

Open JulienT82 opened this issue 2 years ago • 1 comments

Checklist

  • [x] I've given this issue a self-descriptive, meaningful title (e.g. Document the use of config/dcm2bids.json)
  • [x] I've described the enhancement for an existing feature
  • [ ] (optional) I've added some ideas about how to implement my suggestion
  • [x] I've given this issue the correct labels

Description of Problem / Inefficiency:

The aim of this issue is to discuss possible improvements to shimming optimization. The question is to find a way, if any, to improve the calculation of coefficients, either by changing the optimization model, or by adding details to the models already implemented: least squares, quad-prog.

The first question is that of the model used, for possible improvements, or the choice of another method for optimizing shimming coefficients. Attached is a link to an overleaf doc that lists potential leads at the moment : https://www.overleaf.com/read/dfmvddrbnhzk

The second question is that of implementation, and the various stages of the pipeline that could be accelerated/improved (cf resampling in issue #479).

JulienT82 avatar Oct 11 '23 20:10 JulienT82

New method considered in the dynamic shimming optimization process: use of a second regularization term, based on the difference between the coefficients of slice n and slice n-1.

Important implementation points :

  • Extreme slices are calculated separately, with a fixed constraint based on power supply
  • The starting slice, with index n//2, is calculated with half this constraint
  • The implementation requires the n slices to be stored in order to calculate the interslice difference terms.

Relevent reference : https://onlinelibrary.wiley.com/doi/epdf/10.1002/mrm.27720?saml_referrer

JulienT82 avatar Nov 29 '23 15:11 JulienT82