There is a newer version of the record available.

Published September 3, 2024 | Version v2.3.0

Deep-MI/FastSurfer: v2.3.0

Description

FastSurfer v2.3.0

Happy to present to you our new and shiny FastSurfer release.

Highlights of this Release

There has been lots of work and testing distilled into this one!! Most notably:

  • Hypothalamus: introduced HypVINN for the segmentation of the hypothalamus and adjacent regions (see https://doi.org/10.1162/imag_a_00034 )
  • Efficiency: replaced FreeSurfer's mri_segstats also in surface pipeline by our more efficient python script segstats.py (speeding up surface pipeline by 15 minutes, segstats 24x faster)
  • Reduced memory footprint in surface module: re-implemented FreeSurfer's mris_sample_parc which had huge memory leaks in some cases and also produced holes in surface label map. Our python script now fixes all that and is also faster.
  • Support newer GPUs: bump dependencies to new versions (e.g. newer CUDA adds support for H100 Nvidia GPUs, updated support for AMD GPUs)
  • Mac support: ported code that required newer bash versions to work with older bash for better Mac native install support
  • Better Documentation: updated documentation and created a documentation webpage with Sphinx at https://deep-mi.org/FastSurfer/
  • Better Containerization: created a multi-stage Docker build script and added attestation and provenance, also making the build much faster (e.g. now using mamba instead of conda)
  • Better Interoperability: consolidated the FastSurfer look-up-table with FreeSurfers version, also adding our new labels for Cerebellum, OB and Hypothalamus to their table.
  • Faster Downloads: download checkpoints first from Zenodo (more reliable) and use Jülich as backup
  • Clean surfaces: retrospectively fix FreeSurfer's flipped triangles produced in mris_make_surfaces
  • eTIV: optionally you can now get eTIV (and other "Measures") also in segmentation module (specify --tal_reg), so if only volume estimates are needed, the surface pipeline can be skipped completely

What's next

Upcoming Features (not necessarily all in next release):

  • Olfactory bulb segmentation module
  • Improved corpus callosum and fornix segmentation module
  • Lesion robust FastSurfer
  • Support for longitudinal processing in surface pipeline
  • As always, let us know via the issues if you find anything or have questions ...

Other changes and improvements:

  • Update README.md by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/423
  • update to tag cpu-latest by @m-reuter in https://github.com/Deep-MI/FastSurfer/pull/429
  • FIX and DOC: is_conform and vox sizes in 4D single-frame images by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/432
  • Sample Parc by @m-reuter in https://github.com/Deep-MI/FastSurfer/pull/430
  • Fix subjects_list typo in README.md by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/437
  • Fixed cuda118 parameter in docker build script by @ClePol in https://github.com/Deep-MI/FastSurfer/pull/447
  • Fix the sqrt usage in conform.py by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/448
  • Swapping out use of conda in building the dockerfile for the much faster mamba by @jrussell9000 in https://github.com/Deep-MI/FastSurfer/pull/457
  • Sphinx Recon_surf and CerebNet API's by @engrosamaali91 in https://github.com/Deep-MI/FastSurfer/pull/456
  • Add Docker attestation and provenance by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/445
  • Modify the batch and slurm scripts to support additonal per-subject parameters by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/434
  • Fix output type of N4 bias field correction and add uchar flag by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/465
  • Replace softlinks with softlink_or_copy if softlink failed by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/473
  • Fix python call to spherical_project by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/476
  • consolidate with FreeSurfer's LUT by @m-reuter in https://github.com/Deep-MI/FastSurfer/pull/463
  • fixing issue with get_cmap on matplotlib 3.9.0 by @taha-abdullah in https://github.com/Deep-MI/FastSurfer/pull/522
  • Improve Mac support and clean up dependencies by @m-reuter in https://github.com/Deep-MI/FastSurfer/pull/530
  • Hypothalamus Implementation by @santiestrada32 in https://github.com/Deep-MI/FastSurfer/pull/459
  • Cleanup of the logging and output of checkpoint download by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/535
  • Update Checkpoint Priority from Juelich to Zenodo by @neginshirvani in https://github.com/Deep-MI/FastSurfer/pull/538
  • Fix the behavior of brun_fastsurfer.sh --parallel_subjects by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/539
  • Fix MGHheader set data type attribute error by @santiestrada32 in https://github.com/Deep-MI/FastSurfer/pull/541
  • Fix fs_time check for number of arguments and line duplication in recon-surf by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/545
  • Fix docker build script, only works with docker-container builder, if buildx is installed by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/547
  • Fallback for unoriented triangles in sample_parc by @ClePol in https://github.com/Deep-MI/FastSurfer/pull/554
  • Add brainvol stats to the segstats command by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/474
  • Update FreeSurferColorLUT.txt to match FreeSurfer 7.5 by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/556
  • fix things for Mac and MPS by @m-reuter in https://github.com/Deep-MI/FastSurfer/pull/561
  • fix BUG: --allow_root does not work for segstats module in hypvinn. by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/562
  • Detect FreeSurfer license in the FREESURFER_HOME directory. by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/563
  • Fix the target directory of the doc workflow by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/564
  • Fix content of build log file by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/566
  • removing isort and black in favour of ruff by @m-reuter in https://github.com/Deep-MI/FastSurfer/pull/569
  • bump versions of dependencies by @dkuegler in https://github.com/Deep-MI/FastSurfer/pull/560
  • add Numpy2 code compatibility by @m-reuter in https://github.com/Deep-MI/FastSurfer/pull/568

New Contributors

  • @oikosohn made their first contribution in https://github.com/Deep-MI/FastSurfer/pull/373
  • @jrussell9000 made their first contribution in https://github.com/Deep-MI/FastSurfer/pull/457
  • @taha-abdullah made their first contribution in https://github.com/Deep-MI/FastSurfer/pull/496
  • @Pmoonesi made their first contribution in https://github.com/Deep-MI/FastSurfer/pull/498
  • @neginshirvani made their first contribution in https://github.com/Deep-MI/FastSurfer/pull/538

Full Changelog: https://github.com/Deep-MI/FastSurfer/compare/v2.2.0...v2.3.0

Files

Deep-MI/FastSurfer-v2.3.0.zip

Files (16.8 MB)

Name Size Download all
md5:38c9810f5aabd3dccbedb1cabee92482
16.8 MB Preview Download

Additional details

Related works