Hi Ziv,<div>You are right. The tracker would be directly connect to the system in my application, so I don't need to broadcast the frames.</div><div>Moreover Polaris spectra that I am using uses serial interface, so  OpenIGTLink is probably an unnecessary layer.</div>
<div><br></div><div>If you could give sources to your library, I could start getting my hands dirty :)</div><div>Also, I have not looked deep into IGSTK code, but apart from ITK versor/vector, vtkMatrix4x4 ,</div><div>I also found references to that IGSTK uses command/observer pattern like ITK ?</div>
<div>Does it use ITK itkCommand.h or implements its own ?</div><div>How deeply intertwined are IGSTK / ITK ? If its only a few classes like igstkTransform, I can implements</div><div>my own, but if its a lot of would then I might have to skip this .</div>
<div><br></div><div>Thanks,</div><div>Somi<br><br><div class="gmail_quote">On Tue, Oct 26, 2010 at 12:50 PM, Ziv Yaniv <span dir="ltr"><<a href="mailto:zivy@isis.georgetown.edu">zivy@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;">

  
    
  
  <div bgcolor="#ffffff" text="#000000">
    Hi Somi,<br>
    <br>
    OpenIGTLink is probably not what you are looking for. Here's how it
    works:<br>
    OpenIGTLink is a message passing protocol
    (<a href="http://www.na-mic.org/Wiki/index.php/OpenIGTLink" target="_blank">http://www.na-mic.org/Wiki/index.php/OpenIGTLink</a>) that among others
    supports passing of transforms. <br>
    Slicer3D (<a href="http://www.slicer.org" target="_blank">www.slicer.org</a>) uses this protocol for tracking in image
    guided interventions. The way they do it is through
    IGSTK+OpenIGTLink over TCP/IP sockets. IGSTK provides a standalone
    program that does the tracking and transmits the OpenIGTLink
    messages through sockets to the Slicer application. You can run the
    two programs on the same computer or on two separate computers
    connected via ethernet.<br>
    <br>
    I am pretty sure this isn't what you wanted.<br>
    <br>
    With regard to the multi-threading library that I mentioned, this is
    original ITK code with minor modifications, mainly removal of code.
    Given that this is a modification for my uses:<br>
    a. The license is the same as for ITK (free for any use, no strings
    attached). <br>
    b. There is no support for this specific library as I created it for
    my uses. Given that it is 99% original ITK you can ask questions on
    the ITK list for any issues.<br>
    c. It is minimally tested as I am relying on the original ITK
    testing. Hopefully my modifications are minor enough that I have not
    introduced bugs into the code. You can always compare its behavior
    to that of the official ITK release, just change the library to
    which you link, your code remains the same as the interface did not
    change. If the behavior is the same then my modifications did not
    introduce bugs that aren't already in the original code ;).<br>
    <br>
                                   hope this clarified things<br><font color="#888888">
                                                        Ziv</font><div><div></div><div class="h5"><br>
    <br>
    <br>
    On 10/26/2010 4:31 PM, somi wrote:
    <blockquote type="cite">
      
      <div>Thanks for the reply Patrick, Andinet, ziv,</div>
      <div><br>
      </div>
      <div>Ziv,</div>
      <div>We have an application with custom features,display and
        tracking code (currently supports Polaris only) . We want to
        separate the tracking code from this application,</div>
      <div>so that user may be able develop and use their own trackers
        and are not restricted to Polaris.  We can implement custom
        tracking classes for various trackers,</div>
      <div> but tracking is not our core competence and  we would like a
        toolkit which is widely used, robustly tested, supports major
        trackers and well documented, so that its easy for users to
        debug.</div>
      <div><br>
      </div>
      <div>So I decided on using IGSTK. However if I use IGSTK I would
        have to provide ITK/VTK/IGSTK libraries with my application,
        even though I am using only</div>
      <div>few ITK/VTK objects ( <span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse">igstk::Transform for itk , any VTK
          object ? ) I could implement my own Transform structure as you
          suggested. However to use your MT-library, there may be some
          issues:</span></div>
      <div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse"><br>
        </span></div>
      <div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse">a)
          Copyright ?? ( our software would be sold commercially in
          future )</span></div>
      <div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse">b)
          How much support is available for it ??</span></div>
      <div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse">c)
          Has it been rigorously tested or still in development ??</span></div>
      <div><span style="font-family:arial,sans-serif;font-size:13px;border-collapse:collapse"><br>
        </span></div>
      
      <div><br>
      </div>
      <div>
        I also came across OpenIGTlink @ <a href="http://www.na-mic.org/Wiki/index.php/OpenIGTLink" target="_blank">http://www.na-mic.org/Wiki/index.php/OpenIGTLink</a></div>
      <div>I am not very clear about relation between IGSTK and
        OpenIGTLink ? does IGSTK use OpenIGTLink protocol ?</div>
      <div>or OpenIGTLink and IGSTK are completely different ?</div>
      <div><br>
      </div>
      <div>Regards,</div>
      <div>Somi</div>
      
      <br>
      <div class="gmail_quote">On Tue, Oct 26, 2010 at 1:54 PM, Patrick
        Cheng <span dir="ltr"><<a href="mailto:cheng@isis.georgetown.edu" target="_blank">cheng@isis.georgetown.edu</a>></span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">Hi Somi,<br>
          <br>
          IGSTK is build on top of ITK/VTK. It is not possible to
          isolate the tracking component as the way you described.<br>
          <br>
          To decouple your own application with IGSTK, you can try use
          the OpenIGTLink library.<br>
          <a href="http://public.kitware.com/IGSTKWIKI/index.php/Using_OpenIGTLink_in_IGSTK" target="_blank">http://public.kitware.com/IGSTKWIKI/index.php/Using_OpenIGTLink_in_IGSTK</a><br>
          <br>
          You can start with the example application in IGSTK:<br>
          OpenIGTLinkTrackerBroadcasting<br>
          <font color="#888888">
            <br>
            Patrick</font>
          <div>
            <div><br>
              <br>
              On 10/26/2010 10:42 AM, somi wrote:<br>
            </div>
          </div>
          <blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
            <div>
              <div>
                Hi,<br>
                Do the Tracking component of IGSTK depend on ITK/VTK ?<br>
                <br>
                If not is it possible to build IGSTK only for tracking
                with no dependencies<br>
                on ITK/VTK toolkits ?<br>
                <br>
                I am trying to integrate the tracking component of IGSTK
                in my application,<br>
                I have my own Display/ Image processing etc code.<br>
                <br>
                Thanks,<br>
                Somi<br>
                <br>
                <br>
                <br>
              </div>
            </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>
            </div>
          </blockquote>
        </blockquote>
      </div>
      <br>
      <pre><fieldset></fieldset>
_______________________________________________
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a>

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>

Follow this link to subscribe/unsubscribe:
<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></pre>
    </blockquote>
    <br>
    <br>
    </div></div><div class="im"><pre cols="72">-- 
Ziv Yaniv, PhD., Research Assistant Professor
Imaging Science and Information Systems (ISIS) Center
Department of Radiology
Georgetown University Medical Center
2115 Wisconsin Avenue, Suite 603
Washington, DC, 20007,

Phone: +1-202-6877286
Fax: +1-202-784-3479
email: <a href="mailto:zivy@isis.georgetown.edu" target="_blank">zivy@isis.georgetown.edu</a>
web: <a href="http://isiswiki.georgetown.edu/zivy/" target="_blank">http://isiswiki.georgetown.edu/zivy/</a>
</pre>
  </div></div>

</blockquote></div><br></div>