Csurf update summary EMAILS / HOWTO's


(click date to see description for each update)
(all emails concatenated in EMAIL-ALL.txt)
(all UPDATE DETAILS concatenated in UPDATES.txt)

30 Sep 2026
  (1) ARM compile for MacOS 26 (Tahoe)
  (2) calculate/display rawdata time-series covariance
  (3) sample flat patch .val data to x-y grid and back

02 May 2026
  (1) find gradient reversals (curv, real-valued, phase)
  (2) export annot region IDs to label/wfile (copy_idnum_val)
  (3) new csurf menu item: add Preferences -> Upate Csurf
  (4) tksurfer: alt/cmd-z undo for accidental clear vertex marks

17 Sep 2025
  (1) option to display annotation region names on surface
  (2) fourier panel also calculated/paints coherence alt stat mask
  (3) better percent resp popup for middle-click "W" on "val:" line
  (4) distinguish val/stat smooth, ignore dispersion opt for complex smooth
  (5) gather SMOOTH/fillholes/searchlight functs into R-clk-SMOOTH buttonbar
  (6) new GR button opts to compute/display per-annot-region avg gradient vecs

07 May 2025
  (1) better instructions, testing, getonearch bugfix for latest Apple Silicon
  (2) new functs to make/process 3D cortical ribbon ROIs from rh/lh-*.annots
  (3) new 3D cortical ribbon ROIs/parcellations (Csurf, HCP-MMP1)
  (4) how to view 3D ROIs/parcellations/overlays in tkmedit
  (5) tcl script to make left+right color lookup table
  (6) cerebellar dentate nucleus surface recon and flattening

12 Nov 2025
  (0) fix label header bug introduced in Linux interim releases 240619,240707
  (1) tksurfer can write Talairach coords (MNI 305 or 152) to label (10 functs)
  (2) tkmedit can use MNI 152 instead of MNI 305
  (3) read_label_to_nearest_annot_using_col: import label w/diff vtx numbering
  (4) fill_annot_holes_neigh: fill holes (e.g., in imported label)
  (5) option to select vertices inside surface (for complexly folded)

26 Apr 2024
  (1) 4-step undo edit in tkmedit (one-step redo)
  (2) tksurfer gradient arrows pruning function
  (3) tkmedit range and 2nd image range edit functs (mouse,do-all)
  (4) tkmedit brightness-centerable distance-dep contrast ramp
  (5) new filled gradient arrowheads
  (6) new funct to distance sort single-vertex-wide label paths
  (7) new R-clk buttonbars (label S/T/X, val R/CLR/CS, SMOOTH, area D)

25 Sep 2024
  (1) tksurfer displays/prints region areas from labels/annotations
  (2) new function label_to_vtxcol (for blink-compare annotations)
  (3) tksurfer "val:" line can display 1D bfloat's
  (4) fourier.c phase-corrections use AFNI TAXIS_OFFSETS

02 Oct 2022
  (1) new function to write label with adjusted/actual polar angle
  (2) update-csurf: script to automate csurf install/update
  (3) update-fsaverage: add parcellation, fixed surfaces to writable fsaverage

24 Mar 2022
  (1) topological maps fsaverage parcellation/annotation: $hemi-CsurfMaps1.annot
  (2) buttonbar popups for overloaded "label:" and "val:" line buttons
  (3) csurf-generated annot files now mris_convert/freeview compatible
  (4) read_gifti_to_annot, labeled_cut_clearvals, currcol_to_vtxcol

14 Jun 2021
  (1) display overlay data from only a subset of MGH annotation regions
  (2) better functs/interface for creating MGH annotation from indiv labels
  (3) extract single MGH annotation region+data to label
  (4) control luminance ratio of red/green display
  (5) normal search is now default for csurf Setup Funct panel

29 Jun 2020
  (1) read Alias (*.obj) surfaces, and BrainVoyager(*.srf) surfaces + ROIs (*.poi)
  (2) add FlipHemi button (larger F3 interface) to mirror-image a surface
  (3) tkmedit can 3D FILL (and append existing FILL) using annotation regions
  (4) searchlightarea.tcl script
  (5) FreeSurfer.zsh path parsing fixed

