################################################################### LATEST EMAIL UPDATE: 18 May 2014 ################################################################### Here are the main changes (see UPDATES.txt for complete history, details of last 2 updates appended below): Sorry for the constant update spam. The fixes are mostly relevant for 3D retinotopy, and for better understanding of complex-valued smoothing effects. I am currently working on cross-subject permutation tests for complex-valued data. 1) Better single-subject complex statistical mask support (csurf/tksurfer/tkmedit/help). I finally got my mind clear (again) about why to avoid using the complex amplitude derived from complex-valued smoothing where a statistic has been inserted as the complex amplitude. This will reduce significance more -- because of local phase dispersion -- than will masking unthresholded complex-smoothed data with a smoothed real-valued statistic; the real-valued smoothing ignores phase (which it should). The effect is esp. bad w/3D smoothing (see tkmedit fixes below). 2) The fourier.c permutation test now generates a 3D -log10(p) _p BRIK (in addition to inserting -log10(p) into amplitude of _r,_i BRIKs) and the PAINT button auto paints and surfclust's _p, generating _q (N.B.: the surfclust uses the hard thresh in the SingleSub SurfClust PreThr F/p entry, which will need to be different for F and 'p' -- actually -log10(p)). More testing showed that most of the gains I thought were from using the permutation test were actually coming from point 1 above :-} On the positive side, the great similarity of the unsmoothed permutation test stats to our original F stats was heartening :-} 3) Help updates: Help -> Calc 3d Fourier Stats (permutation, smoothing) Help -> View Functional Data (new outfiles, F table, tksurfer -> R-clk fmid (explain per-vertex squash color scale pipeline) tksurfer -> R-clk SMOOTH (explain complex smoothing) 4) Tkmedit now has combobox dropdowns for overlay data that are auto-loaded with available stat BRIKs (and bfloats) for native and upsampled valfiles (real and complex), native and upsampled maskfiles, and ROI BRIKs. There were also bugs fixed in the native mask loading (it was loading valfile again, overlaymaskflag and double entries not set until second read). By masking with smoothed stats, there is a substantial improvement in the significance of brainstem 3D 5) Tkmedit can now 3D FILL an roi to $sfthresh if a mask is loaded. The FILL button has different behaviors depending on display state: --no overlay: 3D fill underlay within WMTRUNC limits --overlay: 3D fill real or complex amplitude above $fthresh --mask: 3D fill mask value above $sfthresh FILL also has a optional 3D radius limit, and respects any temporary cuts in underlay image to limit the fill. The ROIs can be used to mask overlays or to extract 3D timecourses. To install: cd mv csurf csurf-YYMMDD tar xvfz csurf0.8-{mac,linux}-YYMMDD.tgz cheers, marty ### UPDATE: 18 May 2014 --tkmedit.tcl: add CLR button left of interpolLUT to clear up-sampled buffers --tkmedit.c: clear_upsamp_stat() clear any already upsamp'd (0-3) --lib/help/tkmedit/roi_fill: mask-defined ROI update --tkmedit.c: if mask loaded and in use, FILL to sfthresh instead of fthresh --tkmedit.tcl: fix_statpatt_m_if_bfloat before readnativemask --tkmedit.tcl: readnativemask: mk dbl entries, overlaymaskflag=1 before upsamp --tkmedit.tcl: block read nonconforming (not 256/512^3) as upsamp stat/mask/ROI --tkmedit.tcl: read{native,upsamp}mask: better err if select imag of cplx pair --wrappers.tcl: add shrinkcomboarrows more (for tkmedit.tcl) --tkmedit.tcl: valn/valup entry: add combobox dropdown loaded w/BRIKs,bfloat --tkmedit.tcl: mskn/mskup entry: add combobox dropdown loaded w/BRIKs,bfloat --tkmedit.tcl: roi: add combobox dropdown loaded w/BRIKs --tkmedit.tcl: fix incorrect entry read on readnativemask (was reading valfile) --lib/help/tksurfer/fmid: document basic per-vertex squash color scale pipeline --lib/help/tksurfer/smooth: general diff between complex vs. real smoothing --csurf: select_complexstatsource: catch -no_mask-, better error check/messages --csurf: fixswfileprefs: 1sub phase sig+mask: order: _f,_h,_p,_q, else no mask --csurf: paintcmd: if permtest, run surfclust on _p to get _q (re-use F parms) --csurf: select_complexstatsource ask reset Data Type cplx (callbk does cpx chk) --lib/help/csurf/setupfour: doc diff effect smoothing on perm _p vs. amp(_r,_i) --lib/help/csurf/{setupfour,setuprender}: doc _p file --csurf: getuniqcomplexstemlist: don't trim _p --csurf: paintcmd: if permtest, overwrite amp(r,i) '_f' wfile w/real _f from 3D --csurf: paintcmd: if permtest, also paint _p (fourier mks _f BRIK if permtest) --fourier.c: also output _p BRIK if permtestcnt>0 (turnoff/warn if bfloat out) --csurf: cpregcmd copies/reports/updates rounding policy --csurf: fourier always -fout: N.B.: won't match _r,_i if permute test (for cf.) --lib/help/csurf/setupfour: add help for permutation test, _f output --fourier.c: sigim[1] redefined: a=>f, -fout (def) saves F ("a" not read/output