Adaptive Optics AOA

Adaptive Optics is another company which creates hardware for optical motion capture. Their format, which really doesn't have a standard file extension, is a simple one that they devised for providing their data to their customers. Like all tracker formats it describes a set of markers and their position at each sample.

Parsing the file

There are two sections to the AOA file. There is a header section which simply consists of one or two lines and the data section. The markers in the AOA file are not named, they are merely numbered.

The first line of the header section is usually a comment line, although this line can be skipped. The comment line doesn't have a special character to indicate the start of a comment, you have to look at the line and decide if it isn't the header line containing the actual information.

The header line has three tokens: "frames", "nummarkers" and "hz". Each token is followed by an equal sign and then the number for that token. Spaces surround each equal sign. The frames value is the number of the frames in the file. The nummarkers token is the number of markers on each sample. The token hz is the hertz, or sampling rate of the file, this number is the number of samples per second. When parsing the header you should simply look for a line which contains these three tokens and values for each. All other lines until this one is encountered should be treated as comment lines, although I've never seen an AOA file that had more than one comment line (some had no comment line).

The motion data is simply one marker per line. The first line is for marker number 1, the second line is for maker number 2, etc… This goes until the last marker for the sample. Then the process is started all over again for the next sample. This goes until the end of the file is reached.

Interpreting the data

The marker data is in world coordinates. Each marker is numbered, there are no names. The values you get in the file are the ones that you return to you program, no processing of the data is necessary.