Build a Talairach grid

Operating system: Windows 10
Slicer version: 4.10.2
Expected behavior: overlay a Talairach grid system over a CT/MRI 3D volume
Actual behavior: none

I would like to create a talairach grid model such as performed in this software ( Users Guide - Manual ACPC and Talairach Transformation - Support BrainVoyager) or in this publication (
Input would be a 3D CT/MRI brain volume after aligned it to the AC/PC plane without any deformation. User would need to input specific points : brain most anterior point, brain most posterior point, most lateral point leftward, most lateral point rightward, most superior point, and temporal most inferior point.
Output : would be the same volume and overlay of a proportional talairach grid where the brain is divided in 12x8 boxes.
Final goal is to be able to segment brain lesions (eg hemorrhage) on CT-scan and report results as a statistical map in a 3D Talairach grid (there was x number of lesions in a specific box of the coordinate system).

Although far less precise than atlas strategies based on normalization in the MNI space, this would allow to map lesions from an individual CT scan to the Talairach atlas where each box of the Talairach grid system corresponds to specific neuroanatomical structures. As a neurosurgeon, I think this would have immediate applications in clinical practice to work with data from CT scan which remains the most used imaging modality, especially in the context of emergency

I think this issue is close to these ones (#3525, #6205) but I couldn’t find an answer.

I don’t know if this can be done using existing modules, willing to contribute to a new module if necessary but would need some guidance

Thank you for your help
Best regards

Is the current can ACPC transform module sufficient or you would need something different or more?

Unfortunately, the ACPC module is implemented in C++, so to modify it you need to build Slicer. Alternatively, you can create a new very simple Python scripted module.

No unfortunately the ACPC module doesn’t allow to draw a grid.

@Fernando posted a python script to perform the AC/PC alignment in this thread (ACPC transform question)

Maybe there is a possibility to build on this.

Best regards


1 Like

The ACPC module is slightly more sophisticated (it uses principal component analysis to get midsagittal plane, has multiple operating modes, etc.) but I agree that the Python script linked above can be a good start for the module logic.

I would recommend to create a simple Python scripted module by following the PerkLab Bootcamp Slicer programming tutorial. This year we do the bootcamp online, so if you have time you can probably join in (see details here).

Thank you ++ I registered

1 Like

@matthieufaillot, let me know if you need more context about the code I shared. @sarafv could probably help as well.

I am still trying to build a tridimensional grid with unevenly spaced cells (rectilinear grid) that I want to overlay on a tridimensional medical image (eg. brain MR, brain CT scan). My ultimate goal is to be able to use this grid to compute the presence or absence of a structure/lesion in each cell of the grid ( and then be able to produce statistical maps when average the grids of multiple subjects).
In order to define the coordinates of each axis, I manually created markups fiducials on one coronal slice, on one axial slice, and one sagittal slice.
Then I created a vtk rectilinear grid based on the coordinates of these markups fiducials.
However I cannot display the vtk rectilinear grid as a node ( I cannot use slicer.modules.models.logic().AddModel() because the vtk rectilinear grid object doesn’t have outputs).
Is it possible to convert the rectilinear grid to a an unstructured grid or a polydata object and then create the node from the unstructured grid/polydata object ?
Is there a better solution ?
Thank you for your help

Most likely this is very easy to do by a few line of Python script, but I’m not sure what exactly you mean by a “tridimensional grid with unevenly spaced cells”. Could you draw a sketch or add a link to publications that describe what you want to do with more details and examples?