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

From Slicer Wiki
Jump to: navigation, search
Tag: 2017 source edit
Line 66: Line 66:
 
  |
 
  |
 
  + bin
 
  + bin
 +
|  |
 +
|  + Python
 +
|
 +
+ (bin|lib)/Python/(lib/python3.Y|Lib)/site-packages/
 
  |
 
  |
 
  + lib
 
  + lib
Line 88: Line 92:
 
  |
 
  |
 
  + share
 
  + share
  |
+
|
  + Slicer-X.Y
+
+ Slicer-X.Y
      |
+
|    |
      + cli-modules
+
|    + qt-loadable-modules
      |   |
+
|   |
      |   + CLIModuleName1
+
|   + ColorFiles
      |   |
+
|   |
      .  .
+
|    + ParameterSets
      |   |
+
|   |
      |   + CLIModuleNameN
+
|   + OrientationMarkers
      |
+
|   |
      + qt-loadable-modules
+
|   + Slicer.crt
      |  |
+
|
      |   + QtLoadableModuleName1
+
+ slicer.org
      |  |
+
    |
      .  .
+
    + Extensions-NNNNN
      |  |
+
    |  |
      |  + QtLoadableModuleNameN
+
    .  + ExtensionsMetadataFromServer.json
      |
+
    | |
      + qt-scripted-modules
+
    | + InstalledExtension1
      |   |
+
    | |
      |   + QtScriptedModuleName1
+
    . .
      |   |
+
    | |
      .   .
+
    | + InstalledExtensionN
      |   |
+
    |
      |   + QtScriptedModuleNameN
+
    |
      |
+
    + Slicer-NNNNN.ini
      + ParameterSets
 
      |
 
      + ColorFiles
 
   
 
 
 
</pre>
 
</pre>
  

Revision as of 13:51, 21 September 2023

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
      |   |
      |   + 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