# New module to manually align 3D views

**URL:** <https://discourse.slicer.org/t/new-module-to-manually-align-3d-views/35634>\
**Category:** Development\
**Created:** [April 20, 2024, 4:07pm UTC](https://discourse.slicer.org/t/new-module-to-manually-align-3d-views/35634 "2024-04-20T16:07:09Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [April 20, 2024, 4:07pm UTC](https://discourse.slicer.org/t/new-module-to-manually-align-3d-views/35634/1 "2024-04-20T16:07:09Z")

</div>

We have added a new module called `QuickAlign` to SlicerMorph. QuickAlign allows you manually orient two different 3D objects (can be both volume and model nodes), and create a synced view between them. This was initially prototyped at the [39th PW](https://projectweek.na-mic.org/PW39_2023_Montreal/Projects/RenderingSupportForMultipleViews/)

We find it useful to visualize and compare scans that are acquired in different orientations without need to modify their orientation through transforms module or registration.

Comments/suggestions are welcome.

---

<div class="post-metadata">

**Author:** ![mau\_igna\_06](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mau_igna_06/32/9056_2.png) [@mau\_igna\_06](https://discourse.slicer.org/u/mau_igna_06)\
**Post date:** [April 20, 2024, 4:58pm UTC](https://discourse.slicer.org/t/new-module-to-manually-align-3d-views/35634/2 "2024-04-20T16:58:49Z")

</div>

Nice… I’m wondering if it would be useful to optionally output the transform that would achieve the visual synchronization

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [April 20, 2024, 5:47pm UTC](https://discourse.slicer.org/t/new-module-to-manually-align-3d-views/35634/3 "2024-04-20T17:47:46Z")

</div>

We thought about it, but these transforms are relative. For example if manipulate the orientation of object 1 and then object 2, they will be aligned in the viewer, but the transforms will not be of something that’s directly of use to you.

Nevertheless, if you start the sync view, and go to the Data module, transforms are there.

---

<div class="post-metadata">

**Author:** ![mau\_igna\_06](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mau_igna_06/32/9056_2.png) [@mau\_igna\_06](https://discourse.slicer.org/u/mau_igna_06)\
**Post date:** [April 20, 2024, 7:09pm UTC](https://discourse.slicer.org/t/new-module-to-manually-align-3d-views/35634/4 "2024-04-20T19:09:51Z")

</div>

This can be used as a manual eyeballing registration method (I just tested it) but there will be the need to add a “Pause/Resume Sync” button between “Start Sync” and “End Sync” to be able to iterate an improve the resulting transform.

Example:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/b/d/bd0edb81f93e4bd1a4aa958c54df7fd8c4faa3d7.jpeg)

Note: the random transform is very different to the identity

This module would be useful on a surgical planning workflow for mandible reconstruction with iliac crest bone where you need to move a segment of the iliac crest to fill the salvaged mandible empty space

Another useful feature would be to allow interpolated opacity between the two objects (in only one 3D view) controlled by a slider

Hope it makes sense

---

<div class="post-metadata">

**Author:** ![coco](https://avatars.discourse-cdn.com/v4/letter/c/8797f3/32.png) [@coco](https://discourse.slicer.org/u/coco)\
**Post date:** [June 22, 2024, 6:53am UTC](https://discourse.slicer.org/t/new-module-to-manually-align-3d-views/35634/5 "2024-06-22T06:53:09Z")

</div>

This is fastalign now in slicermorph I guess

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [June 22, 2024, 1:40pm UTC](https://discourse.slicer.org/t/new-module-to-manually-align-3d-views/35634/6 "2024-06-22T13:40:32Z")

</div>

This is called quickAlign not fastAlign.

---

<div class="post-metadata">

**Author:** ![mau\_igna\_06](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/mau_igna_06/32/9056_2.png) [@mau\_igna\_06](https://discourse.slicer.org/u/mau_igna_06)\
**Post date:** [June 22, 2024, 9:44pm UTC](https://discourse.slicer.org/t/new-module-to-manually-align-3d-views/35634/7 "2024-06-22T21:44:55Z")

</div>

> [@mau\_igna\_06](#):
>
> This can be used as a manual eyeballing registration method (I just tested it) but there will be the need to add a “Pause/Resume Sync” button between “Start Sync” and “End Sync” to be able to iterate an improve the resulting transform.

Hi @muratmaga,

Was that implemented? 🙂

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [June 22, 2024, 9:49pm UTC](https://discourse.slicer.org/t/new-module-to-manually-align-3d-views/35634/8 "2024-06-22T21:49:08Z")

</div>

No, we didnt implement that. For our applications, we dont need to be that precise and i am yet to encounter a situation where i feel like i have to iterate.

But if you think this will be a useful feature and have time to work on it, feel free to send a PR pause functionality add.

---

<div class="post-metadata">

**Author:** ![coco](https://avatars.discourse-cdn.com/v4/letter/c/8797f3/32.png) [@coco](https://discourse.slicer.org/u/coco)\
**Post date:** [June 23, 2024, 7:15am UTC](https://discourse.slicer.org/t/new-module-to-manually-align-3d-views/35634/9 "2024-06-23T07:15:32Z")

</div>

Thanks, I could not find it in 5.6.1, nor install the module via the “install extensions”. is it in the latest version ?

---

<div class="post-metadata">

**Author:** ![muratmaga](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/muratmaga/32/3622_2.png) [@muratmaga](https://discourse.slicer.org/u/muratmaga)\
**Post date:** [June 23, 2024, 3:12pm UTC](https://discourse.slicer.org/t/new-module-to-manually-align-3d-views/35634/10 "2024-06-23T15:12:14Z")

</div>

Yes. Always use the latest stable since extensions are not updated for older ones.
