ISpots Interface Reference

import "Imaris.idl";

Inheritance diagram for ISpots:
IDataItem

Public Member Functions

HRESULT Get ([out] VARIANT *aPositionsXYZ,[out] VARIANT *aIndicesT,[out] VARIANT *aRadii)
HRESULT GetIndicesT ([out, retval] VARIANT *aIndicesT)
HRESULT GetPositionsXYZ ([out, retval] VARIANT *aPositionsXYZ)
HRESULT GetRadii ([out, retval] VARIANT *aRadii)
HRESULT GetSelectedIndices ([out, retval] VARIANT *aIndices)
HRESULT GetTimePoint ([in] ULONG aIndexT,[out, retval] BSTR *aTimePoint)
HRESULT GetTrackEdges ([out, retval] VARIANT *aEdges)
HRESULT GetTrackIds ([out, retval] VARIANT *aTrackIds)
HRESULT Set ([in] VARIANT aPositionsXYZ,[in] VARIANT aIndicesT,[in] VARIANT aRadii)
HRESULT SetSelectedIndices ([in] VARIANT aIndices)
HRESULT SetTimePoint ([in] ULONG aIndexT,[in] BSTR aTimePoint)
HRESULT SetTrackEdges ([in] VARIANT aEdges)

Detailed Description

A spot defines a location in 4D (3D + time) and a radius. An "ISpots" object contains multiple "Spot" objects.


Member Function Documentation

HRESULT ISpots::Get ( [out] VARIANT *  aPositionsXYZ,
[out] VARIANT *  aIndicesT,
[out] VARIANT *  aRadii 
)

Get all spots, radii, and time indices at once. It is equivalent to calling "GetPositionsXYZ", "GetRadii", and "GetIndicesT" in sequence.

Parameters:
aPositionsXYZ [out] A 2D array (N x 3) of float [x y z]N, where N is the number of spots.
aIndicesT [out] An 1D array of integers. The sequence and number of the time indices must correspond to the sequence and number of spot positions aPositionsXYZ.
aRadii [out] An 1D array of float. The sequence and number of the radii must correspond to the sequence and number of spot positions aPositionsXYZ.
 %% The following MATLAB code gets the N positions, radii and time indices for the spot objects.
 %% The Spots object is assumed to be selected in the Surpass Scene tree.
 vSpots=vImarisApplication.mSurpassSelection;
 [aPositionsXYZ,aIndicesT,aRadii]=vSpots.Get;
 
HRESULT ISpots::GetIndicesT ( [out, retval] VARIANT *  aIndicesT  ) 

Get the time index for all spots. It returns a 1D array of integers. Each index corresponds to a spot position of "GetPositionsXYZ". Indices starts at 0.

Parameters:
aIndicesT [out] Time indices for all N spots [t0 t1 t2 ... t(N-1)]
 %% The following MATLAB code returns the tN time indices of the spot objects.
 %% The Spots object is assumed to be selected in the Surpass Scene tree.
 vSpots=vImarisApplication.mSurpassSelection;
 aIndicesT=vSpots.GetIndicesT
 aIndicesT =
        0           1
 
HRESULT ISpots::GetPositionsXYZ ( [out, retval] VARIANT *  aPositionsXYZ  ) 

Get the vertex positions of all (N) spots as a 2D array (N x 3) of float [x y z]N.

Parameters:
aPositionsXYZ [out] 2D array of positions [x y z]N
 %% The following MATLAB code returns the [x,y,z]-coordinates of the spot objects.
 %% The Spots object is assumed to be selected in the Surpass Scene tree.
 vSpots=vImarisApplication.mSurpassSelection;
 aPositionsXYZ=vSpots.GetPositionsXYZ
 aPositionsXYZ =
       45.3925   45.0123    2.6857
       46.2532    0.9108   10.5750
       ...
 
HRESULT ISpots::GetRadii ( [out, retval] VARIANT *  aRadii  ) 

Get the radii for all N spots. It returns a 1D array of float.

Parameters:
aRadii [out] Radii of all N spots [r0 r1 r2 ... t(N-1)]
 %% The following MATLAB code returns the rN radii of the spot objects.
 %% The Spots object is assumed to be selected in the Surpass Scene tree.
 vSpots=vImarisApplication.mSurpassSelection;
 aRadii=vSpots.GetRadii
 aRadii =
        0.5000    0.5000
 
HRESULT ISpots::GetSelectedIndices ( [out, retval] VARIANT *  aIndices  ) 

Get the sub-selection. Sub-selection consists in spots indices only, no tracks.

 %% The following MATLAB code gets the sub-selection of a spots object.
 %% The Spots object is assumed to be selected in the Surpass Scene tree.
 vSpots = vImarisApplication.mSurpassSelection;
 vIndices = vSpots.GetSelectedIndices
 vIndices =
       3          13
 
