Niviz: Configurable quality control image generation and rating #181
Labels
bhg:toronto_can_1
BHG 2021 Toronto event
git_skills:1_commit_push
git_skills:2_branches_PRs
modality:DWI
modality:fMRI
modality:MRI
programming:documentation
Markdown, Sphinx
programming:html_css
programming:Java
Java
programming:Javascript
Javascript
programming:Python
project_development_status:1_basic structure
project_type:coding_methods
project_type:documentation
project_type:visualisation
project
status:web_ready
tools:BIDS
tools:fMRIPrep
tools:Nipype
topic:data_visualisation
Title
Niviz: Configurable quality control image generation and rating
Leaders
Jerrold Jeyachandra @jerdra
Collaborators
None
Brainhack Global 2021 Event
BrainHack Toronto
Project Description
The process of QCing is universally boring, terrible and inefficient.
The Problem with QC
Most pipelines people write and use don't generate QC images, especially those that are as user-friendly as widely established pipelines such as fMRIPREP
Even then, the QC images that are generated do not necessarily match how users end up QC'ing and rating images.
Most of the time users must figure out their own way to record and organize their QC results, this is incredibly variable across individuals. Your collaborator might use differing definitions, organizational principles, and file formats for storing their QC results than you.
Comparing rated images is often slow, manual and therefore painful. Often-times users have doubt about their ratings and would want to compare it to other images with the same rating. Doing this is often a very manual process (i.e lookup similar QC ratings on your spreadsheet, find file, open both images and compare)
The Solution - Niviz
Niviz is a simple, configurable Python-based tool that:
niviz-rater
that collects generated QC images (or any set of images organized in a BIDS-style dataset!!!) into an interactive QC interface. In addition, QC can be configured to suit the user's needs using (yet another) simple YAML file.Link to project repository/sources
QC image generation
https://github.com/TIGRab/niviz
QC web application
https://github.com/jerdra/niviz-rater
Goals for Brainhack Global
Both niviz and niviz-rater are relatively new projects and therefore require a bit of maintenance and organizational effort. The primary goals are as follows:
Niviz
Niviz Rater
Good first issues
Issues can be found under:
https://github.com/TIGRLab/niviz/issues
https://github.com/jerdra/niviz-rater/issues
Look for the
good first issue
label for easy topics!Communication channels
https://mattermost.brainhack.org/brainhack/channels/brainhack-toronto
We'll probably create our own channel if this picks up interest :)
Skills
The repositories are primarily written in Python and Javascript, these components are mostly independent from one another so you don't need to know both!
Python
Intermediate
Git
Intermediate
Javascript
Familiarity with Svelte framework is preferred. I'm still learning myself!
Onboarding documentation
Contributing
What will participants learn?
Depending on which repository you contribute to:
Niviz
Niviz-Rater
Bottle
for building python web applicationspeewee
Data to use
As part of contributing to the documentation efforts of this project, we'd like to host some OSF sample data.
Niviz
Some image data from a pipeline like fMRIPrep
Niviz-Rater
Some QC image data so that users can play around with writing a YAML specification file and using the QC interface
Number of collaborators
3
Credit to collaborators
Project contributers will be included using the GitHub allcontributors bot. I'm still setting this up 🙈
Image
Leave this text if you don't have an image yet.
Type
coding_methods, documentation, visualization
Development status
1_basic structure
Topic
data_visualisation, other
Tools
Nipype, other
Programming language
documentation, Python, html_css, javascript
Modalities
DWI, fMRI, MRI
Git skills
1_commit_push, 2_branches_PRs
Anything else?
No response
Things to do after the project is submitted and ready to review.
Hi @brainhackorg/project-monitors my project is ready!
The text was updated successfully, but these errors were encountered: