Differences between revisions 337 and 679 (spanning 342 versions)
Revision 337 as of 2010-08-11 15:04:34
Size: 55660
Comment:
Revision 679 as of 2026-01-16 13:38:36
Size: 37256
Editor: DougGreve
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
#acl AdminGroup:admin,read,write,delete,revert All:read
[[Download|top]]
#acl LcnGroup:admin,read,write,delete,revert All:read
Line 5: Line 3:
These Release Notes cover what's new in a release, and known issues.

See also DownloadAndInstall, and BugReporting.

## <<TableOfContents(2)>>
== Stable v4.5.0 ==
'''''11 Aug 2009'''''

Stable release version 4.5.0 is a minor release containing bug fixes and new features affecting both the default (cross-sectional) and longitudinal analysis streams.
These Release Notes cover what's new in a release, and known issues. See [[DownloadAndInstall|the download and install page]] for the current stable release. See [[PreviousReleaseNotes|previous release notes]] for older versions.

== Stable 8.1.0 Release (July 22 2025) ==
FreeSurfer version 8.1.0 can be found [[https://surfer.nmr.mgh.harvard.edu/fswiki/rel7downloads|here]].
This is a minor release and will give the same output of recon-all when it is run in the same way. We recommend that you upgrade to 8.1.0 to prevent the chance of encountering the "symlink" bug (see below).
 * New features: infant_recon, dcm2niix upgrade, a few speed ups, gtmseg uses samseg by default, better support for ANTS N3, mideface works better with multiple frame, vlrmerge-mni, mri_gtmpvc can create PMOD compatible csv files, added -skip-nu-intensity-cor to recon-all
 * infant_recon_all: this recon pipeline was converted to python and the backend skull-stripping solution was switched to d-SynthStrip from the original SSCNN
 * Bug fixes:
   * Fixes recon-all where it would create a symlink from orig.mgz to nu.mgz when run a second time.
   * All the things from the patch (csvprint, xhemi, mri_segstats, -nonuintensitycor).
   * Fixed --lesion-mask-pattern in samseg script.
== Known Issues with 8.1.0 ==
 * samseg does not respect the --atlas or --cpvcw arguments. This has a downstream effect of gtmseg which it will run to completion but will not generate some of the PET-related structures (vermis and pons belly).

== Stable 8.0.0 Release (Feb 27 2025) ==
FreeSurfer version 8.0.0 can be found [[https://surfer.nmr.mgh.harvard.edu/fswiki/rel7downloads|here]]. Also see [[https://ftp.nmr.mgh.harvard.edu/pub/dist/lcnpublic/dist/csvprint_8.0.0_patch|Patch]].
This major release with many changes. recon-all will have different output than version 7.

In terms of changes to recon-all, here are the highlights:
 * Now uses SynthSeg, [[https://synthstrip.io|SynthStrip]], and [[https://synthmorph.io|SynthMorph]] (deep learning algorithms). These make recon-all more robust and much faster. Technically, [[https://synthmorph.io|SynthMorph]] is not needed for recon-all to run, but the nonlinear registration can be used in multimodal analysis to map to the MNI152.
 * There is now deep learning (DL) automatic segmentation of regions that often cause errors in pial surface placement. These include the major sinuses (sagittal and transverse) as well as a spot between frontal and temporal lobes where the middle cerebral artery (MCA) and dura cause bright areas.
 * Several fixes in entorhinal cortex. First, the WM in EC is segmented using DL. The WM is often only 0.5mm thick and very hard to see; this often resulted in severe white surface areas in this location requiring manual editing to fix. The new surface now represents gyrus ambiens much better. Second, The white surface is extended to the front of amygdala. Third, the binary cortex of label now covers entorhinal cortex and parts of the temporal pole better allowing the pial surface to extend out to its true edge.
 * Some bugs where found in and around inferior frontal cortex causes the white surface to extend too far into basal ganglia. This has been fixed. This is above and beyond the issue reported in 7.3.2 below.
 * All the bug fixes described below are now turned on by default.
 * These changes will work with longitudinal with the caveat that the volumetric segmentation will not be fully longitudinal. The segmentation will be applied to the time point in the base space, but it will not (and cannot) be initialized with the base segmentation. Initial tests indicated that the change in power was minimal and mixed.
 * recon-all will now run in about 2h vs 8h on a single CPU. It will, however, required about 24GB of memory to run.
 * The use of [[https://synthstrip.io|SynthStrip]] should make recon-all much more robust as the old skull stripping method often included extra cerebral tissue.
 * With synthseg, we are now supplying a segmentation-based total intracrainial volume (sTIV) along with the registration-based estimated TIV (eTIV)
 * We have applied v8 to several studies (aging, AD crossectional, AD longitudinnal, schizophrenia). There were no major changes in the ability to detect effects, and there was no interaction between effect and version.
 * Despite the presence of deep learning modules, GPUs are NOT required (ie, you can run the entire recon-all stream with a CPU).
== Known Issues with 8.0.0 ==
 * The `csvprint` utility is implemented in python2, which will cause it to fail on systems that do not have python2 installed. This causes the `SegmentedIntraCranialVolume` to be misreported as 0.00 in `aseg.stats` files generated as part of the recon-all pipeline.
   * Issue fixed in [[https://github.com/freesurfer/freesurfer/pull/1277| this commit]] of the dev build, and a script to install the patch and isntructions to run it are available [[https://ftp.nmr.mgh.harvard.edu/pub/dist/lcnpublic/dist/csvprint_8.0.0_patch|here]]
   * Sometimes recon-all will have a hard failure with the error message "ERROR: found no voxels matching id 1". If this happens, rerun recon-all with the -no-fix-ga argument
   * recon-all creates a symlink from orig.mgz to nu.mgz when run a second time. This can be a problem when editing data, which requires a rerun.


== Beta 8.0.0 Release (Nov 5, 2024) ==
FreeSurfer version 8.0.0-beta can be found [[https://surfer.nmr.mgh.harvard.edu/fswiki/rel7downloads|here]].
This major release with many changes. recon-all will have different output than version 7.
Known Bugs:
 * You must set environment variable FS_ALLOW_DEEP to 1, eg, export FS_ALLOW_DEEP=1 (for bash) or setenv FS_ALLOW_DEEP 1 (for csh/tcsh)
 * There is a bug that causes recon-all to exit with error the second time it is run on a case
 * The `csvprint` utility is implemented in python2, which will cause it to fail on systems that do not have python2 installed. This causes the `SegmentedIntraCranialVolume` to be misreported as 0.00 in `aseg.stats` files generated as part of the recon-all pipeline.
   * Issue fixed in [[https://github.com/freesurfer/freesurfer/pull/1277| this commit]] of the dev build, and a script to install the patch and isntructions to run it are available [[https://ftp.nmr.mgh.harvard.edu/pub/dist/lcnpublic/dist/csvprint_8.0.0_patch|here]]

Further updates and improvements:
 * New: NextBrain ([[https://github-pages.ucl.ac.uk/NextBrain/#/home|Project page]]; [[https://surfer.nmr.mgh.harvard.edu/fswiki/HistoAtlasSegmentation|FS wiki page]]): Segment a brain scan of any MRI contrast into hundreds of histologically defined volumetric labels.
 * New: [[https://synthstrip.io|mri_synthstrip]] -- added features. You can now control the number of threads, save the distance transform, and set the mask border threshold to high values.
 * New: [[https://synthmorph.io|mri_synthmorph]] -- added features. Save transforms in LTA or MGZ/NII format and directly apply them using mri_convert (-at) or mri_synthmorph (apply), without conversion. Transforms are now symmetric and you can save their inverse. Improved warp regularity. Adjustable warp smoothness, number of integration steps. Joint affine-deformable registration in a single shot. Various bug fixes.

== Stable v7.4.1 Release (June 20, 2023) ==
FreeSurfer version 7.4.1 can be found [[https://surfer.nmr.mgh.harvard.edu/fswiki/rel7downloads|here]]. Unless new features are employed, recon-all will give the same exact result as other 7.X releases. This version has some critical fixes to [[https://surfer.nmr.mgh.harvard.edu/fswiki/MiDeFace|MiDeFace]]
== Known Issues with 7.4.1 ==
 * In FsFast functional connectivity analysis (this version and all previous versions), the seed waveforms were not rescaled in any way. This can affect the amplitude of the regression coefficient of the rest of the image (which is rescaled). This will not have any effect under several circumstances: (1) it will have no impact on the sig.nii.gz (p-value) or the Pearson correlation (pcc) at the individual level, (2) the seed uses a pca/svd, (3) if the intensity scale in each image/subject is the same (or close to it), or (4) if you are passing up the Pearson correlation (pcc) to the higher level. Note that the typical FSFAST analysis passes up the contrast effect size (ces) to the higher level which will be affected by this bug. The problem will manifest itself as extra variability at the group level due to the variability of the mean intensity at the individual level. This has been fixed in the dev version of FS and will be in the next release. The change will require that you specify the type of rescaling you want. If you run the new fcseed-sess on an old configuration that does not have a scaling method specified, it will exit with a error message (this can be overridden by adding -no-require-rescale-type).

== Stable v7.4.0 Release (May 10, 2023) ==
FreeSurfer version 7.4.0 can be found [[https://surfer.nmr.mgh.harvard.edu/fswiki/rel7downloads|here]]. Unless new features are employed, recon-all will give the same exact result as other 7.X releases. Here are some of the highlights:

 * New: [[recon-all-clinical]]
 * New: dti-based thalamic segmentation
 * New: DICOM conversion now uses dcm2niix. This is "under-the-hood" so you don't even know it is there. This allows conversion of many more DICOM types, including the new extended DICOM format.
 * New: [[https://surfer.nmr.mgh.harvard.edu/fswiki/EasyReg|mri_easyreg]] -- an easy-to-use deep-learning tool for symmetric affine and deformable registration which is s heavily based on [[https://synthmorph.io|mri_synthmorph]] (see below).
 * New: [[https://synthmorph.io|mri_synthmorph]], an easy-to-use deep-learning tool for affine and deformable registration
 * New: mri_synthseg -- new features
 * New: all versions of SAMSEG now use block coordinate descent (BCD) which speeds it up by about 10-20%
 * New: better surfaces around entorhinal cortex (EC). Add -fix-ento-wm to the recon-all command line (or in a global xopts file). This will apply a deep learning network to segment the WM around EC and place surfaces around that. It will create a segmentation called entowm.mgz. This is still a little experimental.
 * New: recon-all options can now go into an expert options file with a recon-all line, eg, "recon-all -fix-ento-wm". If you always want a particular flag to be passed to recon-all, you can add it in this way to $SUBJECTS_DIR/global-expert-options.txt
 * Bug fixes: Known issues in 7.3.2 below have been fixed (FLAIR pial placement, mri_sclimbic_seg, segment_subregions, mri_synthsr)
 * Bug fix: mri_glmfit now uses double precision when computing p-values. This practically has no effect except for cases where the p-values where extraordinarily small (eg, when you have 1000 DOF).
 * Bug fix: slicedelay in FSFAST is now fixed (could have crashed due to a python incompatibility)
 * Bug fix: samseg-long was running mri_robust_template incorrectly which caused all time points to be aligned to the first time point instead of to the base image. This has been fixed. Note that this does not affect the similarly named run_samseg_long (which is called by samseg-long).

== Known Issues with 7.4.0 ==
 * In some cases, mris_fix_topology will give different results when different number of threads are used. The differences are very small, but it can make it appear that recon-all is non-deterministic. To fix this, add "mris_fix_topology -threads 1" to an expert options file (a global one is best to that it is always there)
 * When running selxavg3-sess or mkcontrast-sess with the -bin option, include -mcr $FREESURFER_HOME/MCRv97 to use the proper matlab library. The -bin option will use a compiled matlab binary, so no matlab license is needed (probably only works on centos).

== Stable v7.3.2 Release (Aug 8 2022) ==
FreeSurfer version 7.3.2 can be found [[https://surfer.nmr.mgh.harvard.edu/fswiki/rel7downloads|here]]. Unless new features are employed, recon-all will give the same exact result as other 7.X releases. Here are some of the highlights:

 * Bug fix when converting diffusion tensor data with a negative determinant from DICOM. There was a bug in the old code that made the bvecs incorrect in this case. The bvecs will now be correct regardless of whether you use the old code or the new -dcm2niix option (see below)
 * Bug fix: ability to fill in underlabeled ventricles. This is not done by default yet. To implement, add "-vent-fix -1 7000 1" to the mri_ca_label command line. This can be incorporated into recon-all by an expert options file with the line "mri_ca_label -vent-fix -1 7000 1".
 * Bug fix: ability to force white matter (WM) between putamen and cortex. This is not done by default yet. To implement, add "-insert-wm-bet-putctx 1" to the mri_ca_label command line. This can be incorporated into recon-all by an expert options file with the line "mri_ca_label -insert-wm-bet-putctx 1". If you want to use both the ventricle fix and the WM insertion, then create a line "mri_ca_label -vent-fix -1 7000 1 -insert-wm-bet-putctx 1" to the expert options files
 *
 Bug fix: improve surface placement in inferior frontal area near putamen. There are some cases where the white surface is not placed well in these areas because of the close proximity of putamen to cortex; it is probably the case that the surface is not well-defined in this region anyway, but the placement can be improved by creating an expert options file with the line "!WhitePreAparc --rip-bg-no-annot"

 * Bug fix/New: ability to automatically edit the filled.mgz to remove voxels from amygdala and parts of hippocampus. These voxels can often cause topological defects that are not fixed properly. This is not done by default yet. To implement, create an expert options file with the line "mri_edit_wm_with_aseg -fix-scm-ha 1".
 *
 Bug fix: cross hemisphere analysis ([[https://surfer.nmr.mgh.harvard.edu/fswiki/Xhemi|xhemi]]). In previous versions, the surface registration (surfreg) would use the annotation during the registration procedure which caused some misalignment. Now surfreg will require that you specify either --annot (old behavior) or --no-annot (new recommended). The errors are small, so, if you have an ongoing analysis, you can stick with the old behavior.

 * Global Expert options file. If you have a file called global-expert-options.txt in your $SUBJECTS_DIR, recon-all will automatically read in this file as an expert options file
 * Defect labels will now only encompass actual cortical areas. Before, they would also include vertices on the medial wall, which was not very useful
 * New: Conversion from DICOM can now be done with dcm2niix as a backend using -dcm2niix with either dcmunpack or mri_convert. This should give the same result as when using the old code except it will be much faster and can now handle all cases that dcm2niix can handle, including enhanced dicom. At some point, this will become the default method. Thanks to Chris Rorden and Yujing Huang for getting this working.
 * New: Gradient unwarping. There is a new program called mri_gradunwarp; you still have to supply the gradient unwarping spherical harmonics tables.
 *
 New: Minimally Invasive Defacing tool (MiDeFace).

 *
 New: [[https://surfer.nmr.mgh.harvard.edu/fswiki/SubregionSegmentation|segment_subfields]] beta version new software to run subfield segmentation (hippocampus, amygdala, thalamic). The old software required matlab. The new tool is written in python but will not give exactly the same result but will be extremely close. Does not work with T2 yet.

 *
 New: [[https://synthstrip.io|SynthStrip]] deep learning tool to strip skulls

 *
 New: ScLimbic subcortical limbic deep learning segmentation tool

 *
 New: HypothalamicSubunits deep learning segmentation of hypothalamic subunits

 *
 New: SynthSeg deep learning contrast-independent whole brain segmentation (including cortical parcellation)

 *
 New: [[https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5690540/pdf/nihms916015.pdf|Segmentation-based (SB) cost function]] for multimodal registration in mri_robust_register

 * New: better version control. You can create a file called fs-allowed-versions.txt in $SUBJECTS_DIR with a list of allowable versions for your analysis. If this file exists, then both the current version of FS and the version listed in $subject/scripts/build-stamp.txt must be in the list for recon-all to proceed. This helps to prevent using different/incompatible versions of FS within the same analysis while allowing the mixture of compatible versions.
 * New: interface for x virtual frame buffer (fsxvfb). When you run freeview from fsxvfb, no X server is needed. This is good for taking a bunch of pictures when you don't want freeview popping up all the time. Eg, fsxvfb freeview orig.mgz -ss mypic.png --quit

=== Known Issues ===
 *
 mri_sclimbic_seg when used with the --conform argument will fail throwing a "TypeError: only size-1 arrays can be converted to Python scalars". For a fix, please refer to the readme.txt at https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/7.3.2-patch/mri_sclimbic

 *
 segment_subregions will fails with an "TypeError: resize() got an unexpected keyword argument 'interp'". For a fix, please refer to the readme.txt at https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/7.3.2-patch/segment_subregions

 * Pial surface placement with FLAIR images has a bug which has existed since the start of version 7. This bug causes the pial surface to not extend nearly far enough. This has been fixed in the development version and so will be present in the next version. You can fix it in previous v7 releases by creating (or adding to) $SUBJECTS_DIR/global-expert-options.txt with this line "PlaceMMPialSurf --mm_min_inside 50 --mm_max_inside 200 --mm_min_outside 10 --mm_max_outside 50"
 *
 mri_synthsr fails during preprocessing due to a deprecated method in the nibabel module. For a fix, please refer to the readme.txt at https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/7.3.2-patch/synthsr/


== Stable v7.2 Release (July 19, 2021) ==
FreeSurfer version 7.2 can be found [[https://surfer.nmr.mgh.harvard.edu/fswiki/rel7downloads|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:<<BR>>

  * 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:<<BR>>

  * 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<<BR>>

  * 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.<<BR>>

 *
 PETsurfer/mri_glmfit - added non-invasive Logan for PET kinetic modeling<<BR>>

 *
 SAMSEG - now determinist for multithreaded executions (but runs a little slower) <<BR>>

 *
 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.<<BR>>

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

 *
 Temporary files - this is now handled more in a principled way<<BR>>

 *
 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 <<BR>> 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. <<BR>> Points labeled as "frozen" (ie, 247 in aseg.presurf.mgz)will not be included in the ?h.cortex.label, which will exclude them from most other analysis; this renders the freeze functionality nearly useless.


== Stable v7.1.1 Release (July 27, 2020) ==
FreeSurfer version 7.1.1 can be found [[https://surfer.nmr.mgh.harvard.edu/fswiki/rel7downloads|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:<<BR>> freeview/ PETSC error is now fixed<<BR>> fs_time now runs properly<<BR>> mri_cc does not crash when it can't find fornix (usually on mac)<<BR>> "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 [[https://surfer.nmr.mgh.harvard.edu/fswiki/rel7downloads|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.
Line 16: Line 245:
 * Bug fixes:
  * fixed mri_glmfit-sim, mri_glmfit, and mri_surfcluster: when sign was set to abs, gave the same significance for all clusters.
  * fixed mris_volmask (the -cortribbon stage of recon-all): segfaulted if not enough memory was available. a memory leak was plugged.
 * New features:
  * improvements to the longitudinal stream further reducing bias found between cross-sectional and longitudinal runs. See LongitudinalChangeLog.
  * updated C.Destrieux atlas (aparc.a2009s). See DestrieuxAtlasChanges.
  * -norandomness is the the default. The binaries in the recon-all stream which are subject to variability due to usage of a random number generator (mris_smooth, mris_sphere, mris_topology_fixer, mris_topo_fixer and mris_ca_label) are now seeded with the same number, with the result being that repeated runs of the recon-all stream on a subject on the same platform will always give identical results. The -randomness flag can be used to allow usage of a random seed.
  * updated versions of aparcstats2table and asegstats2table have:
   * ability to choose common segmentations or all segmentations in asegstats2table
   * different invocations of these scripts produce outputs which have segs/parcs in the same order
   * better debug information ( with the `-v` or `--debug` switch )
  * support for reading .vtk surface format, and writing patch files in gifti (.gii) format
  * built against static libtiff, negating the problem of some systems having shared lib libtiff.so.3 and others libtiff.so.4
 * 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:
  *
  New hippocampal subfields generation - See HippocampalSubfields

  *
  New brainstem substructures generation - See BrainstemSubstructures


 * Longitudinal:
  *
  New dedicated longitudinal pipeline for subfield segmentation - See LongitudinalHippocampalSubfields

  * Fix for time point addition (see bug in 5.3)

 *
 TRACULA: see [[Tracula#Updates|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

 *
 [[attachment:28.png|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.
Line 31: Line 306:
 * mri_ca_label: this message might appear: "GCA sequential renormalization: label 28 not consistently computed." prior to exiting. This error is invalid (an exit should not occur). There is no work-around. A fix will appear in the next release. Or users can download a new mri_ca_label for their platform [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/misc/|here]].
 * mris_make_surfaces: where wm lesions exist, even if the lesion is filled in wm.mgz volume, when mris_make_surfaces is run to create the final surfaces, because it uses brain.finalsurfs.mgz for its intensity info, and doesnt consider the fill data in wm.mgz, its possible for surfaces to not follow grey matter on the perimeter of the lesion. A fix will appear in a future release. There is no work-around.
 * make_average_volume: can exit with 'Cannot alloc memory' error if there are a lot of subjects. The work-around is to include the flag '-no-aseg', which will prevent creating the aseg.mgz.
 * mris_make_face_parcellations: creates labels with spaces in the name, which causes table parsing in aparcstats2table to fail. a fix (using underscores) will appear in the next release.
 * aparcstats2table, asegstats2table: output the parcellations/segmentations in a random order compared to the input `aseg.stats`/`?h.aparc.stats` files. A fix will appear in the next release. For 4.5.0 users, they can be downloaded from [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/misc/allplatforms/|here]]. Copy the files `asegstats2table`, `aparcstats2table` and `datastruct_utils.py` to your `$FREESURFER_HOME/bin`.
 * mris_volmask: the VTK library dependency can be problematic on some systems, particularly clusters. The next release will include a new mris_volmask with the VTK library dependency removed.
 * mri_watershed: some subjects will fail the skull-strip stage with a message containing "GLOBAL region of the brain empty !". A fix for this will appear in the next release. A work-around is to include the -no-wsgcaatlas flag at the end of recon-all.
 * make_average_subject: an out-of-memory error can occur with large subject sets (300+) due to memory leaks in mri_average and mris_make_average_surface. A fix for this will appear in the next release.

=== Upcoming features (release v5.0.0) ===
 * mri_cvs_register: a new pairwise registration tool to produce highly accurate cortical and subcortical alignment; the inputs to the algorithm require two subjects that have been already processed by the recon-all stream. For further reference, see [[https://surfer.nmr.mgh.harvard.edu/pub/articles/Postelnicu-TMI2009.pdf|Combined Volumetric and Surface Registration]].
 * mris_volmask: completely rewritten, eliminating dependency on the VTK library (a bane to usage in many clusters). Results (?h.ribbon.mgz files) are identical.
 * mri_robust_template: now used to do motion correction (production of the rawavg.mgz file when two input structurals are present), replacing usage of the FSL 'flirt' tool. The recon-all flag -motioncor-flirt can be used to revert back to flirt over robust_template for motion correction stage.
 * mri_nu_correct.mni: will use float internally instead of uchar. It will also rescale the output so that the global mean is the same as that of the input. These two changes are linked and can be turned off with --no-float.
 * mri_gcut: the skull-strip stage will include a new step following mri_watershed, where the new utility 'mri_gcut' is run to refine the skull-strip, resulting in removal of dura and skull in some cases where it might otherwise remain after the mri_watershed step. See [[http://web.mysites.ntu.edu.sg/zvitali/publications/documents/Skull%20stripping%20using%20graph%20cuts.pdf|Skull Stripping Using Graph Cuts]].
 * mri_glmfit-sim and qdec: correction for multiple comparisons by method of Monte Carlo simulation is now instantaneous for most common parameter settings. In qdec, a new menu option allows selection. mri_glmfit-sim --help describes its own usage. Raw data is found in $FREESURFER_HOME/average/mult-comp-cor directory.
 * 32b Linux now produces the same results as 64b Linux. this requires that the processor support SSE2 instructions, which became available in the Pentium 4 series (around 2004).
 * aseg.stats changes:
  * Removed:
   * !BrainMask, !BrainMaskVol, BrainMaskNVox, !BrainSeg, !BrainSegVol and BrainSegNVox measures
   * volume-based Cortical Gray and White Matter measures
  * New:
   * lhCortex, lhCortexVol: Left hemisphere cortical gray matter volume
   * rhCortex, rhCortexVol: Right hemisphere cortical gray matter volume
   * Cortex, !CortexVol: Total cortical gray matter volume (based on surface-stream)
   * !SubCortGray, !SubCortGrayVol: Subcortical gray matter volume
   * !TotalGray, !TotalGrayVol: Total gray matter volume
   * !SupraTentorial, !SupraTentorialVol: Supratentorial volume
   * lhCorticalWhiteMatter, lhCorticalWhiteMatterVol: Left hemisphere cortical white matter volume
   * rhCorticalWhiteMatter, rhCorticalWhiteMatterVol: Right hemisphere cortical white matter volume
   * !CorticalWhiteMatter, !CorticalWhiteMatterVol: Total cortical white matter volume
 * GPU support:
  * beta-release of some binaries making use of a GPU card, reducing runtime by 3x to 20x: mri_em_register, mri_ca_register, mris_inflate and mris_sphere. Adding the flag -use-gpu to recon-all will enable GPU support on [[http://www.nvidia.com/object/cuda_learn_products.html|CUDA-compatible Nvidia cards]] for these and future freesurfer executables.
 * Support for reading/writing annotation/colortable data in Gifti !LabelTable format
 * -show-edits command will show 'persistent' edits. See [[Edits]].
 * -cw256 works better than -cropsize256 so -cropsize256 has been removed
 * reconciled ?h.cortex.label with Desikan and Destrieux parcellations: ?h.cortex.label is used as the template defining cortex, and is used in mris_ca_label to correct any medial wall discrepancies, and is used in mris_anatomical_stats as a mask.
 * the new Desikan atlas, dated 2010-03-25, has a different color for temporalpole (the old color was gray, which looked like the default tksurfer surface color).
 * tksurfer will now load multiple overlays from the command-line.
 * QDEC:
  * Added Nuisance Factor menu in Design tab, allowing selection of any number of continuous variables of which will be treated as 'nuisance variables' in the glm (contrast matrix will have value '0' for these).
  * Added !FindClustersAndGotoMax button to run mri_surfcluster on a selected result, which will find clusters based on currently selected display threshold, output a table of results to the terminal, and move the cursor to the max vertex in the #1 cluster. 'Next' and 'Prev' buttons allow cycling movement of the cursor through the found clusters.
  * Added QuickSnapsTIFF option to automatically take snapshots of medial/lateral pial/inflated and save these four pics to an automatically generated filename.
  * Added optional parsing of an 'ignore.factors' file to allow specifying columns in the qdec.table.dat to ignore (as would be case for columns containing alternate subject IDs).
  * Added optional parsing of an 'ordinal.factors' file to allow specifying which continuous factors are ordinals (integers, not floating point). only affects 'Save Data Table' menu option where the qdec.table.dat is written to disk (ordinals are not written as floats).
  * Added usage of NaN (or nan) to indicate missing data point, allowing automatic exclusion of that subject from an analysis.
  * Added correction for multiple comparisons by Monte Carlo cluster-wise simulation making use of pre-run data, making run-time near instantaneous.
 * -nuintensitycor-3T flag to recon-all: optimal parameters for nu_correct for 3T scans, as described in [[http://web.mysites.ntu.edu.sg/zvitali/publications/documents/N3_NI.pdf|Improvement of brain segmentation accuracy by optimizing non-uniformity correction using N3]].
 * new EC labels: recon-all will now by default produce labels for entorhinal cortex based on exvivo data. The labels will be named <subjid>/label/?h.entorhinal_exvivo.label, and can also be produced with the -label-exvivo-ec flag.
 * new V1 labels: recon-all will optionally produce labels for V1 based on a probabilistic atlas (see [[https://surfer.nmr.mgh.harvard.edu/ftp/articles/hinds2008accurate.pdf|Accurate prediction of V1 location from cortical folds in a surface coordinate system]]). The labels will be named <subjid>/label/?h.v1.predict.label, and created via the -label-v1 flag.
 * FS-FAST: now uses octave (and so matlab is no longer required)

----

== Stable v4.4.0 ==
'''''11 June 2009'''''

Stable release version 4.4.0 is a minor release containing bug fixes affecting the longitudinal analysis stream.

=== What's New ===
 * Bug fixes:
  * longitudinal processing (recon-all -long) was biased toward the timepoint selected as the base. The new longitudinal processing stream is described in the --help output of recon-all, and extensively here: LongitudinalProcessing.

=== Known Issues ===
 * mris_make_surfaces: where wm lesions exist, even if the lesion is filled in wm.mgz volume, when mris_make_surfaces is run to create the final surfaces, because it uses brain.finalsurfs.mgz for its intensity info, and doesnt consider the fill data in wm.mgz, its possible for surfaces to not follow grey matter on the perimeter of the lesion. A fix will appear in a future release. There is no work-around.
 * make_average_volume: can exit with 'Cannot alloc memory' error if there are a lot of subjects. The work-around is to include the flag '-no-aseg', which will prevent creating the aseg.mgz.
 * mri_glmfit-sim, mri_glmfit, and mri_surfcluster: when sign is set to abs, gives the same significance for all clusters. This has been fixed for the next version.
 * mris_volmask (the -cortribbon stage of recon-all) will segfault if not enough memory is available. A fix will appear in the next release. The workaround is to run a single subject at a time and ensure that 4GB of ram is available.

----

== Stable v4.3.1 ==
'''''19 May 2009'''''

Stable release version 4.3.1 is a minor release containing bug fixes (but the changes '''do not''' change the results in the default analysis stream relative to v4.3.0), and new features.

=== What's New ===
 * Bug fixes:
  * fixed [[FsFastGuiBug|FS-FAST GUI bug]].
  * fixed mri_nu_correct.mni bug: incorrectly used the -distance flag when --fwhm is passed.
  * fixed mri_normalize bug on Mac OS X: using the -no1d flag caused segfault.
  * some files supporting aparcstats2table and asegstats2table that were missing are now included.

 * New features:
  * fsaverage (the default common-space subject) now contains the insula label.

=== Known Issues ===
 * mris_make_surfaces: where wm lesions exist, even if the lesion is filled in wm.mgz volume, when mris_make_surfaces is run to create the final surfaces, because it uses brain.finalsurfs.mgz for its intensity info, and doesnt consider the fill data in wm.mgz, its possible for surfaces to not follow grey matter on the perimeter of the lesion. A fix will appear in a future release. There is no work-around.
 * make_average_volume: can exit with 'Cannot alloc memory' error if there are a lot of subjects. The work-around is to include the flag '-no-aseg', which will prevent creating the aseg.mgz.
 * longitudinal processing (recon-all -long) is biased toward the timepoint selected as the base. There is no work-around. A new longitudinal processing scheme will appear in a future release.

----

== Stable v4.3.0 ==
'''''26 March 2009'''''

Stable release version 4.3.0 is a minor release containing bug fixes (that change some results in the default analysis stream) and new features.

=== What's New ===
 * Bug fixes:
  * fixed aparcstats2table bug: if some of the subjects in a group had missing values of a certain label, aparcstats2table failed to designate a 0 for them, leaving the number of columns for that subject short by one (or specifically, by the number of missing labels relative to the other subjects), thereby making the table nearly useless.
  * fixed isxconcat-sess bug: used --projfrac-avg 0 1 0.2 regardless of what is specified, which meant it would average across the cortical ribbon along the surface normal. The new default is to use a projection fraction of 0.5.
  * fixed wmparc.stats - the !BrainSeg, !BrainSegNVox and !BrainSegNotVent values are now correct.
  * fixed mri_convert bug: when using the -oc flag (which is used during make_average_subject) during make_average_subject, the tal transform and the centering (-oc 0 0 0) were applied in consecutive transforms instead of being composed into one. The first translated it out of the FOV and the 2nd translated it back-in, exposing the cropped FOV (typically posterior) from the first transform.
  * fixed tkmedit bug: seg-faulted on some systems when scrolling and middle-button clicking at the same time over the tkmedit volume image.
  * the [[eTIV|estimated Total Intracranial Volume (eTIV)]] calculation has been found to be more accurate if the talairach.xfm transform is used instead of the talaiarch_with_skull.lta transform. in this release (4.3.0), the new corrected value will appear in the aseg.stats file, and will be output by mri_segstats and mri_label_volume. there is no simple scale factor to correct existing measures.
  * fixed mri_average bug: -sqr option would overflow for short data-type images.
  * fixed recon-all -make all bug: the -finalsurfs stage incorrectly depended on brain.mgz instead of brain.finalsurfs.mgz, so if brain.finalsurfs.mgz is edited, recon-all -make all wont detect the changed file.

 * New features:
  * new insula label in cortical parcellation atlas

=== Known Issues ===
 * aparcstats2table and asegstats2table: are missing four helper scripts which raises a Python `import` error. These can be downloaded from the following locations and put in `$FREESURFER_HOME/bin/`. This will be fixed in the next version. ( Note that since these are scripts, they work on all platforms without the need for compilation. )
  * [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/fixes/fsutils.py|fsutils.py]]
  * [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/fixes/subject_info.py|subject_info.py]]
  * [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/fixes/datastruct_utils.py|datastruct_utils.py]]
  * [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/fixes/misc.py|misc.py]]
 * mris_make_surfaces: where wm lesions exist, even if the lesion is filled in wm.mgz volume, when mris_make_surfaces is run to create the final surfaces, because it uses brain.finalsurfs.mgz for its intensity info, and doesnt consider the fill data in wm.mgz, its possible for surfaces to not follow grey matter on the perimeter of the lesion. A fix will appear in a future release. There is no work-around.
 * make_average_volume: can exit with 'Cannot alloc memory' error if there are a lot of subjects. The work-around is to include the flag '-no-aseg', which will prevent creating the aseg.mgz.
 * mri_nu_correct.mni incorrectly uses the -distance flag when --fwhm is passed. The work-around is to edit the script to correct this copy and paste error. A fix will appear in the next release.
 * longitudinal processing (recon-all -long) is biased toward the timepoint selected as the base. There is no work-around. A new longitudinal processing scheme will appear in a future release.
 * [[FsFastGuiBug|FS-FAST GUI bug]]

----

== Stable v4.2.0 ==
'''''21 Jan 2009'''''

Stable release version 4.2.0 is a minor release containing bug fixes (that change some results in the default analysis stream) and new features.

=== What's New ===
 * Bug fixes:
  * aseg.stats/wmparc.stats bug fix: structure volumes, such as hippocampus, were reported as being about 2% smaller in wmparc.stats compared to the same structure in aseg.stats.
  * mri_ca_train bug fix: this message appeared: "GCAupdateNodeCovariance: could not find label".
  * mri_surfcluster bug fix: problem was in the way mri_surfcluster reported the area of a cluster when using a group surface such as fsaverage. fyi, see GroupAverageSurface for info on Freesurfer's group average surfaces.
  * mri_em_register bug fix: a bug prevented the full searching over rotation angles so the solution it found might not be optimal. this bug would manifest itself during mri_watershed, outputing the error message: "GLOBAL region of the brain empty !". this fix may change the results of the analysis stream in some regions by a very small amount.
  * tksurfer minor bug fixes:
   * The text in the colorbar when an overlay is loaded now reflects the Min and Max fields in the Overlay options.
   * A bug in tksurfer was responsible the labels drawn in tkmedit being outside the actual regions ( scattered )
   * A bug in tksurfer gave an "invalid command name" error when switching between overlays.
   * Due to a minor bug, the histogram in "Configure Window Overlay" dialog didn't include an entry for the values at 1.
   * Bug which stopped displaying annotation units after the 3000th was fixed.
 * New features:
  * mri_glmfit-sim: utility to more easily perform cluster-based correction for multiple-comparisons
  * tksurfer : a button to write all 4 views ( medial, lateral, inferior and superior ) of the current surface in the window to a file.

=== Known issues ===
 * aparcstats2table bug: if some of the subjects in a group have missing values of a certain label, aparcstats2table fails to designate a 0 for them, leaving the number of columns for that subject short by one (or specifically, by the number of missing labels relative to the other subjects), thereby making the table nearly useless. there is no workaround. a fix will appear in the next release, or can be downloaded [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/fixes/stats2table.tar.gz|here]]. ( extract the file to $FREESURFER_HOME/bin/ directory )
 * isxconcat-sess: will use --projfrac-avg 0 1 0.2 regardless of what is specified. This means it will average across the cortical ribbon along the surface normal. This has been fixed, and the fix will appear in the next release. The new default will be to use a projection fraction of 0.5. This new version is already in place in both the dev and stable versions in the Martinos Center.
 * wmparc.stats - the !BrainSeg, !BrainSegNVox and !BrainSegNotVent values are incorrect. Use the values from aseg.stats
 * mri_convert: a bug in using the -oc flag (which is used during make_average_subject) exists: during make_average_subject, the tal transform and the centering (-oc 0 0 0) were applied in consecutive transforms instead of being composed into one. The first translated it out of the FOV and the 2nd translated it back-in, exposing the cropped FOV (typically posterior) from the first transform. A fix will appear in the next release. There is no work-around.
 * tkmedit: seg-faults on some systems when scrolling and middle-button clicking at the same time over the tkmedit volume image. A fix will appear in the next release, or can be downloaded [[ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/fixes|here]].
 * the estimated Total Intracranial Volume (eTIV) calculation has been found to be more accurate if the talairach.xfm transform is used instead of the talaiarch_with_skull.lta transform. in the next release, the new corrected value will appear in the aseg.stats file, and will be output by mri_segstats and mri_label_volume. there is no simple scale factor to correct existing measures.
 * mri_average: -sqr option will overflow for short data-type images. A fix will appear in the next release.
 * mris_make_surfaces: where wm lesions exist, even if the lesion is filled in wm.mgz volume, when mris_make_surfaces is run to create the final surfaces, because it uses brain.finalsurfs.mgz for its intensity info, and doesnt consider the fill data in wm.mgz, its possible for surfaces to not follow grey matter on the perimeter of the lesion. A fix will appear in a future release. There is no work-around.
 * make_average_volume: can exit with 'Cannot alloc memory' error if there are a lot of subjects. The work-around is to include the flag '-no-aseg', which will prevent creating the aseg.mgz.
 * recon-all -make all bug: the -finalsurfs stage incorrectly depends on brain.mgz instead of brain.finalsurfs.mgz, so if brain.finalsurfs.mgz is edited, recon-all -make all wont detect the changed file. a fixed recon-all.makefile will appear in the next release.

=== Upcoming features ===
 * The next release will contain a new cortical atlas containing the insula label.

----

== Stable v4.1.0 ==
'''''14 Oct 2008'''''

Stable release version 4.1.0 is a minor release containing bug fixes (that change some results in the default analysis stream) and new features.

=== What's New ===
 * Bug fixes:
  * Problems with the longitudinal analysis stream (affecting recon-all, mri_ca_label, mri_ca_register, and FSL's flirt) have been fixed. Refer to the help text output from {{{recon-all -help}}} for new usage instructions of the longitudinal stream.
  * mri_segstats and mris_wm_volume bugs fixed. Users of the ?h-cerebral-white-matter stats in the aseg.stats and wmparc.stats files should re-run {{{recon-all -segstats -wmparc}}}.
  * mris_make_surfaces problem causing a 'spike' feature in the pial surface in the insula has been fixed.
  * mri_mergelabel bug fixed: added -n to tail usage, as Fedora Core 5 needs -n to specify the number of lines to tail. mri_mergelabel is called by make_average_surface (which is called by make_average_subject).
 * New features:
  * Qdec is now built against vtk v5.2.
  * Detection of images having a FOV > 256. If detected, recon-all exits. Users must add the -cw256 flag to recon-all, which will crop the image to no greater than 256 voxels.

=== Known issues ===
 * aparcstats2table bug: if some of the subjects in a group have missing values of a certain label, aparcstats2table fails to designate a 0 for them, leaving the number of columns for that subject short by one (or specifically, by the number of missing labels relative to the other subjects), thereby making the table nearly useless. there is no workaround. a fix will appear in a future release.
 * aseg.stats/wmparc.stats problem: structure volumes, such as hippocampus, are reported as being about 2% smaller in wmparc.stats compared to the same structure in aseg.stats. the difference is due to differing partial-voluming compensation methods. a fix will appear in the next release. the values in aseg.stats are the correct values.
 * mri_ca_train bug: this message may appear: "GCAupdateNodeCovariance: could not find label". a fix for this bug will appear in the next release. there is no work-around.
 * mri_surfcluster bug: problem in the way mri_surfcluster reports the area of a cluster when using a group surface such as fsaverage. The bottom line is that the area reported is about 25% too big. However, the cluster-wise p-values reported by mri_surfcluster based on simulations from mri_glmfit ARE NOT AFFECTED. Volume clustering is unaffected. A fix will appear in the next release.
 * See GroupAverageSurface for info on Freesurfers group average surfaces.
 * mri_em_register bug: a bug prevented the full searching over rotation angles so the solution it found might not be optimal. A fix will appear in the next release.

----

== Stable v4.0.5 ==
'''''15 June 2008'''''

Stable release version 4.0.5 is a new feature and bug fix release.

=== What's New ===
 * New features:
  * Now supports [[http://www.nitrc.org/projects/gifti/|Gifti]] v1.0 surface format read and write (.gii file extension) for exchanging surface files with Caret, AFNI, !BrainVisa, !BrainVoyager and Vistrails.
  * Updated Qdec v1.1: has aseg/aparc stats tables import; miscellaneous user features.
  * New volume and surface viewing app: freeview (beta). Note: freeview is not yet available for the Mac.
 * Bug fixes:
  * Qdec now uses VTK v5.0 instead of v5.1, to fix the problem with message: "!TclTk error: invalid command name "vtkTemp349"

=== Known issues ===
 * Same issues as v4.0.4
 * Bug in mri_segstats: some input data exposes a problem which results in a huge (GB) recon-all.log file, and incorrect results for ?h-cerebral-white-matter in the wmparc.stats file. this bug will be fixed in the next release.
 * It is possible for a 'spike' to appear in the pial surface near the insula, [[attachment:nick13pialspike.tiff|like this image]], in some subject data. A fix for mris_make_surfaces will appear in the next release.
 * White matter parcellation (mris_wm_volume) bug:
  * isthmus cingulate segmentation appears between thalamus and pallidum.
  * parahippocampal segmentation appears next to ventralDC.
  * white matter extending into cortex (affects 4.0.3 and 4.0.4).
  * ASeg.stats: white matter volume way too low.
  * A fix for mris_wm_volume will appear in the next release.
 * A bug in the longitudinal analysis stream has been found. A fix will appear in the next release.

----

== Stable v4.0.4 ==
'''''6 May 2008'''''

Stable release version 4.0.4 is a bug fix release.

=== What's New ===
 * Bug fixes:
  * The tksurfer bug, where the text on the color-scalebar, and the caption text, may not appear, or appear dim, has been fixed.
  * The tksurfer bug, where it can exit with an error 'alloc: invalid block' when an overlay is loaded, has been fixed.
  * The recon-all -localGI bugs have been fixed.

=== Known issues ===
 * mris_make_surfaces can let the pial surface extend inward toward the insular cortex in cases where the extreme capsule is so thin that no voxels are labeled as white matter (and no significant gm/wm contrast boundary exists). There is no work-around.
 * The qdec app produces a 'Bad Match' error when started on some Linux platforms. The work-around is to add this to your {{{/etc/X11/xorg.conf}}} file:

{{{
Section "Extensions"
   Option "Composite" "false"
EndSection
 *
 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
Line 267: Line 313:
 * Input data having a FOV greater than 256 will fail in the -autorecon2 stage during mri_fill, because the wm.mgz file is 256^3^ while the norm.mgz and aseg.mgz files are FOV^3^ (where FOV > 256). The work-around is to use the --cropsize256 flag with recon-all with -autorecon1.
 * The surface files ?h.volume are not produced by recon-all yet, but are mentioned in mris_preproc. Production of the ?h.volume files by recon-all (calculating ?h.area * ?h.thickness) will be available in a future release.

----
== Stable v4.0.3 ==
'''''31 March 2008'''''

Stable release version 4.0.3 is a bug fix and new feature release.

=== What's New ===
 * Bug fixes:
  * The -log option of mris_anatomical_stats was fixed.
  * In qdec, the problem where a popup window appeared containing the message '!FsgdfPlot_!IsWindowShowing' has been fixed.
  * The problem where make_average_subject failed with the message 'Cannot allocate memory' has been fixed.
  * The mri_ca_register and mri_ca_label segfault bug on the Mac OS has been fixed.
  * In tkmedit, the problem where the cursor goes to the wrong location when tal coords are entered has been fixed.
  * mris_preproc fixed: can now transform multiple volumes from the same subject.
 * New features:
  * Updated qdec, now allows saving/loading a project data file.
  * A new option, -lGI, will calculate a local gyrification index. See [[LGI|localGI]].
  * New Brodmann area labels for the 'fsaverage' subject. See [[BrodmannAreaMaps|BA Maps]].
  * talairach_with_skull.lta generation is now robust in presence of increased background noise levels.

=== Known issues ===
 * mris_make_surfaces can let the pial surface extend inward toward the insular cortex in cases where the extreme capsule is so thin that no voxels are labeled as white matter (and no significant gm/wm contrast boundary exists). There is no work-around.
 * The qdec app produces a 'Bad Match' error when started on some Linux platforms. The work-around is to add this to your {{{/etc/X11/xorg.conf}}} file:

{{{
Section "Extensions"
   Option "Composite" "false"
EndSection


 *
 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
Line 299: Line 327:
 * Input data having a FOV greater than 256 will fail in the -autorecon2 stage during mri_fill, because the wm.mgz file is 256^3^ while the norm.mgz and aseg.mgz files are FOV^3^ (where FOV > 256). The work-around is to use the --cropsize256 flag with recon-all with -autorecon1.
 * The surface files ?h.volume are not produced by recon-all yet, but are mentioned in mris_preproc. Production of the ?h.volume files by recon-all (calculating ?h.area * ?h.thickness) will be available in a future release.
 * In tksurfer, the text on the color-scalebar, and the caption text, may not appear, or appear dim. A fix for this will appear in the next release. There is no work-around.
 * The -localGI feature is broken, in particular, the mris_fill utility. The effect is a shifted filled.mgz relative to the true surfaces. A fix will appear in the next release.
 * tksurfer can exit with an error 'alloc: invalid block' when an overlay is loaded. A fix will appear in the next release.

----

== Stable v4.0.2 ==
'''''16 December 2007'''''

Stable release version 4.0.2 is a bug fix and new feature release.

=== What's New ===
 * Bug fixes:
  * Fixed mris_flatten bug where the map did not unfold properly.
  * Fixed unpacksdcmdir (mri_convert) issue, string: "{{{syngo MR B15}}}".
  * Fixed bug where mri_fill might fail with the message "{{{could not find any points where lh and rh wm are nbrs}}}".
  * mris_thickness_diff and mris_surface_stats now properly handle .mgh file io.
 * New features:
  * Improved -tal-check option, for checking the Talairach alignment.
  * The FSL package is no longer included in the distribution (except for the binary 'flirt', found in freesurfer/bin).

=== Known issues ===
 * mris_make_surfaces can let the pial surface extend inward toward the insular cortex in cases where the extreme capsule is so thin that no voxels are labeled as white matter (and no significant gm/wm contrast boundary exists). There is no work-around.
 * The qdec app produces a 'Bad Match' error when started on some Linux platforms. The work-around is to {{{setenv XLIB_SKIP_ARGB_VISUALS 1}}} if using tcsh, or {{{export XLIB_SKIP_ARGB_VISUALS=1}}} if using bash.
 * Input data having a FOV greater than 256 will fail in the -autorecon2 stage during mri_fill, because the wm.mgz file is 256^3^ while the norm.mgz and aseg.mgz files are FOV^3^ (where FOV > 256). The work-around is to use the --cropsize256 flag with recon-all with -autorecon1.
 * The surface files ?h.volume are not produced by recon-all yet, but are mentioned in mris_preproc. Production of the ?h.volume files by recon-all (calculating ?h.area * ?h.thickness) will be available in a future release.
 * The -log option of mris_anatomical_stats does not work. A fix will appear in the next release.
 * In qdec, a popup window containing the message '!FsgdfPlot_!IsWindowShowing' may appear. To fix this, copy this script to your $FREESURFER_HOME/lib/tcl directory: [[attachment:fsgdfPlot.tcl]]. This fix will appear in the next release.
 * make_average_subject can fail with the message 'Cannot allocate memory'. A fix will appear in the next release.
 * mri_ca_register and mri_ca_label can segfault on the Mac OS. A fix will appear in the next release.
 * In tkmedit, when tal coords are entered, the cursor goes to the wrong location. A fix will appear in the next release.
 * mris_preproc, when transforming multiple volumes from the same subject, each file converted overwrites the previous. A fix will appear in the next release.

----

== Stable v4.0.1 ==
'''''18 September 2007'''''

Stable release version 4.0.1 is a bug fix release.

=== What's New ===
 * Bug fixes:
  * Fixed seg-faulting mri_convert in unpacksdcmdir.
  * Fixed tkmedit problem whereby volume display after loading talairach.xfm was incorrect.
  * Fixed seg-faulting mris_annot_to_segmentation.
  * Fixed tksurfer problem whereby curvature and overlay displays could not be turned off.
  * Fixed qdec problem where the display could be hidden on small screens (now has scroll bars).
  * Updated [[attachment:spatialsmooth-sess]] such that it no longer uses FSL's 'ip' binary.

=== Known issues ===
 * When making flatmaps with mris_flatten, sometimes the map never unfolds properly (where there can be a section where it folds over itself). The fix for this bug will appear in a future release.
 * The qdec app produces a 'Bad Match' error when started on some Linux platforms. The work-around is to {{{setenv XLIB_SKIP_ARGB_VISUALS 1}}} if using tcsh, or {{{export XLIB_SKIP_ARGB_VISUALS=1}}} if using bash.
 * Input data having a FOV greater than 256 will fail in the -autorecon2 stage during mri_fill, because the wm.mgz file is 256^3^ while the norm.mgz and aseg.mgz files are FOV^3^ (where FOV > 256). The work-around is to use the --cropsize256 flag with recon-all with -autorecon1.
 * The surface files ?h.volume are not produced by recon-all yet, but are mentioned in mris_preproc. Production of the ?h.volume files by recon-all (calculating ?h.area * ?h.thickness) will be available in a future release.
 * mris_make_surfaces will let a surface in callosal regions extend across midline in some cases. This bug will be fixed in the next release. There is no work-around.
 * unpacksdcmdir (mri_convert) issue: "{{{ERROR: incorrectly formatted version string syngo MR B15}}}". A fix for this problem will appear in the next release.
 * The -tal-check option for checking the Talairach alignment step does not always catch failures. An improved checker will appear in the next release.
 * mri_fill might fail with the message "{{{could not find any points where lh and rh wm are nbrs}}}". A fix will appear in the next release.

----

== Stable v4.0.0 ==
'''''21 August 2007'''''

Stable release version 4.0.0 is a major release with new features and bug fixes.

=== What's New ===
 * New features:
  * The corpus callosum is now segmented into five separate labels in the subcortical segmentation volume 'aseg.mgz'
  * White matter is now parcellated for gyral regions
  * mris_wm_volume - calculates the total white matter volume
  * Improved talairach alignment, with automatic failure detection
  * Improved atlas-based skull-strip
  * Longitudinal analysis (recon-all -long, see help section in recon-all --help)
  * Qdec - [[FsTutorial/QdecGroupAnalysis|group analysis GUI tool]]
  * DTI recon stream: see dt_recon --help, also new: dmri_poistats (see --help) Linux Centos only
  * FSFast:
   * Full NIFTI compliance
   * mkanalysis GUI -- set up analysis AND contrasts
   * selxavg3-sess -- now replaces stxgrinder, implicit intensity normalization, better whitening
   * tksurfer-sess -- replaces paint-sess and surf-sess
   * tkmedit-sess -- accepts multiple contrasts
   * isxconcat-sess + mri_glmfit -- intersubject averaging (RFx, FFx, weighted RFx), replaces func2sph-sess, func2tal-sess, and isxavg-??-sess, GRF
   * No longer needed: stxgrinder-sess, paint-sess, func2sph, fun2tal, isxavg-??, mkcontrast, inorm-sess
  * Average subject subcortical segmentation
  * Updated numerics libraries (NRC and GSL replaced by VXL), paving the way for an open-source release.
 * Bug fixes:
  * Corrected midline parcellation (during cortical parcellation, areas of the anterior cingulate cortex (rostral anterior cingulate in the parcellation atlas), were mislabeled as corpus callosum or "unlabeled subcortical")
  * Corrected aseg: removal of grey matter around callosum
  * Corrected average subject surface area
  * Corrected problem with average subject thickness generation (mismatched number of vertices)
  * Corrected problem with mris_anatomical_stats, where incorrect results were reported for the measures 'average integrated rectified mean curvature', 'average integrated rectified Gaussian curvature', 'folding index', and 'intrinsic curvature index'.

=== Known issues ===
 * When using unpacksdcmdir, mri_convert will fail with a segmentation fault. A fix will appear in the next release.
 * In tkmedit, the displayed volume after loading the talairach.xfm file is not correct. The work-around is to either load the talairach.lta file, or use tkregister2 instead. This will be fixed in the next release.
 * mris_annot_to_segmentation may segfault. A fixed version will appear in the next release.
 * In tksurfer, if you have both curvature and an overlay loaded, and you turn both off, the overlay stays on. This will be fixed in the next release.
 * When making flatmaps with mris_flatten, sometimes the map never unfolds properly (where there can be a section where it folds over itself). The fix for this bug will appear in a future release.
 * In qdec, the Analyze button can be hidden on small screens. This will be fixed in the next release.
 * The qdec app produces a 'Bad Match' error when started on some Linux platforms. There is no work-around at this time.
 * Input data having a FOV greater than 256 will fail in the -autorecon2 stage during mri_fill, because the wm.mgz file is 256^3^ while the norm.mgz and aseg.mgz files are FOV^3^ (where FOV > 256). The work-around is to use the --cropsize256 flag with recon-all with -autorecon1.
 * The surface files ?h.volume are not produced by recon-all yet, but are mentioned in mris_preproc. Production of the ?h.volume files by recon-all (calculating ?h.area * ?h.thickness) will be available in a future release.

----

== Stable v3.0.5 ==
'''''7 Feb 2007'''''

Stable release version 3.0.5 is a bug-fix release.

=== What's New ===
 * Bug fixes:
  * Fixed bug in NIFTI reader in !FreeSurfer (see details below in v3.0.4 Known Issues).
  * Fixed bug in 'unpacksdcmdir' and 'mri_convert' commands on the Intel Mac distribution.
  * Fixed bug in recon-all such that now xopts is correctly processed by mri_nu_correct.mni.

=== Known Issues ===
 * Input data having a FOV greater than 256 will fail in the -autorecon2 stage during mri_fill, because the wm.mgz file is 256^3^ while the norm.mgz and aseg.mgz files are FOV^3^ (where FOV > 256). The work-around is to use the --cropsize option of mri_convert (see its --help for details) to convert the orig.mgz file to 256^3^.
 * During cortical parcellation, areas of the anterior cingulate cortex (rostral anterior cingulate in the parcellation atlas), are mislabelled as corpus callosum or "unlabelled subcortical". A fix for this is in the works, possibly for the next release.
 * When making flatmaps with mris_flatten, sometimes the map never unfolds properly (where there can be a section where it folds over itself). The fix for this bug will appear in a future release.
 * On the Mac, make_average_subject (and make_average_volume and make_average_surface) will fail if more than 252 subjects are specified. The work-around is to type 'limit descriptors unlimited' before running these scripts. A fix will appear in the next release.
 * mris_anatomical_stats, as executed by recon-all, reports incorrect results for the measures 'average integrated rectified mean curvature', 'average integrated rectified Gaussian curvature', 'folding index', and 'intrinsic curvature index'. The other reported measures ('total white matter volume', 'total surface area', 'total gray matter volume' and 'average cortical thickness') are correct as reported by recon-all's execution of mris_anatomical_stats. There is no work-around. A fix will appear in the next release.

----

== Stable v3.0.4 ==
'''''25 Nov 2006'''''

Stable release version 3.0.4 is a bug-fix release.

=== What's New ===
 * Bug fixes:
  * Fixed problem with left hemi of fsaverage subject (see v3.0.3 Known Issues, below, for details).
  * Fixed bug whereby the pial surface can cross the midline in the cingulate/callosum area to the other hemisphere. The change [attachment:bert-medial-wall-diffs.tiff affects this area].
  * Fixed 'glutInit' bug occuring on Fedora Core and Debian Linux installations using tksurfer.
  * Fixed bug in mri_normalize which core dumped for low SNR input volumes.
  * Fixed bug in tksurfer with "Don't cross functional threshold" parameter.
  * Fixed problem with public declaration of Tcl/Tk/Tix/BLT environment variables which caused problems with FSL and 3D Slicer.

 * New features:
  * Label file named <subjid>/label/?h.cortex.label is a single label for all of cortex.

=== Known Issues ===
 * Input data having a FOV greater than 256 will fail in the -autorecon2 stage during mri_fill, because the wm.mgz file is 256^3^ while the norm.mgz and aseg.mgz files are FOV^3^ (where FOV > 256). The work-around is to use the --cropsize option of mri_convert (see its --help for details) to convert the orig.mgz file to 256^3^.
 * The 'unpacksdcmdir' command, and 'mri_convert' of some DICOM formatted data, will fail on the Intel Mac distribution v3.0.4, due to a byte-endian issue. The v3.0.4b distribution has a fix for these problems.
 * recon-all does not process xopts for mri_nu_correct.mni. The fix will appear in the next release.
 * There is a small bug in the NIFTI reader in !FreeSurfer, which causes the sform/qfrom matrix to be slightly off for oblique volumes that are non-isotropic (the more oblique and the more non-isotropic, the worse). Part of the error involves the matrix being slightly non-orthogonal. The fix for this bug will appear in the next release. There is NO effect of this bug if any of the following apply:
  1. You use mri_convert to convert from DICOM (or any other non-NIFTI format) to NIFTI
  1. Your volumes are not oblique
  1. Your volumes are isotropic
 * During cortical parcellation, areas of the anterior cingulate cortex (rostral anterior cingulate in the parcellation atlas), are mislabelled as corpus callosum or "unlabelled subcortical". A fix for this is in the works, possibly for the next release.
 * When making flatmaps with mris_flatten, sometimes the map never unfolds properly (where there can be a section where it folds over itself). The fix for this bug will appear in a future release.

----

== Stable v3.0.3 ==
'''''24 May 2006'''''

Stable release version 3.0.3 is a bug-fix and feature-addition release.

=== What's New ===
 * Bug fixes:
  * Fixed a bug in tksurfer in which if an overlay and the curvature was loaded, the curvature would draw under the overlay even if the curvature display was turned off.
  * Modified the way NIFTI1 files are stored (these are the single .nii and .nii.gz files). The change is somewhat esoteric: the vox_offset is now 352 instead of 348. 352 is the NIFTI spec, so we were technically out of compliance before, although AFNI, FSL, and SPM did not seem to have a problem with 348.
  * Fixed bug in make_average_surface and make_average_volume scripts which limited the number of subjects that could be specified on the command line.
 * New features:
  * asegstats2table and aparcstats2table - scripts to generate text/ascii tables of freesurfer stats data (eg, aseg.stats). This can then be easily imported into a stats program.

=== Known Issues ===
 * In tksurfer, if using the -fthresh option, specify the number as a float (-fthresh 2.0) not an integer (don't use -fthresh 2).
 * There is a problem with the left hemi of the fsaverage subject, specifically lh.sphere.reg. This will cause some inaccuracies in the visualization of maps on the left hemi of fsaverage and other average subjects (but the statistics themselves should be ok). The corrected lh.sphere.reg for fsaverage will be included in the next release. Or, if you have an average subject that you want to correct, you do not have to rebuild it. Rather, you can simply:

{{{
cd youraveragesubject/surf
cp lh.sphere.reg lh.sphere.reg.old # backup
cp rh.sphere.reg lh.sphere.reg # copy rh.sphere to lh.sphere
     To resolve the issue, source freesurfer and then type the following command to update your installation:
 {{{
sudo -E fs_update
Line 479: Line 331:
 * There is a bug whereby the pial surface can cross the midline in the cingulate/callosum area to the other hemisphere. There is no workaround. The bug will be fixed in the next release. This change will [attachment:bert-medial-wall-diffs.tiff affect this area].
 * tksurfer will fail on Fedora Core and Debian Linux installations which use freeglut, as 'glutInit' is not executed. This bug will be fixed in the next release.
 * mri_normalize may core dump for low SNR input volumes. This bug will be fixed in the next release.
 * In tksurfer, fills that use the "Don't cross functional threshold" parameter do not correctly fill negative functional areas. This bug will be fixed in the next release (v3.0.4).
 * Tcl/Tk/Tix/BLT environment variables declared in freesurfer setup file causes problems with other apps, like FSL and 3D Slicer. This problem will be fixed in the next release. The workaround is to not call the Freesurfer setup script when using the other apps.

----

== Stable v3.0.2 ==
'''''18 April 2006'''''

Stable release version 3.0.2 is a bug-fix and feature-addition release.

=== What's New ===
 * Bug fixes:
  * The --all-info or --version command-line corrupting bug has been fixed.
  * The mris_fix_topology mrisDefectAnalysis bug has been fixed.
  * The bug where control points were being truncated instead of rounded by mri_normalize, which could offset them by 1 voxel, has been fixed.
  * The bug where curvature was being computed incorrectly for RH9 binaries has been fixed (affected spherical morph, and curvature overlay).
  * eTIV calculations are now correct (they were ~25% too large, specifically, multiply pre v3.0.2 eTIV values by .744 to get the correct eTIV).
  * mri_label2vol - fixed bug for segmentation IDs over 999. Runs much faster now.
 * New features:
  * bem directory is created in subjects dir (for the MEG people)
  * Better integration with FSL (compatible with FSL-nifti)
  * Uses robust estimates of class statistics in mri_normalize, mri_segment and mris_make_surfaces. Helps in low contrast (such as SPGR-based) images in which the gray matter is oversegmented.

=== Known Issues ===
 * None at this time.

----

== Stable v3.0.1 ==
'''''13 March 2006'''''

Stable release version 3.0.1 is a bug-fix release.

=== What's New ===
 * FIX_VERTEX_AREA no longer need be set in the environment outside of recon-all.
 * In tkmedit, while loading a functional overlay or time course, the registration file name is now read properly.
 * The FSFast utility mkanalysis-sess.new now accepts only sequence names matching "TR " (instead of all occurrences of TR).

=== Known Issues ===
 * When running mri_surfcluster with average7 inside your csd file, make sure to specify {{{--subject average7 --really-use-average7}}} or else it will underestimate the clustersize and cause the significances to be too low.
 * mris_fix_topology may exit recon-all with the following message in the log: {{{mrisDefectAnalysis : defect 123 overlap defect 119}}}, where your defect numbers will be different. If this happens for one of your subjects, there is no work-around. A fix will appear in the next release.
 * If the flags {{{--all-info}}} or {{{--version}}} are included at the beginning of a command-line, it will corrupt the subsequent command-line arguments. The work-around is to not include {{{--all-info}}} or {{{--version}}} with other command-line arguments. A fix will appear in the next release.
 * On the rh9 distribution, sometimes the ?h.curv files produced are incorrect, displaying as nearly all red (instead of green and red, indicating gyri and sulci). This produces incorrect cortical parcellation data. There is no known work-around at this time. This problem does not appear when using the Centos or Mac distributions.
 * tkmedit saves control points for intensity normalization in floating point RAS coordinates, but mri_normalize truncated these when they are read in with the -f command (the default behavior when the tmp/control.dat file exists). This can result in the control points being displaced by a voxel from the location that tkmedit displays them.
 * mri_label_volume estimated TIV calculation are about 25% too large. This will be fixed in the next release.
 * Be sure to read about the changes to recon-all, detailed below, and also read about the new [[FsAverage|fsaverage]] subject.

----

== Stable v3.0.0 ==
'''''5 March 2006'''''

Stable release version 3.0.0 is a major release containing many new features over the prior stable release (version 2.2).

'''Important!''' The [[recon-all]] script has been updated. Please read the ReconAllChanges page which describes these changes! Users of prior 'dev' releases should also take note of the changes.

 * '''COR file format''' is no longer accepted by recon-all. mgz file's have replaced this old format.
 * '''brainmask.mgz''' has replaced what was the brain volume. You should visualize and make all edits to '''brainmask.mgz''' and not to brain.mgz
 * recon-all will now save all your changes by default. Any manual changes/edits to the talairach, setting of control points, edits to volumes etc will be saved and used by default and you must specify when you wish to ignore these changes.
 * Data processed with an older release should make use of the '''-legacy''' flag in [[recon-all]].

=== What's New ===
 * '''Sub-cortical segmentation''' - Each MRI volume voxel is assigned one of 37 possible neuroanatomical labels, including left and and right caudate, putamen, pallidum, thalamus, lateral ventricles, hippocampus, and amygdala. The labeling allows for volumetric measurement of these structures. The segmentation information also improves the ability to create a filled white-matter volume.
 * '''Automated filling of ventricles and basal ganglia''' - Improves the ability to create a filled white-matter volume (which is used in the surface creation process). Note: this requires the use of the new average subject [[FsAverage|fsaverage]] because the surface registration changes.
 * '''Improved automation''' - The need to conduct manual edits to account for skull-stripping and cutting-plane problems is reduced. The topology fixer is much better at handling temporal lobe strands. Overall, greater than 90% of hemispheres processed by recon-all do not require manual intervention.
 * '''Improved GUI tools''' - The GUI tools tkmedit and tksurfer incorporate many usability improvements requested by the user-base.
 * '''New cortical parcellation''' - A neuroanatomical label is assigned to each location on the cortical surface model based on probabilistic information estimated from a manually labeled training set.
 * '''Surface-based GLM analysis''' - Utilities for conducting group analysis studies with GLM.
 * '''Multiple comparison correction for surface analysis''' - False discovery rate (FDR), permutation and Monte Carlo simulations.
 * '''New average subject.''' [[FsAverage|$FREESURFER_HOME/subjects/fsaverage]]. Keeps info about average surface area.
 * '''Average subject customization.''' Make your own average subject from your cohort.
 * '''Extensive testing''' - The recon-all processing stream has been tested against several hundred subjects, different pulse-sequence types, and different MRI system platforms.
 * '''Online tutorial of the Freesurfer work-flow''' - This release is compatible with the [[FsTutorial|on-line tutorial]]. Tutorial data must be downloaded separately.
 * '''Simplified distribution download and installation''' - The critical library and toolkit dependencies (MNI, FSL, GSL, Tcl/Tk/Tix/BLT, and Qt) are included to ease installation. These third-party open-sourced packages [[SetupConfiguration|can be removed if they are already installed on the target system]] (although full Freesurfer functionality is no longer assured). For Mac OS X, a GUI installation package is provided.
 * '''Compatible with all mouse pads'''
 * '''Now Y2K compliant!'''

=== Known Issues ===
 * Make sure to run "setenv FIX_VERTEX_AREA" if using any commands outside of recon-all, particularly the mri_glmfit and mri_surfcluster programs. To be safe, you can just add the line "setenv FIX_VERTEX_AREA" into !FreeSurferEnv.csh or your .cshrc file. This will only affect those downloading the new version. This will automatically be done for those in the Martinos Center.
 * In tkmedit, while loading a functional overlay or time course, the registration file name may not be read properly. A workaround is to load the overlay or time course from the command line (see [[tkmedit]] for details).
 * The surface registration curvature target has changed with the new automatic filling of ventricles and basal ganglia. Do not mix newly reconstructed subjects with those that used the old target. For new data recons, display overlay maps on the new average subject [[FsAverage|fsaverage]]. For older data, use average7.
 * There are some changes in the way that mri_surfcluster and mri_glmfit computes cluster sizes and how these interact with the average subject (and average7) see the notes [[FsAverage|fsaverage]] for more detail.

 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 [[https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/6.0.0-patch/hcp|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.

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 8.1.0 Release (July 22 2025)

FreeSurfer version 8.1.0 can be found here. This is a minor release and will give the same output of recon-all when it is run in the same way. We recommend that you upgrade to 8.1.0 to prevent the chance of encountering the "symlink" bug (see below).

  • New features: infant_recon, dcm2niix upgrade, a few speed ups, gtmseg uses samseg by default, better support for ANTS N3, mideface works better with multiple frame, vlrmerge-mni, mri_gtmpvc can create PMOD compatible csv files, added -skip-nu-intensity-cor to recon-all
  • infant_recon_all: this recon pipeline was converted to python and the backend skull-stripping solution was switched to d-SynthStrip from the original SSCNN

  • Bug fixes:
    • Fixes recon-all where it would create a symlink from orig.mgz to nu.mgz when run a second time.
    • All the things from the patch (csvprint, xhemi, mri_segstats, -nonuintensitycor).
    • Fixed --lesion-mask-pattern in samseg script.

Known Issues with 8.1.0

  • samseg does not respect the --atlas or --cpvcw arguments. This has a downstream effect of gtmseg which it will run to completion but will not generate some of the PET-related structures (vermis and pons belly).

Stable 8.0.0 Release (Feb 27 2025)

FreeSurfer version 8.0.0 can be found here. Also see Patch. This major release with many changes. recon-all will have different output than version 7.

In terms of changes to recon-all, here are the highlights:

  • Now uses SynthSeg, SynthStrip, and SynthMorph (deep learning algorithms). These make recon-all more robust and much faster. Technically, SynthMorph is not needed for recon-all to run, but the nonlinear registration can be used in multimodal analysis to map to the MNI152.

  • There is now deep learning (DL) automatic segmentation of regions that often cause errors in pial surface placement. These include the major sinuses (sagittal and transverse) as well as a spot between frontal and temporal lobes where the middle cerebral artery (MCA) and dura cause bright areas.
  • Several fixes in entorhinal cortex. First, the WM in EC is segmented using DL. The WM is often only 0.5mm thick and very hard to see; this often resulted in severe white surface areas in this location requiring manual editing to fix. The new surface now represents gyrus ambiens much better. Second, The white surface is extended to the front of amygdala. Third, the binary cortex of label now covers entorhinal cortex and parts of the temporal pole better allowing the pial surface to extend out to its true edge.
  • Some bugs where found in and around inferior frontal cortex causes the white surface to extend too far into basal ganglia. This has been fixed. This is above and beyond the issue reported in 7.3.2 below.
  • All the bug fixes described below are now turned on by default.
  • These changes will work with longitudinal with the caveat that the volumetric segmentation will not be fully longitudinal. The segmentation will be applied to the time point in the base space, but it will not (and cannot) be initialized with the base segmentation. Initial tests indicated that the change in power was minimal and mixed.
  • recon-all will now run in about 2h vs 8h on a single CPU. It will, however, required about 24GB of memory to run.
  • The use of SynthStrip should make recon-all much more robust as the old skull stripping method often included extra cerebral tissue.

  • With synthseg, we are now supplying a segmentation-based total intracrainial volume (sTIV) along with the registration-based estimated TIV (eTIV)
  • We have applied v8 to several studies (aging, AD crossectional, AD longitudinnal, schizophrenia). There were no major changes in the ability to detect effects, and there was no interaction between effect and version.
  • Despite the presence of deep learning modules, GPUs are NOT required (ie, you can run the entire recon-all stream with a CPU).

Known Issues with 8.0.0

  • The csvprint utility is implemented in python2, which will cause it to fail on systems that do not have python2 installed. This causes the SegmentedIntraCranialVolume to be misreported as 0.00 in aseg.stats files generated as part of the recon-all pipeline.

    • Issue fixed in this commit of the dev build, and a script to install the patch and isntructions to run it are available here

    • Sometimes recon-all will have a hard failure with the error message "ERROR: found no voxels matching id 1". If this happens, rerun recon-all with the -no-fix-ga argument
    • recon-all creates a symlink from orig.mgz to nu.mgz when run a second time. This can be a problem when editing data, which requires a rerun.

Beta 8.0.0 Release (Nov 5, 2024)

FreeSurfer version 8.0.0-beta can be found here. This major release with many changes. recon-all will have different output than version 7. Known Bugs:

  • You must set environment variable FS_ALLOW_DEEP to 1, eg, export FS_ALLOW_DEEP=1 (for bash) or setenv FS_ALLOW_DEEP 1 (for csh/tcsh)
  • There is a bug that causes recon-all to exit with error the second time it is run on a case
  • The csvprint utility is implemented in python2, which will cause it to fail on systems that do not have python2 installed. This causes the SegmentedIntraCranialVolume to be misreported as 0.00 in aseg.stats files generated as part of the recon-all pipeline.

    • Issue fixed in this commit of the dev build, and a script to install the patch and isntructions to run it are available here

Further updates and improvements:

  • New: NextBrain (Project page; FS wiki page): Segment a brain scan of any MRI contrast into hundreds of histologically defined volumetric labels.

  • New: mri_synthstrip -- added features. You can now control the number of threads, save the distance transform, and set the mask border threshold to high values.

  • New: mri_synthmorph -- added features. Save transforms in LTA or MGZ/NII format and directly apply them using mri_convert (-at) or mri_synthmorph (apply), without conversion. Transforms are now symmetric and you can save their inverse. Improved warp regularity. Adjustable warp smoothness, number of integration steps. Joint affine-deformable registration in a single shot. Various bug fixes.

Stable v7.4.1 Release (June 20, 2023)

FreeSurfer version 7.4.1 can be found here. Unless new features are employed, recon-all will give the same exact result as other 7.X releases. This version has some critical fixes to MiDeFace

Known Issues with 7.4.1

  • In FsFast functional connectivity analysis (this version and all previous versions), the seed waveforms were not rescaled in any way. This can affect the amplitude of the regression coefficient of the rest of the image (which is rescaled). This will not have any effect under several circumstances: (1) it will have no impact on the sig.nii.gz (p-value) or the Pearson correlation (pcc) at the individual level, (2) the seed uses a pca/svd, (3) if the intensity scale in each image/subject is the same (or close to it), or (4) if you are passing up the Pearson correlation (pcc) to the higher level. Note that the typical FSFAST analysis passes up the contrast effect size (ces) to the higher level which will be affected by this bug. The problem will manifest itself as extra variability at the group level due to the variability of the mean intensity at the individual level. This has been fixed in the dev version of FS and will be in the next release. The change will require that you specify the type of rescaling you want. If you run the new fcseed-sess on an old configuration that does not have a scaling method specified, it will exit with a error message (this can be overridden by adding -no-require-rescale-type).

Stable v7.4.0 Release (May 10, 2023)

FreeSurfer version 7.4.0 can be found here. Unless new features are employed, recon-all will give the same exact result as other 7.X releases. Here are some of the highlights:

  • New: recon-all-clinical

  • New: dti-based thalamic segmentation
  • New: DICOM conversion now uses dcm2niix. This is "under-the-hood" so you don't even know it is there. This allows conversion of many more DICOM types, including the new extended DICOM format.
  • New: mri_easyreg -- an easy-to-use deep-learning tool for symmetric affine and deformable registration which is s heavily based on mri_synthmorph (see below).

  • New: mri_synthmorph, an easy-to-use deep-learning tool for affine and deformable registration

  • New: mri_synthseg -- new features
  • New: all versions of SAMSEG now use block coordinate descent (BCD) which speeds it up by about 10-20%
  • New: better surfaces around entorhinal cortex (EC). Add -fix-ento-wm to the recon-all command line (or in a global xopts file). This will apply a deep learning network to segment the WM around EC and place surfaces around that. It will create a segmentation called entowm.mgz. This is still a little experimental.
  • New: recon-all options can now go into an expert options file with a recon-all line, eg, "recon-all -fix-ento-wm". If you always want a particular flag to be passed to recon-all, you can add it in this way to $SUBJECTS_DIR/global-expert-options.txt
  • Bug fixes: Known issues in 7.3.2 below have been fixed (FLAIR pial placement, mri_sclimbic_seg, segment_subregions, mri_synthsr)
  • Bug fix: mri_glmfit now uses double precision when computing p-values. This practically has no effect except for cases where the p-values where extraordinarily small (eg, when you have 1000 DOF).
  • Bug fix: slicedelay in FSFAST is now fixed (could have crashed due to a python incompatibility)
  • Bug fix: samseg-long was running mri_robust_template incorrectly which caused all time points to be aligned to the first time point instead of to the base image. This has been fixed. Note that this does not affect the similarly named run_samseg_long (which is called by samseg-long).

Known Issues with 7.4.0

  • In some cases, mris_fix_topology will give different results when different number of threads are used. The differences are very small, but it can make it appear that recon-all is non-deterministic. To fix this, add "mris_fix_topology -threads 1" to an expert options file (a global one is best to that it is always there)
  • When running selxavg3-sess or mkcontrast-sess with the -bin option, include -mcr $FREESURFER_HOME/MCRv97 to use the proper matlab library. The -bin option will use a compiled matlab binary, so no matlab license is needed (probably only works on centos).

Stable v7.3.2 Release (Aug 8 2022)

FreeSurfer version 7.3.2 can be found here. Unless new features are employed, recon-all will give the same exact result as other 7.X releases. Here are some of the highlights:

  • Bug fix when converting diffusion tensor data with a negative determinant from DICOM. There was a bug in the old code that made the bvecs incorrect in this case. The bvecs will now be correct regardless of whether you use the old code or the new -dcm2niix option (see below)
  • Bug fix: ability to fill in underlabeled ventricles. This is not done by default yet. To implement, add "-vent-fix -1 7000 1" to the mri_ca_label command line. This can be incorporated into recon-all by an expert options file with the line "mri_ca_label -vent-fix -1 7000 1".
  • Bug fix: ability to force white matter (WM) between putamen and cortex. This is not done by default yet. To implement, add "-insert-wm-bet-putctx 1" to the mri_ca_label command line. This can be incorporated into recon-all by an expert options file with the line "mri_ca_label -insert-wm-bet-putctx 1". If you want to use both the ventricle fix and the WM insertion, then create a line "mri_ca_label -vent-fix -1 7000 1 -insert-wm-bet-putctx 1" to the expert options files
  • Bug fix: improve surface placement in inferior frontal area near putamen. There are some cases where the white surface is not placed well in these areas because of the close proximity of putamen to cortex; it is probably the case that the surface is not well-defined in this region anyway, but the placement can be improved by creating an expert options file with the line "WhitePreAparc --rip-bg-no-annot"

  • Bug fix/New: ability to automatically edit the filled.mgz to remove voxels from amygdala and parts of hippocampus. These voxels can often cause topological defects that are not fixed properly. This is not done by default yet. To implement, create an expert options file with the line "mri_edit_wm_with_aseg -fix-scm-ha 1".
  • Bug fix: cross hemisphere analysis (xhemi). In previous versions, the surface registration (surfreg) would use the annotation during the registration procedure which caused some misalignment. Now surfreg will require that you specify either --annot (old behavior) or --no-annot (new recommended). The errors are small, so, if you have an ongoing analysis, you can stick with the old behavior.

  • Global Expert options file. If you have a file called global-expert-options.txt in your $SUBJECTS_DIR, recon-all will automatically read in this file as an expert options file
  • Defect labels will now only encompass actual cortical areas. Before, they would also include vertices on the medial wall, which was not very useful
  • New: Conversion from DICOM can now be done with dcm2niix as a backend using -dcm2niix with either dcmunpack or mri_convert. This should give the same result as when using the old code except it will be much faster and can now handle all cases that dcm2niix can handle, including enhanced dicom. At some point, this will become the default method. Thanks to Chris Rorden and Yujing Huang for getting this working.
  • New: Gradient unwarping. There is a new program called mri_gradunwarp; you still have to supply the gradient unwarping spherical harmonics tables.
  • New: Minimally Invasive Defacing tool (MiDeFace).

  • New: segment_subfields beta version new software to run subfield segmentation (hippocampus, amygdala, thalamic). The old software required matlab. The new tool is written in python but will not give exactly the same result but will be extremely close. Does not work with T2 yet.

  • New: SynthStrip deep learning tool to strip skulls

  • New: ScLimbic subcortical limbic deep learning segmentation tool

  • New: HypothalamicSubunits deep learning segmentation of hypothalamic subunits

  • New: SynthSeg deep learning contrast-independent whole brain segmentation (including cortical parcellation)

  • New: Segmentation-based (SB) cost function for multimodal registration in mri_robust_register

  • New: better version control. You can create a file called fs-allowed-versions.txt in $SUBJECTS_DIR with a list of allowable versions for your analysis. If this file exists, then both the current version of FS and the version listed in $subject/scripts/build-stamp.txt must be in the list for recon-all to proceed. This helps to prevent using different/incompatible versions of FS within the same analysis while allowing the mixture of compatible versions.
  • New: interface for x virtual frame buffer (fsxvfb). When you run freeview from fsxvfb, no X server is needed. This is good for taking a bunch of pictures when you don't want freeview popping up all the time. Eg, fsxvfb freeview orig.mgz -ss mypic.png --quit

Known Issues

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.
    Points labeled as "frozen" (ie, 247 in aseg.presurf.mgz)will not be included in the ?h.cortex.label, which will exclude them from most other analysis; this renders the freeze functionality nearly useless.

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 2026-01-16 13:38:36 by DougGreve)