16 Dec 2019
  (1) tksurfer 'direct paint' (no register.dat, direct from curr vol)
  (2) sphere_morph ("REG") can use 2nd complex dataset (e.g., pol + ecc)
  (3) tksurfer display gray-matter diffusion vecs from AFNI BRIK
  (4) tksurfer display vectors (e.g., GM DTi) from 3-frame .mgh
  (5) calc % overlap between annotation regions and non-zero .val

22 Jul 2019
  (1) mask overlay using any combo of MGH annotation regions
  (2) csurf Run recon-all option to start w/edited orig.mgz
  (3) csurf accepts inst/subject/functional paths with spaces
  (4) truncphase: limits can now wrap, soft roll-off option available

08 Feb 2019
1) display (correct colors), use (get rawdata timecourses) for MGH 3D aseg's
2) illuminate inside of (complex) cut surface
3) tmp fix for tksurfer black after click
4) Linux fonts fixed
5) new phasemovie option: phase-colored contour over dark other phases

21 Jun 2018
  (1) improved annot2roi.tcl script: use HCP surface ROIs for indiv subj vol ROIs
  (2) display .annot file as colored ribbon on 2D slice
  (3) de-mean and variance-normalize vtx .val data, complex data mean to 1
  (4) help updates (non-interactive scripts, tk startup problems, shell scripts)

25 Jan 2018
  (1) 36 new helpfiles for SHRINK, REG(morph) parameters on tksurfer F3 panel
  (2) display normals in tksurfer
  (3) divergent/convergent stereo display
  (4) script to make exploding brain movie

18 Oct 2017
  (1) much faster direct manipulation of surface on Mac
  (2) fix 'surface disappears on first click' (Ubuntu)
  (3) csurf checks/explain-fix if AFNI-req'd libXp missing (e.g., Ubuntu 16.04)
  (4) fix fourier buffer overflow reading float BRIK w/large values (>32768)
  (5) export current surface geometry/coloring to glTF 2.0 file

21 Jun 2017
  (1) dump .val's just from borders of displayed labels (tksurfer)
  (2) count/report neighbors of each annotation area (tksurfer)
  (3) spherical Gaussian hand normalization (tkmedit)
  (4) transfer previous wm edits to a new wm (tkmedit)
  (5) flip from CORONAL view popup (tkmedit)
  (6) new standard script: searchlightdiff.tcl (tksurfer)

20 Mar 2017
  (1) auto generate single-subject 3D ROIs from fsaverage annotation
  (2) 3D ROI masks from annotation region(s) now have IDnum
  (3) new label/annot 1-layer-of-vertices erosion function
  (4) new histogram options (middle click upper right 'h' on tksurfer)
  (5) sparse ('representative-vertex') labels w/fixed vertex count

17 Dec 2016
  (1) major speed up Mac OS X 10.10+ direct surf manip (shift-click-drag)
  (2) new funct to write labels/data from every MGH annot region (e.g., HCP)
  (3) inflated_avg fix and fsaverage HCP labels now included
  (4) print histogram of current surface data using gnuplot
  (5) searchlight cluster ID count and variance: searchlightop_val2stat

04 Oct 2016
  (1) read GIFTI surface (e.g., *.{L,R}.*.surf.gii)
  (2) read GIFTI overlay (e.g., *.{L,R}.*.shape.gii, *.{,LR}.*.func.gii)
  (3) HOWTO use HCP MMP1 parcellation
  (4) arbitrFDRcovarflag tick (more stringent) for non-parametric FDR
  (5) save surface-based spotlights to ASCII file

24 Oct 2016
  (1) "T" and "C" buttons also do 'representative' vertex sampling
  (2) "ROI" button also does fill between phase contours
  (3) "CS" button also does surf-based FDR p-val correction for mult compare
  (4) tksurfer import/export: F3 panel "OFF" (*.off, opt w/face or vtx cols)
  (5) tksurfer 3D printer export: F3 panel "STL" (*.stl)

27 May 2016
  (1) cmdline paint, UQ directly generate label of uniq vertices
  (2) calculate data gradients on curved surfaces
  (3) 'surface normal' search along vector to same pial vertex
  (4) prf2sess: conv SamSrf files to image/wfiles so csurf can open as session

