# Fiducial to Model Surface Distance

**URL:** <https://discourse.slicer.org/t/fiducial-to-model-surface-distance/9554>\
**Category:** Support\
**Tags:** feature\
**Created:** [December 18, 2019, 10:24pm UTC](https://discourse.slicer.org/t/fiducial-to-model-surface-distance/9554 "2019-12-18T22:24:34Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![lassoan](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/lassoan/32/13_2.png) [@lassoan](https://discourse.slicer.org/u/lassoan)\
**Post date:** [December 19, 2019, 6:36pm UTC](https://discourse.slicer.org/t/fiducial-to-model-surface-distance/9554/8 "2019-12-19T18:36:47Z")

</div>

You need to be comfortable with Python language, which you can learn in a few days from tutorials on the web. Then the rest is about getting to know libraries. Slicer mainly relies on VTK (that you can learn from VTK [textbook](https://vtk.org/documentation/) and [examples](https://lorensen.github.io/VTKExamples/site/)), ITK (for image processing, that you can learn from the [ITK software guide](https://itk.org/ITKSoftwareGuide/html/)), and Qt (for GUI; which you can learn from Qt documentation and examples). Slicer adds a little extra layer and logic, which you can learn from studying Slicer programming tutorials, script repository, and source code of Slicer core and extensions.

The tutorial that I linked above is a good starting point and you can always ask questions here. You can also come to one of the [Slicer project weeks](https://projectweek.na-mic.org/) where you bring your own problem that you work on with help from Slicer experts.

---

_[View the full topic](https://discourse.slicer.org/t/fiducial-to-model-surface-distance/9554)._
