====== Introduction ====== AMASS (**A**DTech **M**otion **A**nalysis **S**oftware **S**ystem) is a software package for deriving the three-dimensional (3D) locations of passive targets (unidentified markers) imaged by any number of video cameras, and writing the identified data to file using the [[[http://www.c3d.org|C3D file format]]]. Input data are the marker centroids expressed in each camera’s image coordinate system, and a small number of parameters. The full AMASS software and documentation is available as a free download for evaluation purposes, but a wand must be purchased if you wish to use AMASS within your application. ==== A little history ==== The original AMASS was released in 1988 and presented novel solutions to issues such as camera lens distortions, camera system calibration, image data reduction, and integrated 2D and 3D marker tracking. It also introduced the [[[http://www.c3d.org|C3D file format]]] for identified 3D marker data that has become a standard for biomechanical applications, see [[[http://www.c3d.org|c3d.org]]]. In 1995 AMASS introduced the first wand calibration that has now become the standard for passive marker systems. Since that time, computer, camera, and software technology has grown at a rapid pace to the point where an inexpensive desktop computer and off-the-shelf cameras can easily collect and process data from many cameras and create extremely large data files. Unfortunately the ease-of-use of 3D measurement systems has not kept pace with hardware improvements, with the consequence that many commercial systems still have a steep learning curve and often require dedicated professionals for their effective operation. The reason for this is twofold: - The systems are inherently complex, involving camera and computer technology, optics, 3D geometry, and individual application requirements, and it is very difficult provide an integrated system that has the intelligence to reduce this complexity down to a point where the system can be easily operated by a novice user. - Many currently available software implementations are based on legacy software that is very difficult to modify without starting from scratch. An additional factor is that most modern software techniques (e.g. wand calibrations) are not in the public domain because they have been developed for proprietary use in commercial packages. ==== Purpose ==== This completely new version of AMASS aims to provide the easiest-to-use software package that is theoretically possible, and much effort has gone into reducing the need for detailed user input, and into guiding the user throughout the process. An equal emphasis has been placed on the accuracy of the camera and system calibrations by use of a new type of wand which ensures optimal accuracy and facilitates reliable 3D reconstruction and tracking of markers. As such, it is expected that the package will find wide application in research laboratories, clinics, animation studios, and many educational settings. ==== Components ==== === AMASS Shell === AMASS consists of a number of closely integrated programs accessed from the main AMASS shell program, and one or more calibration wands (supplied through C-Motion, Inc.) that must be used to calibrate the cameras and hardware system before 3D data can be generated. The following figure illustrates the connections between the various components. {{:Amass_comp.png}} AMASS uses [[Other:Report3D:Documentation:Centroid_Files|//.cen//]] (centroids) files as input to the [[Other:AMASS:Documentation:Parameters#Calibrate|Calibration]] and [[Other:AMASS:Documentation:Parameters#Track|Tracking]] components. [[Other:Report3D:Documentation:Centroid_Files|//.cen//]] files are binary files that contain the marker centroids for every frame for every camera in the system. If the camera data comes from a system other than C-Motion, they must be converted to a [[Other:Report3D:Documentation:Centroid_Files|//.cen//]] file before use. AMASS provides conversion capabilities for selected systems. Once a calibration has been performed on a suitable //.cen// file (containing data with suitable wand motions), the resulting [[Other:AMASS:Documentation:Parameters#Calibrate|Calibration]] (//.cal//) file is available to be used for reconstruction and tracking of subsequent data files. The [[Other:AMASS:Documentation:Parameters#Track|Tracking]] program takes a //.cen// file, a //.cal// file, and some parameters specified in the Project file, and generates unidentified 3D trajectories which are written to a segment (//.seg//) file. The Identify program graphically displays the segments and allows the user to associate marker labels with each segment. When all of the required labeling has been carried out the user can write the final results to a //.c3d// file. === Projects === A project is a data set that contains all of the information that AMASS needs to process camera data for a particular application. In particular it stores the processing parameters required by the various components, and the names of the data files’ source and destination folders. The data for individual projects are stored in project (.prj) files, providing a very versatile environment for managing all data. Projects can be easily created, loaded, modified, saved, copied, and deleted. === Parameters === Each program component requires a small number of user supplied parameters that are stored in the Project file. These parameters can be readily viewed and modified from the AMASS shell, and are automatically saved to the project file. === Calibration wand === The AMASS wand is a carefully manufactured calibration tool that guarantees the accuracy of every successful calibration and results in the most reliable and accurate 3D data from the measurement system. It should be emphasized that wands acquired from other sources will not work with the AMASS software because during the calibration each wand is uniquely identified by the software. This facility makes it unnecessary for the user to supply any data pertaining to the wand, and ensures that the wand meets required standards for construction and accuracy. In fact, the wand serves the function of a key which permits the use of AMASS software in user applications. === Reference markers === Static markers may be placed in the field-of-view of cameras during camera data capture to indicate the Global Coordinate System (GCS) in which all three-dimensional (3D) will be expressed. ==== Camera data requirements ==== AMASS accepts camera data via .cen files. As a minimum a .cen file contains the (x,y) image coordinates of marker centroids from every frame and every camera in the system. In the current implementation it is assumed that all cameras are synchronized, i.e. every frame for all cameras was exposed at the same instant in time. Typically a marker centroid is a single point in the image that is deduced to be the best estimate of center of the marker’s image. Currently AMASS does not require or use any other marker image data such as size, circularity, etc. C-Motion data capture outputs .cen files directly, and a conversion capability is provided in AMASS to handle raw camera files from a number of commercial motion capture systems. Additionally, a C++ dll is available which can be easily implemented to write centroid data to a .cen file.