MRI denoising using MP-PCA

Title

Improving MP-PCA denoising of diffusion and functional MRI data using MP-PCA

Leaders

Robert E. Smith; http://x.com/Lestropie

Collaborators

No response

Brainhack Global 2024 Event

Brainhack Aus

Project Description

Denoising of EPI MRI data has become a common component of MRI pre-processing pipelines. It is most prevalent in the pre-processing of diffusion MRI data given its low signal magnitude, but it is also becoming increasingly prevalent for functional MRI pre-processing.

The MRtrix3 software provides a command dwidenoise for this purpose. This is a sliding-window approach, where processing for each voxel is performed based on data in a local spatial neighbourhood, exploiting the density of EPI data across multiple volumes. After performing a Principal Component Analysis (PCA) decomposition for the data across DWI volumes within that window, it determines the appropriate cutoff for which components to retain vs. remove based on the Marchenko-Pastur distribution, which predicts the distribution of eigenvalues for random matrices. By doing so it intends to retain the useful signal present in that location, but remove those components that manifest from the thermal noise of the imaging process.

While currently in wide use, there are many prospective enhancements that could be made to this command to improve the quality of denoising. The goal of this project is to address features with strong prospects for improving performance that are achievable within the short time frame of a Hackathon.

dwidenoise enhancements meta-issue: https://github.com/MRtrix3/mrtrix3/issues/3023

Goals for Brainhack Global

Good first issues

This Project is only intended for potential contributors who already possess strong software engineering skills.

Communication channels

TBA

Skills

Onboarding documentation

MRtrix3 contributing documentation: https://github.com/MRtrix3/mrtrix3/blob/master/CONTRIBUTING.md

Note that these developments would be targeted at the “dev” development branch of MRtrix3. This branch has undergone substantial changes to the build system. Therefore, even if an attendee has had prior experience building MRtrix3 from source, it will be necessary to have or build some experience with cmake.

MP-PCA method journal article: https://www.sciencedirect.com/science/article/pii/S1053811916303949

What will participants learn?

Data to use

I will endeavour to obtain some different example data that can be used for testing. It is also common to hear complaints about inefficacy of DWI denoising, in which case it would be beneficial to obtain sample datasets from the community. Attendees may also bring their own data and see the consequences of technical enhancements to denoising performance.

Number of collaborators

1

Credit to collaborators

Once commits are merged to master as part of a tagged release, contributors appear at the tail of the MRtrix3 website front page , and will receive attribution for their specific contributions as part of a changelog (see example ).

Image

Leave this text if you don’t have an image yet.

Type

coding_methods, method_development

Development status

2_releases_existing

Topic

diffusion, PCA

Tools

MRtrix

Programming language

C++

Modalities

DWI, fMRI

Git skills

1_commit_push

Anything else?

This project has a much higher barrier to entry than most Hackathon projects. It will only proceed if there exists in attendance at least one other participant with both sufficient interest in the project and competence with C++.

Things to do after the project is submitted and ready to review.


Date
Jan 1, 0001 12:00 AM