Question/Support Request
Hello,
I would like to ask whether my FastSurfer longitudinal processing was executed correctly.
After running the longitudinal pipeline, I noticed the following issues:
1. Do I need to run the cross-sectional processing separately first?
2. Missing aseg+DKT outputs
I expected aseg+DKT-related outputs (e.g., DKT parcellation combined with aseg), but those files were not generated in the output directory.
3. Longitudinal output is not the same as cross-sectional output
The longitudinal output is different from the cross-sectional output, but I am not sure whether the differences are expected or indicate an issue in the longitudinal processing.
Could you please confirm whether this behavior is expected, or if there may be an issue with my command / setup?
Additionally, I have a question regarding Docker permissions:
4. Root / user issue
I cannot run the container as root due to permission issues.
Is it required to run FastSurfer longitudinal as root, or is it fine to run it as a normal (non-root) user?
Thank you.
Screenshots / Log files
Please provide error messages (can be a screenshot), stack traces, log files (specifically $SUBJECTS_DIR/$SUBJECT_ID/scripts/deep-seg.log and $SUBJECTS_DIR/$SUBJECT_ID/scripts/recon-surf.log) and any snippets useful in describing your problem here.
/scripts/deep-seg
Log file for FastSurfer pipeline, run_fastsurfer.sh and segmentation(s)
python3.10 -s /fastsurfer/FastSurferCNN/run_prediction.py --t1 /output/sub-b001/long-inputs/sub-b001_b1/long_conform.nii.gz --asegdkt_segfile /output/sub-b001_b1/mri/aparc.DKTatlas+aseg.deep.mgz --conformed_name /output/sub-b001_b1/mri/orig.mgz --brainmask_name /output/sub-b001_b1/mri/mask.mgz --aseg_name /output/sub-b001_b1/mri/aseg.auto_noCCseg.mgz --sid sub-b001_b1 --seg_log /output/sub-b001_b1/scripts/deep-seg.log --vox_size min --batch_size 1 --viewagg_device auto --device auto --threads 1 --sd /output
[INFO: run_prediction.py: 647]: Checking or downloading default checkpoints ...
[INFO: common.py: 820]: Single subject with absolute file path for input.
[INFO: common.py: 878]: Analyzing single subject /output/sub-b001/long-inputs/sub-b001_b1/long_conform.nii.gz
[INFO: common.py: 979]: Output will be stored in Subjects Directory: /output
[INFO: common.py: 106]: Using device: cuda
[INFO: common.py: 106]: Using viewagg_device: cuda
[INFO: run_prediction.py: 245]: Running view aggregation on cuda
[INFO: inference.py: 200]: Loading checkpoint /fastsurfer/checkpoints/aparc_vinn_coronal_v2.0.0.pkl
[INFO: inference.py: 200]: Loading checkpoint /fastsurfer/checkpoints/aparc_vinn_sagittal_v2.0.0.pkl
[INFO: inference.py: 200]: Loading checkpoint /fastsurfer/checkpoints/aparc_vinn_axial_v2.0.0.pkl
[INFO: run_prediction.py: 324]: Successfully loaded image from /output/sub-b001/long-inputs/sub-b001_b1/long_conform.nii.gz.
[INFO: run_prediction.py: 441]: Output image directory /output/sub-b001_b1/mri/orig does not exist. Creating it now...
[INFO: run_prediction.py: 454]: Successfully saved image as /output/sub-b001_b1/mri/orig/001.mgz.
[INFO: conform.py: 823]: The input image is not conformed.
[INFO: conform.py: 826]: A min-conformedconformed image must satisfy the following criteria:
[INFO: conform.py: 828]: - Number of Dimensions 3 : True
[INFO: conform.py: 828]: - Dimensions 256x256x256 : True
[INFO: conform.py: 828]: - Voxel Size 1.0x1.0x1.0 : True
[INFO: conform.py: 828]: - Orientation LIA : True
[INFO: conform.py: 828]: - Dtype uint8 : BUT dtype int16
[INFO: run_prediction.py: 337]: Conforming image
[INFO: run_prediction.py: 454]: Successfully saved image as /output/sub-b001_b1/mri/orig.mgz.
[INFO: run_prediction.py: 400]: Run coronal prediction
[INFO: dataset.py: 78]: Loading Coronal with input voxelsize (1.0, 1.0)
[INFO: inference.py: 408]: Inference on 256 batches for coronal successful
[INFO: inference.py: 469]: Coronal inference on /output/sub-b001/long-inputs/sub-b001_b1/long_conform.nii.gz finished in 10.2691 seconds
[INFO: run_prediction.py: 400]: Run sagittal prediction
[INFO: dataset.py: 69]: Loading Sagittal with input voxelsize (1.0, 1.0)
[INFO: inference.py: 408]: Inference on 256 batches for sagittal successful
[INFO: inference.py: 469]: Sagittal inference on /output/sub-b001/long-inputs/sub-b001_b1/long_conform.nii.gz finished in 10.3530 seconds
[INFO: run_prediction.py: 400]: Run axial prediction
[INFO: dataset.py: 74]: Loading Axial with input voxelsize (1.0, 1.0)
[INFO: inference.py: 408]: Inference on 256 batches for axial successful
[INFO: inference.py: 469]: Axial inference on /output/sub-b001/long-inputs/sub-b001_b1/long_conform.nii.gz finished in 10.0360 seconds
[INFO: run_prediction.py: 454]: Successfully saved image as /output/sub-b001_b1/mri/aparc.DKTatlas+aseg.deep.mgz.
[INFO: run_prediction.py: 724]: Creating brainmask based on segmentation...
[INFO: run_prediction.py: 454]: Successfully saved image as /output/sub-b001_b1/mri/mask.mgz.
[INFO: run_prediction.py: 743]: Creating aseg based on segmentation...
[INFO: run_prediction.py: 454]: Successfully saved image as /output/sub-b001_b1/mri/aseg.auto_noCCseg.mgz.
[INFO: run_prediction.py: 762]: Running volume-based QC check on segmentation...
INFO: Running N4 bias-field correction...
python3.10 -s /fastsurfer/recon_surf/N4_bias_correct.py --in /output/sub-b001_b1/mri/orig.mgz --rescale /output/sub-b001_b1/mri/orig_nu.mgz --aseg /output/sub-b001_b1/mri/aseg.auto_noCCseg.mgz --threads 1
N4 Bias Correction Parameters:
- verbosity: -1
- input volume: /output/sub-b001_b1/mri/orig.mgz
- output volume: do not save
- rescaled volume: /output/sub-b001_b1/mri/orig_nu.mgz
- mask: default (>0)
- aseg: /output/sub-b001_b1/mri/aseg.auto_noCCseg.mgz
- shrink factor: 4
- number fitting levels: 4
- number iterations: 50
- convergence threshold: 0.0
- threads: 1
read MGZ (FreeSurfer) image via nibabel...
executing N4 correction ...
- mask: ones (default)
normalize WM to 105.0 (find WM from aseg)
read MGZ (FreeSurfer) image via nibabel...
- source white matter intensity: 70.51
- m: 1.4466
converting rescaled to UCHAR
writing PosixPath: /output/sub-b001_b1/mri/orig_nu.mgz
write MGZ (FreeSurfer) image via nibabel...
INFO: Running talairach registration...
/fastsurfer/recon_surf/talairach-reg.sh /output/sub-b001_b1/scripts/deep-seg.log --dir /output/sub-b001_b1/mri --conformed_name /output/sub-b001_b1/mri/orig.mgz --norm_name /output/sub-b001_b1/mri/orig_nu.mgz --long --3T
ERROR: Talairach registration failed!
=========================================================
Start of the log for a new run_fastsurfer.sh invocation
=========================================================
Version: 2.4.2+7e53343
Fri Jan 23 04:46:55 UTC 2026
Log file for FastSurfer pipeline, run_fastsurfer.sh and segmentation(s)
INFO: Running run_fastsurfer.sh without segmentation pipeline;
expecting previous --seg_only run in /output/sub-b001_b1.
WARNING: Found 7 files in subject directory $SUBJECTS_DIR/sub-b001_b1:
Potentially Overwriting: ./mri/aparc.DKTatlas+aseg.deep.mgz ./mri/aseg.auto_noCCseg.mgz ./mri/mask.mgz ./mri/orig/001.mgz ./mri/orig.mgz ./mri/orig_nu.mgz ...
cd /fastsurfer/recon_surf
./recon-surf.sh --sid sub-b001_b1 --sd /output --t1 /output/sub-b001_b1/mri/orig.mgz --mask_name /output/sub-b001_b1/mri/mask.mgz --asegdkt_segfile /output/sub-b001_b1/mri/aparc.DKTatlas+aseg.deep.mgz --threads 2 --py python3.10\ -s --long sub-b001 --3T
/scripts/recon-surf
error in mid anterior detected - correcting...
writing aseg with callosum to /output/sub-b001_b1/mri/aseg.auto.mgz...
corpus callosum segmentation took 0.2 minutes
#VMPC# mri_cc VmPeak 172212
mri_cc done
@#@FSTIME 2026:01:23:04:47:48 mri_cc N 7 e 9.75 S 0.14 U 9.73 P 101% M 142780 F 0 R 63091 W 0 c 5 w 368 I 0 O 0 L 1.98 1.84 1.81
@#@FSLOADPOST 2026:01:23:04:47:57 mri_cc N 7 1.98 1.85 1.81
python3.10 -s /fastsurfer/recon_surf/paint_cc_into_pred.py -in_cc /output/sub-b001_b1/mri/aseg.auto.mgz -in_pred /output/sub-b001_b1/mri/aparc.DKTatlas+aseg.deep.mgz -out /output/sub-b001_b1/mri/aparc.DKTatlas+aseg.deep.withCC.mgz
@#@FSLOADPRE 2026:01:23:04:47:57 recon_surf/paint_cc_into_pred.py N 6 1.98 1.85 1.81
Reading inputs: /output/sub-b001_b1/mri/aseg.auto.mgz /output/sub-b001_b1/mri/aparc.DKTatlas+aseg.deep.mgz...
Writing segmentation with corpus callosum to: /output/sub-b001_b1/mri/aparc.DKTatlas+aseg.deep.withCC.mgz
@#@FSTIME 2026:01:23:04:47:57 recon_surf/paint_cc_into_pred.py N 6 e 0.54 S 0.10 U 0.41 P 94% M 129476 F 0 R 35797 W 0 c 11 w 1162 I 0 O 0 L 1.98 1.85 1.81
@#@FSLOADPOST 2026:01:23:04:47:58 recon_surf/paint_cc_into_pred.py N 6 1.98 1.85 1.81
========= Creating filled from brain (brainfinalsurfs, wm.asegedit, wm) =======
recon-all -s sub-b001_b1 -asegmerge -normalization2 -maskbfs -segmentation -threads 2 -itkthreads 2
@#@FSLOADPRE 2026:01:23:04:47:58 recon-all N 10 1.98 1.85 1.81
fs-check-version --s sub-b001_b1 --o /tmp/tmp.fBCsf0
Fri Jan 23 04:47:58 UTC 2026
================= DONE =========================================================
Started at Fri Jan 23 04:46:56 UTC 2026
Ended at Fri Jan 23 05:04:20 UTC 2026
#@#%# recon-surf-run-time-hours 0.000
recon-surf.sh sub-b001_b1 finished without error at Fri Jan 23 05:04:20 UTC 2026
/scripts/recon-all
ERROR: The binary /opt/freesurfer/bin/mri_motion_correct.fsl is not included, your call is forwarded to not-here.sh
ERROR: The binary /opt/freesurfer/bin/nu_correct is not included, your call is forwarded to not-here.sh
ERROR: The binary /opt/freesurfer/bin/mri_motion_correct.fsl is not included, your call is forwarded to not-here.sh
ERROR: The binary /opt/freesurfer/bin/mri_motion_correct.fsl is not included, your call is forwarded to not-here.sh
ERROR: The binary /opt/freesurfer/bin/nu_correct is not included, your call is forwarded to not-here.sh
ERROR: The binary /opt/freesurfer/bin/nu_correct is not included, your call is forwarded to not-here.sh
recon-all -s sub-b001_b1 finished without error at Fri Jan 23 04:50:11 UTC 2026
Started at Fri Jan 23 04:50:07 UTC 2026
Ended at Fri Jan 23 04:50:11 UTC 2026
#@#%# recon-all-run-time-hours 0.001
recon-all -s sub-b001_b1 finished without error at Fri Jan 23 04:50:11 UTC 2026
stats

