Hi, In the --help output of mri_surf2surf, the following explanation is given for --fwhm-src fwhmsrc:
Smooth the source or target with a gaussian with the given fwhm (mm). This is actually an approximation done using iterative nearest neighbor smoothing. The number of iterations is computed based on the white surface. This method is similar to heat kernel smoothing. This will give the same results as --nsmooth-{in,out}, but automatically computes the the number of iterations based on the desired fwhm.
What is the equation used to compute the number of iterations, and is it valid for an average surface?
Hi Lars,
I think the formula is:
fwhm = (2.3*sqrt(niter*2/pi));
Doug's in Florence, so may not reply right away. I think there's also a correction for the average surface as it has less surface area than any of the subjects in the average.
cheers, Bruce
p.s. here's the code snippet from mris_surf2surf.c:
int MRISfwhm2niters(double fwhm, MRIS *surf) { double avgvtxarea, gstd; int niters;
MRIScomputeMetricProperties(surf); avgvtxarea = surf->total_area/surf->nvertices;
if(surf->group_avg_surface_area > 0){ // This should be ok even if metric properties have been scaled ?? printf("INFO: fwhm2niters: Fixing group surface area\n"); avgvtxarea *= (surf->group_avg_surface_area/surf->total_area); }
gstd = fwhm/sqrt(log(256.0)); //1.14 is a fudge factor based on empirical fit of nearest neighbor niters = floor(1.14*(4*PI*(gstd*gstd))/(7*avgvtxarea) + 0.5); return(niters); }
On Mon, 12 Jun 2006, Lars M. Rimol wrote:
Hi, In the --help output of mri_surf2surf, the following explanation is given for --fwhm-src fwhmsrc:
Smooth the source or target with a gaussian with the given fwhm (mm). This is actually an approximation done using iterative nearest neighbor smoothing. The number of iterations is computed based on the white surface. This method is similar to heat kernel smoothing. This will give the same results as --nsmooth-{in,out}, but automatically computes the the number of iterations based on the desired fwhm.
What is the equation used to compute the number of iterations, and is it valid for an average surface?
That code snippet is what we use. There is an adjustment for the average surface because it has much less surface area than an individual.
doug
Hi Lars,
I think the formula is:
fwhm = (2.3*sqrt(niter*2/pi));
Doug's in Florence, so may not reply right away. I think there's also a correction for the average surface as it has less surface area than any of the subjects in the average.
cheers, Bruce
p.s. here's the code snippet from mris_surf2surf.c:
int MRISfwhm2niters(double fwhm, MRIS *surf) { double avgvtxarea, gstd; int niters;
MRIScomputeMetricProperties(surf); avgvtxarea = surf->total_area/surf->nvertices;
if(surf->group_avg_surface_area > 0){ // This should be ok even if metric properties have been scaled ?? printf("INFO: fwhm2niters: Fixing group surface area\n"); avgvtxarea *= (surf->group_avg_surface_area/surf->total_area); }
gstd = fwhm/sqrt(log(256.0)); //1.14 is a fudge factor based on empirical fit of nearest neighbor niters = floor(1.14*(4*PI*(gstd*gstd))/(7*avgvtxarea) + 0.5); return(niters); }
On Mon, 12 Jun 2006, Lars M. Rimol wrote:
Hi, In the --help output of mri_surf2surf, the following explanation is given for --fwhm-src fwhmsrc:
Smooth the source or target with a gaussian with the given fwhm (mm). This is actually an approximation done using iterative nearest neighbor smoothing. The number of iterations is computed based on the white surface. This method is similar to heat kernel smoothing. This will give the same results as --nsmooth-{in,out}, but automatically computes the the number of iterations based on the desired fwhm.
What is the equation used to compute the number of iterations, and is it valid for an average surface?
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
freesurfer@nmr.mgh.harvard.edu