Documentation/Nightly/Modules/MatlabModuleGenerator

From Slicer Wiki
Jump to: navigation, search
Home < Documentation < Nightly < Modules < MatlabModuleGenerator


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


Introduction and Acknowledgements

This work is part of the SparKit project, funded by An Applied Cancer Research Unit of Cancer Care Ontario with funds provided by the Ministry of Health and Long-Term Care and the Ontario Consortium for Adaptive Interventions in Radiation Oncology (OCAIRO) to provide free, open-source toolset for radiotherapy and related image-guided interventions.
Author: Andras Lasso (PerkLab, Queen's University), Jean-Christophe Fillion-Robin (Kitware), Kevin Wang (Radiation Medicine Program, Princess Margaret Hospital, University Health Network Toronto)
Contact: Andras Lasso, <email>lasso@cs.queensu.ca</email>

Cancer Care Ontario  
Software Platform and Adaptive Radiotherapy Kit  

Module Description

The MatlabModuleGenerator module is used for generating a skeleton Matlab module that the user can further customize to implement the intended functionality. The module also allows the user to specify the location of the Matlab executable.

Use Cases

  • Specify path to the Matlab executable (Matlab.exe)
  • Generate a skeleton module. Each module consists of the following three files:
    • Matlab script (ModuleName.m): Matlab function implementation, performs the actual computations
    • Command-line interface definition (ModuleName.xml): defines the input and output of the algorithm, Slicer uses this file to generate the graphical user interface of the module
    • Module proxy (ModuleName.bat or ModuleName.sh): automatically generated executable file, it is responsible for calling Matlab (by using the MatlabCommander module)

Tutorials

See Matlab Bridge extension page

Panels and their use

  • Matlab configuration
    • Matlab executable: Path to the Matlab executable (e.g., F:/Program Files/MATLAB/R2013a/bin/matlab.exe)
    • Matlab script directory: For information only, the default path for new generated Matlab modules
  • Matlab module generation
    • Module name: Name of the matlab module, as it should appear in the module list. Module file names are created by removing spaces from the name.
    • Generate module: generates module files in the Matlab script directory
    • Status box: result of the module generation is shown in this textbox


Information for Developers

The module is responsible for setting the following environment variables (used by the Module Proxy and MatlabCommander):

  • SLICER_MATLAB_EXECUTABLE_PATH: path to Matlab.exe
  • SLICER_MATLAB_COMMANDER_PATH: path to MatlabCommander.exe (determines automatically by using relative paths)
  • SLICER_MATLAB_COMMAND_SERVER_SCRIPT_PATH: path to commandserver.m (determines automatically by using relative paths)

The module stores the following information in settings file:

  • Slicer.ini: [Matlab]/MatlabExecutablePath
  • Slicer-NNN.ini: [Modules]/AdditionalPaths (adds the Matlab script directory so that the generated modules are found by Slicer)