thelabbingproject / django_mri Goto Github PK
View Code? Open in Web Editor NEWA reusable Django app to manage MRI data.
Home Page: https://django-mri.readthedocs.io/en/latest/
License: Apache License 2.0
A reusable Django app to manage MRI data.
Home Page: https://django-mri.readthedocs.io/en/latest/
License: Apache License 2.0
Only measurement definitions with the Session model as their content type should be included.
Following TheLabbingProject/django_analyses#58, integrate the QuerySetRunner
class to simplify the existing CAT12 segmentation and ReconAll execution modules.
Describe the solution you'd like
Create an interface for fMRIprep via signularity/docker containers.
Including -1 in the sequence type filter input should return scans with an undefined sequence type.
A SequenceType
instance can currently be associated with only one scanning_sequence
and sequence_variant
combination. However, some sequences may have a couple of different combinations.
I think we should either split SequenceType
into two models, one to save the title and description and one to specify scanning_sequence
and sequence_variant
and associate with an instance of the former, or convert these two fields under SequenceType
to be ArrayFields or simply a single JSONField, so that it can hold multiple specifications.
Show runs the scan was an input for in the Scan
model's admin.
We need to create a Session model that will group scans that were acquired together.
The new interface for fMRIPrep is working as expected, but the outputs aren't being logged.
I used Scan.objects.import_path
to import a subject's directory and got these messages (nothing was imported). @Aharonyn do you have an idea what might be causing this?
A download link should be displayed and a NIfTI version should be created on demand.
Give some kind of upload success or failure feedback when importing new scans.
The Session
model needs to be registered in the admin site.
Outputs need to be added to the outputs.py module within the CAT12 segmentation interface's package so that they are copied to the run's destination directory, and also added to the analysis version's specification.
Sequence/modality deduction could be tidier and more comprehensive (?).
Exclude irrelevant definitions.
Compressed NIfTI scan tests raise an exception (not found in the expected location). Tests run successfully in the development environment.
Uses depracated NiftiInputDefinition
.
Create a view to return a zipped archive containing one or more scans in a specific format.
Show some informative information about the session.
Querysets should be evaluated with qs.exists()
rather than bool(qs)
.
Integrate first preprocessing pipeline to prepare scans for group-level analyses.
Adding a json field file for pipeline, sorting inputs to their designated nodes when initiating pipeline's run.
Due to the irregular DICOM header's ScanningSequence
and SequenceVariant
field values, the Bids
class, which is used to determine the destination path for NIfTI format scan files, failes to determine a BIDS-compatible destination path.
Update tests to pass with maximal coverage.
The CAT12 interface needs to be updated to work with version 12.7. The batch template has gone some significant changes.
This will allow a lab manager to view all of the lab's sessions.
Move any visualization experiments to a dedicated branch, if required.
Different analyses represent scans in different ways (NIfTI path, DICOM directory, .mif path), and can receive these representations as either FileInput
(e.g. BET, CAT12, FslAnat, etc.) or ListInput
(e.g. ReconAll). It would be useful to have some utility method to easily query the runs in which a particular scan instance is represented.
get_instance_representation()
is called in has_run()
before the self._nifti
condition is evaluated.
Creating a source distribution with sdist
creates a package with missing modules (e.g. django_mri.analysis.matlab
, django_mri.analysis.specifications
).
It would be better to simply return the exception that was raised and display it instead of the plot.
NIfTI conversion currently raises an exception for non-BIDS compatible destinations. This is caused by Dcm2niix
, which expects the file to be created at the returned_path
, which is parsed from the process' output.
Duplicate sessions created when saving series instances.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.