11 Apr 2016
  (1) spherical surface morph driven by curv + stat + complex map data
  (2) display MGH template .tif frame on any surface
  (3) view single subj data on another subj with one tick
  (4) many small bugfixes

30 Jan 2016
  (1) functions to read/write selected vertices from/to labels
  (2) dilating FILL
  (3) funct to assemble labels specified in MGH Color LUT to annotation
  (4) complex smoothing ("cr") with amp replaced by real-valued amp avg
  (5) all tksurfer/tkmedit dropdowns do live update
  (6) fix intro'd bugs: no FSURF_DIR, linux NOTES, reconall, smallscreen

30 Dec 2015
  (1) cmd/alt-f keyword search in all help panels
  (2) remove/restore list of single vertices from label
  (3) Save/Restore brain pose
  (4) surfclust reads/writes *.vtk files
  (5) tksurfer write *.vtk surface or surface+data

21 Nov 2015
  (1) csurf and Csurf.app work on Mac OS X 10.11, El Capitan (and earlier)
  (2) initial facility to read VTK files for surface (tri) and ovelay (wfile)
  (3) "h" buttons on csurf/tksurfer/tkmedit/tkregister for quick help

10 Oct 2015
  (1) Csurf.app for easier install
  (2) fixed nmovie crashing on recent Ubuntu and Mac
  (3) tksurfer/surfclust can read multi-frame .mgh files
  (4) 8 LUT cases: interpolate/nointerpol, bottom/center, symmetric/onesided

22 Sep 2015
  (1) csurf: Help -> All Help Contents (clickable)
  (2) calcvert can write native (or swapped) bare floats from curv file

12 Sep 2015
  (1) fix movie/slices tcl scripts so GLX stays live
  (2) fsaverage 'representative' vertex help

10 Sep 2015
  (1) p-value (opt covar) calc/disp for Pearson/circular searchlight corr
  (2) get 'representative' vtxs -- nearest to avg of set sampling 1 vox ("UQ")
  (3) Pearson/circ corr searchlight can use just 'representative' vtxs
  (4) tksurfer: (s)fthresh and (s)fmid fully wired into LUT/CARET/Jet
  (5) interactive surfclust button ("CS") moved to "val:" line
  (6) 40 new/updated R-click help panels, warn/explain overloaded clicks
  (7) fix left-click in black BG sometimes a crasher (!)
  (8) "W" on "val:" line disp/write percent resp from _x,_y (enter avgraw,tpts)
  (9) Mac: csurf looks for TextEdit before paleolithic xedit :-}

23 Aug 2015
  (1) "cp prev" buttons on Fourier and View Functional Data panels
  (2) can use Jet/CARET for cplx amp (click "Col:" for colscale panel)
  (3) direct manip hangover fixed by ShiftKeyUp clears missed mouse UpClicks

