Slicer Components

What is a module?

  • There are three types (for more information):
    • CLI modules
      • Are written as an .xml document.
      • Used to wrap inputs and outputs to a pre-existing command line program.
    • Scripted modules
      • Are written in python.
      • Can be developed using a downloaded and installed 3D Slicer.
      • This is ideal for beginners and quick prototyping.
    • Loadable modules
      • Are written in C++.
      • Have to build your own 3D Slicer in order to develop, for build instructions.
        • i.e. compile 3D Slicer source code using CMake and operating specific build tools (Visual Studio, g++, XCode, etc...).
      • This is preferred by experienced developers and provides higher functionality.

What is an extension?

  • An extension in 3D Slicer is a collection of one or more modules that typically have some commonality between them.
  • The extensions that are available in the 3D Slicer extension manager have been approved by the 3D Slicer team.

What is the SlicerIGT extension?

  • The SlicerIGT extension contains many modules that provide functionality for performing various IGT tasks.
  • One main purpose is it allows users to interact with different real time data sources (eg. ultrasound stream or tracking data).
  • Real time data is currently captured and broadcasted to the PlusServer from the Plus library.
  • In 3D Slicer, this data is received through the OpenIGTLinkIF module within the IGT extension (Slicer version 4.8 and earlier) or SlicerOpenIGTLink extension (Slicer version 4.9 and later).