Difference between revisions of "Documentation/Nightly/Developers/DirectoryStructure"

From Slicer Wiki
Jump to: navigation, search
Line 52: Line 52:
 
       |  |
 
       |  |
 
       |  + QtScriptedModuleNameN
 
       |  + QtScriptedModuleNameN
      |
 
      + Tcl
 
 
       |
 
       |
 
       + ParameterSets
 
       + ParameterSets

Revision as of 17:11, 29 July 2019

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
 |
 + lib
 |  |
 |  + QtPlugins 
 |  |   |
 |  |   + designer
 |  |   |
 |  |   + imageformats
 |  |   |
 |  |   + iconengines
 |  |   |
 |  |   + sqldrivers
 |  |
 |  + 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
    
 

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
      |   |
      |   + CLIModuleName1
      |   |
      .   .
      |   |
      |   + CLIModuleNameN
      |
      + qt-loadable-modules
      |   |
      |   + QtLoadableModuleName1
      |   |
      .   .
      |   |
      |   + QtLoadableModuleNameN
      |
      + qt-scripted-modules
      |  |
      |  + QtScriptedModuleName1
      |  |
      |  .
      |  |
      |  + QtScriptedModuleNameN
      |
      + 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