Differences between revisions 616 and 617
Deletions are marked like this. Additions are marked like this.
Line 12: Line 12:
 * Hypothalamus subunit segmentation - new feature https://surfer.nmr.mgh.harvard.edu/fswiki/HypothalamicSubunits<<BR>>  * Hypothalamus subunit segmentation - new feature https://surfer.nmr.mgh.harvard.edu/fswiki/HypothalamicSubunits


FreeSurfer Release Notes

These Release Notes cover what's new in a release, and known issues. See the download and install page for the current stable release. See previous release notes for older versions.

Stable v7.2 Release (July 19, 2021)

FreeSurfer version 7.2 can be found here. This new version fixes bugs and adds some new features (Tracula has changed substantially). Unless the new features are employed, recon-all will give the same exact result as 7.1.1 and 7.1.0. The only slight exception is that a T2 masking bug was fixed, but this should not affect the downstream results. Results from subjects analyzed with 7.2 can be mixed with subjects analyzed with 7.1.{0,1}. Here are some of the highlights:

  • Tracula - substantial changes. See https://surfer.nmr.mgh.harvard.edu/fswiki/Tracula#Updates

  • Hypothalamus subunit segmentation - new feature https://surfer.nmr.mgh.harvard.edu/fswiki/HypothalamicSubunits

  • Two new ways to manually edit your analysis:

    • The filled.mgz can now be edited instead of the wm.mgz. The advantage to this is that filled.mgz is slightly further in the process and it is more intuitive. The filled.mgz is actually a segmentation of the subcortical mass. In Freeview, you can view it in outline mode, meaning that the edges of the segmentations are actually the surface that you are editing. After that, run recon-all with the -autorecon2-wm -autorecon3 options, just as you would if you had edited the wm.mgz.
    • Landmark-based repositioning of surfaces. Did you ever want to just make the surface move through a certain point? You can do that now by creating point sets in freeview. Create a separate point set for each surface (lh, rh, white, and pial), then save it in subject/surf with a file name repos.$hemi.$surf.json where $hemi is either lh or rh and $surf is either white or pial. Then run recon-all with the -autorecon2-surfonly -autorecon3 options. Note that you can do this interactively inside of FreeView as well; look under Tools->Resposition Surface. If you do it interactively, the surface may be overwritten next time recon-all is re-run, but it gives you a chance to play with the repositioning.

  • Changes to recon-all:

    • T2 was not being masked
    • curv stats moved to autorecon3 (could cause errors when re-running recon-all)
    • can now run single hemisphere
    • options -seg-wlo and -seg-ghi now work properly
    • long stream (rca-long-tp-init) - turned off preservation of permissions when copying as this was causing some permission errors when the base was created by one user but the long time point was being run by another user
  • mri_glmfit-sim

    • Added --spatial-sum to compute the sum (instead of average) for the y.ocn file; good when input is area or volume
    • Added 1D capability (now used by Tracula)
    • Fixed locale issue to handle cases where decimal points are represented by commas.
  • freeview - can now load and visualize diffusion orientation distribution function (ODF) data.

  • PETsurfer/mri_glmfit - added non-invasive Logan for PET kinetic modeling

  • SAMSEG - now determinist for multithreaded executions (but runs a little slower)

  • colortable embedding - in many cases (eg, aseg, aparc+aseg), colortables are embedded in the file so they do not need to be explicitly specified in freeview.

  • mris_place_surface.cpp. Added ability to turn off loading the segmentation when placing the surface. This will be helpful for NHP

  • Temporary files - this is now handled more in a principled way

  • Known issues: it was recently discovered there may be some inaccuracies in the talairach registration (subject/mri/talairach.xfm) when a volume has been defaced and the face voxels are replaced with 0s. We have found some problems in the 1000 Functional Connectomes anatomical data where the defacing is very aggressive. No problems were found in the UK BioBank data. Mostly, this is not relevant, but it can affect the estimated intracranial volume (eTIV) which can then affect group results
    when volume or surface area are being corrected by eTIV. This was discovered by comparing the eTIV from version 5.3 with that of versions 6.0 and 7.X.

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.

Bug Fixes:

  • Mac-related fixes:
    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

New Features:

  • 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.

Stable v6.0

23 January 2017

Stable release version 6.0 is a major release containing new features and bug fixes.

What's New

  • Brain networks (cognitive components) estimated from 10449 Experiments and 83 tasks in the Brainmap database are released in MNI152 and fsaverage space:
    • Wikipage: BrainmapOntology_Yeo2015

    • 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:
  • Longitudinal:
  • 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.

Known Issues

  • 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.dylib
    To 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.

  • FreeSurfer often does not perform well on scans with resolutions better than 1mm. A patch for version 6 can be found here. Follow the instructions in the README

  • 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.

ReleaseNotes (last edited 2021-07-19 18:43:28 by DougGreve)