imaris¶
Imaris connection and data-exchange utilities.
- io.imaris.connectToImaris(connImaris, mibGUI)¶
CONNECTTOIMARIS - Connect to Imaris from MATLAB.
- Syntax:
function connImaris = connectToImaris(connImaris, mibGUI)
- Input Arguments:
connImaris - (optional) a handle to an existing Imaris connection, or [] to create a fresh connection
mibGUI - (optional) handle to the main MIB window, used for progress and error dialogs
- Output Arguments:
connImaris - a handle to the Imaris connection, or [] on failure
- io.imaris.getImarisDataset(connImaris)¶
GETIMARISDATASET - Get a dataset opened in Imaris and corresponding meta-data.
- Syntax:
function [img, img_info, viewPort, lutColors, connImaris] = getImarisDataset(connImaris)
- Input Arguments:
connImaris - (optional) a handle to imaris connection
- Output Arguments:
img - 4D dataset
img_info -
containers.Mapwith meta dataviewPort - a structure with the viewPort parameters:
.min- a vector with minimal intensities for contrast adjustment.max- a vector with maximal intensities for contrast adjustment.gamma- a vector with gamma factor for contrast adjustment
lutColors - a matrix with LUT colors
[1:colorChannel, R G B], (0-1)connImaris - a handle to Imaris connection
- Usage:
Example 1
[img, img_info] = io.imaris.getImarisDataset();
See also
io.imaris.getImarisDataset_StandardConnection
- io.imaris.getImarisDataset_StandardConnection(vImarisApp)¶
GETIMARISDATASET_STANDARDCONNECTION - Get a dataset opened in Imaris and corresponding meta-data.
- Syntax:
function [img, img_info, viewPort] = getImarisDataset_StandardConnection(vImarisApp)
- Input Arguments:
vImarisApp - (optional) a handle to Imaris
- Output Arguments:
img - 4D dataset
img_info -
containers.Mapwith meta dataviewPort - a structure with the viewPort parameters:
.min- a vector with minimal intensities for contrast adjustment.max- a vector with maximal intensities for contrast adjustment.gamma- a vector with gamma factor for contrast adjustment
- Usage:
Example 1
[img, img_info] = io.imaris.getImarisDataset_StandardConnection();
- io.imaris.imaris_send_data_test¶
Works fine
- io.imaris.mibSetImarisSpots(spots, connImaris, options)¶
MIBSETIMARISSPOTS - Send a spots from MIB to Imaris.
- Syntax:
connImaris = io.imaris.mibSetImarisSpots(spots, connImaris) connImaris = io.imaris.mibSetImarisSpots(spots, connImaris, options)- Input Arguments:
spots - [n×4] matrix of spot coordinates [x, y, z, t]
connImaris - (optional) handle to an existing Imaris connection
options - (optional) struct with additional settings:
.radii- (optional) [n×1] vector of spot radii; default:width/150.color- (optional) [1×4] RGBA colour vector (0-1); default red[1, 0, 0, 1].name- (char) name of the spot object (default:'mibSpots').dt- (optional) time step (default:1)
- Output Arguments:
connImaris - handle to the Imaris connection
Note
Uses IceImarisConnector bindings. Requires:
Set system environment variable
IMARISPATHto the Imaris installation directory, e.g.'c:\tools\science\imaris'Restart MATLAB
Example - send spot coordinates to Imaris:
spots = [1, 1, 1, 1]; % single spot at [x=1, y=1, z=1, t=1] obj.connImaris = io.imaris.mibSetImarisSpots(spots, obj.connImaris);
- io.imaris.mibSetImarisSurface(surface, connImaris, options)¶
MIBSETIMARISSURFACE - Send a surface from MIB to Imaris.
- Syntax:
function connImaris = mibSetImarisSurface(surface, connImaris, options)
- Input Arguments:
surface - a structure with fields:
.vertices- coordinates of vertices[Nx3].faces- indices of vertices for each face/triangle.normals- matrix with normals[Nx3]
connImaris - (optional) a handle to Imaris connection
options - (optional) structure with additional settings:
.color- (optional)[R G B A]vector (1x4, range 0..1).name- (char) name of the object
- Output Arguments:
connImaris - a handle to Imaris connection
- Usage:
Example 1
surface.vertices = [28 40 0; 29 40 0; 27 40 1; 28 40 1]; surface.faces = [1 3 4; 1 4 2]; options.color = [1 0 0]; connImaris = io.imaris.mibSetImarisSurface(surface, connImaris, options);
- io.imaris.renderModelImaris(mibDataset, connImaris, options)¶
RENDERMODELIMARIS - Render model materials as surfaces in Imaris.
- Syntax:
connImaris = io.imaris.renderModelImaris(mibDataset, connImaris) connImaris = io.imaris.renderModelImaris(mibDataset, connImaris, options)- Input Arguments:
mibDataset - instance of
core.MibDatasetwith the model to renderconnImaris - (optional) handle to an existing Imaris connection
options - (optional) struct with additional settings:
.materialIndex- [integer] index of material to render;0= all materials (default:0).mibGUI- (optional) handle to the main MIB UIFigure for modal dialogs
- Output Arguments:
connImaris - handle to the Imaris connection
Note
Uses IceImarisConnector bindings. Requires:
Set system environment variable
IMARISPATHto the Imaris installation directoryRestart MATLAB
Example - render all model materials as Imaris surfaces:
opts.mibGUI = obj.mibController.view.gui; obj.connImaris = io.imaris.renderModelImaris(obj.mibModel.I{obj.mibModel.id}, obj.connImaris, opts);
- io.imaris.setImarisDataset(mibDataset, connImaris, options)¶
SETIMARISDATASET - Send a dataset layer from MIB to Imaris.
- Syntax:
connImaris = io.imaris.setImarisDataset(mibDataset, connImaris) connImaris = io.imaris.setImarisDataset(mibDataset, connImaris, options)- Input Arguments:
mibDataset - instance of
core.MibDatasetwith the dataset to exportconnImaris - (optional) handle to an existing Imaris connection
options - (optional) struct with additional settings:
.type- (optional) type of dataset layer to send:'image'(default),'labels'(model),'mask','selection'.modelIndex- (optional) for'labels': material index to send;NaN= all materials, integer = single material; ignored for'mask'and'selection'.mode- (optional)'3D'or'4D'export mode; prompted if omitted and time > 1.insertInto- (optional) cell with time-point index;-1= replace the whole dataset.lutColors- (optional) [nChannels×3] RGB colour matrix (0-1) for image channels.maskColor- (optional) [1×3] RGB colour (0-1) for mask display in Imaris (default:[1 0 0]).showWaitbar- [logical] show or hide the progress bar.mibGUI- (optional) handle to the main MIB UIFigure for dialogs
- Output Arguments:
connImaris - handle to the Imaris connection
Note
Uses IceImarisConnector bindings. Requires:
Set system environment variable
IMARISPATHto the Imaris installation directoryRestart MATLAB
Example - send image data to Imaris:
imarisOpts.type = 'image'; imarisOpts.lutColors = obj.mibModel.I{id}.image.lutColors; imarisOpts.mibGUI = obj.mibGUI; obj.mibModel.connImaris = io.imaris.setImarisDataset(obj.mibModel.I{id}, obj.mibModel.connImaris, imarisOpts);
- io.imaris.surfacesFromSegmentationImage(aImarisApplicationID)¶
SURFACESFROMSEGMENTATIONIMAGE - an old surface segmentation function written by Igor Beati from Bitplane.
- Syntax:
function surfacesFromSegmentationImage(aImarisApplicationID)