Main Updates
- Integration of the new and very much improved Corpus Callosum Segmentation, including CC thickness, curvature analysis, see https://deep-mi.org/FastSurfer/dev/overview/modules/CC.html and our paper, published in Imaging Neuroscience https://doi.org/10.1162/IMAG.a.1221 , pdf also here: https://arxiv.org/abs/2511.16471
- Native Image: Experimental, with the
--keepgeomor--native_imageflag we now allow to perform the segmentation (--seg_only!!) in the native image space. For this the image should be close to isotropic voxel sizes. - Our Lesion Inpainting Tool neuroLIT is now experimentally integrated into FastSurfer to permit processing images with a lesion mask or resection and generating surface models etc. https://doi.org/10.1162/imag_a_00446 https://deep-mi.org/FastSurfer/dev/overview/modules/LIT.html
- Improved eTIV stability. Still based on the FreeSurfer-like registration approach, but with a more stable pre-alignment to avoid mis-registrations and incorrect eTIV values, e.g. in HCP data. Addressing, e.g. #800 . Also watch out for our own superior segmentation based eTIV tools in future releases.
- Added a MacOS build packaging
- Various minor fixes and improvement (see below).
What's Changed
- Update LONG.md by @m-reuter in #665
- Prevent division by zero by @santiestrada32 in #667
- Fix smaller issues in srun_fastsurfer.sh by @dkuegler in #671
- Fix regmode none for hypvinn by @dkuegler in #675
- Move existing surfaces check into run_fastsurfer by @dkuegler in #677
- Mac compatibility: Avoid PCRE grep in recon-surf, stat formatting and mapfile by @dkuegler in #672
- Read the voxel size from image with python instead of from log by @dkuegler in #683
- quicktest update & merge CerebNet.utils.metrics into FastSurferCNN.utils.metrics by @taha-abdullah in #590
- Update doc for Docker in the rootless mode by @plu-project in #684
- Add additional stats/aseg.VINN.stats file by @dkuegler in #678
- Update matplotlib by @santiestrada32 in #687
- Fix links to actions in quicktest workflow by @dkuegler in #686
- Add documentation to build the docker image releases by @dkuegler in #689
- Fix how devices were parsed in brun_fastsurfer by @dkuegler in #690
- Add segmentation of images in "native image space" by @dkuegler in #691
- Some formatting changes that have accumulated over time by @dkuegler in #692
- Fixes to the anisotropic segmentation of FastSurfer by @dkuegler in #695
- Bump setuptools from 75.8.0 to 78.1.1 by @dependabot[bot] in #696
- Fixes so de-selecting views for processing for run_prediction is possible by @dkuegler in #697
- Data documentation by @kdiers in #419
- Bump tornado from 6.4.2 to 6.5.1 by @dependabot[bot] in #698
- Add information about FastSurfer course by @kdiers in #711
- Fix conform.py losing tr value during conversion by @OtabekRintaro in #714
- Fix ruff error suppression of typing.Optional by @OtabekRintaro in #713
- Fix import in brun_fastsurfer by @dkuegler in #715
- Bump urllib3 from 2.3.0 to 2.5.0 by @dependabot[bot] in #710
- Bump requests from 2.32.3 to 2.32.4 by @dependabot[bot] in #706
- Bump protobuf from 5.28.3 to 5.29.5 by @dependabot[bot] in #707
- Bump torch from 2.6.0+cpu to 2.7.1+cpu by @dependabot[bot] in #708
- Add workaround for SSL certificate mismatch error with mamba/conda at DZNE by @dkuegler in #718
- Bugfixes before release by @dkuegler in #700
- Fix inconsistent file and folder permissions by @dkuegler in #719
- Github workflow changes by @dkuegler in #720
- Add Docker command and revise longitudinal notes by @m-reuter in #725
- Change "base" to person-specific template by @m-reuter in #726
- Fix typos in LONG.md by @christianewert in #729
- Add the longitudinal outputs compatibility script by @dkuegler in #722
- Avoid ' without termination in help text by @m-reuter in #731
- Fix ROCm installation link for AMD GPU support by @cbrnr in #735
- Fix srun_fastsurfer termination on files inspection by @dkuegler in #741
- Fix quicktest outputs if FastSurfer fails by @dkuegler in #742
- Fix and update spherical project by @dkuegler in #743
- Add MacOS build packaging tool by @OtabekRintaro in #734
- Fix subshells exiting not leading to script ending by @dkuegler in #749
- Updates in preparation for FastSurferCC by @dkuegler in #750
- Minor fixes to the documentation, formatting and literal strings. by @dkuegler in #751
- Add a template pre-commit hook script and speed up sphinx build by @dkuegler in #755
- Maintenance update for FastSurfer (coming from FastSurferCC integration) by @dkuegler in #757
- Documentation better linking of symbols to files and cleanup by @dkuegler in #760
- Add FastSurfer-CC to the FastSurfer repository by @ClePol in #727
- FastSurfer-CC bugfixes by @ClePol in #762
- CC documentation & final testing by @ClePol in #763
- Quick fix to address warning in run_prediction.py by @dkuegler in #768
- Change error message to warning in link_fs.sh by @m-reuter in #771
- Exclude WarmupCosineLR.step from doc validation by @m-reuter in #772
- Various updates and changes to the documentation by @dkuegler in #765
- Add citation for FastSurfer-CC by @ClePol in #773
- Add timeout to version.py execution by @m-reuter in #774
- bump python packages, use UV instead of conda, update docker build by @dkuegler in #766
- Fix version info by @dkuegler in #776
- Internal benchmarking/execution time for segmentation pipeline by @dkuegler in #777
- Modify the macOS release script to remove the link_fs.sh duplicate file by @dkuegler in #775
- Fixes to the docker build process by @dkuegler in #781
- Quickfix: Fix typo in functions.sh by @dkuegler in #783
- Fix voxel radius calculation in sample_parc.py by @m-reuter in #784
- add stages to long_fastsurfer.sh by @m-reuter in #786
- Change and harmonize 0 or 1 as boolean values to "true"/"false" in bash scripts by @dkuegler in #785
- Remove corpus callosum processing from surface pipeline by @dkuegler in #787
- Fix bug in spherically project wrapper by @dkuegler in #788
- Add missing files to the documentation by @dkuegler in #792
- CC module bugfix and robustness by @ClePol in #791
- Add missing '[@]' to function
RunBatchJobsby @dkuegler in #793 - Fix: Correct FastSurfer-CC error code handling and documentation formatting by @dkuegler in #794
- Update pre-commit script and GitHub workflows to use uv by @dkuegler in #796
- Fix the matplotlib backend for qc plotting by @dkuegler in #797
- Upgrade WhipperSnapPy from 1.3 to 2.1, simplify and streamline integration by @ClePol in #795
- Fix: symlink may point to absolute path by @dkuegler in #799
- CC midplane refinement by @ClePol in #801
- Minor maintenance fixes to FastSurfer by @dkuegler in #804
- Fix image reorientation and cropping bugs in conform workflow (fixes #764) by @dkuegler in #767
- Minor bugfixes and docfixes by @ClePol in #805
- replace requirements.mac.txt with pyproject.toml by @m-reuter in #808
- Lesion inpainting (LIT) integration by @ClePol in #803
- Fix usage of Reorientation logic in CerebNet and HypVINN by @dkuegler in #809
- Improve talairach transform and etiv estimation through atlas prealignment by @kdiers in #807
- Fix aniso by @m-reuter in #810
- CC surface alignment + subsegment ordering by @ClePol in #812
- Replace local LTA, alignment, and point-registration code with neuroreg by @m-reuter in #811
- fix doc strings for conforming by @m-reuter in #813
- CC documentation update by @ClePol in #814
- Fix strict conform voxel center to agree with FreeSurfer and earlier FastSurfer versions by @m-reuter in #815
- Release docker changes by @ClePol in #816
New Contributors
- @plu-project made their first contribution in #684
- @OtabekRintaro made their first contribution in #714
- @christianewert made their first contribution in #729
- @cbrnr made their first contribution in #735
Full Changelog: v2.4.2...v2.5.0