Giter Club home page Giter Club logo

mrivis's Introduction

Hi there ๐Ÿ‘‹

mrivis's People

Contributors

dependabot[bot] avatar raamana avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

mrivis's Issues

Cannot visualize checkerboard

  • mrivis version: 0.2.7
  • Python version: 3.6.5
  • Operating System: Fedora 27

Description

Hi Raamana, I was trying to do this with @lalet:

>>> from mrivis import checkerboard
>>> checkerboard('sub-01/anat/sub-01_T1w.nii.gz', 'sub-01/anat/sub-01_T1w.nii.gz', patch_size=10)

And this happened:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/glatard/.local/lib/python3.6/site-packages/mrivis/mrivis.py", line 92, in checkerboard
    **mixer_params)
  File "/home/glatard/.local/lib/python3.6/site-packages/mrivis/mrivis.py", line 398, in _compare
    display_params, **kwargs)
TypeError: _generic_mixer() takes 3 positional arguments but 6 were given

Any hint?

Derived classes for func. and diffusion MRI from Carpet

  • deriving from Carpet, create FuncCarpet with defaults tailored to most neuroimaging applications, such as taking tissue segmentation masks, default blurring on, etc

  • deriving from Carpet, create DiffusionCarpet, similar to above with useful defaults

New Carpet class for fMRI and dMRI

  • to unroll 4D data over the 4th dim,
  • optional input of ROI set or mask
  • option to cluster the rows (spatial/voxel-wise) and/or columns (time or gradients),
  • as well as select specific rows and columns
  • display options include coloured lines representing ROI/voxel groups

No checkerboard visible in output image

  • mrivis version: 0.2.8
  • Python version: 3.4
  • Operating System: CentOS7

Description

from mrivis import checkerboard
plot = checkerboard('T2w_acpc.nii.gz','T2w_acpc_centos7.nii.gz',patch_size=10)
plot.savefig("T2w_tilt.png")

These two files are output from two operating systems.   
They are completely off w.r.t alignment and we tried to visualize the differences using checkerboard. 
But no checkerboard is visible in the output image.  
Thanks for fixing the other issue, but it would be greatly appreciated if you have any hint on this one. Please find attached the output image.

t2w_tilt @glatard

New functionality in Carpet

  • composite layering of stats (as in visualqc)
  • mixing multiple variations of carpet (temporal derivatives etc)
  • exploiting multiple color channels to ingest useful info

Carpet plot notebook

  • Add real world examples
  • show the effect of different number of ROIs
  • show the effect of different clustering metrics

Review for Journal of Open Source software

Here I will write my review for the JOSS submission: openjournals/joss-reviews#897

General impression

The purpose of the project is simple but very important and can be divided into two parts:

  1. The comparison of two 3D MRI images. This is achieved with the Alignment check functions.
  2. The creation of adjustable visualization collages for 3D MRI images, as well as the creation of carpet plots for 4D images. This is achieved with Visualization Classes.

Alignment check between MRI images is very important in neuroimaging. Reducing the similarity between two images to a simple number (e.g. using a distance function) might be accurate but is often times not useful as it doesn't provide information about the source of the discrepancy. Using a visual approach, and in this case, providing multiple ones is a very nice solution to this problem!

The creation of MRI collages is also very important for the field of neuroimaging. A collage allows the investigation of a 3D image (with many 100 of slices in three directions). All at once with a quick glance. Even though this is important, there are only a few open source software that provides this functionality, but none does it as simple and flexible as mrivis! The possibility of only plotting slices with a particular non-zero density or containing a given ROI is really great! A similar "one view check" can be achieved for 4D images, using the Carpet class!

My general impression of the repo is very good! The repo has an informative README.rst file, a very detailed documentation homepage, and provides important files, such as LICENSE AUTHORS.rst, CODE_OF_CONDUCT.md, CONTRIBUTING.rst, etc.

The code is well written, uses PEP440 standard (enforced with flake8) and is well commented.

The installation of the software is very easy. mrivis can be installed very quickly via pip and all required dependencies are listed in requirements.txt.

To quickly test mrivis and getting used to its functionality, this repo provides some example files as well as a demo notebook. This is very good, as it allows a user to quickly learn how to use mrivis.

Review criteria

Concerning the review criteria under https://joss.readthedocs.io/en/latest/review_criteria.html:

  • Software license is Acceptable
  • Documentation is very good
  • A statement of need is clearly defined
  • Installation instructions are Good
  • Example usage are included (with example data)
  • API documentation is Good
  • Community guidelines are provided
  • Functionality is Good (minor bug issues mentioned below)
  • Tests are Good (done with Travis-CI)

Additional Comments

I haven't reviewed the MATLAB code section in the matlab_code folder, as it contains the note: This is no longer maintained! The python version has more options and is recommended.

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.