Automating the process of getting surface models from 1000 CTs

Dear community.
We have 1000 baboon scans in DICOM files.

In our research, we thought and tested a pipeline to work with each of them.

  • First, we need to crop the volume as all of them show a platform placed centimeters below the mandible.
  • Second, we need to do a segmentation of the full skull by using Threshold and a specific set of parameters.
  • Third, we need to create a surface model from the segmented skull.
  • Fourth, we need to export the surface model in .ply format to run ALPACA/MALPACA (from SlicerMorph)
  • Fifth, we need to save all the scene of every skull.

As this pipeline is well established, with parameters defined, is there a way to automate the process to be run over 1000 scans instead of doing this one by one?

Best

All of this is doable via python scripting. The only step is the ROI placement in your first one. If you are certain is always 1cm below, you can create fixed sized ROI with that dimensions, and use it with the crop tool.

Everything else is fairly straightforward, if you are familiar with python. You should start with the Python Script Repository, which would have examples of python codes for most of your tasks.

https://slicer.readthedocs.io/en/latest/developer_guide/script_repository.html#script-repository

Thank you Murat. I am not that familiar with Python as with R, but will try. However, I found and extension (Pipeline creator) in the Extension manager. I installed it, but it only works in Slicer 5.2, but not in 5.4 or 5.6.1 :frowning:

Pipeline creator works for only some of the modules, specifically modules that use the command line interface. So i don’t think it will be much of use to you.

Python scripting is really not that difficult and it is also very valuable skill to have. Start with trying to crop your volumes with a specific ROI, and saving it a new volume to disk. Then move onto the next step and so forth, and finally put them together in a loop that will parse the files in a folder and execute the steps, and save them.

Thank you for your tips. I will let you know how the process advances