-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
MIAL Super-Resolution Toolkit v2.0 #2
Conversation
For the moment this provides the complete solution to run the SR pipeline with manual masks as inputs. Should we also integrate your implementation for automated DL-based brain localization and extraction? @pdedumast @hamzake |
@pdedumast Here comes an example of how a json config file (input to the BIDS app config_file) could look like (assuming a simple subject structure - no session):
We could think about having one config file (let's say |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This nice work @pdedumast !
Just need a little correction for the output structure but we are very close to have a first version of the BIDS App 👍
Once output structure has been corrected, we could then integrate the brain localization module of @hamzake. For this, it would require:
|
@sebastientourbier, here is what is currently implemented in the last commit:
A list of reconstruction can be specified for a subject, which allows to proceed to the reconstruction of the same exam with different parameters (identified with |
for stack in p_stacksOrder: | ||
|
||
print( sub_ses+'_run-'+str(stack)+'_T2w_nlm_uni_bcorr_histnorm.nii.gz', ' ---> ',sub_ses+'_run-'+str(stack)+'_id-'+srID+'_T2w_preproc.nii.gz') | ||
substitutions.append( ( sub_ses+'_run-'+str(stack)+'_T2w_nlm_uni_bcorr_histnorm.nii.gz', sub_ses+'_run-'+str(stack)+'_id-'+srID+'_T2w_preproc.nii.gz') ) | ||
|
||
print( sub_ses+'_run-'+str(stack)+'_T2w_nlm_uni_bcorr_histnorm_transform_'+str(len(p_stacksOrder))+'V.txt', ' ---> ', sub_ses+'_run-'+str(stack)+'_id-'+srID+'_T2w_from-origin_to-SDI_mode-image_xfm.txt') | ||
substitutions.append( ( sub_ses+'_run-'+str(stack)+'_T2w_nlm_uni_bcorr_histnorm_transform_'+str(len(p_stacksOrder))+'V.txt', sub_ses+'_run-'+str(stack)+'_id-'+srID+'_T2w_from-origin_to-SDI_mode-image_xfm.txt') ) | ||
|
||
print( sub_ses+'_run-'+str(stack)+'_T2w_uni_bcorr_histnorm_LRmask.nii.gz', ' ---> ', sub_ses+'_run-'+str(stack)+'_id-'+srID+'_T2w_desc-LRmask.nii.gz') | ||
substitutions.append( ( sub_ses+'_run-'+str(stack)+'_T2w_uni_bcorr_histnorm_LRmask.nii.gz', sub_ses+'_run-'+str(stack)+'_id-'+srID+'_T2w_desc-LRmask.nii.gz') ) | ||
|
||
|
||
print( 'SDI_'+sub_ses+'_'+str(len(p_stacksOrder))+'V_rad1.nii.gz', ' ---> ', sub_ses+'_rec-SDI'+'_id-'+srID+'_T2w.nii.gz') | ||
substitutions.append( ( 'SDI_'+sub_ses+'_'+str(len(p_stacksOrder))+'V_rad1.nii.gz', sub_ses+'_rec-SDI'+'_id-'+srID+'_T2w.nii.gz') ) | ||
|
||
print( 'SRTV_'+sub_ses+'_'+str(len(p_stacksOrder))+'V_rad1_gbcorr.nii.gz', ' ---> ', sub_ses+'_rec-SR'+'_id-'+srID+'_T2w.nii.gz') | ||
substitutions.append( ( 'SRTV_'+sub_ses+'_'+str(len(p_stacksOrder))+'V_rad1_gbcorr.nii.gz', sub_ses+'_rec-SR'+'_id-'+srID+'_T2w.nii.gz') ) | ||
|
||
print( sub_ses+'_T2w_uni_bcorr_histnorm_srMask.nii.gz', ' ---> ', sub_ses+'_rec-SR'+'_id-'+srID+'_T2w_desc-brain_mask.nii.gz') | ||
substitutions.append( ( sub_ses+'_T2w_uni_bcorr_histnorm_srMask.nii.gz', sub_ses+'_rec-SR'+'_id-'+srID+'_T2w_desc-SRmask.nii.gz') ) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Indeed I might remove this condition as you would not have to differentiate the <srId>
in the file name has each of the output_dir/run-<srID>
folder would correspond to an independent BIDS derivatives directory which already allow us to differentiate results from multiple successive runs with different parameters.
@pdedumast Tip top 👍 |
These new commits involve:
|
Here is the preview of the documentation draft on readthedocs. Not sure it is publicly acciessible though: |
…ting.rst [skip ci]
@all-contributors please add @hamzake for doc |
I've put up a pull request to add @hamzake! 🎉 |
@all-contributors please add @pdedumast for doc |
I've put up a pull request to add @pdedumast! 🎉 |
This PR is dedicated to the upcoming MIAL Super-Resolution Toolkit v2.0 release which will adopt the BIDS standard and will provide a workflow, implemented in Python using the Nipype library, that will interface with the MIALSRTK C++ tools and will be executed following the BIDS-App standard.
To be done before release:
pymialsrtk
package withsetup.py
DataSinker
to move and rename files according to BIDS derivatives standardrun.py
entrypoint script that should parse BIDS-App input flags and build workflows (multiple subjects/sessions) according those inputs.with https://github.com/brainhack-ch/superres-mri/blob/master/sinapps/nlmdenoise/run.py as starting point.
Discussed:
how to input parameters specific to the SR pipeline such as list of stacks, stack order, TV parameters, ... (see MIAL Super-Resolution Toolkit v2.0 #2 (comment))
documentation/outputs.rst
anddocumentation/citing.rst
in software documentation on readthedocs (rendered @ https://mialsrtk.readthedocs.io/en/dev-pgd-hk/). In particular: