IFilament Interface Reference

import "Imaris.idl";

Inheritance diagram for IFilament:
IDataItem

Public Member Functions

HRESULT Get ([out] VARIANT *aPositionsXYZ,[out] VARIANT *aRadii,[out] VARIANT *aEdges)
HRESULT GetColorSpines ([out] FLOAT *aR,[out] FLOAT *aG,[out] FLOAT *aB,[out] FLOAT *aA)
HRESULT GetEdgeIds ([out, retval] VARIANT *aEdgeIds)
HRESULT GetEdges ([out, retval] VARIANT *aEdges)
HRESULT GetPositionsXYZ ([out, retval] VARIANT *aPositionsXYZ)
HRESULT GetRadii ([out, retval] VARIANT *aRadii)
HRESULT GetRootVertexIndex ([out, retval] LONG *aIndex)
HRESULT GetTypes ([out, retval] VARIANT *aTypes)
HRESULT GetVertexTrackEdges ([out, retval] VARIANT *aTrackEdges)
HRESULT GetVertexTrackIds ([out, retval] VARIANT *aTrackIds)
HRESULT Set ([in] VARIANT aPositionsXYZ,[in] VARIANT aRadii,[in] VARIANT aEdges)
HRESULT SetColorSpines ([in] FLOAT aR,[in] FLOAT aG,[in] FLOAT aB,[in] FLOAT aA)
HRESULT SetRootVertexIndex ([in] LONG aIndex)
HRESULT SetTypes ([in] VARIANT aTypes)
HRESULT SetVertexTrackEdges ([in] VARIANT aTrackEdges)

Properties

LONG mIndexT [get, set]
LONG mSelectedPositionIndex [get, set]
VARIANT mSelectedPositionIndices [get, set]

Detailed Description

This class represents the Filament object in the Surpass scene and allows the exchange of a graph with a specified diameter at different locations.


Member Function Documentation

HRESULT IFilament::Get ( [out] VARIANT *  aPositionsXYZ,
[out] VARIANT *  aRadii,
[out] VARIANT *  aEdges 
)

Get all vertices, radii, and edges at once. It is equivalent to running "GetPositionsXYZ", "GetRadii", and "GetEdges" in sequence.

Parameters:
aPositionsXYZ [out] 2D array of positions [x y z]N
aRadii [out] 1D array of N filament radii
aEdges [out] 2D array of (N x 2) indices to vertices as returned by "GetPositionsXYZ"
 %% The following MATLAB code gets the vertices, radii and edges of the Filament object (graph).
 %% The Filament object is assumed to be selected in the Surpass Scene tree.
 aFilament=vImarisApplication.mSurpassSelection;
 [aPositionsXYZ,aRadii,aEdges]=aFilament.Get
 aPositionsXYZ =
        9.6918   19.4724    9.9036
        9.9471   19.4743    9.9455
       10.1416   19.4798   10.0714
       10.3055   19.4516   10.2393
       10.4585   19.3486   10.3232
       ...
 aRadii =
        0.2152    0.2152    0.2152    0.2152    0.2152 ...
       ...
 aEdges =
       1           0
       1           2
       2           3
       4           3
       4           5
       ...
 
HRESULT IFilament::GetColorSpines ( [out] FLOAT *  aR,
[out] FLOAT *  aG,
[out] FLOAT *  aB,
[out] FLOAT *  aA 
)

Get the diffusion color of the DataItem.

Parameters:
aR The red component from the color [0..1]
aG The green component from the color [0..1]
aB The blue component from the color [0..1]
aA The alpha component (1-opacity) from the color [0..1]
 %% The following MATLAB code gets the diffusion color of the Filament DataItem.
 %% The Filament object is assumed to be selected in the Surpass Scene tree.
 vFilament=vImarisApplication.mSurpassSelection;
 [aR,aG,aB,aA]=vFilament.GetColorSpines;
 
HRESULT IFilament::GetEdgeIds ( [out, retval] VARIANT *  aEdgeIds  ) 
 %% The following MATLAB code gets the edges of the Filament object (graph).
 %% The Filament object is assumed to be selected in the Surpass Scene tree.
 aFilament=vImarisApplication.mSurpassSelection;
 aEdges=aFilament.GetEdgeIds
 aEdgeIds =
       1000000
       1000000
       1000001
       1000001
       1000001
       ...
 
HRESULT IFilament::GetEdges ( [out, retval] VARIANT *  aEdges  ) 

