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
andpillow
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