Documentation/4.0/Developers/Modules
From Slicer Wiki
Home < Documentation < 4.0 < Developers < Modules
Slicer supports 3 types of modules. While the developer has to choose between one of the 3 types to implement its module, the end user won't notice a difference as they all share the look&feel. The choice for a given type of module is usually based on the type of inputs/parameters for a given module.
Command Line Interface (CLI)
- CLIs are standalone executables with a limited input/output arguments complexity (simple argument types, no user interactions...). They are typically implemented using ITK.
- Shared lib or executable
- GUI automatically generated
- execution model
Loadable Modules
- C++ shared library
- Full control over the GUI (Qt) and the Slicer internals (logics, display managers...)
- Optimized for heavy computations
Scripted Modules
- Python
- Full access to the API: VTK, ITK, MRML, Qt, Slicer fully wrapped
- Recommended for fast prototyping