Hi Patrick,<div>Thanks for the reply. I had few more queries.</div><div><br><div>I have attached a log file showing, the start time , expiration time and their difference ( exp time - start time) for 5 frames ( 4 tracker tools connected to tracker).</div>
<div>Only tool 1 and 3 were visible, while 2 and 4 were hidden.</div><div><br></div><div>a) As you had mentioned, I notice about "0.03 ms" difference in start times of the tool in a particular frame. </div><div>
<br></div><div>b) I also notice the expiration time doesn't change for tools which were not visible</div><div><br></div><div>c) Also the difference between start time and expiration time is not constant.</div><div><br>
</div><div>Shouldn't the difference ( exp time - start time) be constant and be equal to the tracking frequency of the tracker ?</div><div>Is there a way to determine how fast are we actually tracking ?</div><div><br>
</div><div><br>Thanks,</div><div>Somi</div><div><br><div class="gmail_quote">On Tue, Nov 9, 2010 at 11:16 AM, Patrick Cheng <span dir="ltr"><<a href="mailto:cheng@isis.georgetown.edu">cheng@isis.georgetown.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Somi,<br>
<br>
That's a good question.<br>
<br>
In IGSTK we use timestamp to keep things in sync. Each transform will be timestamped at its origination with certain valid time period, depending on tracker update frequency and an overlapping constant.<br>
<br>
You can check validity of each transform's timestamp after you have obtained transforms from all your tracker tools. The timestamps' start and end time will be slightly different, as transforms are updated sequentially. But they should have similar lifespan as they are refreshed within one tracker update cycle.<br>
<br>
It might not be as accurate as the frame number in Polaris. But given Polaris's tracking frequency, this should be a valid solution.<br>
<br>
Patrick<div><div></div><div class="h5"><br>
<br>
On 11/9/10 9:58 AM, somi wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div class="h5">
Hi,<br>
<br>
I have a Polaris tracker with 4 tracking tools attached to it.<br>
During the tracking update look I use "<br>
tracker_tool->RequestGetTransformToParent() "<br>
to get the transform. See the pseudo-code below for details.<br>
<br>
How do I make sure that the transform received for all the Tracker tool<br>
objects is from the same<br>
frame. Polaris frames have a unique frame number for each tracking data,<br>
which I could probably use. Is there any way to access it ?<br>
<br>
<br>
UpdateLoop()<br>
{<br>
<br>
// Update Tool 1<br>
tracker_tool1->RequestGetTransformToParent();<br>
if (coordObserver1->GotTransform())<br>
{<br>
TransformType transform;<br>
transform = coordObserver1->GetTransform();<br>
if ((is_visible = transform.IsValidNow()))<br>
{<br>
copy transform data<br>
}<br>
}<br>
<br>
<br>
<br>
<br>
// Update Tool 2<br>
tracker_tool2->RequestGetTransformToParent();<br>
if (coordObserver2->GotTransform())<br>
{<br>
TransformType transform;<br>
transform = coordObserver2->GetTransform();<br>
if ((is_visible = transform.IsValidNow()))<br>
{<br>
copy transform data<br>
}<br>
}<br>
<br>
<br>
<br>
.... update other tools<br>
}<br>
<br>
<br>
here, coordObserver is an igstk::TransformObserver<br>
<br>
<br>
<br>
Thanks,<br>
Somi<br>
<br>
<br>
<br></div></div>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users</a><br>
</blockquote>
</blockquote></div><br></div></div>