help > pixel instead of smoothed maps
Showing 1-5 of 5 posts
Results per page:
Jul 6, 2020  03:07 PM | Marcus heldmann
pixel instead of smoothed maps
Dear all,
since I am using the latest release, I am not able to create smooth activation maps. Instead, I am getting the pixel of my SPM tmaps. Any idea how to solve this problem?
Attachment: pixel_image.png
Jul 6, 2020  04:07 PM | Chris Rorden
RE: pixel instead of smoothed maps
I assume you are using v1.2.20200331 or later

In the Layer panel, click "Options" and make sure "Load Smooth Overlays" is checked if you want the overlays to use trilinear interpolation when re-sliced to the background image. Otherwise, you will get chunky images.

I strongly recommend you interpolate your images to match the background image before applying a statistical threshold. Since statistical maps are inherently smooth, voxels just beneath the threshold are meaningful. This information can not be recovered after the below-threshold voxels are set to zero.

If you choose Scripting/Templates/Jagged you can see a demo where one map is loaded smoothed and the other is not. The Python script is here:

import gl
#open background image
#open overlay: show positive regions
gl.minmax(1, 4, 4)
#open overlay: show negative regions
gl.minmax(2, -4, -4)
gl.colorname (2,"3blue")
print("n.b. Blue surface is jagged (smoothing off)");
Jul 7, 2020  07:07 AM | Marcus heldmann
RE: pixel instead of smoothed maps
Thanks for the quick help, but it was another mistake. SPM saved the tmap as 32bit and not as signed 16bit integer. I changed the format using SPM's imcalc, now I have the smooth activation overlay back again.
Jul 7, 2020  11:07 AM | Chris Rorden
RE: pixel instead of smoothed maps
Can you send me examples of both the 32-bit and signed 16-bit images to understand your experience (either post here or send link via DropBox/GoogleDrive to my email). The format of the data should not impact the display.
Jul 8, 2020  03:07 PM | Chris Rorden
RE: pixel instead of smoothed maps
Thanks for the examples. This is a feature of SPM setting the sub-threshold voxels to Not-A-Number while they are set to 0 in the 16-bit image. The behavior of the upcoming release will treat NaNs as zero and will attempt to preserve the volume of interpolated thresholded images, as described here.

However, please always consider thresholding images AFTER resampling them to the desired resolution. You can either load the thresholded image into MRIcroGL and then apply the threshold, or you could use a simple Matlab script to replace and subsequently threshold.