Skip to content

Releases: Deep-MI/FastSurfer

v2.2.0

30 Apr 15:33
a000faa
Compare
Choose a tag to compare

FastSurfer 2.2.0

Merry X-mas Release! Happy to be able to give to you a new and shiny FastSurfer release.

We highly recommend users to upgrade to this release as it fixes the eTIV issue (see #378) which has been around since FastSurfer v1.1.0. In mainly 3T datasets we had quite different eTIV values compared to FreeSurfer and for some datasets these were far too small (e.g. HCP).

What are the Highlights of this Release

  • Fixes the issue with eTIV #378
  • Better bias field correction
  • Similar to FreeSurfer it uses the 1.5 T default atlas for Talairach registration (for eTIV estimation)
  • If you use 3T images, pass the -3T flat to run_fastsurfer.sh
  • Improved way to build docker images with build script to reuse intermediate build steps
  • Support for batch processing with new brun_fastsurfer.sh and SLURM integration with srun_fastsurfer.sh scripts
  • Bump dependencies
  • Lots of minor updates to code
  • Improved documentation

What's Next

  • Hypothalamus sub-segmentation module
  • Olfactory bulb segmentation module
  • Improved corpus callosum and fornix segmentation
  • Further improvements and updates of the surface pipeline (reduced memory consumption)

As always, let us know via the issues if you find anything or have questions ...

What's Changed in Detail

  • Consider local time formats when reading runtimes by @ClePol in #302
  • Add and edit docstrings of recon_surf by @agirodi in #308
  • fix intenstiy overflow in higher order interpolation in uchar by @m-reuter in #334
  • Fix: imageio bug by @af-a in #338
  • fix TypeError by @agirodi in #339
  • Robustify mris_info string comparison to number of spaces (for FS741) by @af-a in #341
  • Add version info for run_fastsurfer and into the docker image by @dkuegler in #327
  • Add and edit Numpy docstrings by @agirodi in #332
  • Upgrade: Ubuntu, Python, torch, Freesurfer, and other dependencies by @af-a in #348
  • Update INSTALL.md by @dkuegler in #358
  • Create a docker multistage build script by @dkuegler in #215
  • Adding FreeSurfer commands (for validation tests) by @af-a in #362
  • Fix: fspython environment variable by @af-a in #365
  • Add fsaverage files for validation analyses by @af-a in #367
  • added section contributing code by @m-reuter in #368
  • fixing mid plane position by @m-reuter in #369
  • fix align for highres by @m-reuter in #370
  • fix the global normalization in bias field correction by @dkuegler in #387
  • Fix the identification of the number of cpus by @dkuegler in #386
  • add scripts for Fastsurfer orchestration on slurm clusters by @dkuegler in #388
  • Bump versions of python packages by @dkuegler in #389
  • Change a cpu_count instance that was left to get_num_threads by @dkuegler in #392
  • Script to generate requirements files from docker image by @dkuegler in #400
  • Add 3T atlas flag, remove mask from biasfield correction by @dkuegler in #406
  • use nibabel read_geometry by @m-reuter in #411
  • Fix memory limitation and subject/case globbing on slurm script by @dkuegler in #407
  • Add support for expert options for singularity. by @dkuegler in #412
  • "Small" changes to the CerebNet traning pipeline (missing apply_warp.py and shell errors in realistic_deformations) by @dkuegler in #415
  • Update documentation for 2.2 Release by @dkuegler in #414
  • PR for eTIV fix and new stable release by @m-reuter in #413

Full Changelog: v2.1.2...v.2.2.0

v.2.1.2

22 Sep 15:03
8d6e7ee
Compare
Choose a tag to compare

FastSurfer 2.1.2

Minor fix to store 001.mgz correctly.

What's Changed

v2.1.1

07 Jun 10:07
834b4df
Compare
Choose a tag to compare

FastSrufer 2.1.1

What's Changed

  • hotfix: --no_fs_t1 lower case by @m-reuter in #325
  • Added CerebNet, removed copying empty dir and corrected ckpt downloaddir by @LeHenschel in #326

Full Changelog: v2.1.0...v2.1.1

v2.1.0

31 May 16:03
677b3f6
Compare
Choose a tag to compare

FastSurfer Version 2.1.0

Finally, you waited and waited and now it is here :-) our new fresh and shiny FastSurfer Release 2.1. including Cerebnet for Cerebellum sub segmentation (currently only on 1mm resolution) https://doi.org/10.1016/j.neuroimage.2022.119703

What's Changed

  • Introduce segstats.py script for fast partial volume computation by @dkuegler in #239
  • Docs add Windows GPU and update tutorial by @agirodi in #244
  • Surfreg script by @agirodi in #241
  • Fix: Misleading QC failure message in run_fastsurfer.sh by @AhmedFaisal95 in #247
  • Refactoring of features impacted by CerebNet by @dkuegler in #249
  • Fixed generate_hdf5.py issues - generalization and bug fix by @LeHenschel in #251
  • Fix/yaml files by @LeHenschel in #252
  • Added optional LUT to map sagittal view to other classes by @LeHenschel in #253
  • Performance optimization and refactoring of the core prediction loop by @dkuegler in #255
  • Bugfix: Wrong number of parameters for "setup_logging" by @ClePol in #257
  • Remove np.float, deprecated in numpy 1.20 and removed in 1.24 by @mscheltienne in #263
  • Set default FASTSURFER_HOME by script path instead of PWD by @dkuegler in #269
  • CerebNet support in FastSurfer by @dkuegler in #258
  • Fixed bug in FastSurferVINN interpolation by @ClePol in #274
  • Improving ability to import FastSurferCNN into other projects by @dkuegler in #275
  • Added call to create jacobian_white measure directly in fastsurfer by @LeHenschel in #282
  • Simplified competitive concatentation with torch.maximum by @LeHenschel in #292
  • Documentation updates for FastSurfer 2.1 by @dkuegler in #293
  • Fix: 3D interact in tutorial showing white screen by @agirodi in #300
  • QC check: Ventricle-bg intersection volume by @AhmedFaisal95 in #299
  • Create EDITING.md by @m-reuter in #304
  • Fix the version comparison in reconsurf.sh by @dkuegler in #321

