I originally posted on the MIRTK mailing list, but this seems to be the appropriate location for support on the dHCP structural pipeline.
I want to use the dhcp structural pipeline on neonatal data. Following the instruction on dHCP structural pipelineI have executed a simple run (using docker) on a T2w image as:
$ docker run --rm -t -u $(id -u):$(id -g) -v $PWD/data:/data biomedia/dhcp-structural-pipeline:latest pk323 mr1 40 -T2 data/T2w.nii.gz -t 6
dHCP pipeline v1.1
Warning: Number of threads>1: This may result in minor reproducibility
/usr/src/structural-pipeline/dhcp-pipeline.sh pk323 mr1 40 -T2
data/T2w.nii.gz -t 6
running segmentation pipeline
/data/workdir/pk323-mr1/T2/pk323-mr1.nii.gz pk323-mr1 40 -d
/data/workdir/pk323-mr1 -t 6
Pipeline failed: see log files /data/logs/pk323-mr1.segmentation.log
/data/logs/pk323-mr1.segmentation.err for details
I keep getting “Pipeline failed” with the same termination. From the err-file, the problem seems to be related to copying the T2w to a location where it already exists.
The err-file reads
$ cat pk323-mr1.segmentation.err
cp: ‘/data/workdir/pk323-mr1/T2/pk323-mr1.nii.gz’ and ‘/data/workdir/pk323-mr1/T2/pk323-mr1.nii.gz’ are the same file
which in the log-file is related to the executions
/usr/src/structural-pipeline/build/MIRTK/Packages/DrawEM/scripts/tissue-priors.sh pk323-mr1 40 non-rigid-v2 6 : failed
/usr/src/structural-pipeline/build/MIRTK/Packages/DrawEM/pipelines/neonatal-pipeline.sh /data/workdir/pk323-mr1/T2/pk323-mr1.nii.gz 40 -t 6 -c 1 -p 1 -v 1 -atlas non-rigid-v2 : failed
I guess there an obvious solution, but I cannot find it. Advice/Solution appreciated!
A related question. Have previously used the neonatal segmentation pipeline (DrawEM/pipelines/neonatal-pipeline-v1.1.sh). I am primarily interested in the segmentation step of the dHCP pipeline, can I execute this specific step via docker? I guess it translates to how I can execute sh-scripts inside docker?