Git Product home page Git Product logo

reproin's Introduction

DOI

ReproIn

This project is a part of the ReproNim Center suite of tools and frameworks. Its goal is to provide a turnkey flexible setup for automatic generation of shareable, version-controlled BIDS datasets from MR scanners. To not reinvent the wheel, all actual software development is largely done through contribution to existing software projects:

  • HeuDiConv: a flexible DICOM converter for organizing brain imaging data into structured directory layouts. ReproIn heuristic was developed and now is shipped within HeuDiConv, so it could be used independently of the ReproIn setup on any HeuDiConv installation (specify -f reproin to heudiconv call).
  • DataLad: a modular version control platform and distribution for both code and data. DataLad support was contributed to HeuDiConv, and could be enabled by adding --datalad option to the heudiconv call.

Specification

The header of the heuristic file describes details of the specification on how to organize and name study sequences at MR console.

Overall workflow

Schematic description of the overall setup:

Setup Setup

Tutorial/HOWTO

Data collection

Making your sequence compatible with ReproIn heuristic

  • Walkthrough #1: guides you through ReproIn approach to organizing exam cards and managing canceled runs/sessions on Siemens scanner(s)

Renaming sequences to conform the specification needed by ReproIn

TODO: Describe how sequences could be renamed per study by creating a derived heuristic

Conversion

  1. Install HeuDiConv and DataLad: e.g. apt-get update; apt-get install heudiconv datalad in any NeuroDebian environment. If you do not have one, you could get either of

    • NeuroDebian Virtual Machine
    • Docker image: docker run -it --rm -v $PWD:$PWD neurodebian
    • Singularity image (big but useful), comes with heudiconv and datalad preinstalled: singularity pull shub://neurodebian/neurodebian
  2. Collect a subject/session (or multiple of them) while placing and naming sequences in the scanner following the specification. But for now we will assume that you have no such dataset yet, and want to try on phantom data:

     datalad install -J3 -r -g ///dicoms/dartmouth-phantoms/bids_test4-20161014
    

    to get all subdatasets recursively, while getting the data as well in parallel 3 streams. This dataset is a sample of multi-session acquisition with anatomicals and functional sequences on a friendly phantom impersonating two different subjects (note: fieldmaps were deficient, without magnitude images). You could also try other datasets such as ///dbic/QA

  3. We are ready to convert all the data at once (heudiconv will sort into accessions) or one accession at a time. The recommended invocation for the heudiconv is

     heudiconv -f reproin --bids --datalad -o OUTPUT --files INPUT
    

    to convert all found in INPUT DICOMs and place then within the hierarchy of DataLad datasets rooted at OUTPUT. So we will start with a single accession of phantom-1/

     heudiconv -f reproin --bids --datalad -o OUTPUT --files bids_test4-20161014/phantom-1
    

    and inspect the result under OUTPUT, probably best with datalad ls command:

     ... WiP ...
    

HeuDiConv options to overload autodetected variables:

  • --subject
  • --session
  • --locator

Sample converted datasets

You could find sample datasets with original DICOMs

  • ///dbic/QA is a publicly available DataLad dataset with historical data on QA scans from DBIC. You could use DICOM tarballs under sourcedata/ for your sample conversions. TODO: add information from which date it is with scout DICOMs having session identifier
  • ///dicoms/dartmouth-phantoms provides a collection of datasets acquired at DBIC to establish ReproIn specification. Some earlier accessions might not be following the specification. bids_test4-20161014 provides a basic example of multi-subject and multi-session acquisition.

Containers/Images etc

This repository provides a Singularity environment definition file used to generate a complete environment needed to run a conversion. But also, since all work is integrated within the tools, any environment providing them would suffice, such as [NeuroDebian] docker and Singularity images, virtual appliances, and other Debian-based systems with NeuroDebian repositories configured, which would provide all necessary for ReproIn setup components.

TODOs/WiP/Related

reproin's People

Contributors

mvdoc avatar yarikoptic avatar

Watchers

James Cloos avatar Mathias Goncalves 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.