AFNI Message Board

Dear AFNI users-

We are very pleased to announce that the new AFNI Message Board framework is up! Please join us at:

https://discuss.afni.nimh.nih.gov

Existing user accounts have been migrated, so returning users can login by requesting a password reset. New users can create accounts, as well, through a standard account creation process. Please note that these setup emails might initially go to spam folders (esp. for NIH users!), so please check those locations in the beginning.

The current Message Board discussion threads have been migrated to the new framework. The current Message Board will remain visible, but read-only, for a little while.

Sincerely, AFNI HQ

History of AFNI updates  

|
April 21, 2023 01:29PM
I did mean "show" with images, but okay. You don't mean a TSNR map, but just a single volume of PET imaging from some scan of a radioisotope that shows whole brain coverage? I am assuming FDG as the tracer then? Are you looking at the mean, median image, peak or something else?

The SNR is computed as the mean signal within the brain compared to its own standard deviation as a ratio or to standard deviation outside the brain, in air, in corners,..., or only used in a more qualitative way? Are these uptake volume ratios normalized by a ratio to a particular part of the brain, like the cerebellum?

In a general sense, 3dUnifize normalizes data, but it does have a radius parameter that can be adjusted for different species. This is a non-smoothing operation, just varying intensities and scaling them to have a value of about 1000 in a sphere that covers a fair chunk of the input. I think you can ignore the GM option for noisy PET data. You can also use 3dLocalUnifize does a similar job but scales using the median value in a spherical neighborhood to values around 1.0. Again the radius is an option.

Making data noisier can be done with 3dcalc. There are various options for random numbers. I think I have only used gran in the past to add random noise, but you have choices.

* gran(m,s) returns a Gaussian deviate with mean=m, stdev=s
* uran(r) returns a uniform deviate in the range [0,r]
* iran(t) returns a random integer in the range [0..t]
* eran(s) returns an exponentially distributed deviate
with parameter s; mean=s
* lran(t) returns a logistically distributed deviate
with parameter t; mean=0, stdev=t*1.814

You may also want to blur the data in similar ways with 3dBlurToFWHM. The FWHM size should be approximately proportional to voxel sizes across the species.

Basically, everywhere a particular method uses a distance in mm, you would have to adjust for that to accommodate different species. That's the purpose of the "feature_size" option in @animal_warper for passing a radius to 3dAllineate for alignment. Nonlinear alignment with 3dQwarp assumes voxel distances, and doesn't need adjustment.

I'm not sure at all if any of that is helpful, so feel free to followup with more information and questions.
Subject Author Posted

Downscaling image to a lower SNR

Doughboys April 21, 2023 04:05AM

Re: Downscaling image to a lower SNR

Daniel Glen April 21, 2023 11:50AM

Re: Downscaling image to a lower SNR

Doughboys April 21, 2023 12:01PM

Re: Downscaling image to a lower SNR

Daniel Glen April 21, 2023 01:29PM