Documentation/Nightly/Extensions/MatlabBridge
For the latest Slicer documentation, visit the read-the-docs. |
MatlabBridge is only available for nightly builds, but unfortunately extensions for nightly builds may not be available immediately. If the extension does not appear for your installed Slicer version, then use an earler nightly version of Slicer, such as this release
Introduction and Acknowledgements
Author: Andras Lasso (PerkLab, Queen's University), Jean-Christophe Fillion-Robin (Kitware), Kevin Wang (Radiation Medicine Program, Princess Margaret Hospital, University Health Network Toronto), Gabor Fichtinger (PerkLab, Queen's University)
Contact: Andras Lasso, <email>lasso@cs.queensu.ca</email>
Project website: http://www.slicerrt.org
License: Slicer license
|
Extension Description
MatlabBridge is an extension of 3D Slicer to allow running Matlab functions directly in 3D Slicer. Highlights:
The Matlab module behaves exactly as any other command-line-interface module, the Matlab engine is started automatically in the background (and it is kept running in the background so that you don’t have to wait for Matlab startup each time you run your function) Demo videos: |
Modules
- Matlab Module Generator (in the module list: Developer Tools / Matlab)
- Matlab Commander (in the module list: Developer Tools / Matlab)
Use Cases
Tutorials
Information for Developers
- Source code: https://subversion.assembla.com/svn/slicerrt/trunk/MatlabBridge/
- Issue tracker: open issues and enhancement requests
- Design overview: [1].
Tested with Matlab R2012a and R2013a.
Troubleshooting
- Problem: When I try to run my Matlab module, the Matlab process does not start (Matlab window does not appear on the taskbar)
- Solution [on Windows Vista/7/8]: Please go to the Matlab module generator module and in the “Matlab executable” editbox set the path to your “.../bin/matlab.exe” (not to "activate_matlab.exe" or other exe files in the Matlab program directory or any file in the bin/win64 directory).
- Problem: When I try to run my Matlab module, the Matlab process starts (Matlab window appears on the taskbar and it displays the message "Starting OpenIGTLink command server at port 4100 Waiting for client connections..."), but the Matlab module execution fails (in the Slicer error log the "igtl::ClientSocket (...): Failed to connect to server 127.0.0.1:4100" message is displayed)
- Solution [on Windows Vista/7/8]: Firewall settings prevent Matlab-Slicer communication. Please add a firewall exception by the following steps:
- Start cmd.exe as administrator (open the Windows Start menu, type "cmd", hit Ctrl + Shift + Enter)
- Click Yes, if a dialog box appears asking "Do you want to allow the following program to make changes to this computer?"
- Enter the following command: netsh firewall add portopening tcp 4100 MatlabBridge
- Solution [on Windows Vista/7/8]: Firewall settings prevent Matlab-Slicer communication. Please add a firewall exception by the following steps:
- Problem: module execution is not completed
- Solution: make sure you've selected .../MATLAB/.../bin/matlab.exe as Matlab executable (and not .../MATLAB/.../bin/win64/MATLAB.exe)