###################################################################
LATEST EMAIL UPDATE: 06 Sep 2014
###################################################################

### 06 Sep 2014 (compile for 64bit-only Linux, fsaverage update, bugfixes)
 1) 64-bit linux compile now available
 2) add Linux libjpeg62 for recent releases, fix FreeSurferEnv.sh LD path
 3) fsaverage-adds.tgz: fixed inflated_avg, and new flattenings
 4) make trunphaseflag/max/min work with "bi" colscale
 5) calcvert can convert (all-vertex) wfiles to native floats for MATLAB
 6) "locklabel" (tksurfer F3 panel): locks vertices under label during shrink
 7) MGHTools -> Flatten Surface allows re-flatten already flat
 8) fix tcl crash on missing braces in $paint-3D_f 'if'

Probably the most useful thing is the Linux 64-bit compile.  On
current 64-bit installations (e.g., Ubuntu 14.04) most of the 32-bit
libraries have been omitted so the previous 32-bit linux compile
won't run without additional installs.  Now it should just work.

Tested on a bunch of 64bit installs.  One case of redraw problem
in tksurfer (German Ubuntu 14.04/Thinkpad) fixed by:

  Preferences -> unclick Double Buffer

(it was still double buffered...)

There are also some upgrades to the fsaverage subject (fixed
inflated_avg surface, orig area files that report more accurate
surface areas on FILL/ROI).  The README from the new tarfile:

  fsaverage-add.tgz

is pasted in below.  To install csurf:

  cd <dir-where-csurf-currently-installed>
  mv csurf csurf-YYMMDD
  tar xvfz csurf0.8-{mac,linux}-YYMMDD.tgz

See the fsaverage-adds README for how to
use/install the new files.

cheers,
marty


[README.txt from fsaverage-adds.tgz]
#################################################
7 July 2014 -- new inflated_avg full flattenings
#################################################

This tarfile contains new flattenings of the fixed
fsaverage inflated_avg (fixes giant triangles at
icosahedral poles), along with fixed inflated_avg
area files.  The inflated_avg area does not suffer
from the 2/3 reduction seen in the average folded
surfaces.

This reduction occurs because cross-subject
variation in secondary folds (crinkling in major
sulci) is simplified in the folded average, which
reduces cortical convolution and thus cortical
surface area.  Note that this area reduction is
unevenly distributed; it is more profound in
sulcal cortex, where 3D variability is greater.
This explains why fsaverage inflated is so much
smaller and differently shaped than any individual
inflated surface.

The fsaverage inflated_avg surface has a few
gigantic triangles at the north and south poles of
the icosahedral supertessellation.  These have
been corrected by locking all the vertices in
{rh,lh}-FIX-POLES.label and allowing the two
patches at the poles to relax into a uniform mesh.

Once these files have been intalled, when an area
if filled, the "orig surf" number in the popup
report does not have to be corrected.


Here is how to install the files.  First move
aside the existing, install the new ones, then
copy new to explicitly-named for easy revert:

  ## mv existing aside
  cd $SUBJECTS_DIR/fsaverage/surf
  mv lh.inflate_avg lh.inflated_avgORIG
  mv lh.area        lh.areaORIG
  mv rh.inflate_avg rh.inflated_avgORIG
  mv rh.area        rh.areaORIG

  ## install new files
  cd fsaverage-adds
  cp surf/lh.inflated_avg       $SUBJECTS_DIR/fsaverage/surf
  cp surf/lh.area               $SUBJECTS_DIR/fsaverage/surf
  cp surf/lh.cortex2.patch.3d   $SUBJECTS_DIR/fsaverage/surf
  cp surf/lh.cortex2.patch.flat $SUBJECTS_DIR/fsaverage/surf
  cp surf/rh.inflated_avg       $SUBJECTS_DIR/fsaverage/surf
  cp surf/rh.area               $SUBJECTS_DIR/fsaverage/surf
  cp surf/rh.cortex2.patch.3d   $SUBJECTS_DIR/fsaverage/surf
  cp surf/rh.cortex2.patch.flat $SUBJECTS_DIR/fsaverage/surf
  cp label/rh-FIX-POLES.label $SUBJECTS_DIR/fsaverage/label
  cp label/lh-FIX-POLES.label $SUBJECTS_DIR/fsaverage/label

  ## make explicitly named for revert:
  cd $SUBJECTS_DIR/fsaverage/surf
  cp lh.inflate_avg lh.inflated_avgNEW
  cp lh.area        lh.areaNEW
  cp rh.inflate_avg rh.inflated_avgNEW
  cp rh.area        rh.areaNEW

How the new flattenings were generated:

  (1) start with default fsaverage inflated_avg
  (2) make label with hole just over defects in
        north and south 'poles'
  (3) tksurfer: display label, F3 "locklabel", SHRINK 40
  (4) save new inflated_avg surfaces
  (5) make new 'original' area files from them
  (6) re-cut, re-flatten them (2 flattenings each)
  (7) adjust flattened view settings in csurf

Here are the csurf Views settings:
  Preferences ->
    Expert Preferences ->
      Views tab
        Default Viewing/Bitmap Position: FULL/CORTEX

 RH   rotate: 96   scale: 0.95   xmov: 5.0   ymov: 2.0
 LH   rotate: 79   scale: 0.95   xmov: 2.0   ymov: 2.0

The View setting adjust the patches so that they
roughly correspond to the orientation of a lateral
view of an inflated hemisphere.  The views number
are saved in */$scandir/scripts/position.tcl and
used every time a surface is read/displayed (or
RESTORE'd), so that the surface will be presented
in the same useful orientation, so that bitmaps
can be directly overlapped.

The relaxation cuts are not extremely deep, so the
surface can't relax to its full original surface
area.  The curr surface area of the two
flattenings are 73% of the surface area of the
original cut 3d inflated_avg surface.

To correct for this in a final image (e.g., to
show same-scale inflated and flattened), scale up
the flat bitmaps 1.17x (relative to the 1 cm scale
bar on the image):

  1.17 = sqrt(1/0.73)

The square root is because scale factors are 1D
linear, not area.




