Skip to content

πŸ› [fmriprep-ingress] pipeline failed to startΒ #2144

@suxpert

Description

@suxpert

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

  1. docker pull fcpindi/c-pac
  2. docker pull nipreps/fmriprep
  3. docker run .... nipreps/fmriprep --fs-no-reconall $BIDS $BIDS/derivatives/fprep participant
  4. 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 via utils 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 like fmriprep, XCP-D, they all accept the --bids-filter-file for filtering, why do C-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:

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

Type

No type

Projects

Status

No status

Relationships

None yet

Development

No branches or pull requests

Issue actions