Problem running xcp-d on Mac - basic file path issue

Summary of what happened:

Hi all, first-time xcp-d user here and I feel like I’m losing my mind, or possibly doing something very, very basic wrong, so apologies if this turns out to be a stupid question. I’m trying to run xcp-d via docker on a M2 Max Mac Studio (I know M-series processors are not recommended, but… it’s what I’ve got) after processing with fmriprep (version 24.1.1). Fmriprep seems to run fine on my data and gives the expected outputs.

Problem is: xcp-d doesn’t seem to recognise my file paths. I get this error:
xcp_d: error: Path does not exist: </Users/Shared/MRIData/MW_fmriprep_test/bids/derivatives/fmriprep>.

I’ve tried running the command in the correct working directory, and with relative file paths (i.e. ./) and then I get a different error, saying that it can’t find the ‘dataset_description.json’ file, but the file is definitely there! I’ve also tried moving the directory around a bit (shorter file paths) but still get the same issue.

Command used (and if a helper script was used, a link to the helper script or the command generated):

docker run pennlinc/xcp_d /Users/Shared/MRIData/MW_fmriprep_test/bids/derivatives/fmriprep /Users/Shared/MRIData/MW_fmriprep_test/bids/derivatives/xcp-d participant --participant-label 001 --mode none --input-type fmriprep --despike y --motion-filter-type none --fd-thresh 0 --output-type censored --nuisance-regressors acompcor --smoothing 6 --combine-runs n --disable-bandpass-filter --abcc-qc n --file-format nifti --linc-qc n --min-coverage 0.5 --warp-surfaces-native2std n

#I've also tried running a 'minimal' version for test purposes:

docker run pennlinc/xcp_d /Users/Shared/MRIData/MW_fmriprep_test/bids/derivatives/fmriprep /Users/Shared/MRIData/MW_fmriprep_test/bids/derivatives/xcp-d participant --mode linc --smoothing 6

Version:

XCP-D v0.10.0

Environment (Docker, Singularity / Apptainer, custom installation):

Docker.

Data formatted according to a validatable standard? Please provide the output of the validator:

Running a bids validator on the directory does identify some issues, but since this directory was created with fmriprep, I’m guessing this is probably OK?

	[WARNING] SIDECAR_KEY_RECOMMENDED A data file's JSON sidecar is missing a key listed as recommended.
		Description
		/sub-001.html
		/dataset_description.json

		69 more files with the same issue

		TaskName
		/sub-001/figures/sub-001_ses-1_task-rest_desc-coreg_bold.svg
		/sub-001/figures/sub-001_ses-1_task-rest_desc-compcorvar_bold.svg

		16 more files with the same issue

		SpatialReference
		/sub-001/figures/sub-001_ses-1_space-MNI152NLin6Asym_T1w.svg
		/sub-001/ses-1/anat/sub-001_ses-1_space-MNI152NLin6Asym_label-WM_probseg.nii.gz

		9 more files with the same issue

		Manufacturer
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		ManufacturersModelName
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		DeviceSerialNumber
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		StationName
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		SoftwareVersions
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		MagneticFieldStrength
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		ReceiveCoilName
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		ReceiveCoilActiveElements
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		GradientSetType
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		MRTransmitCoilSequence
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		MatrixCoilMode
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		CoilCombinationMethod
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		PulseSequenceType
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		ScanningSequence
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		SequenceVariant
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		ScanOptions
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		SequenceName
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		PulseSequenceDetails
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		MTState
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		SpoilingState
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		NumberShots
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		ParallelReductionFactorInPlane
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		ParallelReductionFactorOutOfPlane
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		ParallelAcquisitionTechnique
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		PartialFourier
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		PartialFourierDirection
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		EffectiveEchoSpacing
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		MixingTime
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		PhaseEncodingDirection
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		TotalReadoutTime
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		EchoTime
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		InversionTime
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		DwellTime
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		FlipAngle
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		MultibandAccelerationFactor
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		InstitutionName
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		InstitutionAddress
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		InstitutionalDepartmentName
		/sub-001/ses-1/anat/sub-001_ses-1_desc-preproc_T1w.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz

		16 more files with the same issue

		Sources
		/sub-001/ses-1/anat/sub-001_ses-1_desc-brain_mask.nii.gz
		/sub-001/ses-1/anat/sub-001_ses-1_space-MNI152NLin6Asym_desc-brain_mask.nii.gz

		NumberOfVolumesDiscardedByScanner
		/sub-001/ses-1/func/sub-001_ses-1_task-rest_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz
		/sub-001/ses-1/func/sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz

		NumberOfVolumesDiscardedByUser
		/sub-001/ses-1/func/sub-001_ses-1_task-rest_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz
		/sub-001/ses-1/func/sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz

		AcquisitionDuration
		/sub-001/ses-1/func/sub-001_ses-1_task-rest_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz
		/sub-001/ses-1/func/sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz

		DelayAfterTrigger
		/sub-001/ses-1/func/sub-001_ses-1_task-rest_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz
		/sub-001/ses-1/func/sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz

		Instructions
		/sub-001/ses-1/func/sub-001_ses-1_task-rest_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz
		/sub-001/ses-1/func/sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz

		TaskDescription
		/sub-001/ses-1/func/sub-001_ses-1_task-rest_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz
		/sub-001/ses-1/func/sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz

		CogAtlasID
		/sub-001/ses-1/func/sub-001_ses-1_task-rest_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz
		/sub-001/ses-1/func/sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz

		CogPOID
		/sub-001/ses-1/func/sub-001_ses-1_task-rest_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz
		/sub-001/ses-1/func/sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz

		Type
		/sub-001/ses-1/func/sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-brain_mask.nii.gz
		/sub-001/ses-1/func/sub-001_ses-1_task-music_desc-brain_mask.nii.gz

		2 more files with the same issue

	Please visit https://neurostars.org/search?q=SIDECAR_KEY_RECOMMENDED for existing conversations about this issue.

	[WARNING] README_FILE_MISSING The recommended file /README is missing.
