Aloha, fellow freesurfers,
currently I am in the process of switching from freesurfer 3.0.5 to 4.3.0 (hopefully I can do the same for fsfast later). In that process I am revisiting mzy old scripts and try to improve them (or at least get rid of some cargo-cult coding). One of the more crirtical early steps for processing monkey brains, at least that is my experience, are the two normalization steps. Now here is the help from mri_normalize:
mri_normalize input output
-n <int n> use n 3d normalization iterations (default=2) -no1d disable 1d normalization -conform interpolate and embed volume to be 256^3 -noconform do not conform the volume -gentle perform kinder gentler normalization -f <path to file> use control points file (usually control.dat) -fonly <fname> use only control points file -w <mri_vol c> <mri_vol b> : write ctrl point(c) and bias field(b) volumes -a <float a> use control point with intensity a above target (default=25.0) -b <float b> use control point with intensity b below target (default=10.0) -g <float g> use max intensity/mm gradient g (default=1.000) -prune <boolean> turn pruning of control points on/off (default=off). pruning useful if white is expanding into gm -MASK maskfile -monkey turns off 1d, sets num_3d_iter=1 -nosnr disable snr normalization -sigma sigma smooth bias field -aseg aseg -v Gvx Gvy Gvz for debugging -d Gx Gy Gz for debugging -r controlpoints biasfield : for reading -u or -h print usage
initially I use "mri_normalize -n 1 -no1d -gentle nu.mgz $T1.mgz", this invocation was handed down to me and I always just used it. Could someone in the know, explain, why monkey data should be processed without 1d normalization (and what is 1d normalization), and why only one iteration of 3d normalization is recommended; and what is the difference between a default normalization and a normaization using - gentle? (Since I mainly use the T1 for skull stripping and as underlay I guess I can just play around with the parameters to optimize the skull strip).
I wonder especially, as I usually take monkey data at 0.5mm resolution, but fudge the header information so freesurfer thinks it is at 1.0mm, that way the size difference between human and monkey data is much less, compared to using monkey data at real 1.0mm resolution. And I have a hunch that the size difference might be the reason for special casing monkey data during normalization.
Later I use "mri_normalize -f ${controlpoints} -monkey -MASK ${mask} nu.mgz brain.unmasked.mgz". Again I am interested to learn whether there is any reasoning to use the -monkey parameter here. (Since the full recon takes a while, doing trial and error here is a bit less attractive)
Thank you very much in advance for any insight,
aloha Sebastian
freesurfer@nmr.mgh.harvard.edu