Hi,
I am trying to resample two volumetric data onto freesurfer individual subjects. The volume images are NIFTI format from SPM results (spmT_0001.img and con_0001.img). I used the following command to resample spmT map onto the surface:
mri_vol2surf --mov 3t0499/model/ravol/spmT_0001.img --reg
3t0499/register.dat --projfrac 0.5 --interp nearest --hemi lh --o ./lh.spmT_tmp.mgh --surf-fwhm 5 --noreshape > .mri_vol2surf.spmT.txt
and this worked fine when I checked lh.spmT_tmp.mgh using tksurfer. Similarly, I tried to resample the con_0001.img image, using the following command:
mri_vol2surf --mov 3t0499/model/ravol/con_0001.img --reg
3t0499/register.dat --projfrac 0.5 --interp nearest --hemi lh --o ./lh.con_tmp.mgh --surf-fwhm 5 --noreshape > .mri_vol2surf.con.txt
Now, when I checked the results using tksurfer, majority of the surface vertices are valued zero, and these zero-valued vertices were NaN's when I read the mgh file in matlab.
I expect the same resampling procedure to take place for the spmT map and the con map. There should be no difference between the spmT*.img and the con*.img except that the values at each voxel is different. But, why are the two *mgh files look so different? Why do I see NaN's in most of the vertices in the con*.mgh (while it seems spmT*.mgh looks fine)?
Joon
p.s. FYI, .mri_vol2surf.spmT.txt and mri_vol2surf.con.txt are below:
more .mri_vol2surf.spmT.txt
srcvol = 3t0499/model/ravol/spmT_0001.img srcreg = 3t0499/register.dat srcregold = 0 srcwarp unspecified surf = white hemi = lh ProjFrac = 0.5 thickness = thickness interp = nearest float2int = round GetProjMax = 0 INFO: float2int code = 0 Done loading volume Reading surface ./3t0499/surf/lh.white Done reading source surface Reading thickness ./3t0499/surf/lh.thickness Done Mapping Source Volume onto Source Subject Surface 1 0.5 0.5 0.5 Done mapping volume to surface Number of source voxels hit = 10273 Surface smoothing by fwhm = 5 (n=14) Smoothing done, nsteps = 14, tsec = 0.375 Writing to ./lh.spmT_tmp.mgh Dim: 144558 1 1
more .mri_vol2surf.con.txt
srcvol = 3t0499/model/ravol/con_0001.img srcreg = 3t0499/register.dat srcregold = 0 srcwarp unspecified surf = white hemi = lh ProjFrac = 0.5 thickness = thickness interp = nearest float2int = round GetProjMax = 0 INFO: float2int code = 0 Done loading volume Reading surface ./3t0499/surf/lh.white Done reading source surface Reading thickness ./3t0499/surf/lh.thickness Done Mapping Source Volume onto Source Subject Surface 1 0.5 0.5 0.5 Done mapping volume to surface Number of source voxels hit = 10273 Surface smoothing by fwhm = 5 (n=14) Smoothing done, nsteps = 14, tsec = 0.383 Writing to ./lh.con_tmp.mgh Dim: 144558 1 1
I'm not sure what's going wrong. I don't know that much about SPM, but I vaguely remember that it puts NaNs in the image to indicate the background voxels. Maybe it does this only for the con? Do the con and spmT have 0s or NaNs in the background? Also, you probably don't want to smooth the spmT images. Also, have you checked the registration with tkregister2? That would probably not explain why you see differences between the con and the spmT.
doug
Joonkoo Park wrote:
Hi,
I am trying to resample two volumetric data onto freesurfer individual subjects. The volume images are NIFTI format from SPM results (spmT_0001.img and con_0001.img). I used the following command to resample spmT map onto the surface:
mri_vol2surf --mov 3t0499/model/ravol/spmT_0001.img --reg
3t0499/register.dat --projfrac 0.5 --interp nearest --hemi lh --o ./lh.spmT_tmp.mgh --surf-fwhm 5 --noreshape > .mri_vol2surf.spmT.txt
and this worked fine when I checked lh.spmT_tmp.mgh using tksurfer. Similarly, I tried to resample the con_0001.img image, using the following command:
mri_vol2surf --mov 3t0499/model/ravol/con_0001.img --reg
3t0499/register.dat --projfrac 0.5 --interp nearest --hemi lh --o ./lh.con_tmp.mgh --surf-fwhm 5 --noreshape > .mri_vol2surf.con.txt
Now, when I checked the results using tksurfer, majority of the surface vertices are valued zero, and these zero-valued vertices were NaN's when I read the mgh file in matlab.
I expect the same resampling procedure to take place for the spmT map and the con map. There should be no difference between the spmT*.img and the con*.img except that the values at each voxel is different. But, why are the two *mgh files look so different? Why do I see NaN's in most of the vertices in the con*.mgh (while it seems spmT*.mgh looks fine)?
Joon
p.s. FYI, .mri_vol2surf.spmT.txt and mri_vol2surf.con.txt are below:
more .mri_vol2surf.spmT.txt
srcvol = 3t0499/model/ravol/spmT_0001.img srcreg = 3t0499/register.dat srcregold = 0 srcwarp unspecified surf = white hemi = lh ProjFrac = 0.5 thickness = thickness interp = nearest float2int = round GetProjMax = 0 INFO: float2int code = 0 Done loading volume Reading surface ./3t0499/surf/lh.white Done reading source surface Reading thickness ./3t0499/surf/lh.thickness Done Mapping Source Volume onto Source Subject Surface 1 0.5 0.5 0.5 Done mapping volume to surface Number of source voxels hit = 10273 Surface smoothing by fwhm = 5 (n=14) Smoothing done, nsteps = 14, tsec = 0.375 Writing to ./lh.spmT_tmp.mgh Dim: 144558 1 1
more .mri_vol2surf.con.txt
srcvol = 3t0499/model/ravol/con_0001.img srcreg = 3t0499/register.dat srcregold = 0 srcwarp unspecified surf = white hemi = lh ProjFrac = 0.5 thickness = thickness interp = nearest float2int = round GetProjMax = 0 INFO: float2int code = 0 Done loading volume Reading surface ./3t0499/surf/lh.white Done reading source surface Reading thickness ./3t0499/surf/lh.thickness Done Mapping Source Volume onto Source Subject Surface 1 0.5 0.5 0.5 Done mapping volume to surface Number of source voxels hit = 10273 Surface smoothing by fwhm = 5 (n=14) Smoothing done, nsteps = 14, tsec = 0.383 Writing to ./lh.con_tmp.mgh Dim: 144558 1 1
Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
freesurfer@nmr.mgh.harvard.edu