Giter Site home page Giter Site logo

dsmri's Introduction

DSMRI

DSMRI: Domain Shift Analyzer for Multi-Center MRI Datasets

The paper has been published in the Journal of Diagnostics. Link: https://doi.org/10.3390/diagnostics13182947.

@article{kushol2023dsmri,
  title={Dsmri: Domain shift analyzer for multi-center mri datasets},
  author={Kushol, Rafsanjany and Wilman, Alan H and Kalra, Sanjay and Yang, Yee-Hong},
  journal={Diagnostics},
  volume={13},
  number={18},
  pages={2947},
  year={2023},
  publisher={MDPI}
}

Abstract

In medical research and clinical applications, the utilization of MRI datasets from multiple centers has become increasingly prevalent. However, inherent variability between these centers presents challenges due to domain shift, which can impact the quality and reliability of the analysis. Regrettably, the absence of adequate tools for domain shift analysis hinders the development and validation of domain adaptation and harmonization techniques. To address this issue, this paper presents a novel Domain Shift analyzer for MRI (DSMRI) framework designed explicitly for domain shift analysis in multi-center MRI datasets. The proposed model assesses the degree of domain shift within an MRI dataset by leveraging various MRI-quality-related metrics derived from the spatial domain. DSMRI also incorporates features from the frequency domain to capture low- and high-frequency information about the image. It further includes the wavelet domain features by effectively measuring the sparsity and energy present in the wavelet coefficients. Furthermore, DSMRI introduces several texture features, thereby enhancing the robustness of the domain shift analysis process. The proposed framework includes visualization techniques such as t-SNE and UMAP to demonstrate that similar data are grouped closely while dissimilar data are in separate clusters. Additionally, quantitative analysis is used to measure the domain shift distance, domain classification accuracy, and the ranking of significant features. The effectiveness of the proposed approach is demonstrated using experimental evaluations on seven large-scale multi-site neuroimaging datasets.

Proposed Workflow

Requirements

medpy
pandas
scikit-learn
umap-learn
numpy
scipy
matplotlib
scikit-image
seaborn
nibabel
PyWavelets
plotly

To create a new conda environment: conda create -n dsmri python=3.9

To install all the packages from the requirements.txt file: pip3 install -r requirements.txt

Datasets

ADNI, AIBL, PPMI and ABIDE datasets can be downloaded from ADNI (Alzheimer’s Disease Neuroimaging Initiative)

CALSNIC dataset can be requested from CALSNIC (Canadian ALS Neuroimaging Consortium)

Command

Run python dsmri.py output_folder_name “input directory”. For example, python dsmri.py CALSNIC1 "D:\DS_MRI\Dataset\CALSNIC1". It will generate features.csv and results.tsv in the Results/CALSNIC1 folder.

Hyper-parameters

-b-> number of gap in consecutive slices, default= 5. The features will be extracted from an interval of five slices by default. Setting the value as 1 will consider every slice in the range.
-c-> percent of central images, default= 70. The first 15% and last 15% slices will not be considered by default. Setting the value as 100 will start the slice range from first to last.
-p-> perplexity for t-SNE method, default= 30. The t-SNE method requires the total samples to be greater than the value of perplexity. The perplexity is related to the number of nearest neighbours. Larger datasets usually require a larger perplexity. Consider selecting a value between 5 and 50.

Contact

Email at: [email protected]

Acknowledgement

This basic structure of the code deeply relies on the project of MRQy.

dsmri's People

Contributors

rkushol avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.