Headstage 64 Ts4231
The following excerpt from the Headstage 64 example workflow demonstrates the Headstage 64's position tracking capabilities.
The TS4231V1PositionData operator generates a sequence of
TS4231V1PositionDataFrames. A
TS4231V1PositionDataFrame is emitted when a receiver on the Headstage 64 captures a sequence of 12
optical signals from a pair of lighthouses which occurs at 30 Hz. Therefore, with no occlusions, the
maximum achievable sample rate is 30 Hz per receiver. There are three receivers on the Headstage 64,
so TS4231V1PositionData can emit up to 3 TS4231V1PositionDataFrames in a single 30 Hz sampling
cycle. Of course, if occlusions cause receivers to miss optical signals, this rate will be reduced.
TS4231V1PositionDataFrames. A
TS4231V1PositionDataFrame is emitted when a receiver on the Headstage 64 captures a sequence of 12
optical signals from a pair of lighthouses which occurs at 30 Hz. Therefore, with no occlusions, the
maximum achievable sample rate is 30 Hz per receiver. There are three receivers on the Headstage 64,
so TS4231V1PositionData can emit up to 3 TS4231V1PositionDataFrames in a single 30 Hz sampling
cycle. Of course, if occlusions cause receivers to miss optical signals, this rate will be reduced.
The TS4231V1PositionData's DeviceName property is set to "Headstage64/TS4231V1". This links the
TS4231V1PositionData operator to the corresponding configuration operator.
The CsvWriter operator writes the Clock and Position members from
the TS4231V1PositionDataFrame output by TS4231V1PositionData to a file with the following name
format: ts4231v1-uncalibrated_<filecount>.csv. Because CsvWriter is a sink operator, its
output sequence is equivalent to its input sequence. In other words, its output is equivalent to
TS4231V1PositionData's output. Therefore, it's possible to connect it directly to
TS4231V1LinearTransform which takes TS4231V1PositionDataFrame as its
input. To learn how to use this operator to transform coordinates in the TS4231 device reference
frame to a reference frame that is more intuitive or relevant to the experiment, check out the
Calibrate Positional Tracking Data tutorial page.
TS4231V1LinearTransform connects directly to another CsvWriter -- this one writes Clock and
Position members from the TS4231V1PositionDataFrame output by TS4231V1PositionData to a file
with the following name format: ts4231v1-calibrated_<filecount>.csv. The
MemberSelector operator on the CsvWriter
selects a members from TS4231V1PositionDataFrame. The easiest way to place a MemberSelector is
is to click the relevant members that appear by hovering over the "Output"
option that appears in the context menu that appears after right-clicking the CsvWriter node. The
Position member is selected in the workflow to help
visualize the position data by double-clicking the node when the workflow is running. For more
details on visualizing data, checkout the Data Visualization page.