Skip to content

Multi-PLD Look-Locker analysis #1323

@MDijsselhof

Description

@MDijsselhof

Description

Current BASIL implementation does not allow for Look-Locker processing.

Tasks

  • Check automatic label-control order

  • Calculate PWI correctly for look-locker order (check if programmed already).

  • Fix BASIL ATT quantification settings are wrong #1301

  • Fix import of second sessions Correctly convert session 2 in DCM2BIDS #1318

  • Fix Philips Look-Locker import Fix import for Philips Look-Locker #1366

  • Rebase this branch once all the above is merged.

  • Run BIDS validator
    One error, couple of warnings in rawdata.

  • Check if M0 is input in BASIL quantification

  • Check if PWI4D without averaging works better

  • BASIL M0 quantification xASL_quant_M0 for look-locker (asl_calib) https://asl-docs.readthedocs.io/en/latest/aslcalib.html

    • Create M0, based on WM, using asl_calib (FSL)
    • Create .json for that as well
    • Put in nice function
    • Keep code, but use control image as M0 instead of constructed one
      - [ ] Check GM and WM ratio in signal per PLD
  • Check where to put the extraction of all control images in the ASL module for Look-Locker/ASL_calib use.
    - [x] cite in the code

  • Check motion correction
    Currently skipped

  • Check what to skip in xASL_processM0
    - 1. register M0 -> can be skipped for the datasets where a new M0 is created via asl_calib -> look for folder and skip?
    - 2. Quantify M0 -> skip as asl_calib already does that.
    - 3. Masking & smoothing -> not sure?

  • UseControlAsM0 automatically added in ASL4D, but should not in this case.

  • Comment from Jeroen 1: in the new Basil (oxford_asl in the new fsl 6.0.6.4) there is a -fa option to presumably correct for the Look Look-Locker readout (small flip angle than 90 deg). Currently, we correct the multiPLD label/control images and M0 image signals beforehand. The correction factor per PLD is then based on the PLD value and the flip angle used - inspired by Gunther et al MRM 2001 (https://onlinelibrary.wiley.com/doi/10.1002/mrm.1284) and Petr et al MRM 2013 (https://onlinelibrary.wiley.com/doi/10.1002/mrm.24601). This works remarkebly well, as validated against a single (simple) PLD scan CBF map.

  • the oxasl code for the Look Look-Locker data - as I also need the option there to set the --aifleadscale (set to very small) otherwise we get a 'funny' looking slice in the arterial arrival time output. According to Martin Craig this apparently has to do with making the model for arterial bolus, normally a boxcar function, a bit less discontinuous at the edges, and help to go smoothly through the inference process for ATT.

  • Check single-PLD vs Look-Locker on a composite dataset (Jan will put it to flavors).

  • Look-Locker import at the moment creates wrong number of averages
    280 acquired pairs, what should be 560/8/2=35

  • Printing stats error

    'Index in position 1 exceeds array bounds (must not exceed 132).

    Error in xASL_stat_PrintStats>xASL_stat_PrintStats_FillStatCellArray (line 390)
    statCell{rowNum,iCell} = xASL_num2str(x.S.DAT(iSubjectSession_DAT, iPrint));

How to test

Optional: insert description about how to test the code changes here

Release notes

Required: summarize the changes for the release notes here

Metadata

Metadata

Labels

featureNew feature, enhancement or request

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions