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

integration of Baudrexel's imperfect spoiling correction, SDAM B1mapping, and visual quality tool #19

Draft
wants to merge 29 commits into
base: master
Choose a base branch
from

Conversation

tleutritz-cbs
Copy link
Contributor

The recent development contains

  • my integration of Baudrexel's imperfect spoiling correction, which was in use for the multi-center multi-vendor study [1], including the new file-reader for the new parameter calculator introduced by M. Callaghan (for ease of use not json files will be read in, but a separate m file; the wiki will/has to be changed accordingly after merge),

  • an implementation of SDAM B1-mapping (double angle method applied mainly at Philips sites within the clinical trial NISCI [2]), including some bug fixes within several of the B1-mapping functions (regarding data type),

  • and a visual quality tool developed by E. Balteau.

[1] Multiparameter mapping of relaxation (R1 , R2 *), proton density and magnetization transfer saturation at 3 T : A multicenter dual‐vendor reproducibility and repeatability study, T. Leutritz & M. Seif et al., HBM 2020, http://dx.doi.org/10.1002/hbm.25122
[2] http://nisci-2020.eu/

EvelyneBalteau and others added 27 commits July 31, 2018 23:40
Three types of visualisation are possible:
- automated intensity scaling for all images (to check e.g. reorientation
  comparing input image and template)
- identical intensity scaling for all images (to check e.g. series of
  echoes from a T1w acquisition)
- standard scaling as defined for each output map (R1, R2*, MT, PD, B1,
  RFsens). Scaling is automated (between percentiles 5 and 95) if image
  type cannot be determined. Allows for quick visual check of any obvious
  anomaly in the output maps.
- range for RF sensitivity maps [0 2]
- backward/forward compatibility between very last version of SPM and previous ones
- to handle B1+ and RFsens maps imtype
Bit of cosmetic changes...
- Depending on the history of manipulating the st.centre field, the latter can either be a column or a line vector. Elements processed one by one to avoid problems.
- strsplit and strjoin were added to Matlab from version R2013a. Alternative implementation for that specific case.
Two options can be selected: no correction (default) or select a json file containing the correction coefficients.
@tleutritz-cbs
Copy link
Contributor Author

tleutritz-cbs commented Nov 25, 2020

  • specify assumptions,from Baudrexel et al. (e.g 3T...) and note that their parameters were copied; only values 50 ,117, 150
  • get rid of GUI entry -> hmri_defaults.m

@tleutritz-cbs
Copy link
Contributor Author

I've changed the code to have the ISC options in local defaults only (not in the GUI) - could you check descriptions in hmri_defaults.m please? @mfcallaghan @siawoosh

% f_T correction is applied either if:
% - f_T has been provided as separate B1 mapping measurement (not
% UNICORT!) or
% - f_T has been calculated using UNICORT *AND* the UNICORT.MT flag
% is enabled (advanced user only! method not validated yet!)
if (~isempty(f_T))&&(~mpm_params.UNICORT.R1 || mpm_params.UNICORT.MT)
if (~isempty(f_T)&&~isfield(ISC,'iscphase'))&&(~mpm_params.UNICORT.R1 || mpm_params.UNICORT.MT)
Copy link
Member

@lukeje lukeje Mar 31, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is Gunther's MT correction not applied if imperfect spoiling correction is applied? They should be independent, I think.

@lukeje
Copy link
Member

lukeje commented Mar 31, 2021

@tleutritz-cbs I've had a brief look through the changes, and in my opinion it would be better as three separate pull requests.

I think the SDAM and visual quality tool implementations are things that (I think) can be easily tested and pulled, but the imperfect spoiling correction (ISC) changes will be a lot harder to verify and test.
The ISC implementation also makes the logic in hmri_create_MTProt.m more complicated at a time when we are trying to simplify it.
My idea with how to deal with ISC would be to move it into a separate function which is called by hmri_create_MTProt.m which we can then test independently of the rest of the code.
This could be part of the "hackathons" to break apart hmri_create_MTProt.m.

@lukeje lukeje self-assigned this Jan 31, 2022
@lukeje
Copy link
Member

lukeje commented Mar 2, 2022

QC tool is now part of pull request #39

@lukeje
Copy link
Member

lukeje commented Mar 8, 2022

SDAM B1 mapping moved into pull request #41.

@lukeje lukeje marked this pull request as draft March 28, 2022 09:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants