PennLINC / xcpEngine

Official public repository for the XCP Engine. This tool is deprecated in favor of XCP-D and ASLPrep.
MIT License
66 stars 42 forks source link

Full instructions for adding custom parcellation #450

Open herrington opened 3 years ago

herrington commented 3 years ago

I was wondering if I could get a bit more beginning-to-end guidance about what it takes to add a custom atlas/parcellation to the xcpEngine. I am running xcpEngline as a singularity container on a high-performance cluster (running slurm, at the Children's Hospital of Philadelphia FYI). My main goal is to have a custom atlas available to the fcon module of the xcpEngine. I've created my custom atlas directly from the parcellation atlas/schaefer200x17/schaefer200x17MNI.nii.gz (literally I drew additional parcels/ROIs on this image, and edited the corresponding node and label files to account for this). I tried replacing the existing atlas/schaefer200x17 files with these hacked files, and successfully ran the fcon module of xcpEngine on this, and it ran great... so I know that my custom template is formatted correctly to run in xcpEngine. But of course I'd rather not hack this... I'd love to add my new custom atlas as an additional parcellation in my fcon job.

I've read relating postings on this (in particular, https://github.com/PennLINC/xcpEngine/issues/120 and https://github.com/PennLINC/xcpEngine/issues/206), and they appear to have some instructions for how to add an atlas to xcpengine, but a) I had a hard time seeing the clear set of steps that needed to be carried out from beginning to end, and b) it appeared that some of the steps involve docker commands (to step into and run commands within the container), and I'm using singularity instead of docker. Would it be possible to generate a list of steps that can be taken to add a custom atlas to and xcpEngine analysis (for running in fcon, but perhaps running more general across xcpEngine modules)? Apologies in advance if this documentation already exists and I am missing it. Thank you!

a3sha2 commented 3 years ago

Hi @herrington and @mwvoss sorry for late response. you can add it to atlas directory in this form of : atlas/{atlasname}/{atlasname}MNI.nii.gz

and node names and index are very important like: atlas/{atlasname}/{atlasname}NodeIndex.1D atlas/{atlasname}/{atlasname}NodeNames.txt

You can submit a pull request and we will review it.

451

benjaminsipes commented 2 years ago

Hello, has this been resolved? I am also looking to add another atlas to XCP. I have followed what I have found, created the {name}NodeIndex.1D and {name}NodeNames.txt files with the {name}MNI.nii.gz file in the \atlas\{name} XCP folder and included the name in the design file. The code seems to run without error, except it doesn't produce any outputs for the atlas. I feel like I must be missing a step somewhere... but I cannot figure out where based on these forums. Any clarity here would be immensely appreciated!

mattcieslak commented 2 years ago

We're going to be deprecating xcpEngine, which we're refactored into xcp-d. It may be awhile before we've got clear instructions for adding atlases to the new pipeline