Recent Releases of pymialsrtk

pymialsrtk - MIAL Super-Resolution Toolkit v2.1.0

Medical Image Analysis Laboratory Super-Resolution ToolKit 2 (MIALSRTK2) 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.

This corresponds to the first major release of MIALSRTK 2 ✨✨✨

What's changed

New features

  • Computation of high resolution segmentation maps from low-resolution segmentations - do_reconstruct_labels option.

  • Added an optional super-resolution reconstruction assessment stage where the SR reconstruction is compared to a provided high resolution ground truth image - do_srr_assessment option.

  • Added the possibility to re-orient the SR reconstruction into the anatomical planes defined by the spatio-temporal atlas of Gholipour et al. (2017) used in NiftyMIC - do_anat_orientation option.

Minor changes

  • Improved flexibility of the pipeline. Added several options to be given in the config to facilitate various experiments. Details are available in the documentation

    • skip_preprocessing allows to directly run registration and TV reconstruction without pre-processing.
    • --run_type: sr (default) or preprocessing. Allows to run only preprocessing.
  • Improved computational workflow.

    • Added an option to perform reconstruction using mulitple TV parameters efficiently, without needing to register the image several times.
    • Added a reduction of the field-of-view at the beginning of pre-processing to accelerate computations.
  • Output organisation.

    • Creation of various subworkflows for a clearer view at the processing graph.
    • Improved the naming of outputs of pymialsrtk to be BIDS compliant.
  • User-friendliness.

    • Given a subject, a run that fails will immediately crash and move to the next subject, instead of silently failing all modules. The message will be recorder and output at the end of the pipeline. This makes error tracking easier throughout the pipeline.
    • Reports were updated to display directly the image of the SR reconstruction rather than the processing graph.

More...

Please check pull request 200 for more change details and development discussions.

Full Changelog: https://github.com/Medical-Image-Analysis-Laboratory/mialsuperresolutiontoolkit/compare/v2.1.0...v2.0.3

- C++
Published by sebastientourbier about 3 years ago

pymialsrtk - MIAL Super-Resolution Toolkit v2.0.3

Medical Image Analysis Laboratory Super-Resolution ToolKit 2 (MIALSRTK2) 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.

This corresponds to the third release of MIAL Super-Resolution Toolkit 2 🎄 🌍✨

What's changed

New features

  • You can now be aware about the adverse impact of your processing on the environment 🎄🌍✨!

A new --track_carbon_footprint option has been added to the mialsuperresolutiontoolkit_docker and mialsuperresolutiontoolkit_singularity python wrappers of the BIDS App, which will use codecarbon <https://codecarbon.io/>_ to estimate the amount of carbon dioxide (CO2) produced to execute the BIDS App.

Results are saved in <bids_dir>/code/emissions.csv.

  • Functions get_emission_car_miles_equivalent and get_emission_tv_time_equivalent that convert the CO2 emission in terms of (i) kms traveled by an average car and (ii) time of watching a 32-inch screen have been added to pymialsrtk.interfaces.util module.

More...

Please check pull request 113 for more change details and development discussions.

- C++
Published by sebastientourbier about 4 years ago

pymialsrtk - MIAL Super-Resolution Toolkit v2.0.2

Medical Image Analysis Laboratory Super-Resolution ToolKit 2 (MIALSRTK2) 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.

This corresponds to the second release of MIAL Super-Resolution Toolkit 2.

What's changed

New feature

  • pymialsrtk enables to fix the maximal amount of memory (in Gb) that could be used by the pipelines at execution with the --memory MEMORY_Gb option flag. (See pull request 92).

  • pymialsrtk generates a HTML processing report for each subject in sub-\<label>/report/sub-\<label>.html. It includes the following:

    • Pipeline/workflow configuration summary
    • Nipype workflow execution graph
    • Link to the processing log
    • Plots for the quality check of the automatic reordering step based on the motion index.
    • Three orthogonal cuts of the reconstructed image
    • Computing environment summary

    (See pull requests 97, 102, and 103).

Major change

  • The method pymialsrtk.postprocess.binarize_image() has been modified and encapsulated in a new interface called pymialsrtk.postprocess.BinarizeImage.

Python update

  • From 3.6.8 to 3.7.10

New package

  • pandas 1.1.5
  • sphinxcontrib-apidoc 0.3.0 (required to build documentation)
  • sphinxcontrib-napoleon 0.7 (required to build documentation)

Package update

  • traits from 5.1.2 to 6.3.0
  • nipype from 1.6.0 to 1.7.0
  • nilearn from 0.7.1 to 0.8.1
  • numpy from 1.16.6 to 1.21.3
  • scikit-learn from 0.20 to 1.0.1
  • scikit-image from 0.14 to 0.16.2

Bug fix

  • Correct the filename of the high-resolution brain mask generated by the data sinker in mialsrtk-<variant>/sub-<label>/anat. (See pull request 92)

  • mialsrtkImageReconstruction updates the reference image used for slice-to-volume registration using the high-resolution image reconstructed by SDI at the previous iteration.

  • The following Sphinx extension packages were added to the conda environment, that were required if one wish to build the documentation locally:

    • sphinxcontrib-apidoc 0.3.0
    • sphinxcontrib-napoleon 0.7

Note