See Section 03 (Modality agnostic files) of the BIDS specification.

		/dataset_description.json

	Please visit https://neurostars.org/search?q=README_FILE_MISSING for existing conversations about this issue.

	[WARNING] TOO_FEW_AUTHORS The 'Authors' field of 'dataset_description.json' should contain an array of values -
with one author per value.
This was triggered based on the presence of only one author field.
Please ignore if all contributors are already properly listed.

		/dataset_description.json

	Please visit https://neurostars.org/search?q=TOO_FEW_AUTHORS for existing conversations about this issue.

	[WARNING] JSON_KEY_RECOMMENDED A JSON file is missing a key listed as recommended.
		License
		/dataset_description.json

		SourceDatasets
		/dataset_description.json

	Please visit https://neurostars.org/search?q=JSON_KEY_RECOMMENDED for existing conversations about this issue.

	[WARNING] NO_AUTHORS The Authors field of dataset_description.json should contain an array of fields -
with one author per field. This was triggered because there are no authors, which
will make DOI registration from dataset metadata impossible.

		Authors
		/dataset_description.json

	Please visit https://neurostars.org/search?q=NO_AUTHORS for existing conversations about this issue.

	[ERROR] NOT_INCLUDED Files with such naming scheme are not part of BIDS specification. This error is most commonly caused by typos in file names that make them not BIDS compatible. Please consult the specification and make sure your files are named correctly. If this is not a file naming issue (for example when including files not yet covered by the BIDS specification) you should include a ".bidsignore" file in your dataset (see https://github.com/bids-standard/bids-validator#bidsignore for details). Please note that derived (processed) data should be placed in /derivatives folder and source data (such as DICOMS or behavioural logs in proprietary formats) should be placed in the /sourcedata folder.
		/sub-001.html
		/logs/CITATION.tex

		31 more files with the same issue

	Please visit https://neurostars.org/search?q=NOT_INCLUDED for existing conversations about this issue.

	[ERROR] ALL_FILENAME_RULES_HAVE_ISSUES Multiple filename rules were found as potential matches. All of them had at least one issue during filename validation.
		/sub-001/figures/sub-001_ses-1_task-rest_desc-coreg_bold.svg - Rules that matched with issues: rules.files.deriv.imaging.func_volumetric, rules.files.deriv.preprocessed_data.func_func_common, rules.files.raw.func.func
		/sub-001/figures/sub-001_ses-1_task-rest_desc-compcorvar_bold.svg - Rules that matched with issues: rules.files.deriv.imaging.func_volumetric, rules.files.deriv.preprocessed_data.func_func_common, rules.files.raw.func.func

		17 more files with the same issue

	Please visit https://neurostars.org/search?q=ALL_FILENAME_RULES_HAVE_ISSUES for existing conversations about this issue.

	[ERROR] EMPTY_FILE Empty files not allowed.
		/sub-001/figures/sub-001_ses-1_task-rest_desc-validation_bold.html
		/sub-001/figures/sub-001_ses-1_task-music_desc-validation_bold.html

	Please visit https://neurostars.org/search?q=EMPTY_FILE for existing conversations about this issue.

	[ERROR] SIDECAR_KEY_REQUIRED A data file's JSON sidecar is missing a key listed as required.
		SpatialReference
		/sub-001/figures/sub-001_ses-1_space-MNI152NLin6Asym_T1w.svg
		/sub-001/ses-1/anat/sub-001_ses-1_space-MNI152NLin6Asym_label-WM_probseg.nii.gz

		9 more files with the same issue

	Please visit https://neurostars.org/search?q=SIDECAR_KEY_REQUIRED for existing conversations about this issue.

	[ERROR] JSON_SCHEMA_VALIDATION_ERROR Invalid JSON sidecar file. The sidecar is not formatted according the schema.
		TaskName
		/sub-001/ses-1/func/sub-001_ses-1_task-rest_space-MNI152NLin6Asym_desc-preproc_bold.json - must be string
		/sub-001/ses-1/func/sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-preproc_bold.json - must be string

	Please visit https://neurostars.org/search?q=JSON_SCHEMA_VALIDATION_ERROR for existing conversations about this issue.


          Summary:                         Available Tasks:        Available Modalities:
          81 Files, 904 MB                                         MRI                  
          1 - Subjects 1 - Sessions                                                     

	If you have any questions, please post on https://neurostars.org/tags/bids.

Relevant log outputs (up to 20 lines):

No log files created! :o(

PASTE LOG OUTPUT HERE

Screenshots / relevant information:

Running pwd in the directory produces the following output:

/Users/Shared/MRIData/MW_fmriprep_test/bids/derivatives/fmriprep

So the directory certainly exists. Running ls -al in the directory gives the following:

drwxrwxrwx  7 Matt  wheel    224 20 Dec 20:24 .
drwxr-xr-x  4 Matt  wheel    128 21 Dec 06:33 ..
-rwxrwxrwx@ 1 Matt  wheel   6148 20 Dec 21:57 .DS_Store
-rwxrwxrwx@ 1 Matt  wheel    618 20 Dec 19:00 dataset_description.json
drwxrwxrwx  6 Matt  wheel    192 20 Dec 18:19 logs
drwxrwxrwx  6 Matt  wheel    192 20 Dec 18:29 sub-001
-rwxrwxrwx@ 1 Matt  wheel  68669 20 Dec 19:00 sub-001.html

So the dataset_description.json file also definitely exists. Contents of that file:

{
    "Name": "fMRIPrep - fMRI PREProcessing workflow",
    "BIDSVersion": "1.4.0",
    "DatasetType": "derivative",
    "GeneratedBy": [
        {
            "Name": "fMRIPrep",
            "Version": "24.1.1",
            "CodeURL": "https://github.com/nipreps/fmriprep/archive/24.1.1.tar.gz"
        }
    ],
    "HowToAcknowledge": "Please cite our paper (https://doi.org/10.1038/s41592-018-0235-4), and include the generated citation boilerplate within the Methods section of the text.",
    "DatasetLinks": {
        "raw": "/data",
        "templateflow": "https://github.com/templateflow/templateflow"
    }
}

Full directory tree:

fmriprep
├── dataset_description.json
├── logs
│   ├── CITATION.bib
│   ├── CITATION.html
│   ├── CITATION.md
│   └── CITATION.tex
├── sub-001
│   ├── figures
│   │   ├── sub-001_ses-1_desc-about_T1w.html
│   │   ├── sub-001_ses-1_desc-conform_T1w.html
│   │   ├── sub-001_ses-1_desc-summary_T1w.html
│   │   ├── sub-001_ses-1_dseg.svg
│   │   ├── sub-001_ses-1_space-MNI152NLin6Asym_T1w.svg
│   │   ├── sub-001_ses-1_task-music_desc-carpetplot_bold.svg
│   │   ├── sub-001_ses-1_task-music_desc-compcorvar_bold.svg
│   │   ├── sub-001_ses-1_task-music_desc-confoundcorr_bold.svg
│   │   ├── sub-001_ses-1_task-music_desc-coreg_bold.svg
│   │   ├── sub-001_ses-1_task-music_desc-rois_bold.svg
│   │   ├── sub-001_ses-1_task-music_desc-summary_bold.html
│   │   ├── sub-001_ses-1_task-music_desc-validation_bold.html
│   │   ├── sub-001_ses-1_task-rest_desc-carpetplot_bold.svg
│   │   ├── sub-001_ses-1_task-rest_desc-compcorvar_bold.svg
│   │   ├── sub-001_ses-1_task-rest_desc-confoundcorr_bold.svg
│   │   ├── sub-001_ses-1_task-rest_desc-coreg_bold.svg
│   │   ├── sub-001_ses-1_task-rest_desc-rois_bold.svg
│   │   ├── sub-001_ses-1_task-rest_desc-summary_bold.html
│   │   └── sub-001_ses-1_task-rest_desc-validation_bold.html
│   ├── log
│   │   └── 20241220-181924_caa78584-7bf8-4a3a-86d1-59e3983938fe
│   │       └── fmriprep.toml
│   └── ses-1
│       ├── anat
│       │   ├── sub-001_ses-1_desc-brain_mask.json
│       │   ├── sub-001_ses-1_desc-brain_mask.nii.gz
│       │   ├── sub-001_ses-1_desc-preproc_T1w.json
│       │   ├── sub-001_ses-1_desc-preproc_T1w.nii.gz
│       │   ├── sub-001_ses-1_dseg.nii.gz
│       │   ├── sub-001_ses-1_from-MNI152NLin2009cAsym_to-T1w_mode-image_xfm.h5
│       │   ├── sub-001_ses-1_from-MNI152NLin6Asym_to-T1w_mode-image_xfm.h5
│       │   ├── sub-001_ses-1_from-T1w_to-MNI152NLin2009cAsym_mode-image_xfm.h5
│       │   ├── sub-001_ses-1_from-T1w_to-MNI152NLin6Asym_mode-image_xfm.h5
│       │   ├── sub-001_ses-1_label-CSF_probseg.nii.gz
│       │   ├── sub-001_ses-1_label-GM_probseg.nii.gz
│       │   ├── sub-001_ses-1_label-WM_probseg.nii.gz
│       │   ├── sub-001_ses-1_space-MNI152NLin6Asym_desc-brain_mask.json
│       │   ├── sub-001_ses-1_space-MNI152NLin6Asym_desc-brain_mask.nii.gz
│       │   ├── sub-001_ses-1_space-MNI152NLin6Asym_desc-preproc_T1w.json
│       │   ├── sub-001_ses-1_space-MNI152NLin6Asym_desc-preproc_T1w.nii.gz
│       │   ├── sub-001_ses-1_space-MNI152NLin6Asym_dseg.nii.gz
│       │   ├── sub-001_ses-1_space-MNI152NLin6Asym_label-CSF_probseg.nii.gz
│       │   ├── sub-001_ses-1_space-MNI152NLin6Asym_label-GM_probseg.nii.gz
│       │   └── sub-001_ses-1_space-MNI152NLin6Asym_label-WM_probseg.nii.gz
│       └── func
│           ├── sub-001_ses-1_task-music_desc-brain_mask.json
│           ├── sub-001_ses-1_task-music_desc-brain_mask.nii.gz
│           ├── sub-001_ses-1_task-music_desc-confounds_timeseries.json
│           ├── sub-001_ses-1_task-music_desc-confounds_timeseries.tsv
│           ├── sub-001_ses-1_task-music_desc-coreg_boldref.json
│           ├── sub-001_ses-1_task-music_desc-coreg_boldref.nii.gz
│           ├── sub-001_ses-1_task-music_desc-hmc_boldref.json
│           ├── sub-001_ses-1_task-music_desc-hmc_boldref.nii.gz
│           ├── sub-001_ses-1_task-music_from-boldref_to-T1w_mode-image_desc-coreg_xfm.json
│           ├── sub-001_ses-1_task-music_from-boldref_to-T1w_mode-image_desc-coreg_xfm.txt
│           ├── sub-001_ses-1_task-music_from-orig_to-boldref_mode-image_desc-hmc_xfm.json
│           ├── sub-001_ses-1_task-music_from-orig_to-boldref_mode-image_desc-hmc_xfm.txt
│           ├── sub-001_ses-1_task-music_space-MNI152NLin6Asym_boldref.json
│           ├── sub-001_ses-1_task-music_space-MNI152NLin6Asym_boldref.nii.gz
│           ├── sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-brain_mask.json
│           ├── sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-brain_mask.nii.gz
│           ├── sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-preproc_bold.json
│           ├── sub-001_ses-1_task-music_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz
│           ├── sub-001_ses-1_task-rest_desc-brain_mask.json
│           ├── sub-001_ses-1_task-rest_desc-brain_mask.nii.gz
│           ├── sub-001_ses-1_task-rest_desc-confounds_timeseries.json
│           ├── sub-001_ses-1_task-rest_desc-confounds_timeseries.tsv
│           ├── sub-001_ses-1_task-rest_desc-coreg_boldref.json
│           ├── sub-001_ses-1_task-rest_desc-coreg_boldref.nii.gz
│           ├── sub-001_ses-1_task-rest_desc-hmc_boldref.json
│           ├── sub-001_ses-1_task-rest_desc-hmc_boldref.nii.gz
│           ├── sub-001_ses-1_task-rest_from-boldref_to-T1w_mode-image_desc-coreg_xfm.json
│           ├── sub-001_ses-1_task-rest_from-boldref_to-T1w_mode-image_desc-coreg_xfm.txt
│           ├── sub-001_ses-1_task-rest_from-orig_to-boldref_mode-image_desc-hmc_xfm.json
│           ├── sub-001_ses-1_task-rest_from-orig_to-boldref_mode-image_desc-hmc_xfm.txt
│           ├── sub-001_ses-1_task-rest_space-MNI152NLin6Asym_boldref.json
│           ├── sub-001_ses-1_task-rest_space-MNI152NLin6Asym_boldref.nii.gz
│           ├── sub-001_ses-1_task-rest_space-MNI152NLin6Asym_desc-brain_mask.json
│           ├── sub-001_ses-1_task-rest_space-MNI152NLin6Asym_desc-brain_mask.nii.gz
│           ├── sub-001_ses-1_task-rest_space-MNI152NLin6Asym_desc-preproc_bold.json
│           └── sub-001_ses-1_task-rest_space-MNI152NLin6Asym_desc-preproc_bold.nii.gz
└── sub-001.html

I’ve also re-set all the permissions on the directories/files just in case it’s a permissions issue, but that hasn’t seemed to help either.

I’ve also tried enclosing the file paths in single quotes, just in case there are any weird characters in there or something (there aren’t, but you never know…):

docker run pennlinc/xcp_d `/Users/Shared/MRIData/MW_fmriprep_test/bids/output` `/Users/Shared/MRIData/MW_fmriprep_test/bids/xcp-d` participant --participant-label 001 --mode none --input-type fmriprep --despike y --motion-filter-type none --fd-thresh 0 --output-type censored --nuisance-regressors acompcor --smoothing 6 --combine-runs n --disable-bandpass-filter --abcc-qc n --file-format nifti --linc-qc n --min-coverage 0.5 --warp-surfaces-native2std n

That seems to help somewhat, in that it seems to read the input and output paths and produces a different error:

xcp_d: error: Path does not exist: <participant>.

…but I’m stuck at that point again.

I feel like I’m doing something fundamental and hopefully quite simple very wrong here, but I’m basically at a loss. Is this perhaps a weird issue specific to M-series Macs? Or am I just doing something stupid? (Hopefully the latter…) Any help would be very much appreciated! Thank you.
Matt.

It doesn’t look like you’ve mounted your folders into the container. Can you try something like the following?

docker run \
    -v /Users/Shared/MRIData/MW_fmriprep_test/bids:/data \
    pennlinc/xcp_d \
    /data/output \
    /data/xcp-d \
    participant \
    --participant-label 001 \
    --mode none \
    --input-type fmriprep \
    --despike y \
    --motion-filter-type none \
    --fd-thresh 0 \
    --output-type censored \
    --nuisance-regressors acompcor \
    --smoothing 6 \
    --combine-runs n \
    --disable-bandpass-filter \
    --abcc-qc n \
    --file-format nifti \
    --linc-qc n \
    --min-coverage 0.5 \
    --warp-surfaces-native2std n \
    --work-dir /data/xcp-d-work  # added by me