# Vtk collection 1 instance memory leak

**URL:** <https://discourse.slicer.org/t/vtk-collection-1-instance-memory-leak/42121>\
**Category:** Development\
**Created:** [March 14, 2025, 1:21am UTC](https://discourse.slicer.org/t/vtk-collection-1-instance-memory-leak/42121 "2025-03-14T01:21:26Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Derek\_Wang](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/derek_wang/32/78608_2.png) [@Derek\_Wang](https://discourse.slicer.org/u/Derek_Wang)\
**Post date:** [March 14, 2025, 1:21am UTC](https://discourse.slicer.org/t/vtk-collection-1-instance-memory-leak/42121/1 "2025-03-14T01:21:26Z")

</div>

in 3d slicer ScriptedLoadableModuleWidget class, setup is to load the widget,when exitting from slicer,what method will be called to prevent memory leak

---

<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 14, 2025, 1:33am UTC](https://discourse.slicer.org/t/vtk-collection-1-instance-memory-leak/42121/2 "2025-03-14T01:33:44Z")

</div>

When you call a “factory” mehtod that returns a new `vtkCollection` object then you need to call `UnRegister(None)` on that object to prevent memory leaks. See more information [here](https://slicer.readthedocs.io/en/latest/developer_guide/advanced_topics.html#factory-methods).

---

<div class="post-metadata">

**Author:** ![Derek\_Wang](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/derek_wang/32/78608_2.png) [@Derek\_Wang](https://discourse.slicer.org/u/Derek_Wang)\
**Post date:** [March 14, 2025, 8:36am UTC](https://discourse.slicer.org/t/vtk-collection-1-instance-memory-leak/42121/3 "2025-03-14T08:36:48Z")

</div>

Thanks a lot for the help.

---

<div class="post-metadata">

**Author:** ![Derek\_Wang](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/derek_wang/32/78608_2.png) [@Derek\_Wang](https://discourse.slicer.org/u/Derek_Wang)\
**Post date:** [March 15, 2025, 12:06am UTC](https://discourse.slicer.org/t/vtk-collection-1-instance-memory-leak/42121/4 "2025-03-15T00:06:49Z")

</div>

self.segmentEditorWidget.exit()  
self.segmentEditorWidget.setSegmentationNode(None)  
self.segmentEditorWidget.setMRMLScene(None)  
self.segmentationNode.UnRegister(None)  
slicer.mrmlScene.RemoveNode(self.segmentationNode)  
self.segmentEditorWidget.deleteLater()