It was not possible to update the version of tensorflow for the moment. All versions of tensorflow greater than 1.14 are in fact compiled with a version of GCC much more recent than the one available in Ubuntu 14.04. This seems to cause unresponsiveness of the preprocess.BrainExtraction interface node which can get stuck while getting access to the CPU device.

Software development life cycle

  • Use PEP 8 Speaks, a GitHub app to automatically review Python code style over Pull Requests. Configuration described by .pep8speaks.yml

More...

Please check main pull requests 70 and 110 for more change details and development discussions.

Full Changelog: https://github.com/Medical-Image-Analysis-Laboratory/mialsuperresolutiontoolkit/compare/v2.0.1...v2.0.2

- C++
Published by sebastientourbier over 4 years ago

pymialsrtk - MIAL Super-Resolution Toolkit v2.0.1

Version 2.0.1

Date: December 24, 2020

Merry Christmas from the MIASRTK team 🎁 🎄!

This corresponds to the release of MIAL Super-Resolution Toolkit 2.0.1, that includes in particular full support with Singularity and more! See below.

Major change

  • Review setup.py for publication of future release of pymialsrtk to PyPI (See pull request 59).
  • Review creation of entrypoint scripts of the container for compatibility with Singularity (See pull request 60).
  • Use MapNode for all interfaces that apply a processing independently to a list of images (See pull request 68).
  • Use the nipype sphinx extension to generate API documentation (See pull request 65).
  • Review the --manual option flag which takes as input a directory with brain masks (See pull request 51).

New feature

  • pymialsrtk enables to skip different steps in the super-resolution pipeline (See pull request 63).
  • Support of Singularity to execute MIALSTK on high-performance computing cluster (See pull request 60).
  • pymialsrtk implements for convenience a Python wrapper that generates the Singularity command line of the BIDS App for you, prints it out for reporting purposes, and then executes it without further action needed (See pull request 61).

Software development life cycle

  • Add test-python-install job to CircleCI to test the creation of the distribution wheel to PyPI and test its installation via pip (See pull request 34).
  • Add deploy-pypi-release job to CircleCI to publish the package of a new release to PyPI (See pull request 59).
  • Add build-singularity, test-singularity, deploy-singularity-latest, and deploy-singularity-release jobs in CircleCI to build, test and deploy a Singularity image of MIALSRTK to Sylabs.io (See pull request 34). The tests includes:

    • Test 03: Run BIDS App on the sample data/ BIDS dataset with the --manual_masks option without code coverage.
    • Test 04: Run BIDS App on the sample data/ BIDS dataset with automated brain extraction (masking) without code coverage.

More...

Please check pull request 53 for more change details and development discussions.

Contributors

  • @pdedumast
  • @sebastientourbier

- C++
Published by sebastientourbier about 5 years ago

pymialsrtk - MIAL Super-Resolution Toolkit v2.0.0

Version 2.0.0

Date: November 25, 2020

This corresponds to the first release of the second version of the MIAL Super-Resolution Toolkit, which has evolved massively over the last years in terms of the underlying codebase and the scope of the functionality provided, following recent advances in standardization of neuroimaging data organization and processing workflows.

Major changes

  • Adoption of the Brain Imaging Data Structure standard for data organization and the sample dataset available in data/ has been modified accordingly. (See BIDS and BIDS App standards <cmpbids> for more details)
  • MIALSRTK is going to Python with the creation of the pymialsrtk workflow library which extends the Nipype dataflow library with the implementation of interfaces to all C++ MIALSRTK tools connected in a common workflow to perform super-resolution reconstruction of fetal brain MRI with data provenance and execution detail recordings. (See API Documentation <api-doc>)
  • Docker image encapsulating MIALSRTK is distributed as a BIDS App, a standard for containerized workflow that handles BIDS datasets with a set of predefined commandline input argument. (See BIDS App Commadline Usage <cmdusage> for more details)
  • Main documentation of MIALSRTK is rendered using readthedocs at https://mialsrtk.readthedocs.io/.

New feature

  • pymialsrtk implements an automatic brain extraction (masking) module based on a 2D U-Net (Ronneberger et al. [Ref1]_) using the pre-trained weights from Salehi et al. [Ref2]_ (See pull request 4). It is integrated in the BIDS App workflow by default.

  • pymialsrtk implements a module for automatic stack reference selection and ordering (masking) based on the tracking of the brain mask centroid slice by slice (See pull request 34)

* pymialsrtk implements for convenience a Python wrapper that generates the Docker command line of the BIDS App for you, prints it out for reporting purposes, and then executes it without further action needed (See pull request 47)

Software development life cycle

  • Adopt CircleCI for continuous integration testing and run the following regression tests:

    • Test 01: Run BIDS App on the sample data/ BIDS dataset with the --manual_masks option.
    • Test 02: Run BIDS App on the sample data/ BIDS dataset with automated brain extraction (masking).

    See CircleCI project page.

  • Use Codacy to support code reviews and monitor code quality over time.

  • Use coveragepy in CircleCI during regression tests of the BIDS app and create code coverage reports published on our Codacy project page.

More...

Please check pull request 2, pull request 4, pull request 34, pull request 39, pull request 47 for more change details and development discussions.

- C++
Published by sebastientourbier about 5 years ago