pymialsrtk

The Medical Image Analysis Laboratory Super-Resolution ToolKit (MIALSRTK) consists of a set of C++ and Python processing and workflow tools necessary to perform motion-robust super-resolution fetal MRI reconstruction in the BIDS Apps framework.

https://github.com/medical-image-analysis-laboratory/mialsuperresolutiontoolkit

Science Score: 59.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 9 committers (11.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.4%) to scientific vocabulary

Keywords

bids bids-apps fetal itk mri nipype super-resolution workflow
Last synced: 6 months ago · JSON representation

Repository

The Medical Image Analysis Laboratory Super-Resolution ToolKit (MIALSRTK) consists of a set of C++ and Python processing and workflow tools necessary to perform motion-robust super-resolution fetal MRI reconstruction in the BIDS Apps framework.

Basic Info
  • Host: GitHub
  • Owner: Medical-Image-Analysis-Laboratory
  • License: bsd-3-clause
  • Language: C++
  • Default Branch: master
  • Homepage:
  • Size: 310 MB
Statistics
  • Stars: 29
  • Watchers: 5
  • Forks: 15
  • Open Issues: 17
  • Releases: 5
Topics
bids bids-apps fetal itk mri nipype super-resolution workflow
Created over 6 years ago · Last pushed over 2 years ago
Metadata Files
Readme License Zenodo

README.md

MIALSRTK logo


Copyright © 2016-2023 Medical Image Analysis Laboratory, University Hospital Center and University of Lausanne (UNIL-CHUV), Switzerland

This software is distributed under the open-source BSD 3-Clause License. See LICENSE file for details.


GitHub release (latest by date including pre-releases) DOI Docker Pulls Build Status CircleCI Code Coverage Documentation Status Code Quality Github All Contributors

The Medical Image Analysis Laboratory Super-Resolution ToolKit (MIALSRTK) provides a set of C++ and Python tools necessary to perform motion-robust super-resolution fetal MRI reconstruction.

The original C++ MIALSRTK library includes all algorithms and methods for brain extraction, intensity standardization, motion estimation and super-resolution. It uses the CMake build system and depends on the open-source image processing Insight ToolKit (ITK) library, the command line parser TCLAP library and OpenMP for multi-threading.

MIALSRTK has been recently extended with the pymialsrtk Python3 library following recent advances in standardization of neuroimaging data organization and processing workflows such as the Brain Imaging Data Structure (BIDS) and BIDS App standards. This library has a modular architecture built on top of the Nipype dataflow library which consists of (1) processing nodes that interface with each of the MIALSRTK C++ tools and (2) a processing pipeline that links the interfaces in a common workflow.

The processing pipeline with all dependencies including the C++ MIALSRTK tools are encapsulated in a Docker image container, which handles datasets organized following the BIDS standard and is distributed as a BIDS App @ Docker Hub. For execution on high-performance computing cluster, a Singularity image is also made freely available @ Sylabs Cloud. To facilitate the use of Docker or Singularity, pymialsrtk provides two Python commandline wrappers (mialsuperresolutiontoolkit_docker and mialsuperresolutiontoolkit_singularity) that can generate and run the appropriate command.

All these design considerations allow us not only to (1) represent the entire processing pipeline as an execution graph, where each MIALSRTK C++ tools are connected, but also to (2) provide a mecanism to record data provenance and execution details, and to (3) easily customize the BIDS App to suit specific needs as interfaces with new tools can be added with relatively little effort to account for additional algorithms.

Resources

Installation

  • Install Docker or Singularity engine

  • In a Python 3.7 environment, install pymialsrtk with pip:

    pip install pymialsrtk
    
  • You are ready to use MIALSRTK BIDS App wrappers!

Usage

mialsuperresolutiontoolkit_docker and mialsuperresolutiontoolkit_singularity python wrappers to the MIALSRTK BIDS App have the following command line arguments:

$ mialsuperresolutiontoolkit_[docker|singularity] -h

