# Modifying \`vtkMRMLAbstractViewNode::Reset(...)\` function from MRMLCore

**URL:** <https://discourse.slicer.org/t/modifying-vtkmrmlabstractviewnode-reset-function-from-mrmlcore/20086>\
**Category:** Development\
**Created:** [October 9, 2021, 11:22pm UTC](https://discourse.slicer.org/t/modifying-vtkmrmlabstractviewnode-reset-function-from-mrmlcore/20086 "2021-10-09T23:22:31Z")\
**Posts on this page:** 1\
**Showing post:** 13

<div class="post-metadata">

**Author:** ![keri](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/keri/32/11618_2.png) [@keri](https://discourse.slicer.org/u/keri)\
**Post date:** [October 11, 2021, 8:32pm UTC](https://discourse.slicer.org/t/modifying-vtkmrmlabstractviewnode-reset-function-from-mrmlcore/20086/13 "2021-10-11T20:32:38Z")

</div>

> [@lassoan](#):
>
> Default view presets need to be set _somewhere_ . The View Controllers module seems to be a reasonable place for that. Where else would you put it?

I agree that presets should be set somwhere but in my opinion they should be set somwhere in medical module.  
It is very difficult to guess that module named `ViewControllers` and that is aimed at some widget manipulation brings some medical staff to SlicerCAT.  
To figure that out I started launching SlicerCAT with disabled modules. The first module to disable was `Endoscopy` (though I don’t know how I included it to app) because it is very obvious to think that medical modules makes medical changes and I was very surprised when I discovered that at `ViewControllers` 🙂

I’m not familiar with most medical modules that Slicer uses but I think such things should be implemented there (I can’t tell where exactly). Or probably make some GUI-less module where one does especially medical customization like manipulation with presets. Then those developers who work on SlicerCAT could disable this module and create his own (though I couldn’t do GUI-less module that is completely hidden yet but believe that is possible, I remember I created topic on that on this forum).

> [@lassoan](#):
>
> For example the View Controllers module could have a flag to control its behavior or could emit a signal after setting the defaults so that other modules can override those, or default orientation presets could be read from the application settings, etc.

I think this would bring some complexity for developers. Slicer already has well structured philosophy with scene, views, slices, nodes, modules, superbuild etc and I think adding signals to _control such things_ is like using insulating tape to weld metall.

The only solution I can see is to try to keep medical staff in medical modules.

P.S.  
Sometimes I need to make changes in Slicer core that is not appropriate for medical goals (like [resizing slice view while preserving field of view or aspect ratio](https://discourse.slicer.org/t/resizing-slice-view-doesnt-preserve-field-of-view/19636)) and for this I use [cpp tool](https://github.com/tierra-colada/cppguts) or [python tool](https://github.com/tierra-colada/pythonguts) that replaces selected function implementation during build time and thus allowing to use it in superbuild. Of course I’m trying to make core changes as less as possible

---

_[View the full topic](https://discourse.slicer.org/t/modifying-vtkmrmlabstractviewnode-reset-function-from-mrmlcore/20086)._
