# Creating a new coordinate system

**URL:** <https://discourse.slicer.org/t/creating-a-new-coordinate-system/19446>\
**Category:** Support\
**Tags:** transforms, coordinates\
**Created:** [August 31, 2021, 6:27pm UTC](https://discourse.slicer.org/t/creating-a-new-coordinate-system/19446 "2021-08-31T18:27:37Z")\
**Posts on this page:** 1\
**Showing post:** 16

<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:** [September 3, 2021, 4:40am UTC](https://discourse.slicer.org/t/creating-a-new-coordinate-system/19446/16 "2021-09-03T04:40:16Z")

</div>

You can define a coordinate system using a markups plane node:

 ![image](https://us1.discourse-cdn.com/flex002/uploads/slicer/original/3X/4/f/4fd6fd42bfe7e90bf0b890105aa4424e79e42ae5.jpeg)

The advantage of using this instead of a transform that you can conveniently place the node using 3 points and then further adjust its position and orientation using interaction handles.

Once you have defined the plane, you can get the the transform between this coordinate system and the RAS coordinate system like this:

```python
planeToWorld = vtk.vtkMatrix4x4()
getNode('P').GetObjectToWorldMatrix(planeToWorld)

```

If you concatenate this transform with the result of the model registration then you’ll get the rotation and translation between the bones in the plane coordinate system.

---

_[View the full topic](https://discourse.slicer.org/t/creating-a-new-coordinate-system/19446)._
