Difference between revisions of "Documentation/Nightly/Modules/MatlabCommander"

From Slicer Wiki
Jump to: navigation, search
m (Text replacement - "https?:\/\/(?:www|wiki)\.slicer\.org\/slicerWiki\/index\.php\/([^ ]+) " to "https://www.slicer.org/wiki/$1 ")
 
(2 intermediate revisions by one other user not shown)
Line 21: Line 21:
 
{{documentation/{{documentation/version}}/module-section|Module Description}}
 
{{documentation/{{documentation/version}}/module-section|Module Description}}
 
The {{documentation/modulename}} module is used for running Matlab functions from within Slicer.
 
The {{documentation/modulename}} module is used for running Matlab functions from within Slicer.
 +
 +
It may be necessary to manually add an exception to the firewall to allow Slicer to communicate with the Matlab server on port 4100.
  
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
Line 31: Line 33:
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Panels and their use}}
 
{{documentation/{{documentation/version}}/module-section|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
 
 
<!--
 
<!--
{{documentation/{{documentation/version}}/module-parametersdescription}}
+
  Update this page with the new revision of the module to update the parameter description:
 +
  https://www.slicer.org/wiki/Documentation/Nightly/ModulesMetadata
 
-->
 
-->
 
+
{{documentation/{{documentation/version}}/module-parametersdescription}} <!-- ----------------------------  
<!-- ----------------------------  
 
 
{{documentation/{{documentation/version}}/module-section|Similar Modules}}
 
{{documentation/{{documentation/version}}/module-section|Similar Modules}}
 
-->
 
-->
Line 51: Line 47:
 
<!-- ---------------------------- -->
 
<!-- ---------------------------- -->
 
{{documentation/{{documentation/version}}/module-section|Information for Developers}}
 
{{documentation/{{documentation/version}}/module-section|Information for Developers}}
The module is responsible for setting the following environment variables (used by the Module Proxy and MatlabCommander):
+
The module requires the following environment variables (set by Matlab Module Generator module, as it is a loadable module with access to all configuration settings):
 
* SLICER_MATLAB_EXECUTABLE_PATH: path to Matlab.exe
 
* 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
* 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:
+
The module communicates with Matlab using OpenIGTLink. The commandserver script implements an OpenIGTLink server, which accepts STRING commands (requests should be sent to the CMD or CMD_someuid device and response will be sent from a device named ACK or ACK_someuid)
* Slicer.ini: [Matlab]/MatlabExecutablePath
 
* Slicer-NNN.ini: [Modules]/AdditionalPaths (adds the Matlab script directory so that the generated modules are found by Slicer)
 
 
<!--
 
<!--
 
{{documentation/{{documentation/version}}/module-developerinfo}}
 
{{documentation/{{documentation/version}}/module-developerinfo}}

Latest revision as of 13:15, 27 November 2019

Home < Documentation < Nightly < Modules < MatlabCommander


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 MatlabCommander module is used for running Matlab functions from within Slicer.

It may be necessary to manually add an exception to the firewall to allow Slicer to communicate with the Matlab server on port 4100.

Use Cases

The main use of this module is allowing any Slicer module to run Matlab commands, but the module can be also used for manual testing of the Matlab connection or running simple commands and observe the results without switching to Matlab.

Tutorials

See Matlab Bridge extension page

Panels and their use

Parameters:





  ()
 
 
   
     * ': 
     
       ** ': 
       
        *** ': 
       
     
   
 


List of parameters generated transforming this XML file using this XSL file. To update the URL of the XML file, edit this page.


Information for Developers

The module requires the following environment variables (set by Matlab Module Generator module, as it is a loadable module with access to all configuration settings):

  • SLICER_MATLAB_EXECUTABLE_PATH: path to Matlab.exe
  • SLICER_MATLAB_COMMAND_SERVER_SCRIPT_PATH: path to commandserver.m

The module communicates with Matlab using OpenIGTLink. The commandserver script implements an OpenIGTLink server, which accepts STRING commands (requests should be sent to the CMD or CMD_someuid device and response will be sent from a device named ACK or ACK_someuid)