Full Changelog: v2.0.4...v2.1.0

Known Issues

  • --no_fs_T1 flag does not work due to upper/lower case confusion
  • seg-only GPU docker cannot load checkpoints

We will therefore not release 2.1.0 docker images and will apply patches to fix these issues and release 2.1.1 (next week).

v2.0.4

22 Feb 11:42
54247b8
Compare
Choose a tag to compare

FastSurfer v2.0.4

Fixed a few minor issues:

  • fix white space #264
  • fix file name #266

v2.0.3

17 Feb 08:37
Compare
Choose a tag to compare

FastSurfer v2.0.3

  • quick_qc.py now produces WARNING and continues to deal with very small head sizes as in #256

v2.0.1

30 Jan 16:33
Compare
Choose a tag to compare

FastSurfer v2.0.1

Patch Release with #246

  • bug fix seg flag in recon surf when passing --vol_segstats flag
  • add documentation about edits, Windows GPU and fix typos
  • add recon-surfreg.sh script to retrospectively create sphere.reg

v2.0.0

11 Jan 18:07
Compare
Choose a tag to compare

FastSurfer 2.0

Finally, we are happy to release a new major version of FastSurfer! After thorough testing we now base FastSurfer 2.0 on our VINN (voxel size independent neural network, see https://www.sciencedirect.com/science/article/pii/S1053811922000623 ) and support full brain segmentation on sub-mm MRI (1.5 and 3T) natively. Note, that command line arguments have changed, in order to support inclusion of future modules, such as the cerebellum segmentation which will come soon (at least for 1mm images).

Overall the performance has improved over our - already excellent - first version of FastSurfer (segmentation accuracy, test retest reliability, sensitivity to disease effects and processing time). We also solved an issue previously inherited from FreeSurfer of misaligned cortical areas (pre- and post-central) predominantly in the left hemisphere, by initializing spherical registration with our own code. Furthermore, although experimental, FastSurfer now runs on Windows (CPU via Docker), MacBooks (CPU and natively on GPU ( --device mps ) of the M chips!) and with AMD GPUs, in addition to the Nvidia GPUs or regular CPUs in Linux.

We hope you enjoy this release and please post any issues. While we perform extensive release tests on a hundreds of images from a variety of datasets, there can always be remaining bugs or issues and we appreciate your help in finding and solving them.

What's Changed

  • Add hires support to conforming and recon-surf by @m-reuter in #134
  • Removed pipefail env setting by @LeHenschel in #167
  • Activate denormal flushing in FastSurferCNN by @AhmedFaisal95 in #171
  • [run_prediction] VERIFIED ON BERT; simplify get_prediction memory all… by @dkuegler in #177
  • [data_utils] fix and optimize split_cortex_labels by @dkuegler in #175
  • Download correct conda architecture by @m-reuter in #179
  • add requirements.mac.txt for testing mac support by @m-reuter in #180
  • Speed-up BA exvivo labels projection with python by @m-reuter in #183
  • [logging] cleanup and unify the logging in vinn by @dkuegler in #189
  • Feature/vinn mac by @m-reuter in #191
  • Add experimental docker for AMD GPUs by @m-reuter in #193
  • bump to FS7.3.2 and Ubuntu 20 by @m-reuter in #195
  • Fix: Inference script logging by @AhmedFaisal95 in #194
  • Fix: Potential buffer overflow errors by @AhmedFaisal95 in #196
  • Fix: Prevent running on existing directories by @AhmedFaisal95 in #197
  • Feature/qc by @m-reuter in #198
  • optimize normalizeWM and mask creation by @dkuegler in #207
  • add requirements_cpu.txt and minor changes by @agirodi in #205
  • Volume-based QC check after segmentation by @AhmedFaisal95 in #201
  • support negative values in image (UKbio) by @m-reuter in #210
  • Interface and FastSurfer basepath changes by @dkuegler in #208
  • Feature/aseg brainmask module by @LeHenschel in #212
  • Define global ckptdir in checkpoint.py and import from there in run_p… by @LeHenschel in #214
  • Upgrade: torch and pillow packages by @AhmedFaisal95 in #217
  • discourage running fastsurfer as root by @dkuegler in #216
  • Fix/normwm by @m-reuter in #224
  • Voxel size passing and hires pipeline selection changes to allow consistent processing by @dkuegler in #225
  • Fix: NIFTI image support issues by @AhmedFaisal95 in #232
  • Docs by @m-reuter in #226
  • and various minor bug fixes

Full Changelog: v.1.1.2...v2.0.0

v1.1.2

22 Sep 07:55
Compare
Choose a tag to compare

This patch release includes:

  • improved documentation (Readme, Install, Tutorials) with updated file names etc
  • improved --help texts formatted to fit your screen
  • check and stop for "--sid subject" which produces failure in downstream FreeSurfer 7.2

v1.1.1

18 Aug 14:21
Compare
Choose a tag to compare

This patch release brings a few fixes:

  • Add denormal flushing to CNN for significantly improved CPU speed, see #171 and #165
  • Removed pipefail env setting to avoid problems with positional, see #167