Documentation/Nightly/Developers/DirectoryStructure

From Slicer Wiki
Revision as of 14:55, 21 September 2023 by JChris.FillionR (talk | contribs) (→‎Extension install and build tree)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Home < Documentation < Nightly < Developers < DirectoryStructure


For the latest Slicer documentation, visit the read-the-docs.


Back to Build System

Slicer

Build tree

Slicer_HOME
 |
 + bin
 |  |
 |  + designer
 |  |
 |  + iconengines
 |
 + lib
 |  |
 |  + Slicer-X.Y
 |      |
 |      + cli-modules
 |      |
 |      + qt-loadable-modules
 |      |
 |      + qt-scripted-modules
 |
 + share
   |
   + Slicer-X.Y
      |
      + cli-modules
      |   |
      |   + CLIModuleName1
      |   |
      .   .
      |   |
      |   + CLIModuleNameN
      |
      + qt-loadable-modules
      |   |
      |   + QtLoadableModuleName1
      |   |
      .   .
      |   |
      |   + QtLoadableModuleNameN
      |
      + qt-scripted-modules
      |   |
      |   + QtScriptedModuleName1
      |   |
      .   .
      |   |
      |   + QtScriptedModuleNameN
      |
      + ParameterSets
      |
      + ColorFiles
    
 

Install tree

Slicer_HOME
 |
 + bin
 |  |
 |  + Python
 |
 + (bin|lib)/Python/(lib/python3.Y|Lib)/site-packages/
 |
 + lib
 |  |
 |  + QtPlugins 
 |  |   |
 |  |   + designer
 |  |   |
 |  |   + imageformats
 |  |   |
 |  |   + iconengines
 |  |   |
 |  |   + sqldrivers
 |  |
 |  + Slicer-X.Y
 |      |
 |      + cli-modules
 |      |
 |      + qt-loadable-modules
 |      |
 |      + qt-scripted-modules
 |
 + share
 |  |
 |  + Slicer-X.Y
 |    |
 |    + qt-loadable-modules
 |    |
 |    + ColorFiles
 |    |
 |    + ParameterSets
 |    |
 |    + OrientationMarkers
 |    |
 |    + Slicer.crt
 |
 + slicer.org
    |
    + Extensions-NNNNN
    |  |
    .  + ExtensionsMetadataFromServer.json
    |  |
    |  + InstalledExtension1
    |  |
    .  .
    |  |
    |  + InstalledExtensionN
    |
    |
    + Slicer-NNNNN.ini

Note The X and Y in Slicer-X.Y respectively stand for Slicer_MAJOR_VERSION and Slicer_MINOR_VERSION

Extension install and build tree

Extensions installation path can be specified in the Extension settings. See here for more details.

INSTALL_LOCATION
 |
 + lib
 |  |
 |  + Slicer-X.Y
 |      |
 |      + cli-modules
 |      |
 |      + qt-loadable-modules
 |      |
 |      + qt-scripted-modules
 |
 + share
   |
   + Slicer-X.Y
      |
      + cli-modules
      |
      + qt-loadable-modules
      |
      + qt-scripted-modules
      |
      + ExtensionName.s4ext  # Only found in install tree
      

API

  • vtkSlicerApplicationLogic provides some convenient functions allowing to obtain the share directory associated with a given module filepath.
  • Note also that if vtkSlicerConfigure is included the macros Slicer_CLIMODULES_SUBDIR, Slicer_QTLOADABLEMODULES_SUBDIR and Slicer_QTSCRIPTEDMODULES_SUBDIR will be available.
  • Application settings (including the search path for modules/extensions) are stored in a .ini file. The location of the file depends on the OS:
    • Linux + macOS: ~/.config/www.na-mic.org/Slicer.ini
    • Windows: C:\Users\USERNAME\AppData\Roaming\NA-MIC\Slicer.ini