FreeSurfer Release Notes
Stable v7.1.1 Release (July 27, 2020)
FreeSurfer version 7.1.1 can be found here. This new version fixes bugs and adds some new features. Unless the new features are employed, it will give the same result as 7.1.0; consequently, results from subjects analyzed with 7.1.1 can be mixed with subjects analyzed with 7.1.0.
freeview/ PETSC error is now fixed
fs_time now runs properly
mri_cc does not crash when it can't find fornix (usually on mac)
"preserve=timestamps" error fixed
- Memory leaks fixed (MRIScomputeMetricProperties). The excessive memory usage had caused some jobs to crash
- mris_volmask and mris_place_surface now have parallel implementations making recon-all faster
- tkregisterfv can now be run with --fstal (use this instead of tkregister2)
official FS docker container at https://hub.docker.com/r/freesurfer/freesurfer/
Stable v7.1.0 Release (May 11, 2020)
FreeSurfer version 7.1.0 can be found here. This new version is being released so quicly after the previous one because we found some small issues with the way that conforming step was being performed. The conforming step takes your input volume and converts it to 256x256x256 1mm and converts the type to UCHAR (8 bit). When converting to UCHAR, it has to do some intensity rescaling. The method for doing this was changed in 7.0.0. In most data sets, this results in small changes to the output. However, we just discovered that it can result in large problems in some data sets, so, for 7.1.0, we are reverting back to the pre-7.0.0 method. Going forward, we recommend that people NOT use 7.0.0 and use 7.1.0 instead. We apologize for any inconvenience this has caused. Note: always analyze all of your subjects using recon-all from a single version, do not mix versions.
Stable v7.0.0 Release (Apr 29, 2020) is being recalled and should not be used. Please use version 7.1.0 above.
- recon-all is 20-25% faster. Eg, one case was 5.2 hours in v6 but only 4.3 hours in v7 (single threaded). Your run times will vary depending upon your computer and load.
- Better high resolution surface reconstruction with -hires.
- conf2hires. This is an alternative method to do hi-res recon byrunning part of the stream at 1mm, then placing the 1mm surfaces on the hi-res volume. This was originally programmed for the HCP. The now-standard hi-res stream should work just as well, but we kept conf2hires for backwards compatibility.
- The white surface is remeshed to improve triangle quality
- Placement of pial surface on t2/FLAIR has better memory management
- The pial surface in the medial wall is now pinned to the white surface (ie, no more pial surfaces cutting through hippocampus/amygdala).
- The optic chiasm will no longer be part of the surface
- Ability to freeze the surface at points labeled 247 in the aseg.presurf.mgz
- Bias field correction with ANTS N4 instead of MNI N3 (removes dependency on MINC software)
- ANTS denoise is used when creating the orig surface (but not thefinal surfaces)
- Note: ANTS installation is NOT required
New ex vivo Brodmann Areas (BAs) for the ventral visual stream (see http://vpnl.stanford.edu/vcAtlas) based on cytoarchitectonically defined labels from Juelich.Subfields and Nuclei
- Segmentation - hippcampal subfields, amygdalar nuclei, brain stem, thalamic nuclei (with fixed LGN and MGN). These have all be available through add-ons but are now part of the FS bundle.
- Combined volume-surface (CVS) nonlinear registration has better memory management.
- Correction for multiple comparisons can now be performed with permutation in the cases where there is a continuous covariate
- A new interface (fspalm) has been added to make it easy to run the Parametric Analysis of Linear Models (PALM, fsl.fmrib.ox.ac.uk/fsl/fslwiki/PALM) which offers much more permutation capability.
- Sequence Adaptive Multimodal Segmentation (SAMSEG). This is a new tool that provides whole-head segmentation (like the aseg in the recon-all stream). It can operate on any modality or combination of modalities. It can run in cross-sectional and longitudinal modes. SAMSEG also has an advanced white matter lesion segmentation (cross-sectional only). The cross-sectional segmentation runs in about 45min single threaded.
FreeView changes: surfce path and label editing, surface annotation editing, automatic segmentation assisted by Geodesic Matting algorithm, displaying two time courses at the same time, better support for mac.
- The code base is now fully C++
- We now build with the cmake utilities
- Tracula. There will be an upcoming 7.1 release with our diffusiontools. We made the decision not to delay the release of the stable 7.0 recon-all stream while the diffusion tools are being tested against it.
- Gone: QDEC, CUDA, -make option to recon-all.
23 January 2017
Stable release version 6.0 is a major release containing new features and bug fixes.
- Brain networks (cognitive components) estimated from 10449 Experiments and 83 tasks in the Brainmap database are released in MNI152 and fsaverage space:
- There are three sets of data (networks+auxiliary information) that are released: (1) Probability that a task would recruit a component (csv files), (2) Probability that a component would activate a voxel/vertex, (3) quantitative measures of functional specificity and flexibility (i.e., whether a voxel/vertex specializes for a specific cognitive component or supports multiple components).
- The volumetric maps + csv files are found in average/Yeo_Brainmap_MNI152/. See Yeo_Brainmap_MNI152_README in directory for more details.
- The surface maps are found in the subjects/fsaverage/label directory. See Yeo_Brainmap_fsaverage_README in directory for more details.
- Substructure Segmentation:
New dedicated longitudinal pipeline for subfield segmentation - See LongitudinalHippocampalSubfields
- Fix for time point addition (see bug in 5.3)
TRACULA: see TRACULA release notes
- Matlab Linear Mixed Effects Tools:
- Updated Matlab LME tools to newer Matlab versions
- Allow missing Parallel Toolbox (process sequentially)
- minor improvements to F-test
Improved dice scores between the aseg and the manual labels of 26 GE and Siemens subjects. Putamen now does not extend so far laterally.
- FSFAST now supports B0 distortion correction and Combined-Volume-Surface (CVS) registration
- NEW! PETSurfer - integrated PET, Partial Volume Correction, and kinetic modeling analysis
- mri_convert can now read gradient tables and b-value tables from the headers of DICOM diffusion data
- mri_glmfit computes the partial Pearson correlation coefficient (pcc.mgh)
- mri_aparc2aseg now reassigns voxels in the ribbon labeled as cerebellum ctx to cerebral ctx
- Added -dura_thresh option to mris_make_surfaces to allow manual setting of the dura threshold instead of automatic estimation
recon-all now produces aseg.mgz (subcortical atlas) with Hi-Res data (<1mm). The -hires flag is still necessary to include with recon-all when hi-res data is input. Changes to mri_normalize, mri_em_register and mri_watershed were made to support this feature.
- Improved error handling of talirach registration in recon-all: if tal-check fails, it will retry with an older atlas
- Modified T2 registration operations to create a T2raw.auto.lta file which gets copied to T2raw.lta (as well as for FLAIR)
- Updated fsaverage to include fixed peri/entorhinal labels
- Improved accuracy of ?h.cortex.label
- Improved prevention of surfaces from crossing into the contralateral hemisphere
- bbregister now uses the FS mri_coreg program by to initialize BBR. FSL or SPM/matlab are no longer needed. mri_coreg is based on spm_coreg and gives very similar results as to when spmregister is run.
- mri_fdr -- command line program to compute and apply the false discovery rate algorithm
Fixed the libcrypt issue with OpenSuse linux platforms
Parallelization: a new flag was introduced which enables two forms of compute parallelization that significantly reduces the runtime. As a point of reference, using a new-ish workstation (2015+), the recon-all -all runtime is just under 3 hours. When the -parallel flag is specified at the end of the recon-all command-line, it will enable 'fine-grained' parallelized code, making use of OpenMP, embedded in many of the binaries, namely affecting mri_em_register and mri_ca_register. By default, it instructs the binaries to use 4 processors (cores), meaning, 4 threads will run in parallel in some operations (manifested in 'top' by mri_ca_register, for example, showing 400% CPU utilization). This can be overridden by including the flag -openmp <num> after -parallel, where <num> is the number of processors you'd like to use (ex. 8 if you have an 8 core machine). Note that this parallelization was introduced in v5.3, but many new routines were OpenMP-parallelized in v6. The other form of parallelization, a 'coarse' form, enabled when the -parallel flag is specified, is such that during the stages where left and right hemispheric data is processed, each hemi binary is run separately (and in parallel, manifesting itself in 'top' as two instances of mris_sphere, for example). Note that a couple of the hemi stages (eg. mris_sphere) make use of a tiny amount of OpenMP code, which means that for brief periods, as many as 8 cores are utilized (2 binaries running code that each make use of 4 threads). In general, though, a 4 core machine can easily handle those periods. Be aware that if you enable this -parallel flag on instances of recon-all running through a job scheduler (like a cluster), it may not make your System Administrator happy if you do not pre-allocate a sufficient number of cores for your job, as you will be taking cycles from other cores that may be running jobs belonging to other cluster users.
- Bug fix in mri_ca_register that prevented unfolding of lattice and caused many hours of unnecessary unfolding and also stopped warp from evolving.
- Added code for Wash. U. HCP to settle white surface near maxima in second directional derivative if -first_wm_peak is specified (off by default).
- Improved handling of enlarged ventricles when -bigventricles is specified in recon-all by performing an initial nonlinear registration of just the ventricular system using coupled region-growing in the atlas and input image, and also made the warp more flexible by default (setting l_smoothness = 0.5 instead of the default 2.0)
- The fsaverage/surf files are now named ?h.pial instead of ?h.pial_avg. This goes for all files with this naming convention.
The global morphometry statistics embedded in aseg.stats and other files have an error when the input volume has a voxel resolution different than 1mm^3. See MorphometryStats. See BrainVolStatsFixed for the patch for version 6.
- On Ubuntu platforms, you may encounter the error "freeview.bin: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory." Freeview will work fine if you install libjpeg62-dev and run:
sudo apt-get install libjpeg62-dev
In some instances, macOS machines may generate lazy symbol binding errors:
dyld: lazy symbol binding failed: Symbol not found: ___emutls_get_address Referenced from: freesurfer/bin/../lib/gcc/lib/libgomp.1.dylib Expected in: /usr/lib/libSystem.B.dylib dyld: Symbol not found: ___emutls_get_address Referenced from: freesurfer/bin/../lib/gcc/lib/libgomp.1.dylib Expected in: /usr/lib/libSystem.B.dylibTo resolve the issue, source freesurfer and then type the following command to update your installation:
sudo -E fs_update
If this doesn't fully solve the issue, then it probably has to do with SIP being enabled, which blocks FS access to libraries stored in /usr. You should try disabling SIP: http://osxdaily.com/2015/10/05/disable-rootless-system-integrity-protection-mac-os-x/
- If you have custom freesurfer scripts (that call freesurfer binaries) which you have written yourself, your script will need to include the following line somewhere near the top:
source $FREESURFER_HOME/sources.sh (bash) source $FREESURFER_HOME/sources.csh (csh)
- Vertex replication in fsaverage. Vertex 40969 is the same as vertex 0 in both lh and rh for fsaverage. In general, this is not a problem but there are some specific applications where this can create an error (eg, when computing a derivative on the surface). This problem extends to any order 7 average subject created with make_average_subject or make_average_surface. This has been fixed in the development version and will be incorporated into future releases. If you need a new fsaverage, then post to the list.
make_average_subject will fail with an error like "mghRead(mri/norm.mgz, -1): could not open file". To fix this see the README file at ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/6.0.0-patch
- mri_convert will not apply dicom offset and scaling parameters from tags (0028,1052) (0028,1053). This is generally not a problem in MRI, but can be an issue in PET. This has been fixed in the development version and will be incorporated into future releases.
FreeSurfer on the GPU only supports CUDA v5.
- Ventral Diencephalon (VentralDC) had been categorized as white matter in gtmseg (PETsurfer) and in the 2mm mask of subcortical GM in cvs_avg35_inMNI152 (mri.2mm/subcort.mask.mgz). In the next release, it will be considered gray matter.