# Using the invert displacement field function

**URL:** <https://discourse.slicer.org/t/using-the-invert-displacement-field-function/4768>\
**Category:** Development\
**Tags:** transforms\
**Created:** [November 15, 2018, 6:35pm UTC](https://discourse.slicer.org/t/using-the-invert-displacement-field-function/4768 "2018-11-15T18:35:13Z")\
**Posts on this page:** 1\
**Showing post:** 2

<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:** [November 15, 2018, 6:41pm UTC](https://discourse.slicer.org/t/using-the-invert-displacement-field-function/4768/2 "2018-11-15T18:41:33Z")

</div>

Slicer uses [VTK’s transform classes](https://www.vtk.org/doc/nightly/html/classvtkAbstractTransform.html), which are far more versatile than ITK (SimpleITK):

- you can concatenate arbitrary chain of forward/inverse transforms and VTK can apply it to objects dynamically
- VTK transforms provide transformation on the entire 3D space (while in ITK transforms, displacement drops to 0 outside the specified domain)
- VTK ensures displacement is smoothly converging 0 or constant outside the specified domain, which allows robust inverse computation.

If you need an inverse transform that ITK can use, you can convert the transform to a displacement field (in Transforms module / Convert section).

---

_[View the full topic](https://discourse.slicer.org/t/using-the-invert-displacement-field-function/4768)._
