Skip to content
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

An idea how to structure the pipeline #1

Open
valosekj opened this issue Aug 8, 2024 · 2 comments
Open

An idea how to structure the pipeline #1

valosekj opened this issue Aug 8, 2024 · 2 comments

Comments

@valosekj
Copy link
Member

valosekj commented Aug 8, 2024

Just some first ideas on how to structure the pipeline after a discussion during the 2024-08-08 SCT dev meeting:

1. Installation script

This script will be run only once and install SCT and dcm2niix --> it can be relatively simple --> use bash script.

2. Dicom to nii conversion script

This script will be run for every new subject to convert their images from DICOM to nii. We do not know how many scanners the images will be coming from, what the image filenames will be, etc. So, I would just run a simple dcm2niix conversion and then let the user decide what image(s) they want to process.

For future versions of the pipeline, we could also consider prospectively organizing the subjects into a BIDS dataset.

3. Analysis script

This script will be used for the main analysis. Depending on the selected image (T2w, T2star, DWI, ...), it will perform a series of SCT commands. It could be a relatively simple bash script. If we wanted to handle more edge cases, a python script could be more appropriate.

@jcohenadad
Copy link
Member

Thank you for getting started.

I don't think we need an installation script. The clinical team has support from researchers versed in terminal commands and should be able to install these 3rd party software relatively easily. The problem of installation script, is that if something goes wrong (eg permission issue, wanting to specify install folder, etc.), it is often treated as a black box. I find it better to just mention what software should be installed, and your script can make sure they are installed.

This script will be run for every new subject to convert their images from DICOM to nii. We do not know how many scanners the images will be coming from, what the image filenames will be, etc. So, I would just run a simple dcm2niix conversion and then let the user decide what image(s) they want to process.

agreed

This script will be used for the main analysis. Depending on the selected image (T2w, T2star, DWI, ...), it will perform a series of SCT commands. It could be a relatively simple bash script. If we wanted to handle more edge cases, a python script could be more appropriate.

Right. And as discussed we probably want to break it down into two scripts, with a mandatory QC step between the two.

@valosekj
Copy link
Member Author

Okay, the current implementation uses only a single bash script, which manages the entire pipeline (dcm2nii conversion, running SCT functions, QC,). Details: https://github.com/sct-pipeline/balgrist-sci?tab=readme-ov-file#3-analysis-pipeline

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants