###################################################################
LATEST EMAIL UPDATE: 13 Feb 2013
###################################################################

Overall summary:

  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)


I did a bunch of tcl and C coding (1500 lines) to
implement a full FT averaging (which is better than
rawaverage because you can adjust the phase delay
at stim freq correctly -- hard to do w/rawaverage).

The other big thing was to fix csurf, fourier, paint,
and rcxcombine so we can now avoid bfloats entirely
in the single subject retinotopy.  It's back
compatible with existing bfloat analyses, and you
can still choose to generate bfloats.

The advantage of this is that the stats (sig as well
as fullFT) are now viewable in AFNI (to see full FT
of voxel, use "Graph" which has freqs instead of
timepoints) and aligned with the raw time course
files (AFNI ORIGIN).  Very informative to see how
much respiration (hi-freq) and other junk in there!!

I did the 32-bit Linux compiles in CentOS 5.9 inside
VirtualBox on Mac OS 10.6 and updated the FreeSurfer0.8
tarfile, too.

I moved the latest tarfiles (src and binary, Mac
and Linux) and NOTES over to zakros:

  zakros:/home/inverse/freesurfer/NOTES.txt
  zakros:/home/inverse/freesurfer/tarballs/csurfsrc-130213.tgz
  zakros:/home/inverse/freesurfer/tarballs/csurf0.8-mac-130213.tgz
  zakros:/home/inverse/freesurfer/tarballs/FreeSurfer0.8-130213.tgz

Summary and full details below.

cheers,
marty

##############
UPDATE DETAILS
##############

### UPDATE: 13 Feb 2013
--FreeSurfer0.8: fourier bfloat2brik brik2bfloat brik2cor calcimg paint
--FreeSurfer0.8: rcxcombine rawaverage csurf8.5 setupfour setupsigavg
--FreeSurfer0.8: tkmedit8.5 tkregister8.5 tksurfer8.5
--csurf: update setupfour and setupsigavg help, hide Fourier panel infixes
--csurf: [Select-to-Add gen'd "3D Stat Image Prefix" same for sigavg,fullFTavg]
--csurf: checkanalyseinput -> gettimeseriesinputstem
--csurf: sigavg fullFT two-stage: rcxcombine fullFT's, then fourier the avg
--csurf: sigaveragecmd: fullFT avg requires same stimcycles, timepoints
--csurf: sigaveragecmd: add sigoperation fullphavgsig
--csurf: fourier: tick "full FT" => statformat->afnibrik (not req'd,consistent)
--csurf: expose Hi-Freq cutoff (rm hi freq breathing above 100 w/256reps)
--rcxcombine: -fullFT: read full fourier, offset applied at stimfreq, reverse
--rcxcombine: read/average a set of full FTs (no t-tstats)
--fourier.c: rm defunct in-plane smooth opt/funct, better varnames,usage
--fourier.c: rm float fstimfreq, clamp hi end of noise freq bandpass to Nyquist
--fourier.c: opt -juststats: skip FTs, read 2 xyzf BRIKs, calc stats as before
--fourier.c: opt -fullfourier: dump full cplx FT (N.B.: 4x size of raw data)
--fourier.c: opt -fullfouramp: dump fourier amp (N.B.: 2x size of raw data)
--fourier.c: cp DELTA, ORIENT_SPECIFIC, ORIGIN from model HEAD for AFNI view
--fourier.c: write float stat BRIKS, larger parmtype/value for sscanf long
--csurf: VOLUME-STATS also passes complex stat BRIKs for overlay (TODO: real)
--csurf: "full FT" checkbox dumps 3 extra full FT BRIKs: real/imag/amp
--fourier.c: options to write allfreq complex FT BRIKs, allfreq amplitude BRIK
--csurf: stripbpatt generalized for +orig.BRIK, better filter (fix rcxcombine)
--csurf: paintcmd: pass bfloat or BRIK to paint (paint checks suffix)
   (above is cmd not mkpanel since PAINT is an extra button on several panels)
--csurf: paintcmd: config'd pre-phasestatformat w/bfloats -> set statfmt bfloat
--csurf: sigaveragecmd: {bfloat,BRIK}, -ext {bfloat/BRIK} to BRIK-OK rcxcombine
   (above in cmd not mkpanel because sigavg is cross scandir, dep on inputs
--rcxcombine.c: -ext BRIK to read/avg/write stat BRIKs
--sigaveragecmd: config'd pre-phasestatfmt w/bfloats+1stavg is bfloat -> same
--addfourscan: bfloat/afnibrik radio button, maybe pass -sigoutbrik to fourier
--addfourscan: config'd pre-phasestatformat w/bfloats -> set statfmt bfloat
--csurf: sigaveragecmd: COMBINE works with bfloat or BRIK
--csurf: paintcmd: bakcomp: if found bfloats set missing phasestatformat=bfloat
--csurf: bfloat/afnibrik radio button for FOURIER, pass -sigoutbrik to fourier
--csurf fix introduced overlay file bakcompat coeffsuffold check crash w/t-stat
--bigger parmtype[]: fourier.c, bfloat2brik.c brik2bfloat.c, brik2cor.c,
    calcimg.c, paint.c, rawaverage.c, tkmedit.c, tkregister.c, tksurfer.c
--mk0: fix Linux AFNI auto download (bad comment-out, libver used before set)
--tk{surfer,medit,register,strip}.c: autotries 16bit depthbuffer if 24bit fails
--new linux compile: CentOS-5.9-i386 in VirtualBox on Mac OS X 10.6
--csurf/help/setuprender: updated
--tkmedit.c: tkmedit added options kfwhm/kcnt, smooth overlay if kfwhm!=0.0
--csurf: render panel passes kfwhm/kcnt for overlay smoothing to tkmedit
--tkmedit.c: tkmedit added options bwmid/bwslope and sfthresh/sfmid/sfslope
--csurf: render panel passes bwmid/bwslope underlay contrast to tkmedit
--csurf: render panel passes sfthresh/sfmid/sfslope options to tkmedit
...




