Are there applications about GIS based on 3D Slicer?

Are there applications about GIS based on 3D SLICER?

Can 3D SLICER be used to develop GIS applications?

I am not aware of any.

I also don’t think Slicer is the right choice for GIS. Most GIS data is inherently 2D (lat/long). Even if you did manage to do something, you would have to code all the functionality yourself (e.g., different types of map projections).

There is already a very mature open-source GIS platform called GRASS. is there a reason you are not exploring that?

There are some geo/mining applications, but mostly analysis of drilling cores and not geography mapping.

VTK - the library that Slicer is based on - contains lots of GIS features, including lots of projections, dynamic forward/inverse computations, texture mapping, etc. that would be all readily usable in Slicer. Still, due to the lack of experience of the Slicer community in this field and most of the funding focusing on clinical and biomedical applications you might find you need to develop some essential features on your own (or get funding for it).

You might want to ask @Davide_Punzo, who developed SlicerAstro - an edition of 3D Slicer for astronomy applications - about his experiences in using Slicer outside its main application area.

1 Like

The view factory can be used to fully customize the 2D slice view (e.g having lat-long coordinate axis, etc…) and the controller widgets (the buttons).

You can have a look at the code available in the astrovolume module in SlicerAstro extension (see below for links).

In my astronomical use case (HI 3D data cubes), each dataset was covering little portion of the sky. So I have applied coordinate transformation (in my case celestial wcs transformations) only for the calculation of 2d axis and for the data prode (i.e getting the lat-long at the ijk coordinate)

However, if the data extend on large range of lat and long you would need to apply the transforms also to the data (you could create a vtkTrasformSomething, if your non-linear transformation is not implemented in vtk/Slicer).

This is all doable, but you need to implement this in C++ and having some knowledge of Slicer infrastructure which is not super documented.


There were actually some issues with the factory with recent Slicer version (not sure if they are still an issue), but unfortunately I never had the time to investigate/fix it.


I see, thank you very much