HRESULT ISpots::GetTimePoint ( [in] ULONG  aIndexT,
[out, retval] BSTR *  aTimePoint 
)

Get the time calibration.

Parameters:
aIndexT [in] Time index (index counting starts with 0)
aTimePoint [out] Time calibration "YYYY-MM-DD HH:MM:SS.SSS".
 %% The following MATLAB code gets the time calibration for the specified time point.
 %% The Spots object is assumed to be selected in the Surpass Scene tree.
 aIndexT=25;
 vSpots=vImarisApplication.mSurpassSelection;
 aTimePoint=vSpots.GetTimePoint(aIndexT)
 aTimePoint =
    2006-05-11 13:30:00.000
 
HRESULT ISpots::GetTrackEdges ( [out, retval] VARIANT *  aEdges  ) 

Get the edges (connections) between the spots. A 2D array (E x 2) of integers is returned. The numbers are indices to spots within the Spots object. Each pair of indices represents an edge. Please note that the indices are not necessarily sorted.

Parameters:
aEdges [out] 2D array of (N x 2) spots indices
 %% The following MATLAB code gets the edges of the Spots object (graph).
 %% The Spots object is assumed to be selected in the Surpass Scene tree.
 vSpots=vImarisApplication.mSurpassSelection;
 aEdges=vSpots.GetTrackEdges;
 aEdges =
       0           4
       4           7
       7          10
       1           5
       5           8
       ...
 
HRESULT ISpots::GetTrackIds ( [out, retval] VARIANT *  aTrackIds  ) 

Get the ids of all N 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 N tracks.
 %% The following MATLAB code gets the track ids of the Spots object (graph).
 %% The Spots object is assumed to be selected in the Surpass Scene tree.
 vSpots=vImarisApplication.mSurpassSelection;
 aTrackIds=vSpots.GetTrackIds
 aTrackIds =
        1000000000  1000000000  1000000000  1000000001  1000000001  ...
 
HRESULT ISpots::Set ( [in] VARIANT  aPositionsXYZ,
[in] VARIANT  aIndicesT,
[in] VARIANT  aRadii 
)

Set all spot positions, radii, and time indices at once.

Parameters:
aPositionsXYZ [in] A 2D array (N x 3) of float [x y z]N, where N is the number of spots.
aIndicesT [in] An 1D array of integers. The sequence and number of the time indices must correspond to the sequence and number of spot positions aPositionsXYZ.
aRadii [in] An 1D array of float. The sequence and number of the radii must correspond to the sequence and number of spot positions aPositionsXYZ.
 %% The following MATLAB code sets the N positions, radii and time indices for the spot objects.
 %% The Spots object is assumed to be selected in the Surpass Scene tree.
 vSpots=vImarisApplication.mSurpassSelection;
 %% Make sure that none of the specified values are out of range!
 aPositionsXYZ=[10 37 10; 15 20 8];
 aIndicesT=[0 0];
 aRadii=[0.5 0.75];
 vSpots.Set(aPositionsXYZ,aIndicesT,aRadii);
 
HRESULT ISpots::SetSelectedIndices ( [in] VARIANT  aIndices  ) 

Set the sub-selection. Sub-selection consists in spots indices only, no tracks.

 %% The following MATLAB code sets the sub-selection of a spots object.
 %% The Spots object is assumed to be selected in the Surpass Scene tree.
 vSpots = vImarisApplication.mSurpassSelection;
 vIndices = 0:5;
 vSpots.SetSelectedIndices(vIndices);
 
HRESULT ISpots::SetTimePoint ( [in] ULONG  aIndexT,
[in] BSTR  aTimePoint 
)

Set the time calibration.

Parameters:
aIndexT [in] Time index (index counting starts with 0)
aTimePoint [in] Time calibration "YYYY-MM-DD HH:MM:SS.SSS".
 %% The following MATLAB code sets the time calibration for the specified time point.
 %% The Spots object is assumed to be selected in the Surpass Scene tree.
 aIndexT=25;
 aTimePoint='2006-05-11 13:30:00.000';
 vSpots=vImarisApplication.mSurpassSelection;
 vSpots.SetTimePoint(aIndexT,aTimePoint);
 
HRESULT ISpots::SetTrackEdges ( [in] VARIANT  aEdges  ) 

Set the edges (connections) between the spots. The numbers are indices to spots within the Spots object. Each pair of indices represents an edge. The indices do not need to be sorted.

Parameters:
aEdges [in] 2D array of (N x 2) spots indices
 %% The following MATLAB code sets the edges of the Spots object (graph).
 %% The Spots object is assumed to be selected in the Surpass Scene tree.
 vSpots=vImarisApplication.mSurpassSelection;
 aEdges = [ [0 1]; [1 7] ];
 vSpots.SetTrackEdges(aEdges);
 

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