MATLAB Toolbox For C3Dserver – Version 2
Matthew R. Walker, Michael J. Rainbow
Motion Analysis Laboratory Shriners Hospitals for Children – Erie PA (USA)
Version 2: April 21, 2006
Description
The C3D directory contains MATLAB functions used to activate and use Motion Lab Systems (MLS) C3Dserver as a COM object in MATLAB. This allows access to all of the functions within the C3Dserver. Some example functions are provided - a brief description of the m-files is available here.
Version 2 Additions:
- New functions available to provide examples of C3Dserver capabilities.
- Notes have been added to this documentation on PC requirements and a syntax change for use in MATLAB that was not mentioned in Version 1 of this toolbox.
Disclaimer of Warranties & Indemnity
These functions are offered to the biomechanics community free of charge and “as is” to increase the availability of a commonly used file format (*.c3d) in MATLAB. The use of these functions is at your own risk. Development of these functions was solely for the convenience of the authors, and was not in association with MLS in any way.
Shriners Hospitals for Children, the Motion Analysis Laboratory at Shriners Hospitals for Children - Erie PA (USA), and/or the authors make no warranty, express or implied, including, without limitation, any implied warranties of merchantability or of fitness for a particular purpose with respect to any research, information, data, patent, trademark, software, non-public or other information, or tangible research property which may be provided to User hereunder and hereby disclaims the same.
Usage
Request from Authors: Please leave the authors names intact on the files. The authors also request acknowledgement if the use of these functions was found helpful for publications. If you find errors, have questions/ comments, or would like to provide or request additions to these M-files, please contact either Matthew Walker (matthewwalker_1@hotmail.com) OR Michael Rainbow (Michael_Rainbow@brown.edu).
Requirements:
Please Note:
- Routines have not been tested with other versions of MATLAB. Problems resulting from use of this toolbox with older MATLAB versions are not supported by the authors.
- Download the C3Dserver_matlab.zip file and add the directory to your MATLAB path.
- Choose a variable name (for example: 'test'), and type at the MATLAB prompt:
>> test = c3dserver
- A COM object variable 'test' is now loaded. Once loaded, the C3DServer functions are considered 'methods' of the class COM.C3DServer_C3D. The status and version of C3DServer you are using will be displayed (access is limited in evaluation mode).
- There are several MATLAB functions that will show you the 'methods' (ie. functions) available through C3DServer. For example, type any of the following:
>> methods(test) ; invoke(test) ; methodsview(test)
- The M-files can now be used as typical MATLAB functions to open, save, create, or close a *.c3d file. For help, type: help 'function name'. To open a file, type:
>> openc3d(test)
Also notice additional arguments for increased flexibility in some of the functions.
- With access to all of the functions in C3Dserver, users can now write additional MATLAB functions (similar to those M-files in the toolbox) to perform operations on the data in C3D files.
Please Note:
- When using C3Dserver functions, please refer to the most recent C3Dserver documentation.
- The BYTE byScaled arguments for functions in the C3Dserver manual must be input into MATLAB code as a string (ie. in single-quotations). As an example, the final argument in the following code needs to be in single quotation marks: >> xyzpos = test.GetPointData(0, 0, test.GetVideoFrame(0), ‘1’);
- No other syntax differences have been found.
Acknowledgements
The authors would like to thank Frank L. Buczek, Jr., Ph.D., Director of the Motion Analysis Laboratory at Shriners Hospitals for Children – Erie PA (USA), for his support and suggestions during this process