Nifti Coordinates and Atlases

I am looking for map the nifti coordinates to Atlas areas. I have below questions:

  • First I think my nifti coordinates are in i,j,k space[since both qform_code and sfrom_code == ‘scanner’], right? so I need to convert them to x,y,z[MNI space first].Can I just apply the affine transformation and it will give me the coordinates in MNI space or should I use the function http://nilearn.github.io/modules/generated/nilearn.image.coord_transform.html#nilearn.image.coord_transform? What confuses me is that the MNI coordinates I get are floats but I think they must be integers. The affine transformation in my nifit is:
    srow_x : [ -2.95961881 -0.204623 0.59447175 82.84215546]
    srow_y : [ -0.22385383 2.98946524 -0.15194418 -97.11065674]
    srow_z : [ 0.43651536 0.1456929 3.95265937 -88.87265015]

  • How to map each MNI coordinates[x,y,z] to atlas areas. which tool I can use for this, lets say If I want to map MNI space to Harvard-Oxford Atlas? I think FSL can do. Did anyone did something like this before? I also see http://nilearn.github.io/modules/reference.html#module-nilearn.regions has some functions, but I am not sure which one can be better to use/ or if nilearn can really be used for this purpose or not.

  • Can we say that Talairach and Brodmann Areas are similar?If I map to Talairach I also map to brodmann areas?

  • Another tool which seems like might work is: https://brainder.org/2012/07/30/automatic-atlas-queries-in-fsl/ but I do not understand what does threshold mean here.

About your first question, as you have qform_code and sfrom_code == ‘scanner’, it means that after applying “image.coord_transform(50, 50, 50, niimg.affine)” you will get the coordinates in the scanner coordination, and not MNI. Then if you want the MNI, you should convert these scanner reference to MNI coordinates.

About your third question, if you execute the snippet below, with each of the 5 levels (‘hemisphere’, ‘lobe’, ‘gyrus’, ‘tissue’, ‘ba’), you can see different segmentations in 1 constant coordination system, called Talairach.

Retreive the atlas

from nilearn import datasets

level_name : {‘hemisphere’, ‘lobe’, ‘gyrus’, ‘tissue’, ‘ba’}

Talairach_atlas = datasets.fetch_atlas_talairach(‘ba’)
atlas_filename = Talairach_atlas.maps
labels = Talairach_atlas.labels # 71 Brodmann areas
from nilearn import plotting
plotting.plot_roi(atlas_filename)