-
-
Notifications
You must be signed in to change notification settings - Fork 41
Description
Describe the bug
C-PAC seems too complex (for me) to correctly config, and after going through the not-well-written document, I still have no idea how could I run C-PAC on top of derivated data from fmriprep.
Since the docker image print almost all its pipeline/config options as optional, I tried calling it as a BIDS-app with only nessesary arguments (see command below). Then C-PAC crashed saying C-PAC failed to start, see log for details.
I've checked for #2085, which show the same error as I met, but from #2085, I still do not know how to makes C-PAC run correctly.
To reproduce
docker pull fcpindi/c-pac
docker pull nipreps/fmriprep
docker run .... nipreps/fmriprep --fs-no-reconall $BIDS $BIDS/derivatives/fprep participant
docker run .... fcpindi/c-pac -preconfig fmriprep-ingress $BIDS/derivatives/fprep $BIDS/derivatives/cpac test_config
Preconfig
- default
- abcd-options
- anat-only
- blank
- ccs-options
- fmriprep-options
- fx-options
- monkey
- monkey-ABCD
- ndmg
- nhp-macaque
- preproc
- rbc-options
- rodent
Custom pipeline configuration
No response
Run command
docker run -it --rm -u $(id -u) -v $BIDS/derivatives/fmriprep:/fprep:ro -v $BIDS/derivatives/cpac:/out fcpindi/c-pac --preconfig fmriprep-ingress /fprep /out test_config
Expected behavior
This command specified nothing but a pre-configured pipeline fmriprep-ingress
, since the output of fmriprep is clear enough for any post-processing tools to understand, I would expect any BIDS-apps that said to be compatible with fmriprep be good to run without any issue.
Acceptance criteria
- If the command I used is enough for C-PAC to run, then I would expect it run without a problem;
- If the command lacks necessary options, I would expect the essentials be written as clearly as possible in the document, such that I can copy-and-paste some command, with necessary modifications that have already been told, then run C-PAC without a problem.
- If I MUST create or specify a
data_config.yml
, is the given sample everything we need in the file, or should I include such a snippet in some data_config file that have been generated viautils data-config
? It seems those config files differs a lot!
# Example of how to include fMRIPrep outputs in the data config:
site: $SITE
subject_id: $SUB
unique_id: $SES
derivatives_dir: $PATH_TO/fMRIPrep/$SUBDIR/$SUBDIR
- If this snippet is necessary, why? Output of fmriprep should be clear enough for BIDS-apps to understand, and
C-PAC
have--participant-label
etc to filtering the BIDS, and for BIDS-apps likefmriprep
,XCP-D
, they all accept the--bids-filter-file
for filtering, why doC-PAC
use a different syntax? - And BTW, should I replace all those "variables" in the config file or leave them as-is? If I need to replace them, should I use the path after docker's re-map?
- Is there any explaination about those jargons beyong BIDS entities, e.g., what does "site" stands for?
Screenshots
logs and generated config files:
- failedToStart.log
- pypeline.log
- cpac_data_config_f3ac7ec7_2024-08-29T12-14-42Z.yml
- cpac_pipeline_config_f3ac7ec7_2024-08-29T12-14-42Z.yml
- cpac_pipeline_config_f3ac7ec7_2024-08-29T12-14-42Z_min.yml
C-PAC version
v1.8.7
Container platform
Docker
Docker and/or Singularity version(s)
Docker version 26.1.5-ce
Additional context
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status