Releases: Deep-MI/FastSurfer
v2.0.3
v2.0.1
v2.0.0
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
v1.1.2
v1.1.1
v1.1.0
We have worked hard to bring you this new and awesome release v1.1 !!
After weeks of thorough testing we are finally happy with this version of FastSurfer, which is based on FreeSurfer 7.2 now. Over-and-over we repeated a battery of tests (including accuracy to a ground truth set, test-retest reliability, group separability, and run-time performance). Not only are we seeing the same high-quality of results as our 1.0 release, we can bring that to you at a faster speed.
What has changed in v1.1
- We upgraded our dependencies, most notably we use:
- FreeSurfer 7.2
- Ubuntu 20.4 (in Docker)
- Upgrades of other dependencies (Python packages, NVIDIA)
- We reduced our Docker image sizes significantly (via a 2-stage build and striping unnecessary files)
- We now have pre-built images on Docker Hub and documentation on how to run Singularity
- Faster N4 bias field correction using simpleITK
- Improved search for CorpusCallosum (mid plane finding)
- Replace and speed-up global spherical registration (rotation) in FS7.2 mris_register
Detailed commits: https://github.com/Deep-MI/FastSurfer/commits/v1.1.0
We thank all the contributors for their help!!
Roadmap
- Include FastSurferVINN for high-res segmentation (for v2.0, ongoing)
- Update recon-surf pipeline to high-res (for v2.0, done)
- Further speed-up, e.g. by a more efficient mapping of BA-labels etc (for v2.1 or earlier, done)
- CC/Fornix segmentation CNN (and mid plane finding) (for v2.* or 3.0)
- Integration of other segmentation modules (for v2.* or v3.0)
- CerebNet for cerebellum sub-segmentation
- Olfactory bulb segmentation
- Hypothalamus sub-segmentation
- Unify interface and merge segmentations if possible (v3.0)
- Improved surface processing (construction, registration with DL) (for v4.0)
- Restructuring of recon-surf as modern pipeline (e.g. Nextflow or Snakemake) (anytime)
- Automatisation of releasing Docker images on Dockerhub (CI, e.g. via Travis or Github Actions) (anytime)
v1.0.1
v1.0.0
What's Changed
- Conform now handles 4-dimensional data frames correctly, if the fourth dim is size 1
- Update Tutorial README with pip dependency comments
- Add requirements.in, and pip-compiled requirements.txt
- Add issue templates (bug, feature, docs, support)
- recon_surf Time Extraction
- Generate balabels if possible
- Saving FastSurferCNN output in mgz, nii, or nii.gz
- Saving conformed input in FastSurferCNN to use in recon-surf (solves larger field of view)
- FIX: guide sphere reg with FastSurferCNN precentral
- Added check for adjusted conformed_name flag
- Switch off use of Cholmod from scikit sparse
- Fix Fastsurfer output names to show DKT
- Rename branch master to stable and use dev branch for development
Full Changelog: https://github.com/Deep-MI/FastSurfer/commits/v1.0.0
Note: We are currently generating tested releases for FastSurfer. This is our first official release and includes many updates compared to the earlier unstable versions. However, this is also the last release that uses FastSurfer v6.0 for recon-surf. Our roadmap is to follow shortly with these releases, so stay tuned:
- v.1.1.0 to upgrade to FreeSurfer 7.2, Ubuntu 20.04, faster N4 BiasCorrect from sITK and fix for CC segmentation speed.
- v.2.0.0 Permit high-res processing by switching to FastSurferVINN and upgrading recon-surf to hires.