Get the edges (connections) between the vertices. A 2D array (E x 2) of integers is returned. The numbers are indices to vertices read by "GetPositionsXYZ". Each pair of indices represents an edge.

Parameters:
aEdges [out] 2D array of (N x 2) indices to vertices as returned by "GetPositionsXYZ"
 %% The following MATLAB code gets the edges of the Filament object (graph).
 %% The Filament object is assumed to be selected in the Surpass Scene tree.
 aFilament=vImarisApplication.mSurpassSelection;
 aEdges=aFilament.GetEdges
 aEdges =
       1           0
       1           2
       2           3
       4           3
       4           5
       ...
 
HRESULT IFilament::GetPositionsXYZ ( [out, retval] VARIANT *  aPositionsXYZ  ) 

Get the vertex positions of the graph. It returns a 2D array (N x 3) of float. N is the number of vertices. The coordinates of each vertex are stored as [x y z].

Parameters:
aPositionsXYZ [out] 2D array of positions [x y z]N
 %% The following MATLAB code gets the vertex positions of the Filament object (graph).
 %% The Filament object is assumed to be selected in the Surpass Scene tree.
 aFilament=vImarisApplication.mSurpassSelection;
 aPositionsXYZ=aFilament.GetPositionsXYZ
 aPositionsXYZ =
        9.6918   19.4724    9.9036
        9.9471   19.4743    9.9455
       10.1416   19.4798   10.0714
       10.3055   19.4516   10.2393
       10.4585   19.3486   10.3232
       ...
 
HRESULT IFilament::GetRadii ( [out, retval] VARIANT *  aRadii  ) 

Get the radius for all vertices. It returns a 1D array of float. Each radius corresponds to a vertex position of "GetPositionsXYZ".

Parameters:
aRadii [out] 1D array of N filament radii
 %% The following MATLAB code gets the radii of the Filament object (graph).
 %% The Filament object is assumed to be selected in the Surpass Scene tree.
 aFilament=vImarisApplication.mSurpassSelection;
 aRadii=aFilament.GetRadii
 aRadii =
        0.2152    0.2152    0.2152    0.2152    0.2152 ...
       ...
 
HRESULT IFilament::GetRootVertexIndex ( [out, retval] LONG *  aIndex  ) 

Returns the index of the root vertex. If nothing is selected, -1 is returned.

HRESULT IFilament::GetTypes ( [out, retval] VARIANT *  aTypes  ) 

Get the type for all vertices. It returns a 1D array of int. Each type corresponds to a vertex position of "GetPositionsXYZ".

   0 = Dendrite
   1 = Spine
 
HRESULT IFilament::GetVertexTrackEdges ( [out, retval] VARIANT *  aTrackEdges  ) 

Get the track edges (connections) between filament vertices. A 2D array (Nx4) of integers is returned. The values are filament indices and vertex indices to identify the pairs of vertices that are connected. Each quadruple of indices (one line of the array) represents a track edge (one filament index and one vertex index for each vertex). Please note that the indices are not necessarily sorted.

Parameters:
aTrackEdges [out] 2D array of (Nx4) indices [filamentIndexA, vertexIndexA, filamentIndexB, vertexIndexB]
 %% The following MATLAB code gets the track edges of a Filament object.
 %% The Filament object is assumed to be selected in the Surpass Scene tree.
 vFilament = vImarisApplication.mSurpassSelection;
 vTrackEdges = vFilament.GetNucleusTrackEdges;
 vTrackEdges =
		0		4		1		5
		4		7		5		8
		7		10		8		11
		1		5		2		6
		5		8		6		9
		...		...		...		...
 
HRESULT IFilament::GetVertexTrackIds ( [out, retval] VARIANT *  aTrackIds  ) 

Get the ids of all Filament tracks. It returns a 1D array of integers with each array entry corresponding to what is read by "GetTrackEdges".

Parameters:
aTrackIds [out] track ids of all Filament tracks.
 %% The following MATLAB code gets the track ids of the Filament object.
 %% The Filament object is assumed to be selected in the Surpass Scene tree.
 vFilament = vImarisApplication.mSurpassSelection;
 vTrackIds = vFilament.GetTrackIds
 vTrackIds =
        1000000000  1000000000  1000000000  1000000001  1000000001  ...
 
HRESULT IFilament::Set ( [in] VARIANT  aPositionsXYZ,
[in] VARIANT  aRadii,
[in] VARIANT  aEdges 
)

