ohbm / hackathon2019

Website and projects for the OHBM Hackathon in Rome 2019
https://ohbm.github.io/hackathon2019
81 stars 61 forks source link

Correction of signal intensity fluctuations in DWI multi-protocol acquisitions #99

Open Lestropie opened 5 years ago

Lestropie commented 5 years ago

Correction of signal intensity fluctuations in DWI multi-protocol acquisitions

(Note: Submitting project after completion rather than before; but felt it appropriate to document for prosperity)

Project Description

Many modern Diffusion-Weighted Imaging (DWI) models rely on what is known as a "multi-shell" acquisition: this refers to the acquisition of image volumes where not only the direction of diffusion sensitisation is varied, but also the magnitude of that sensitisation, with groups of volumes where the sensitisation magnitude is equivalent but the direction differs referred to as "shells".

On some scanner platforms, acquisition of such data relies on executing multiple acquisition protocols, each with selection of a unique "b-value" (strength of diffusion sensitisation), rather than the ideal scenario where all image volumes are acquired in a single acquisition.

This presents a potential issue in the amalgamation of such data. It is possible for scanner frequency recalibration / ADC gain / FFT multiplication factor / other factors to be adjusted in between protocols. If this occurs, then the quantitative relationships between the different image volumes may be violated.

This project is a proposed retrospective fix to this problem. Each DWI acquisition will additionally contain so-called "b=0" volumes: these are image volumes where no diffusion sensitisation is applied. If there are undesirable differences in signal amplitudes between the different acquisition protocols, this should be evident as differences in the signal amplitudes between the b=0 volumes of the various acquisitions. We can therefore use the differences between these images to estimate an appropriate intensity multiplicative factor to then apply to all of the volumes in each acquisition, in order to attempt to correct for any such inter-protocol scaling that may have occurred.

Skills required to participate

At least some experience with Python is required.

Some familiarity with performing basic operations on MRI image data.

Knowledge of MRtrix3 commands would be ideal, but not necessary.

Integration

Contributors to the proposed script will have the opportunity to inherit attribution of the developed code, via git contribution history & statistics, authorship of the developed script (which is reported in online & integrated command documentation), and avatar appearance on the main MRtrix3 website as a contributor to the project.

Anyone possessing image data that suffers from the described issue who could assist in testing the proposed solution would also be thanked for their contribution in the relevant Pull Request.

Preparation material

Link to your GitHub repo

MRtrix3 repository: https://github.com/MRtrix3/mrtrix3

Communication

Project can be discussed directly on the relevant GitHub issue.

Ongoing private communications regarding the project can be made via private messages on the MRtrix3 community forum (link to my account)