usage: mialsuperresolutiontoolkit_[docker|singularity] [-h]
                                     [--run_type {sr,preprocessing}]
                                     [--participant_label PARTICIPANT_LABEL [PARTICIPANT_LABEL ...]]
                                     [--param_file PARAM_FILE]
                                     [--openmp_nb_of_cores OPENMP_NB_OF_CORES]
                                     [--nipype_nb_of_cores NIPYPE_NB_OF_CORES]
                                     [--memory MEMORY]
                                     [--masks_derivatives_dir MASKS_DERIVATIVES_DIR]
                                     [--labels_derivatives_dir LABELS_DERIVATIVES_DIR]
                                     [--all_outputs] [-v] [--verbose]
                                     [--track_carbon_footprint]
                                     bids_dir output_dir {participant}

Argument parser of the MIALSRTK BIDS App Python wrapper

positional arguments:
  bids_dir              The directory with the input dataset formatted
                        according to the BIDS standard.
  output_dir            The directory where the output files should be stored.
                        If you are running group level analysis this folder
                        should be prepopulated with the results of the
                        participant level analysis.
  {participant}         Level of the analysis that will be performed. Only
                        participant is available

optional arguments:
  -h, --help            show this help message and exit
  --run_type {sr,preprocessing}
                        Type of pipeline that is run. Can choose between
                        running the super-resolution pipeline (`sr`) or only
                        preprocessing (`preprocessing`).
  --participant_label PARTICIPANT_LABEL [PARTICIPANT_LABEL ...]
                        The label(s) of the participant(s) that should be
                        analyzed. The label corresponds to
                        sub-<participant_label> from the BIDS spec (so it does
                        not include "sub-"). If this parameter is not provided
                        all subjects should be analyzed. Multiple participants
                        can be specified with a space separated list.
  --param_file PARAM_FILE
                        Path to a JSON file containing subjects' exams
                        information and super-resolution total variation
                        parameters.
  --openmp_nb_of_cores OPENMP_NB_OF_CORES
                        Specify number of cores used by OpenMP threads
                        Especially useful for NLM denoising and slice-to-
                        volume registration. (Default: 0, meaning it will be
                        determined automatically)
  --nipype_nb_of_cores NIPYPE_NB_OF_CORES
                        Specify number of cores used by the Niype workflow
                        library to distribute the execution of independent
                        processing workflow nodes (i.e. interfaces)
                        (Especially useful in the case of slice-by-slice bias
                        field correction and intensity standardization steps
                        for example). (Default: 0, meaning it will be
                        determined automatically)
  --memory MEMORY       Limit the workflow to using the amount of specified
                        memory [in gb] (Default: 0, the workflow memory
                        consumption is not limited)
  --masks_derivatives_dir MASKS_DERIVATIVES_DIR
                        Use manual brain masks found in
                        ``<output_dir>/<masks_derivatives_dir>/`` directory
  --labels_derivatives_dir LABELS_DERIVATIVES_DIR
                        Use low-resolution labelmaps found in
                        ``<output_dir>/<labels_derivatives_dir>/`` directory.
  --all_outputs         Whether or not all outputs should be kept(e.g.
                        preprocessed LR images)
  -v, --version         show program's version number and exit
  --verbose             Verbose mode
  --track_carbon_footprint
                        Track carbon footprint with `codecarbon
                        <https://codecarbon.io/>`_ and save results in a CSV
                        file called ``emissions.csv`` in the
                        ``<bids_dir>/code`` directory.

Credits

Sébastien Tourbier
Sébastien Tourbier

🎨 💻 🚇 ⚠️ 🐛 💡 📖 🤔 👀
Priscille de Dumast
Priscille de Dumast

🎨 💡 ⚠️ 💻 📖 🤔 👀
hamzake
hamzake

💡 ⚠️ 💻 📖 🤔
Thomas Sanchez
Thomas Sanchez

🐛 💻 📖 💡 🤔 🚇 👀
Hélène Lajous
Hélène Lajous

🐛 ⚠️ 👀
Patric Hagmann
Patric Hagmann

🔣 🔍
Meritxell Bach
Meritxell Bach

🔍

This project follows the all-contributors specification. Contributions of any kind welcome!

Owner

  • Name: Medical Image Analysis Laboratory
  • Login: Medical-Image-Analysis-Laboratory
  • Kind: organization
  • Location: Lausanne, Switzerland

GitHub Events

Total
  • Watch event: 3
  • Fork event: 3
