# SetPosition of ellipsoid

**URL:** <https://discourse.slicer.org/t/setposition-of-ellipsoid/2721>\
**Category:** Support\
**Created:** [April 27, 2018, 4:15pm UTC](https://discourse.slicer.org/t/setposition-of-ellipsoid/2721 "2018-04-27T16:15:24Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Frederic](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/frederic/32/4907_2.png) [@Frederic](https://discourse.slicer.org/u/Frederic)\
**Post date:** [April 27, 2018, 4:15pm UTC](https://discourse.slicer.org/t/setposition-of-ellipsoid/2721/1 "2018-04-27T16:15:24Z")

</div>

Hi all,  
I have write a little script to draw on slicer an ellipsoid.  
However, I do not know how to set the position (center), could you please help me?  
Thanks in advance.

The code

> ellips = vtk.vtkParametricEllipsoid()  
> ellips.SetXRadius(40.0)  
> ellips.SetYRadius(10.0)  
> ellips.SetZRadius(15.0)  
> ellipsSource = vtk.vtkParametricFunctionSource()  
> ellipsSource.SetParametricFunction(ellips)  
> ellipsSource.Update()  
> modelsLogic = slicer.modules.models.logic()  
> model = modelsLogic.AddModel(ellipsSource.GetOutput())  
> model.SetName(‘ellipse\_1’)  
> model.GetDisplayNode().SetSliceIntersectionVisibility(True)  
> model.GetDisplayNode().SetSliceIntersectionThickness(3)

from this code:

> ellipsoid = vtk.vtkParametricEllipsoid()  
> ellipsoid.SetXRadius(1)  
> ellipsoid.SetYRadius(0.75)  
> ellipsoid.SetZRadius(0.5)  
> ellipsoidSource = vtk.vtkParametricFunctionSource()  
> ellipsoidSource.SetParametricFunction(ellipsoid)  
> ellipsoidSource.SetScalarModeToZ()  
> ellipsoidMapper = vtk.vtkPolyDataMapper()  
> ellipsoidMapper.SetInputConnection(ellipsoidSource.GetOutputPort())  
> ellipsoidMapper.SetScalarRange(-0.5, 0.5)  
> ellipsoidActor = vtk.vtkActor()  
> ellipsoidActor.SetMapper(ellipsoidMapper)  
> ellipsoidActor.SetPosition(8, -12, 0)  
> ellipsoidActor.SetScale(1.5, 1.5, 1.5)

---

<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, 2018, 8:14pm UTC](https://discourse.slicer.org/t/setposition-of-ellipsoid/2721/2 "2018-04-27T20:14:05Z")

</div>

You can add these lines to apply a transform to the model node:

```
transformNode = slicer.mrmlScene.AddNewNodeByClass("vtkMRMLTransformNode")
model.SetAndObserveTransformNodeID(transformNode.GetID())
transform = vtk.vtkTransform()
transform.Translate(8, -12, 0)
transform.Scale(1.5, 1.5, 1.5)
transformNode.SetMatrixTransformToParent(transform.GetMatrix())

```

Note that you can go to Transforms module and use the sliders to edit your transform.

---

<div class="post-metadata">

**Author:** ![Frederic](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/frederic/32/4907_2.png) [@Frederic](https://discourse.slicer.org/u/Frederic)\
**Post date:** [April 30, 2018, 12:30pm UTC](https://discourse.slicer.org/t/setposition-of-ellipsoid/2721/3 "2018-04-30T12:30:43Z")

</div>

Once again, thanks Andras.
