###################################################################
LATEST EMAIL UPDATE: 04 May 2014
###################################################################

Here are the main changes (see UPDATES.txt for complete history,
detailes of last 2 updates appended below):

 1) new "label:" button "C" to generate overlap labels.  In
      contrast to the "RC" button (read, re-cut label), this
      cut button does *not* restore currently invisible vertices,
      so doing "C" for 2 or more labels leave the intersection
      (AND) of them, saveable with "W".

 2) add MATLAB "Jet" colorscale (colscale=15, blue/cyan/yellow/red)
      Bounds of scale (dark blue, dark red, clamped beyond) set by
      truncphase entries, accessible on large [fn]-F3 panel and View
      Functional Data as "jt", reversed w/invphase.  Unlike other
      scales, extreme values are dark so best adapted to full rank
      data.  If fthresh/fmid not zero, fades to background.

 3) if tkregister sample policy is "round", add 1/10 micron (0.0001 mm)
      offset to transform to avoid aliasing zoomed voxels at zoom=2.

 4) "R" button on "val:" line now also accepts a 1frame 1D float *.mgh
      file (e.g., output of FSL/freesurfer surface-based pipeline).
      Note that these files typically do not contain indication of
      which hemisphere they came from (if fsaverage, can be read into
      either!).  The "PaintFile:", "StatMask Paintfile:" and "val:"
      dropdowns will be loaded with any available .w or .mgh files.
      The tksurfer read_binary_values command auto-detects magic number
      in valfile or curv, or *.mgh suffix to determine format.

 5) Setup Align/Funct scan accepts conforming (256/512) .mgz file for
      MOVEABLE (for qT1 pseudo 'functional' overlay)

 6) conflicting internal variable name semantics cleanup, csurf vs. C/tcl:
      [hopefully be no visible effect of this!!]
      csurf: $session = "130503MS"
             $scandir = "image/polar1" => change varname to: $iscandir
      C/tcl: $session = "/usr0/fspace/130503MS/image" => varname: $isession
             $scandir = "polar1"

To install:

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

cheers,
marty