Last Year
  • Watch event: 3
  • Fork event: 3

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 1,522
  • Total Committers: 9
  • Avg Commits per committer: 169.111
  • Development Distribution Score (DDS): 0.407
Top Committers
Name Email Commits
Sebastien Tourbier s****1@g****m 902
pdedumast p****t@g****m 372
Thomas Sanchez s****6@g****m 142
allcontributors[bot] 4****]@u****m 30
hamzake h****i@g****m 24
tourbier@mac s****r@u****h 21
Hamza Kebiri h****i@h****v 14
Thomas Sanchez t****z@u****h 11
Thomas Sanchez t****z@e****h 6
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 55
  • Total pull requests: 46
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 13 days
  • Total issue authors: 6
  • Total pull request authors: 4
  • Average comments per issue: 0.27
  • Average comments per pull request: 1.74
  • Merged pull requests: 42
  • Bot issues: 0
  • Bot pull requests: 2
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • pdedumast (29)
  • t-sanchez (22)
  • richardbeare (1)
  • mrzaib (1)
  • sebastientourbier (1)
  • helenelajous (1)
Pull Request Authors
  • pdedumast (20)
  • t-sanchez (18)
  • sebastientourbier (6)
  • allcontributors[bot] (2)
Top Labels
Issue Labels
enhancement (13) mid-effort (12) little-effort (12) maintenance (11) bug (7) big-effort (3) documentation (2) invalid (1)
Pull Request Labels
release (1) enhancement (1) big-effort (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 29 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 4
  • Total maintainers: 1
pypi.org: pymialsrtk

PyMIALSRTK: Nipype pipelines for the MIAL Super Resolution Toolkit

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 29 Last month
Rankings
Dependent packages count: 10.0%
Forks count: 10.2%
Stargazers count: 12.9%
Average: 18.4%
Dependent repos count: 21.7%
Downloads: 37.3%
Maintainers (1)
Last synced: 6 months ago

Dependencies

Dockerfile docker
  • ubuntu 14.04 build
docker/bidsapp/Dockerfile docker
  • "${MAIN_DOCKER}" latest build
docker/jupyter/Dockerfile docker
  • $MAIN_DOCKER latest build
docker/bidsapp/environment.yml pypi
  • MedPy ==0.4.0
  • coverage ==5.1
  • duecredit ==0.8.0
  • etelemetry ==0.3.0
  • graphviz *
  • nbsphinx ==0.7.1
  • networkx ==2.6.3
  • nipy ==0.5.0
  • nsol ==0.1.14
  • opencv-python ==4.1.0.25
  • recommonmark ==0.5.0
  • simpleITK ==2.0.2
  • sphinx ==1.8.5
  • sphinx-argparse ==0.2.5
  • sphinx_rtd_theme ==0.4.3
  • sphinxcontrib-apidoc ==0.3.0
  • sphinxcontrib-napoleon ==0.7
  • tflearn ==0.3.2
  • transforms3d ==0.3.1
docker/jupyter/environment.yml pypi
  • MedPy ==0.4.0
  • apptools ==4.4.0
  • coverage ==5.1
  • duecredit ==0.8.0
  • graphviz *
  • jupyter_contrib_nbextensions *
  • matplotlib ==3.4
  • nbsphinx ==0.7.1
  • numpy ==1.16.4
  • opencv-python ==4.1.0.25
  • recommonmark ==0.5.0
  • scikit-image ==0.14.2
  • scikit-learn ==0.20.3
  • sphinx ==1.8.5
  • sphinx-argparse ==0.2.5
  • sphinx_rtd_theme ==0.4.3
  • tensorboard ==1.13.1
  • tensorflow ==1.13.1
  • tensorflow-estimator ==1.13.0
  • tflearn ==0.3.2
documentation/requirements.txt pypi
  • docutils ==0.17.1
  • grabbit *
  • nbsphinx ==0.8.7
  • nipype ==1.7.0
  • pybids *
  • recommonmark ==0.7.1
  • sphinx ==4.2.0
  • sphinx-argparse ==0.3.1
  • sphinx-rtd-theme ==1.0.0
  • sphinxcontrib-apidoc ==0.3.0
  • sphinxcontrib-napoleon ==0.7
  • sphinxemoji ==0.2.0
  • traits ==6.3.1