# Surface editor and labeling

**URL:** <https://discourse.slicer.org/t/surface-editor-and-labeling/10748>\
**Category:** Development\
**Tags:** segmentation\
**Created:** [March 19, 2020, 6:48pm UTC](https://discourse.slicer.org/t/surface-editor-and-labeling/10748 "2020-03-19T18:48:28Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![juanprietob](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/juanprietob/32/6306_2.png) [@juanprietob](https://discourse.slicer.org/u/juanprietob)\
**Post date:** [March 19, 2020, 6:48pm UTC](https://discourse.slicer.org/t/surface-editor-and-labeling/10748/1 "2020-03-19T18:48:28Z")

</div>

I would like to start this discussion to develop a 3D surface editor in Slicer that will allow coloring/labeling/spray paint a surface mesh or perform other operations such as cut, clip, smoothing. All the tools should be interactive.

---

<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:** [March 19, 2020, 7:03pm UTC](https://discourse.slicer.org/t/surface-editor-and-labeling/10748/2 "2020-03-19T19:03:38Z")

</div>

You can use all the existing segmentation effects in `Segment Editor` to edit surface models, if you convert your model as a segmentation, or import it (if it is stl or obj) directly as segmentation.

While as a user part of me also would like to have this functionality, given the existing range of functions in Segment Editor and how easy `Segmentations` module makes it go back from a scalar volume to 3D models back and forth, I think it would be hard to justify the time investment.

There is also a `Surface Toolbox` with a range of function to edit meshes.

---

<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:** [March 19, 2020, 7:53pm UTC](https://discourse.slicer.org/t/surface-editor-and-labeling/10748/3 "2020-03-19T19:53:22Z")

</div>

Operations on surface meshes are necessary for some projects, especially when you work with open surfaces (segmentations are always closed surfaces). We already have lots of tools in place, some more are coming withing weeks, while others we don’t have plans for.

Existing features:

- labelling: point labels can be attached to surfaces and points are moved on surfaces by default
- smoothing, decimation, cleaning, hole filling, etc.: provided by Surface Toolbox module
- EasyClip extension can do some clipping with a plane

Planned:

- clip: dynamic clipping with multiple planes and on-surface curves - [plane widget pull request](https://github.com/Slicer/Slicer/pull/4746) is already under review, clipping tool is expected to be released within 1-2 months
- creation of parametric surfaces (curved planes) - in 6-12 months
- Picking of models: you should be able to pick a model and choose operations on it by right-clicking - in 6-12 months
- Boolean operations: built-in VTK Boolean filters are broken but [Romer’s vtkbool package](https://github.com/zippy84/vtkbool) is supposed to work much better, we can integrate that into Slicer

Not planned:

- coloring/spray paint
- sculpting tools (use Segment Editor instead)
- CAD-style parametric editing (use CAD tools instead; for example, we could implement a bridge to open-source Python-based FreeCAD)
