Dr. Ashburner,I am trying to understand why the joint histogram starts at different positions on the X and Y axes. The X axis seem to have the majority of the voxels starting around bin 50 while the Y axis starts correctly at bin 1. Is there an explanation for this?
Thank you.2014-05-14 14:36 GMT-04:00 John Ashburner <[log in to unmask]>:
Perhaps it's just in the display. If I remember correctly, the coregistration displays log(H+1), rather than H.Best regards,-JohnOn 14 May 2014 18:38, Dorian P. <[log in to unmask]> wrote:Thank you Dr. Ashburner,I managed to get colored histogram following your advice (below an example). The result is a little different from what spm_hist2 produces, but I guess this has to do with differences in calculation algorithm.Thank you.DorianTJU2014-05-13 16:02 GMT-04:00 John Ashburner <[log in to unmask]>:I won't help with all the coding, but I could give you a few pointers. You can read images by:P=spm_select(Inf,'nifti');Nii=nifti(P);x=Nii(1).dat(:);y=Nii(2).dat(:);If you can convert x and y into integer values, ranging from 1..Nx and 1..Ny then you can use MATLAB's sparse function to create the joint histogram (providing the images are the same size and are in alignment voxel-for-voxel).H = full(sparse(x,y,1,Nx,Ny));If you have a mask (say a variable z) of ones and zeros, you can get the values within the mask byxmask = x(logical(z));ymask = y(logical(z));You can then generate a joint histogram from this subset of voxels.If you want to display something in colour, then you'll need to rescale the histograms to have values between 0 and 1, and combine three such images as rgb = cat(3,Hr,Hg,Hb), before using image(rgb).Best regards,-JohnOn 13 May 2014 19:42, Dorian P. <[log in to unmask]> wrote:
Hi SPM list,I am trying to plot a joint histogram of two images where voxels within a mask (third file) are colored differently. The function spm_hist2.m seem to be compiled and therefore not editable.Anybody can help with how to change the colors of specific dots in a joint histogram?I am using SPM8 on Windows Matlab 2012b.Thank you.DorianTJU