### UPDATE: 04 May 2014
--register.tcl: if round policy change accepted, update roundregorigflag
--lib/help/csurf/{csurf,setuprender} update
--wrappers.tcl: incr okclose win name (crash from double-click upper left 'x')
--tksurfer.c: invphase flips MATLAB_JET, silently correct flip scale limits
--lib/help/tksurfer/{val_jt,label} update
--lib/help/csurf/{makerelaxationcuts,tksurfer} update
--tksurfer.tcl: DSP->D, add C: like DSP, but recuts label for 2+ labels overlap
--tksurfer.c: read_label_to_annot_using_col can recut (with no restore)
--newhelpfile: lib/help/tksurfer/label_readcut
--lib/help/tksurfer/{smooth_steps,smooth}
--lib/help/tksurfer/{label_write,label_read,label_clear,label,fill,cuts}
--tksurfer.tcl: DSP->D, add C: like DSP, but also re-cuts label to get overlap
--tksurfer.c: read_label_to_annot_using_col can recut: find AND of 2+ labels
--### conflicting internal varname fix done: [i]session/[i]scandir var rename
--tkstrip.tcl: match new tkstrip.c name: $session->$isession (incl "image")
--tkstrip.c: srname->sename, tclexp sename: $session->$isession
--csurf: add redundant/safe "set iscandir $page" (usu. done by browse notebook)
--tkregister.tcl: match new tkregister.c name:$session->$isession (incl "image")
--tkregister.c: rename [p]srname->[p]sename, tclexp sename: $session->$isession
--tkmedit.tcl: match new tkmedit.c name: $session->$isession (incl's "image")
--tkmedit.tcl: rm unused proc setsession
--tkmedit.c: rename tcl export of sename: $session -> $isession
--wrappers.tcl: $session -> $isession (affects tkmedit, too)
--{movie360,phasemovie,offsetmovie,fs-make,borders}.tcl: $session -> $isession
--{eccen,polar,fs,real,twocond}-{flat,views}.tcl: $session -> $isession
--tksurfer.tcl: rm unused proc setsession
--tksurfer.tcl: match new tksurfer.c name: $session->$isession (incl's "image")
--tksurfer.c: rename tcl export of sename : $session -> $isession
--csurf: rename global $scandir to $iscandir (usu. includes "image")
--csurf: rename proc getfunctscandirslist -> getfunctiscandirslist
--tksurfer.tcl: rm tksurfer.tcl trace setting exported $scandir to no-image $dir
--csurf: $session="130503MS"
         $scandir -> $iscandir="image/polar1" (w/"image")
--C/tcl: sename=$session -> $isession="/usr0/fspace/130503MS/image" (w/"image")
         scname=$scandir="polar1"
--### begin fixing conflicting internal csurf vs. C/tcl var meanings
--lib/tcl/fs-make.tcl: also write fs/fm as wfiles, now uses setfile, needs $dir
--csurf: fieldsigncmd: pass dir=[trimoneparent $page] for fs-make setfile
--update lib/help/tksurfer/val_w1
--newhelpfile: lib/help/tksurfer/val_jt
--tksurfer.tcl: F3 MATLAB jet "jt" colscale, scale ends: truncphasemin/max
--tksurfer.c: MATLAB_JET=15 colscale (e.g. fs), fade, {s}f{thresh,mid,slope}
--tkregister.c: add 1/10 micron offsets to xform matrix to fix zoom=2 aliasing
--tkregister.c: left ifdef'd out ROUNDTARG code in drawslice/select_pixel
--lib/tcl/real_{views,flat}.tcl: if floatstem is *.mgh, *don't* append -$hemi.w
--csurf: getuniqwfilelist accepts *.mgh files (put into Paintfile dropdown)
--csurf: getuniqwfilelist checks -[rl]h.w there before stripping it
--lib/tcl/{polar,eccen,twocond}-{views,flat}.tcl: use $maskfloatstem if exists
--csurf: functscan READ HEADER reads mgh/mgz header w/tkmedit to fill in panel
--csurf: change confusing check label on main interface: surfload -> load2surf
--csurf: allow FUNCT=>SUBJ button to pass .mgz file to tkregister as MOVEABLE
--tkmedit: make -header also work w/-f or no -f, update help
--tksurfer.c: read_binary_values accepts 1frame-1D-float-.mgh file
--tksurfer.tcl: also load .mgh files to "val:" dropdown
--tkregister.c: fixed select_pixel bad bounds chk crashing SAG right edge click
--tkregister.c: fix bad imnr1_2 select_pixel bounds check
--tkregister.tcl: double click tkwin raises gl window (replace rm'd POP GL)
--tkregister.tcl: showvisible after 'set overlay blah' update TARGET/MOVEABLE
--csurf: fix addfunctscan showstopper: setinitroundflag before defaults created
--lib/tcl/setdefpatchview.tcl: "cortex" made synonym of "full" for fsaverage
--tksurfer.tcl: add cortex to patch look list
--tksurfer.tcl: use shrinkcomboarrows
--wrappers.tcl: add shrinkcomboarrows (height:18->17/14Fedora, width:15->13)
--edit: lib/help/csurf/{setupfunct,tksurfer}

### UPDATE: 15 Apr 2014 [previous, for context]
--edit: lib/help/csurf/{setupfunct,tkregister,tkmedit,tksurfer}
--tkmedit.tcl: bold "tcl:" if clk'd to log interface tcl cmds, bold if startup
--tksurfer.tcl: bold "tcl:" if clk'd to log interface tcl cmds, bold if startup
--tkregister.tcl: updated help panel bindings
--new files: lib/help/tkregister/{savereg,readreg,round} => add to mk0{.csh}
--csurf: "init round" tick allow INIT old/new regdat, report current, else def=1
--tkmedit.c: roundreg for do_regupsamp_stat,get_timecourse,write_roi_timecourses
--tksurfer.c: read regdat round, use in paint_surface,normdsamp_timecourse_stat
--tkregister.tcl: move/uncover gl window w/interface size change
--tkregister.c: export func/vars to save GL winxy for interface size chn
--tkregister.tcl: popup warn change round policy on SAVE REG
--tkregister.tcl: F3 omit unused top line widgets (POP GL, READENV), squish
--tkregister.tcl: F3 tick report/override roundregflag read from register.dat
--tkregister.c: tcl export roundregflag so tkregister.tcl can change on the fly
--tkregister.c: optional rint() vs. 2 int truncates (reversed) and one floor
--tkregister.c: read/write optional register.dat "round" to match tkregister2
--tkmedit.tcl: logcmd all button/entry/check/radio
--tkmedit.tcl: logcmd: {r,w}{native,upsamp}{mask,stats},gettseries,do_imim2op
--tkmedit.tcl: logcmd: setfile,test_{write,read}_images,run_wmfilter,check*,def*
--tkmedit.tcl: turn off incorrect pixval when zoomed (TODO: fix, turn back on)
--tkmedit.tcl: tkmeditlogflag, enabledisablelog, setfile does logcmd
--wrappers.tcl: proc controls does logcmd's for its entries,checks
--lib/help/tkmedit/imim2op, lib/help/csurf/csurf
--tkmedit.c: add 2nd imim2op twocol oper: new:1=ell2on (existing:0=ell2off)
--tksurfer.tcl: floss fieldsign tk, fixcolscale: fix fieldsignflag, report flags
--tksurfer.c: export fieldsignloaded: tksurfer.tcl test fail read, fs scalebar
--csurf/tk{surfer,medit,strip}.tcl: rm procs foundbywhich, canwriteormakefile
--wrappers.tcl: add foundbywhich, canwriteormakefile, cleanup/reorder/comment
--tkstrip.tcl: rm canwriteormake, foundbywhich (now in wrappers.tcl)
--tksurfer.tcl: rm foundbywhich, canwriteormake (now in wrappers.tcl)
--tkmedit.tcl: rm canwriteormake, foundbywhich (now in wrappers.tcl)
--csurf: Preferences -> Log tksurfer actions as tcl cmds
--tkmedit.c, export/option tkmeditlogflag so csurf can pass
--tksurfer.c: if tksurferlogflag, send tcl command to log left_click x,y
--tksurfer.c, export/option tksurferlogflag: tksurfer can chk, csurf can pass
--tkmedit.tcl: pidnamerunning now uses ps uxww for Linux, too
--tkmedit.tcl: rm xhost+ req send inter-proc tclcmd + findsendto from SEND PNT
--tksurfer.tcl: rm xhost+ req send inter-proc tclcmd + findsendto from SEND PNT
--tksurfer.tcl: tksurferlogflag: logcmd every interface action -> tksurfer.log
--tksurfer.tcl: logcmd: setfile,{r,w}{vc,val,stat,surf},paint,smooth,roi,shrink
--tksurfer.tcl: clicking "tcl:" toggles enable/disable tksurferlogflag
--wrappers.tcl: testreplace uses logcmd (wraps many interface commands)
--wrappers.tcl: add open/write/close log interface tcl cmds
--paint.c: fix read opts bug disabling -bok (tksurfer:paint_surface() OK)
--mk0{.csh}: install extra precompiled below
--nmovie: Linux: older bin (newer 395K not compat w/Fedora7,Centos5.9 32b libs)
--dist/precompiled/lib/Linux-i386 libs for (just!) 32b nmovie on def 64bit OS
--add5: libXaw.so.7, libXi.so.6, libXxf86vm.so.1, libglut.so.3, libtiff.so.3
--lib/help/csurf/makerelaxationcuts (redo/multipleLINE)
--fourier.c: funcptr wrapper for loop of threads for compute_fourier_stat_slice
--fourier.c: afs/cfs/ts->loc, sigim,rawim(big=0.3G)->4D for threaded (5% slower)
--fourier.c: permute freq, recalc F, p=fraction-permuted w/higher F => better
...