Set a graph with vertices, vertex-radii, and edges.

Parameters:
aPositionsXYZ [out] 2D array of positions [x y z]N
aRadii [out] 1D array of N filament radii
aEdges [out] 2D array of (N x 2) indices to vertices as returned by "GetPositionsXYZ"
 %% The following MATLAB code sets the vertices, radii and edges of the Filament object (graph).
 %% The Filament object is assumed to be selected in the Surpass Scene tree.
 aFilament=vImarisApplication.mSurpassSelection;
 aFilament.Set(aPositionsXYZ,aRadii,aEdges);
 %% See "Get" for an example of aPositionsXYZ, aRadii and aEdges arrays.
 
HRESULT IFilament::SetColorSpines ( [in] FLOAT  aR,
[in] FLOAT  aG,
[in] FLOAT  aB,
[in] FLOAT  aA 
)

Set the diffusion color of the DataItem.

Parameters:
aR The red component from the color [0..1]
aG The green component from the color [0..1]
aB The blue component from the color [0..1]
aA The alpha component (1-opacity) from the color [0..1]
 %% The following MATLAB code sets the diffusion color of the Filament DataItem to red and with a 50%% transparency.
 %% The Filament object is assumed to be selected in the Surpass Scene tree.
 vFilament=vImarisApplication.mSurpassSelection;
 vFilament.SetColorSpines(1.0,0.0,0.0,0.5);
 
HRESULT IFilament::SetRootVertexIndex ( [in] LONG  aIndex  ) 

Sets the index of the root vertex. Set it to -1 to clear the root index.

HRESULT IFilament::SetTypes ( [in] VARIANT  aTypes  ) 

Set the type for all vertices. It has to be a 1D array of int. Each type corresponds to a vertex position of "GetPositionsXYZ".

   0 = Dendrite
   1 = Spine
 
HRESULT IFilament::SetVertexTrackEdges ( [in] VARIANT  aTrackEdges  ) 

Set the track edges (connections) between filament vertices. The values are filament indices and vertex indices to identify the pairs of vertices that are connected. Each quadruple of indices (one line of the array) represents a track edge (one filament index and one vertex index for each vertex).

Parameters:
aTrackEdges [in] 2D array of (Nx4) indices [filamentIndexA, vertexIndexA, filamentIndexB, vertexIndexB]
 %% The following MATLAB code sets the track edges of a Filament object.
 %% The Filament object is assumed to be selected in the Surpass Scene tree.
 vFilament = vImarisApplication.mSurpassSelection;
 vTrackEdges = [ [0, 3, 1, 5] ; [4, 10, 6, 12] ];
 vFilament.SetNucleusTrackEdges(vTrackEdges);
 

Property Documentation

LONG IFilament::mIndexT [get, set]

Get the time index (counting starts at 0). The Filament object is only visible at that time point. mIndexT=-1 indicates that the Filament is visible at all time points.

Parameters:
aIndexT [out] Time index at which the Filament is visible.
 %% The following MATLAB code gets the time index for the Filament object.
 %% The Filament object is assumed to be selected in the Surpass Scene tree.
 aFilament=vImarisApplication.mSurpassSelection;
 aIndexT=aFilament.mIndexT;
 

Set the time index (counting starts at 0). The Filament object is only visible at that time point. If mIndexT is set equal to -1, the Filament is visible at all time points.

Parameters:
aIndexT [in] Time index at which the Filament is visible.
 %% The following MATLAB code sets the time index for the Filament object.
 %% The Filament object is assumed to be selected in the Surpass Scene tree.
 aFilament=vImarisApplication.mSurpassSelection;
 aIndexT=0;
 aFilament.mIndexT=aIndexT;
 
LONG IFilament::mSelectedPositionIndex [get, set]

Returns the index of the currently selected vertex. If nothing is selected, -1 is returned. If a segment with multiple vertices is selected, one of these vertices is returned (unspecified which one).

Sets the index of the currently selected vertex. Set it to -1 to clear the selection.

VARIANT IFilament::mSelectedPositionIndices [get, set]

Returns the indices of the currently selected vertices. If nothing is selected, an empty array is returned.

Sets the indices for the currently selected vertices. Set it to -1 to clear the selection,


The documentation for this interface was generated from the following file:

Generated on Mon Jun 14 20:23:41 2010 for Imaris 7.1 COM Interface by  doxygen 1.6.1