# About creating Customslicer

**URL:** <https://discourse.slicer.org/t/about-creating-customslicer/29821>\
**Category:** Development\
**Tags:** python\
**Created:** [June 4, 2023, 6:08am UTC](https://discourse.slicer.org/t/about-creating-customslicer/29821 "2023-06-04T06:08:22Z")\
**Posts on this page:** 1\
**Showing post:** 19

<div class="post-metadata">

**Author:** ![dsa934](https://sea2.discourse-cdn.com/flex002/user_avatar/discourse.slicer.org/dsa934/32/17907_2.png) [@dsa934](https://discourse.slicer.org/u/dsa934)\
**Post date:** [June 6, 2023, 3:33am UTC](https://discourse.slicer.org/t/about-creating-customslicer/29821/19 "2023-06-06T03:33:55Z")

</div>

Please confirm if I am misunderstanding the slicer.

New function: Can be implemented by adding a module through ‘extension wizard’

Modification of existing functions: There is a way to customize without modifying the sclier core.

So why does CustomSlicer (SlicerCAT) exist?  
Is the purpose of using it to customize the logo, GUI environment, etc. to suit my purpose without simply changing the slicer core?

For example, there are two ways to save work in slicer as far as I know.

- Click the Save icon.
- Shortcut (“Ctrl+s”)

> [@lassoan](#):
>
> You can replace the save dialog by your own by registering a custom `qSlicerFileDialog` for `NoFile` type (that refers to the scene save dialog).
> 
> You can change the behavior an application exit (by default: ask for confirmation and if scene is changed then offer saving) as shown [here](https://slicer.readthedocs.io/en/latest/developer_guide/script_repository.html#override-application-close-behavior).

This method seems to be a way to modify the filediaglog that pops up when the ‘SaveIcon’ is clicked.  
However, if ‘override’ is applied to a shortcut that has already been designated, it will not be applied.

==============================================

‘Save function modification’ is just an example of a case where an existing function needs to be modified.

I thought it would be simpler to use the ‘Extension Wizard’ if you were adding your own modules(New function ) to the Slicer, and if you were customizing an existing function(save, load dicom, etc … ) , it would be simpler to directly access and modify the implementation part of the function.

I understand that if you are developing in the form of a ‘plugin’ in the current slicer, it will be more convenient to use CustomSlicer in this case because it is difficult to modify the existing function. Did I misunderstand?

Then, the purpose of CustomSlicer is to activate only the functions that the user wants in the slicer to make it light, and for direct modification of existing functions, is there no difference between building and using ‘Slicer’ or ‘CustomSlicer’?

---

_[View the full topic](https://discourse.slicer.org/t/about-creating-customslicer/29821)._
