-
Notifications
You must be signed in to change notification settings - Fork 1
Which API functions work and don't work in MATLAB
Zoltan Derzsi edited this page Nov 8, 2017
·
9 revisions
This page is a compilation of what works properly with this toolbox, and which functions are either not implemented, or completely dysfunctional.
Out of the API, anything should work that doesn't require the use of unions, structure arrays, or nested structures. Simple variable types, such as floats, strings and others should work without issues.
Data handling functions that require pre-allocated memory pointers will not work directly.
API function name | Works? | Why? |
---|---|---|
CombineXfrms() |
? | Untested, but it should work. |
CvtQuatToRotationMatrix() |
No | Only Euler angles are implemented for rigid body tracking. |
CvtRotationMatrixToQuat() |
No | Only Euler angles are implemented for rigid body tracking. |
DataBufferAbortSpooling() |
Yes | Works. |
DataBufferInitializeFile() |
Yes | Works. |
DataBufferInitializeMem() |
No | While technically this works, the pointer will not be accessible and will crash Matlab as soon as something else wants to use it. |
DataBufferSpoolData() |
Yes | Works. |
DataBufferStart() |
Yes | Works. |
DataBufferStop () |
Yes | Works. |
DataBufferWriteData() |
Yes | Works. |
DataGetNextTransforms() |
No | This uses a nested structure. Use DataGetNextTransforms2_as_array() instead. |
DataGetLatest3D |
No | Uses a structure array as a return variable. Use DataGetLatest3d_as_array() instead. |
DataGetLatestCentroid() |
No | Raw data is not is not accessible directly from the toolbox. |
DataGetLatestOdauRaw() |
? | Untested. Most probably won't work. |
DataGetLatestRaw() |
No | Raw data is not is not accessible directly from the toolbox. |
DataGetLatestTransforms() |
No | This uses a nested structure. Use DataGetLatestTransforms2_as_array instead. |
DataGetLatestTransforms2() |
No | Returns data in a structure array. Use DataGetLatestTransforms2_as_array instead. |
DataGetNext3D() |
No | Returns data in a structure array. Use DataGetNext3D_as_array() instead. |
DataGetNextCentroid() |
No | Raw data is not is not accessible directly from the toolbox. |
DataGetNextOdauRaw() |
? | Untested. |
DataGetNextRaw() |
No | Raw data is not is not accessible directly from the toolbox. |
DataGetNextTransforms2() |
No | Returns data in structure arrays. Use DataGetNextTransforms2_as_array() instead. |
DataIsReady() |
Yes | Works, but repeatedly calling it can cause communication errors (with API v3.14). |
DataReceiveLatest3D() |
No | Returns structure arrays. Use DataReceiveLatest3D_as_array() instead. |
DataReceiveLatestCentroid() |
No | Raw data is not is not accessible directly from the toolbox. |
DataReceiveLatestOdauRaw() |
? | Untested. |
DataReceiveLatestRaw() |
No | Raw data is not is not accessible directly from the toolbox. |
DataReceiveLatestTransforms() |
No | Returns nested structures. |
DataReceiveLatestTransforms2() |
No | Returns structure arrays. Use DataReceiveLatestTransforms2_as_array() instead. |
DetermineEuler() |
? | Untested, but should work. |
DetermineR() |
? | Untested, but should work. |
FileClose() |
Yes | Works. |
FileCloseAll() |
Yes | Works. |
FileConvert() |
Yes | Works, but only on a properly initialised system. |
FileOpen() |
? | Untested, but should work. |
FileOpenAll() |
? | Untested, but should work. |
FileRead() |
? | Untested. Most probably won't work. |
FileReadAll() |
? | Untested. Won't work. |
FileWrite() |
? | Untested. |
FileWriteAll() |
? | Untested. |
InverseXfrm() |
? | Untested, but it should work. |
nOptotrakAlignSystem() |
Yes | While this works, using optotrak_align_my_system() is recommended. |
nOptotrakCalibRigSystem() |
No | Use optotrak_align_my_system() instead. |
nOptotrakRegisterSystem() |
Yes | Use optotrak_align_my_system() instead. |
OdauGetStatus() |
? | Untested. |
OdauSaveCollectionToFile() |
? | Untested. |
OdauSetAnalogOutputs() |
? | Untested. |
OdauSetDigitalOutputs() |
? | Untested. |
OdauSetTimer() |
? | Untested. |
OdauSetupCollection() |
? | Untested. |
OdauSetupCollectionFromFile() |
? | Untested, but it should work. |
OptotrakLoadAutoScale() |
? | Untested, but should work. |
OptotrakActivateMarkers() |
Yes | Works. |
OptotrakChangeCameraFOR() |
? | Untested, but it should work. |
OptotrakConvertCentroidAndStatusTo3D() |
No | Uses structure arrays. Also, raw data is not available in the toolbox. |
OptotrakConvertCentroidAndStatusTo6D() |
No | Uses structure arrays. Also, raw data is not available in the toolbox. |
OptotrakConvertFullRawTo3D() |
No | Uses structure arrays. Also, raw data is not available in the toolbox. |
OptotrakConvertFullRawTo6D() |
No | Uses structure arrays. Also, raw data is not available in the toolbox. |
OptotrakConvertRawTo3D() |
No | Uses structure arrays. Also, raw data is not available in the toolbox. |
OptotrakConvertTransforms() |
No | Uses structure arrays. |
OptotrakDeActivateMarkers() |
Yes | Works. |
OptotrakDeviceHandleEnable() |
? | Untested, but it should work. |
OptotrakDeviceHandleFree() |
? | Untested, but it should work. |
OptotrakDeviceHandleGetNumberProperties() |
? | Untested, but it should work. |
OptotrakDeviceHandleGetProperties() |
? | Untested, most probably won't work. |
OptotrakDeviceHandleGetProperty() |
? | Untested, but it should work. |
OptotrakDeviceHandleSetBeeper() |
? | Untested but it should work. |
OptotrakDeviceHandleSetProperties() |
? | Untested, most probably won't work |
OptotrakDeviceHandleSetVisibleLED() |
? | Untested, but it should work. |
OptotrakEnableWireless() |
? | Untested, but it should work. |
OptotrakGetCameraParameterStatus() |
? | Untested, but it should work. |
OptotrakGetDeviceHandles() |
? | Untested, and most probably won't work. |
OptotrakGetErrorString() |
No | Use optotrak_tell_me_what_went_wrong() instead. |
OptotrakGetNodeInfo() |
? | Untested, and most probably won't work. |
OptotrakGetNumberDeviceHandles() |
? | Untested, and it should work. |
OptotrakGetProcessingFlags() |
? | Untested, but it should work. |
OptotrakGetStatus() |
Yes | Works. Use optotrak_get_setup_info() instead. |
OptotrakGetSubNodeInfo() |
? | Untested. Should work. |
OptotrakLoadCameraParameters() |
Yes | Use optotrak_set_up_system() instead. |
OptotrakSaveAutoScale() |
? | Untested. |
OptotrakSaveCollectionToFile() |
Yes | Works. |
OptotrakSetCameraParameters() |
? | Untested. Use optotrak_set_up_system() instead. |
OptotrakSetProcessingFlags() |
? | Untested, but should work. |
OptotrakSetStroberPortTable() |
Yes | Works. |
OptotrakSetupCollection() |
Yes | Use optotrak_set_up_system() instead. |
OptotrakSetupCollectionFromFile() |
Yes | Use optotrak_set_up_system() instead. |
OptotrakSplitFullRaw() |
No | Raw data is not available directly in the toolbox. |
OptotrakStopCollection() |
Yes | Works. |
RequestLatest3D() |
Yes | Works. |
RequestLatestCentroid() |
No | Raw data is not available directly in the toolbox. |
RequestLatestOdauRaw() |
? | Untested. Most probably won't work. |
RequestLatestRaw() |
No | Raw data is not available directly in the toolbox. |
RequestLatestTransforms() |
Yes | Works. |
RequestNext3D() |
Yes | Works. |
RequestNextCentroid() |
No | Raw data is not available directly in the toolbox. |
RequestNextOdauRaw() |
? | Untested. Most probably won't work. |
RequestNextRaw() |
No | Raw data is not available directly in the toolbox. |
RequestNextTransforms() |
Yes | Works. |
RetrieveSwitchData() |
? | Untested, but it should work. |
RigidBodyAdd() |
? | Untested. |
RigidBodyAddFromDeviceHandle() |
? | Untested. |
RigidBodyAddFromFile() |
Yes | Works. |
RigidBodyChangeFOR() |
? | Untested. Might work. |
RigidBodyChangeSettings() |
? | Untested. Most probably will work. |
RigidBodyDelete() |
Yes | Works. |
TransformPoint() |
? | Untested, but it should work. |
TransputerDetermineSystemCfg() |
Yes | Works. Use optotrak_startup instead. |
TransputerInitializeSystem() |
Yes | Works, but use optotrak_startup instead. |
TransputerLoadSystem() |
Yes | Works, but use optotrak_startup instead. |
TransputerShutdownSystem() |
Yes | Works, but use optotrak_kill instead. |