28 Jul 2015
  (1) HOWTO get middle click
  (2) tkmedit read ROI 2-state: "roiup:" (reg'd/upsampled) <=> "roin:" (native)
  (3) percent peak-to-peak response (fourier-analyzed)
  (4) bug fixes, INPROG tksurfer, tkmedit hacks

13 May 2015
  (1) overload "label:" line "D": conv label/annotation(s) to 3D AFNI ROI mask
  (2) bugfix: manually load complex stack now doesn't mangle color scale
  (3) bugfix: swap settings now doesn't mangle colscale on first swap

02 May 2015
  (1) hack to make csurf/tksurfer work reasonably on MacOSX 10.10 Yosemite
  (2) CARET "videen-style" colscale=17 (L-click-"Bg", F3, or mid-click BR)
  (3) S/V swapping between data sets saves/swaps color scale settings
  (4) can display gradient amplitude as color map (vs. arrows: R-click help GR)

10 Apr 2015
  (1) calculate geodesic path on surface, show as label
  (2) calculate/display gradients of curvature, val, or phase
  (3) display two gradients (fieldsign calculation)

22 Mar 2015
  (1) "X": Pearson or CircCorr 2 datasets (searchlight every vtx label/annotcol)
  (2) extract stats/3D-timecourses from one or all MGH annotation labels
  (3) read/display output of SamSrf pRF retinotopic map analysis
  (4) RECON-ALL panel: fix purple kill, accept BRIK input (auto to NIFTI)
  (5) can display just borders of MGH annotation or single labels

06 Mar 2015
  (1) read/write GIFTI ASCII surface (e.g., export from MIPAV)
  (2) display MGH annotation file labels, use to extract labelwise surf data
  (3) MGHTools->RegisterSurf default morph target now buckner40 (like recon-all)
  (4) long thin F5 tkmedit interface + many sm interface, R-click-help updates

20 Feb 2015
  (1) direct surface manip now only req's Shift-{L/M/R}-click-drag (was +ctrl)
  (2) auto-fix giant triangles AVGSURF inflated_avg poles (make_average_surface)
  (3) new combine labels function: see "C" button R-click help on "label:" line
  (4) update docs
  (5) Mac: XQuartz (X11 lib v10.0) now required (better stability)

07 Dec 2014
  (1) expand, document movie scripts (phase/offset/movie360/inflate/flatten)
  (2) update to tcl/tk 8.5.17
  (3) fixed recent Ubuntu csurf startup crash
  (4) Import Extern Stats can use .mgz stats file
  (5) AFNI version checking blocked (in case AFNI website down)
  (6) runs on Mac OS X 10.10 (tk is slow on some machines)

02 Nov 2014
  (1) "M"=mask, "C"=cut buttons on "patch:" line to mod current surf w/patch
  (2) tksurfer (F3 panel): 3D fill surf: normmv/scale/col3d/"fat"/fill3d/writeims
  (3) fix tcl error tkmedit F3 manual norm panel ( in lim/ffrac entries)
  (4) nmovie accepts mix of tiff sizes (centers later on first)

18 Oct 2014
  (1) local undo surface patch cuts using label (middle-click label "D" button)
  (2) new "D" button for "area:" to calc+disp curr/orig area ratio (distortion)
  (3) nmovie rewritten (Mac arrkeys, click-drag laptop scroll, static libtiff)
  (4) new scripts: inflatemovie.tcl, flattenmovie.tcl
  (5) direct manip/color-cache: clk surfwin, ctrl+shift + left/mid/right-clk drag

06 Sep 2014
  (1) 64-bit linux compile now available
  (2) add Linux libjpeg62 for recent releases, fix FreeSurferEnv.sh LD path
  (3) fix tcl crash on missing braces in $paint-3D_f 'if'
  (4) make trunphaseflag/max/min work with "bi" colscale
  (5) calcvert can now convert (all-vertex) wfiles to bare native floats

10 Jul 2014
  (1) "locklabel" (tksurfer F3 panel): locks vertices under label during shrink
  (2) MGHTools -> Flatten Surface allows re-flatten
  (3) fsaverage-adds.tgz: fixed inflated_avg, and new flattenings

24 Jun 2014
  (1) AVGSURF button: make_average_subject from CrossSubj Average panel subjlist
  (2) documentation for above in Help -> Cross Session Spherical Average
  (3) PAINT uses 3D _f file if there (was square amp of painted _r,_i)

16 Jun 2014
  (1) tkmedit F3 TEST handnorm does all slices to im2, ALL button renamed APPLY
  (2) tksurfer rgb dropdown, "R" button: easier chk/overwrite/modexisting/view
  (3) label: "C" button cuts hole or label, cutaway parts have zeroed val/val2
  (4) fix calvert ASCII->wfile bug w/vtx subset wfile (full rank wfile was OK)
  (5) new calvert -maskwfile operation (use label to zero some wfile vertices)
  (6) tksurfer SMOOTH button also smooths stat mask if loaded and mask ON

07 Jun 2014
  (1) "fsavg" checkbut, View Functional Data -> disp singlesub data on fsaverage
  (2) popup reports filled_{curr,orig}area for FILL/ROI/N/A/R
  (3) tkmedit val/mask/roi comboboxes init'd correctly w/overlay
  (4) FOURIER button also does 3D clust filter (3dmerge) for brainstem maps
  (5) better/tighter startup window positions so tkmedit display not covered
  (6) middle-click RESTORE also does recenter (new surf read in over startup)

18 May 2014
  (1) better single-sub stat mask support (csurf/tksurfer/tkmedit)
  (2) fourier: permutation test generate 3D -log10(p), auto-paints it to _p
  (3) help: permutation, smoothing, new outfiles, per-vertex col pipeline
  (4) tkmedit: dropboxes for BRIK stat overlays, CLR, FILL over sfthresh option

04 May 2014
  (1) new "label:" button "C" doesn't restore invisible for find label overlap
  (2) add MATLAB Jet colscale=15: "jt"
  (3) if tkregister "round", 1/10 micron (0.0001 mm) offset to stop alias
  (4) "R" button on "val:" line also accepts a 1frame 1D float *.mgh file
  (5) Setup Align/Funct accepts conforming (256/512) .mgz file for MOVEABLE
  (6) conflicting csurf/C/tcl intern varname (scandir,session) semantics fix

14 Apr 2014
  (1) tkregister on-the-fly change between round and trunc (F3 interface)
  (2) tkregister/paint/tksurfer/tkmedit autodetect/use "round" MGH register.dat
  (3) tksurfer: interface actions -> tcl tksurfer.log (Preferences or click tcl:)
  (4) tkmedit: same -> tkmedit.log (Preferences or click tcl:)
  (5) fourier multi-threaded permute-freq pval (if non-0 permute cnt Fourier pan)
  (6) add more 32-bit libs so nmovie works on curr default 64-bit Linux install
  (7) update Help -> csurf/tkregister/tksurfer/tkmedit

07 Mar 2014
  (1) fixlinks/addlibs for running 32-bit AFNI binaries on default 64-bit linux
  (2) paint: Bok-like correct (-bokflag/-sulfrac/-gyrfrac), read float .mgz/.mgh
  (3) tkmedit: open cursor, 512 flip, tclscript no -f, trunc editable, gauss kcnt
  (4) surf: fix overflowing tables for very large surfaces

05 Feb 2014
  (1) DSP uses current transparency in "alph" entry
  (2) tksurfer click toggles "area:"<-> "area2" => read 2nd second area
  (3) middle-click auto-reads/calculates/displays area ratio as 'curv'
  (4) (not visible) 1600 lines of csh compile/run code ported to POSIX sh

13 Jan 2014
  (1) fix sign rawaverage timeshift
  (2) purple button tkmedit PF/PFGAU
  (3) shift-middle-click "labels:" "W" button write data underlying DSP'd label
  (4) runra.{tcl,csh,sh} run/monitor 'n' copies of bg recon-all for subj list
  (5) updated 7 help panels

06 Jan 2014
  (1) time shift allowed in reversed-time raw averages (Combine 3D Raw Images)
  (2) wmfilter/tkmedit does anisotropic *Gaussian* plane filter (PFGAU button)
  (3) tkmedit does live 2D color operations (right-click "im2:")
  (4) tkmedit can use 2D color operations to edit-to-black (F3 interface: OP)
  (5) fixed bug in auto-read cluster mask for 3dDeconvolve-analyzed data
  (6) 12 help panels updated/new

13 Dec 2013
  (1) cross-subject t-test (AFNI) painted and surfclust'd with phasetype="w"
  (2) MGHTools->Register now also runs mris_sphere for all-manual morph
  (3) csurf Preferences menu item to change namefile (for 3D xsub thalamus avg)
  (4) paint accepts short BRIKs (for DWI 'stats')
  (5) tksurfer alt/cmd-k makes bigger surface cursor (also color neighbor edges)
  (6) fix render offscreen (for extra-hi-res, new R-click help at rgb WRITE)
  (7) higher max vertex count (1M->4M) allowed for init orig tessellation
  (8) live surfclust parms added to pop-up from R-click "label:"
  (9) updated 36 help panels

05 Oct 2013
  (1) tksurfer live read 3D stats (click "val:" to get "val3d:" alternate)
  (2) tksurfer live paint 3D stats, run surfclust
  (3) extract timecourse w/normsearch can also get stats ("S" button on "label:")
  (4) allow create functional inside subject
  (5) tksurfer/tkmedit/csurf help panels update

02 Sep 2013
  (1) find retin borders by grow from seed til overlap (find_retin_borders)
  (2) csurf interface, script to run above (Fieldsign panel, borders.tcl)
  (3) fill holes in label (fill_val_holes, fill_annot_holes)
  (4) update label/render/fieldsign help

22 Aug 2013
  (1) accidental missing # in csurf broke VOLUME-STATS
  (2) now runs in bash w/FreeSurferEnv.sh
  (3) update usages/help
  (4) surfclust/multiclust auto-expand stack to avoid crash w/one large cluster

18 Aug 2013
  (1) bugfixes (dropdown ?h.sphere revisible, Linux links for 32bit on 64bit OS)
  (2) update pop-up help (tksurfer fill/smooth, tkmedit "im:")

10 Aug 2013
  (1) debug csurf surfcluster handling
  (2) Talairach fix (log, tksurfer dump raw timecourses)
  (3) brik2cor trilinear interpolate improved

02 Aug 2013
  (1) fourier panel PAINT does single subject cluster filter
  (2) single subject render panel has option to use cluster filter
  (3) mask file lookup/wiring debugged

19 Jul 2013
  (1) better sample raw timecourse along normal controls
  (2) linrampphase2vtxcol

07 Jun 2013
  (1) read/write vertex-color labels: overlay diff colscale on bg activity

03 Jun 2013
  (1) uniq/search opts rawdata timecourses from label (Setup Align/Funct panel)
  (2) tkmedit lib script for dumping local orthogonal slice series

29 May 2013
  (1) optional max radius criterion to FILL
  (2) anatomical ROI using WMTRUNC
  (3) "W" roi also writes ASCII overlay (like a tksurfer .label) to .3dlabel

25 May 2013
  (1) SAMP2SUBJ also does surf-based clust exclusion for mult comparison correct
  (2) spherical average help updated

13 May 2013
  (1) color LUT dropdown
  (2) new "R" radius option for fill_nearest_vertices (along w/area, vtxcnt)
  (3) extensive cleanup of tksufer.tcl

11 May 2013
  (1) write patch bug fixed (was write curv instead)
  (2) default now to write MGH curv and area, compute current area fixed
  (3) add read/write area next to curv (for $hemi.area.mid and $hemi.area.pial)
  (4) new fill option ("A"): up to specified original area ("NUM" -> "N")

06 May 2013
  (1) fixed tkmedit read of MGH-generated Talairach coords to use c_{r,a,s} orig
  (2) fix tksurfer.tcl roibutton showstopper (statmaskampflag crash)
  (3) smallscreen additions: adj combolistbox adj, split/unsplit help menu

17 Apr 2013
  (1) tksurfer tools sulc/curv dropdown
  (2) auto-name movies
  (3) fix tksurfer read patch if started with 3D
  (4) block more bad chars for proposed subj/sess dir

07 Apr 2013
  (1) add extract/color/collapse/write/display/save single rawdata timecourse
  (2) slightly reduced full FT memory use fourier/rcxcombine

30 Mar 2013
  (1) edit/save proposed >32 GLT contrast names (easy to go over)
  (2) incl libGLU to run on stock Ubuntu 12.04, fix Ubuntu-squished Save/Close
  (3) incl bitmapped fonts for Linux in case not installed
  (4) add render panel phase color look-up table color scale
  (5) tksurfer extract timecourses uses midpoint of setup funct search min/max

13 Mar 2013
  (1) rm bfloats from 3dDeconvolve analysis pathway
  (2) adapt to new 3dDeconvolve label format
  (3) fix stat mask logic
  (4) add general linear test panel (superseded pairwise diffs)
  (5) finally auto-read AFNI TR's (!)
  (6) button to clean up large full FT's

28 Feb 2013
  (1) tksurfer now has surf/script/label/valfile dropdowns (a lot easier)
  (2) updated tksurfer help (csurf/tksurfer, surf, patch ROI)
  (3) got rid of inverted (white) hard-to-read text newer Linux combo/entry/menu
  (4) moved tksurfer revphaseflag to parallel its panel position in csurf
  (5) mv to centOS5.9 compile of tcl/tk/tix (old still in tarball)

13 Feb 2013
  (1) Fourier panel: statsformat (bfloat vs. afnibrik), fullFT, Hi-Freq (resp.)
  (2) Combine 3D Phase panel: add "vect avg full FT's, do sig" operation
  (3) fourier.c: -sigoutbrik to write BRIKs (versus bfloats)
  (4) fourier.c: -fullfourier, -fullfouramp to also mk full FT BRIKs (6x raw!)
  (5) fourier.c: -juststats reads full FT (vs. calc them), then does sig calc
  (6) rcxcombine.c: -ext BRIK reads/write statBRIKs or fullFT BRIKs
  (7) rcxcombine.c: -fullFT does read/avg/phaseoffset/reverse/output full FTs
  (8) paint.c: accept BRIK stats (in addition to bfloat)

07 Jan 2013
  (1) render panel display/save/pass/togglestate of sfthresh/sfmid/sfslope
  (2) tksurfer accepts signed t-stat for *complex* data (was missing fabs(fmid))
  (3) tkmedit accepts signed t-stat for *complex* data (was missing fabs(fmid))
  (4) fix introduced bugs in 04 Jan upload

04 Jan 2013
  (1) fix auto-add .mgz for tkmedit im2
  (2) statmask now visible in csurf (not yet in tksurfer, since real->val, swap)
  (3) major overhaul of real, complex, and cross subject tksurfer statmask
  (4) more auto setting of correct button by between-widget wiring
  (5) fieldsign works again

28 Dec 2012
  (1) tksurfer reports area of FILL or ROI patch to log
  (2) t-test _b (power) against t-val entry squared => avg-tstat-sph-sm1_b-lh.w
  (3) new csurf complex mask type: t-pow (left old t-sig still there for real)
  (4) tkmedit can display MGH parcellations (read into im2, click "la")
  (5) csurf Calc Rand Block Stats panel: ADD ADDITION
  (6) don't mask colscalebar (no def)

05 Dec 2012
  (1) multithreaded wmfilter (6x faster on 4 cores)
  (2) tkmedit: sphnormflag: spherical piecewise lin norm around click
  (3) tkmedit: "valn" readnative/reregister/subsampto1x1x1 "vals" (resampleed
  (4) tkmedit: "mskn" same as above for live stat mask for real stats
  (5) same as above 2 for tksurfer
  (6) tkmedit: color LUT like tksurfer
  (7) double tanh squash for real+{F,t}mask for tkmedit, tksurfer
  (8) csurf auto-reads 3dDeconvolve coef and t/F output

05 Nov 2012
  (1) 2x zoom option "z" fixed (HORIZ I/S was flipped)
  (2) tkmedit read/dumps/propagate .mgz footer tags
  (3) calcimg/tkstrip/wmfilter/fill propagate/add-their-cmdlines-to .mgz tags
  (4) tkmedit can read/display 2 surface at once ("2" checkbutton on surf line)
  (5) SubjectTools/MGHTools menus/actions updated
  (6) more Expert Preferences for tkstrip/wmfilter/fill/surf
  (7) now runs in Windows7 + VMWarePlayer + Centos5 + WMWareTools
  (8) tkmedit zoom ('z') fixes
  (9) tkmedit "val:"<->"reg:" -- can read/reg/subsamp native (non-subsamp) stats

[EMAIL updates begin above]

14 Sep 2012
  (1) tksurfer.c: shrink: calc_gradamp/gradampfac/chkgradampflag
  (2) tksurfer.c: make shrink button, purple/killable
  (3) tkmedit.tcl: checkbutton "2" next to "R" surf to read 2nd surface
  (4) tksurfer.c: read 2nd MRI dataset

24 Aug 2012
  (1) tkmedit.c: read/display/write 512^3 images
  (2) {cor2brik,tkstrip,wmfilter,fill,surf}.c: 512^3 images
  (3) csurf: SubjectTools hires 512^3 recon menu items
  (4) tksurfer.c: Gaussian distance/density weighted smooth_val_weighted

18 Feb 2012
  (1) tkmedit.c,tcl: fill_roi, write_roi, read_roi, labelflag
  (2) csurf: add Rayleigh test to SPEREAVG cross sub cmplx stats calcs
  (3) tksurfer.c: AP/SI/RL isocontour drawing fixed for quad and tri surfaces
  (4) tksurfer floodfill: respect labels, real/complex thresh, eroding

02 Jul 2011
  (1) tksurfer.c,tcl: write_label_timecourses "T" button
  (2) tksurfer.c: read_rawdata
  (3) multiple signed white phase contours
  (4) 57 new help panels

18 Mar 2011
  (1) Don Hagler complex F-stats works in sphere average panel
  (2) tkmedit: major update: disp/subsamp/3d-Gaussian-smooth cmplx stats
  (3) csurf: render panel VOLUME-STATS button finally works

30 Dec 2010
  Major restart/update/port:
  (0) start with orig Dale/Sereno UCSD IRIX-only source tree (e.g., surfer25g.c)
  (1) update tcl/tk/tix to 8.5
  (2) ANSI-ify, Mac and Linux tksurfer/tkmedit/tkregister ports
  (3) Mac/Linux/IRIS port/re-compile of all SessionTools binaries
  (4) csurf: new cross-subject real or complex spherical average panels
  (5) tksurfer: color labels, ipsi pol color and phase trunc, live load new surf
  (6) tkregister: invert and 3Dsmooth target, MIRR/SEND/GOTO/blink also on main

2000-2010
  Continued csurf development:
  (1) 2010: csurf35l (14K lines): sliceord phase correct, fourier diagram
  (2) 2009: csurf35h: CLONE FUNCT added to Setup Funct Scan
  (3) 2009: csurf35f: resurrect Import Ext Stats AFNI-SINGLE pane
  (4) 2009: csurf35e: new paint opts (mx|av|min,normop) in addfunctscan
  (5) 2007: csurf35a: (13K lines) first London
  (6) 2005: csurf34r: (13K lines) last UCSD
  (7) 2004: csurf34p: (12K lines)
  (8) 2003: csurf34g: (11K lines)
  (9) 2002: csurf34a: (10K lines)
  (10) 2001: csurf33a: (5K lines)
  (11) 2000: csurf32a: (4K lines)

06 Jun 2003
  (1) UCSD src tree IRIX/Linux tksurfer,tkmedit,tkregister branch continues
  (2) Don Hagler: cross-subj complex-valued F by unwrap to AFNI
  (3) Don Hagler: rcxcombine, surfclust, randsurfclust, multiclust, bresize

11 Dec 2000
  (1) surfer25g.c: last Sereno SGI-only + tk compile (13K lines)

01 Jun 1999
  (1) CorTechs CD HBM csurf release (csurf31: 3.7K lines)
  (2) port SGI IRIXGL to X11 OpenGL (#define OPENGL)

06 Jun 1998
  (1) csurf01: (tcl/tk/tix) recon/analysis/display (730 lines)
  (2) main dev tree forked to MGH by Bruce Fischl
  (3) Linux port initiated by Sean Marrett at MGH

06 Jun 1997
  (1) bsurf01: (tcl/tk) original tksurfer/tkmedit recon runner (1.3K lines)

16 May 1996
  (1) surfer23k.c: ellipsoid morph for HBM (9K lines)

29 Mar 1995
  (1) merge surfer.c(display), nsurfer.c(morph), msurfer.c(MEG)
  (2) add homemade ASCII script interpreter for movies
  (3) discovered tcl (h.t. Jon King), switch to tcl7.4 interpreter
  (4) surfer01a.c: first compile w/tk interface (SGI/IRIXGL)

01 Sep 1994
  (1) combine surface recon scripts into mksurface.csh
  (2) combine fourier analysis scripts into mkfunct.csh

06 Jun 1994
  (1) last Anders Dale {n,m}surfer.c (SGI IRIXGL, 5K lines)
  (2) last Anders Dale medit.c (SGI IRIXGL, 1.5K lines)
  (3) last Anders Dale trishrink.c/wmfilter.c/fill.c/surf.c (1.5K lines)

01 Jan 1989
  (1) surfer.c begun by Anders Dale (SGI IRIXGL)
  (2) medit.c begun by Anders Dale (SGI IRIXGL)

Back to the sereno homepage
Back to the csurf homepage