Giter Site home page Giter Site logo

dcan-labs / bids-tryworks Goto Github PK

View Code? Open in Web Editor NEW
0.0 10.0 0.0 3.5 MB

A graphical tool that indexes a folder of dicoms and provides the user with an interface to convert those dicoms into BIDS.

License: BSD 3-Clause "New" or "Revised" License

Dockerfile 0.82% Python 47.39% CSS 1.79% JavaScript 34.86% HTML 15.15%

bids-tryworks's People

Contributors

bendhouseart avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bids-tryworks's Issues

Clarity of search parameters

It is unclear what such does when one enters items into both Study Description & Study ID. It seems that search will return anything that matches either the Study Description OR Study ID fields. But this needs to be tested, confirmed and potential for feature addition.

Save All Previous Modality Selections and Labels into a Master Config

In order to auto-populate the dcm2bids conversion builder we'll store user selections in a dictionary and look them up each time the conversion builder form is loaded.
AKA search the dicom information, match it to BIDS specs, populate dropdown with the closest match - provide "other" manual category label as well

Update Documentation/SOP

Currently the docs folder contains some information that is only relevant (but possibly errant since this code was refactored from bidsgui2 into bids-tryworks) to the setup and installation at OHSU. These files need to be updated/removed. see /docs .

Add dataset name and bids version to dataset_description.json

One thing that we never do, but that throws errors when we process, is write the dataset_description.json that is supposed to live at the top of the bids-input. It only has 2 required entries: 'Name' (the name of the dataset) and 'BIDSVersion' (the version of BIDS to which it conforms - currently v1.2.0). It would be awesome if the BIDSGUI would write that file when it runs dicom2bids. (I think dicom2bids should do it, since it knows what version of BIDS it is using, but it doesn't do it.) The spec is here:

link docs

Index Mulitple Folders w/ Docker Version

Ideally there is only one bidsgui2 install per server. Currently there are 2 installed on rushmore, but I believe we can get this number down to one.
Steps:

  • Allow indexing of multiple folders
  • Determine if docker's root access will allow us to index folders on multiple users drives via setup in a .env file.

Will bids conversion continue to run if the browser is closed down?

This is both a question & a feature request. It is important to determine if the dicom to nifti conversion will continue to take place if the browser is shut down.

The advantage of this software is especially apparent when data for larger groups of subjects. This would be hindered by requiring that the browser remain open in order for the conversion to complete. This issue is of importance due to the increased remote nature of our working environment.

AttributeError

AttributeError resulted after final stage of process ("convert"). No screen shot was captured. The error did occur in line 635 of /dicoms/views.py.

Need to add ability to change "DICOM Source DIR" within the GUI

It would greatly improve usability if the search path (or dicom directory) were to be user defined in the GUI itself. As it stands now, there is zero documentation on how to use this software for other studies/projects. The user would have to edit a hidden file that is barely mentioned in the documentation. This will be further complicated when attempting to convert dicoms for multiple studies.

Optimal use would allow the user to adjust the dicom source directory inside the GUI environment.

[Silent] Fatal issue when directories are not set correctly

The "CONVERTED_FOLDER" in the .env file cannot match the DESTINATION_DIR as set in the GUI itself. When they match, the program runs, but then deletes the converted files in the CONVERTED_FOLDER. Given that it matches the DESTINATION_DIR, the outputs are then deleted.

Exacloud compatibility?

2 Questions:
Is bids-tryworks capable of running on exacloud?
Is bids-tryworks capable of writing converted files on exacloud (from rushmore)?

One command to run server and launch browser

Make a single launch command which:

  1. Check whether port is busy
  2. If it isn't, run the server using manage.py runserver <port number>
  3. Launch a browser automatically using e.g. firefox localhost:<port number> &

This will avoid confusion about which port to use, and will also save the user the hassle of running the server in 1 command window and a browser from another.

Allow ser to Change Session Dates

In order to process subjects with the abcd-hcp pipeline, I need to have the subject ID and session dates.
Currently the BIDS GUI does not report session in a way that allows the user to record the appropriate subject ID with their session date (either in a .csv file or any other method). This is the format I use to process the data:
${sub-id},${ses-date}
The gui is able to display the date of the scan after I search for the subject ID's, and before I make the conversion json and niftis.
Having this resource will allow me to start processing these subjects in a more efficient manner without having to hunt down the dates.
Another change suggestion is to be able to modify the session dates along with the sub ID's

CalledProcessError halting dcm to nii conversion

Conversion is halted/errors out when executing dcm2niix command on 099_Phoenix_Document. This error occurs because the Phoenix document is a Siemes proprietary file type to allow transfer of protocols from one scanner to the other. It does not contain DICOM files and cannot be converted. This is a bug that halts the conversion of any data that contains such a directory.

Seems like the error occurs in dicoms/views.py due to Session.object thats created in dicoms/models.py. Further details are in a screenshot that contains non-public data.

Add Nested Drop Downs for Scan Types

Presently all image/modality types are listed in the same drop down menu with no delineation between anat, func, dwi, fmap, or beh. This can lead to confusion the part of the user, so instead of grouping all of these in one drop down they should instead be separated into their categories some how. Whether that's a nested drop down or some other method.

Move secret key to .env file

This is mostly just to make github not be annoyed at our bad security practices. Also, note this application is not meant to ever be hosted online. It's meant for use on a local machine.

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.