mri

scripts

Environment
- FastSurfer Verions: 2.4.2
- Installation type: Docker
- FreeSurfer Version: 7.4.1
- OS: Windows
...
Execution
Include the command you used to run FastSurfer that cause the problem.
docker run --gpus all `
--rm `
--user 1000:1000 `
-e FS_LICENSE=/fs_license/license.txt `
-v "$FS_LICENSE:/fs_license/license.txt" `
-v "D:/fastsurfer/test_long:/data" `
-v "D:/fastsurfer/test_long/bl:/output" `
--entrypoint "/fastsurfer/long_fastsurfer.sh" `
deepmi/fastsurfer:latest `
--fs_license /fs_license/license.txt `
--tid "$tid" `
--t1s "$t1_1" "$t1_2" `
--tpids "$tp1id" "$tp2id" `
--sd /output `
--3T `
--tal_reg `
--parallel_surf max `
--threads_surf 2
Question/Support Request
Hello,
I would like to ask whether my FastSurfer longitudinal processing was executed correctly.
After running the longitudinal pipeline, I noticed the following issues:
1. Do I need to run the cross-sectional processing separately first?
2. Missing aseg+DKT outputs
I expected aseg+DKT-related outputs (e.g., DKT parcellation combined with aseg), but those files were not generated in the output directory.
3. Longitudinal output is not the same as cross-sectional output
The longitudinal output is different from the cross-sectional output, but I am not sure whether the differences are expected or indicate an issue in the longitudinal processing.
Could you please confirm whether this behavior is expected, or if there may be an issue with my command / setup?
Additionally, I have a question regarding Docker permissions:
4. Root / user issue
I cannot run the container as root due to permission issues.
Is it required to run FastSurfer longitudinal as root, or is it fine to run it as a normal (non-root) user?
Thank you.
Screenshots / Log files
Please provide error messages (can be a screenshot), stack traces, log files (specifically
$SUBJECTS_DIR/$SUBJECT_ID/scripts/deep-seg.logand$SUBJECTS_DIR/$SUBJECT_ID/scripts/recon-surf.log) and any snippets useful in describing your problem here./scripts/deep-seg
/scripts/recon-surf
/scripts/recon-all
stats

mri

scripts

Environment
...
Execution
Include the command you used to run FastSurfer that cause the problem.