pni-lab / pumi Goto Github PK
View Code? Open in Web Editor NEWPUMI: neuroimaging Pipelines Using Modular workflow Integration
Home Page: https://pumi.readthedocs.io/en/latest/
License: GNU General Public License v3.0
PUMI: neuroimaging Pipelines Using Modular workflow Integration
Home Page: https://pumi.readthedocs.io/en/latest/
License: GNU General Public License v3.0
add minimalistic dockerfile which creates a container with functional nipype and all currnetly needed software
(will be extended continously)
consider using neurodocker: https://github.com/ReproNim/neurodocker
Allow something like:
head = data/standard/MNI152_T1_1mm.nii.gz; source=templateflow
The brain extractions do not look outstanding.
The vertical gradient probably needs to be adjusted.
Necessary for the integration of the RPN-signature
Check if the container created from the Dockerfile really works.
To do this, run a pipeline in the container.
A AnatPUMI pipeline that uses pydeface or similar to de-face an anatomical image.
get in touch with Balint to discuss which de-face software to use
create QC image (bet_wf)
create a test
The plotting functions in connectivity.py (plot library) must be tested.
Perhaps they are not yet general enough.
The decorated function gets access to a PUMI.NestedWorkflow instance, passed in the function signature as wf
.
PUMI workflows accept "default" strings in some cases, like:
wf.connect('inputspec',` 'in_file', despike, 'in_file')
Let's discuss if it makes sense to accept wf.inputspec or pass inputspec as a function parameter instead.
This applies to outputspec and sinker, too.
The standard qc-pipeline regex substitution not only adjusts the path to the desired format, but also replaces the filename with 'sub-<subject_id>.png'.
It should be possible to sink other formats as well (i.e. the actual file extension should be catched and appended to the end)
fnirt_config-fallback missing in anat2mni_fsl
Necessary for the integration of the RPN-signature
There are some problems with the Dockerfile, especially if you want to run PUMI in PyCharm with a docker remote interpreter.
In the func_preproc library is Onevol.py which still needs to be ported to iterables.
OUTPUT SINK:
<sink_dir>/subject-//<source_entities>_.
ex:
pumi-results/sub-001/anat/sub-001_T1w_brain.nii.gz
pumi-results/sub-001/anat/sub-001_T1w_brain_mask.nii.gz
pumi-results/sub-002/func/sub-001_task-rest_bold_mc.nii.gz
suffix: always defined by the subworkflow (we might be able to re-define it)
QC SINK:
//<subworkflow_name>/<source_entities>_.
<source_entities>: must contain the subject id
ex:
qc/anat/bet/sub-001_T1w_brain.ppm
qc/anat/bet/sub-001_T1w_brain_mask.ppm
pumi-results/qc/func/mc/sub-001_task-rest_bold_mc_rot.png
only after the iterable vs. mapnode discussion
take the BET node from the old PUMI repo and "port" it to the new PUMI.
Adjust it based on the (possible) decision of using iterables instead if MapNodes for subjects.
For some methods, documentation still needs to be written.
nodenames and labelnames should have the same name.
Example: bet = pe.Node(interface=fsl.BET(), name='bet')
No longer use the latest software versions for FSL etc., instead use the versions with which we have tested PUMI.
Missing:
Only do this after prior discussion
QC outputs needs to be sinked in a special structure to support easy quality inspection.
Notes on porting from the old PUMI version to the new one:
I will use the terms „NP“ for „new PUMI“ and „OP“ for „old PUMI“.
Also note the coding conventions mentioned in NP README (https://github.com/pni-lab/PUMI)
If the comments are needed later, we still have them in the old PUMI repo.
Run the bet_subworkflow on functional data and compare the results with the results of RPN-Signature
Only possible after the discussion about the style and naming convention
Adapt the code (especially for connecting the nodes and pipelines) to the new convention.
Necessary for the integration of the RPN-signature
change the name of globals.py to default.py
Add exception(s) to the HD-Bet interface in case a file is passed that is not of type .nii.gz
Despiking workflow without qc image and end-user script where the created workflow is used.
parameter 'ref_vol' should be settable to 'mean'
Do not do this until the whole old PUMI has been ported
Refactor the name of info_get.py to info.py.
Necessary for the integration of the RPN-signature
We need the following dirs:
examples: example pipelines (the current mapnode and the iterable pipelines must be moved here), mostly for "education" purposes, or to be looked up during development
pipelines: here we will have a collection of the actual PUMI-based pipelines for "production" purposes (like RPN-signature)
scripts: any helper scripts, + later maybe a wrapper for the docker command that runs pumi-pipelines
Necessary for the integration of the RPN-signature
Necessary for the integration of the RPN-signature
port anat2mni_fsl from the old PUMI repo
not needed anymore
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.