# Elastix registration toolbox is now available in Slicer

**URL:** <https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165>\
**Category:** Support\
**Tags:** registration, feature\
**Created:** [April 21, 2017, 3:22pm UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165 "2017-04-21T15:22:52Z")\
**Posts on this page:** 13\
**Page:** 1

<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:** [April 21, 2017, 3:22pm UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165/1 "2017-04-21T15:22:52Z")

</div>

[Elastix](http://elastix.isi.uu.nl/) is a very powerful registration toolbox with lots of advantages over stock ITK registration tools - it has many more metrics, transformation methods, constraints, optimizers, and it comes with a large registration parameter set database, which contains optimized settings for a wide range of registration tasks.

This toolbox is now available in Slicer, through the SlicerElastix extension, in the latest nightly builds.

Even the default settings work really well for simple (same patient, same modality) and difficult cases (different modality, different field of view, even different patient), as shown in this 1-minute demo video here: [https://youtu.be/cU0pWhn0-3o](https://youtu.be/cU0pWhn0-3o)

Limitations: Masking will be available in tomorrow’s nightly build. Multi-label, landmark, 4D volumes, and multi-metric inputs are not supported yet (can be added quite easily if the community needs it). Parameter set editing is manual (edit files in a directory).

Any feedback and suggestions are welcome.

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/1/6/16590a1afb6681e927f0d51513511d2bc2b058c0.jpeg)

---

<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:** [April 21, 2017, 8:46pm UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165/2 "2017-04-21T20:46:02Z")

</div>

7 posts were split to a new topic: [Elastix registration returns with failure](https://discourse.slicer.org/t/elastix-registration-returns-with-failure/170)

---

<div class="post-metadata">

**Author:** ![cpinter](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/cpinter/32/7995_2.png) [@cpinter](https://discourse.slicer.org/u/cpinter)\
**Post date:** [April 24, 2017, 1:55pm UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165/3 "2017-04-24T13:55:42Z")

</div>

This is great! The simplicity of the module makes it even more promising than BRAINS! Maybe this is the kind of news that would be worth adding to the Announcements category.

---

<div class="post-metadata">

**Author:** ![brhoom](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/brhoom/32/1228_2.png) [@brhoom](https://discourse.slicer.org/u/brhoom)\
**Post date:** [April 27, 2017, 7:07pm UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165/4 "2017-04-27T19:07:35Z")

</div>

Looks great. Elastix is one of the best registration tools. I can not find it in the extension manager, do I miss something?  
Quick question. did you integrate elastix within Slicer? or do you run elastix in the background? I think the first option is better as writing/reading the images from/to the hdd is time consuming.  
best!

---

<div class="post-metadata">

**Author:** ![brhoom](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/brhoom/32/1228_2.png) [@brhoom](https://discourse.slicer.org/u/brhoom)\
**Post date:** [April 27, 2017, 7:21pm UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165/5 "2017-04-27T19:21:42Z")

</div>

found it. I had to download the nightly build. I alsof found out that you use it in the background. It would be great if there is a cooperation between Slicer and elastix group to integrate it with-in Slicer in the future. I have some ideas to enhance the extension, I will try to contribute them soon. 🙂

---

<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:** [April 27, 2017, 7:29pm UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165/6 "2017-04-27T19:29:56Z")

</div>

Time for reading/writing uncompressed binary files is negligible (compared to registration or resampling time), even for very large files. Generating the resampled output and displacement field are time-consuming, so that deserves some attention.

1. I think the resampled output volume is generated twice (once by elastix, at the end of each registration phase; once by transformix at the end - these are redundant).
2. We could avoid id completely by changing Elastix to write ITK-compatible transforms or implement Elastix transform readers in SlicerElastix.

Contributions are welcome!

---

<div class="post-metadata">

**Author:** ![ihnorton](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/ihnorton/32/9_2.png) [@ihnorton](https://discourse.slicer.org/u/ihnorton)\
**Post date:** [April 27, 2017, 9:04pm UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165/7 "2017-04-27T21:04:21Z")

</div>

2 posts were split to a new topic: [Announcements category traffic?](https://discourse.slicer.org/t/announcements-category-traffic/218)

---

<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 18, 2017, 5:22am UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165/8 "2017-11-18T05:22:40Z")

</div>

A post was split to a new topic: [Elastix registration returns with error status](https://discourse.slicer.org/t/elastix-registration-returns-with-error-status/1485)

---

<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:** [February 8, 2019, 5:03pm UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165/9 "2019-02-08T17:03:35Z")

</div>

A post was split to a new topic: [Model to image registration](https://discourse.slicer.org/t/model-to-image-registration/5696)

---

<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:** [July 2, 2019, 7:13pm UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165/10 "2019-07-02T19:13:54Z")

</div>

A post was split to a new topic: [Abdominal CT registration using Elastix](https://discourse.slicer.org/t/abdominal-ct-registration-using-elastix/7387)

---

<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:** [February 11, 2020, 2:05pm UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165/11 "2020-02-11T14:05:16Z")

</div>

A post was split to a new topic: [How to add multi-metric inputs function to SlicerElastix?](https://discourse.slicer.org/t/how-to-add-multi-metric-inputs-function-to-slicerelastix/10202)

---

<div class="post-metadata">

**Author:** ![HodaGH](https://avatars.discourse-cdn.com/v4/letter/h/858c86/32.png) [@HodaGH](https://discourse.slicer.org/u/HodaGH)\
**Post date:** [April 14, 2021, 4:20pm UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165/12 "2021-04-14T16:20:15Z")

</div>

Hello,

I would like to use Simplex optimizer in Elastix but it gives an error that it’s not installed. Is it possible to include it?

Thank you.

---

<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:** [April 14, 2021, 4:26pm UTC](https://discourse.slicer.org/t/elastix-registration-toolbox-is-now-available-in-slicer/165/13 "2021-04-14T16:26:23Z")

</div>

We build Elastix with default build options. If something is not enabled by default then probably there is a good reason for it (e.g., that algorithm does not perform well or its usage is discouraged for other reasons).

Probably simplex optimizer is not included by default because it is a very basic optimizer. It may be sufficient for very easy problems, but better quality optimizers are available (that can find more accurate results, faster). You can ask on the SimpleITK forum/mailing list to confirm and if you learn that there is good motivation to use simplex method then let us know and we’ll change the Elastix build options.

In the meantime, you can configure Elastix module in Slicer (in Advanced section) to use an elastix executable that you download from the Elastix website or you build yourself.
