<div dir="ltr">Hi Xia,<div>         This requirement brings up an interesting point. At present we support camera controller that uses information from <i><a href="https://gitlab.kitware.com/iMSTK/iMSTK/blob/master/Base/SceneElements/Controllers/imstkDeviceTracker.h">device tracker</a> </i>to update camera pose. The device tracker takes raw device positions/rotations and applies rotation/translation <a href="https://gitlab.kitware.com/iMSTK/iMSTK/blob/master/Base/SceneElements/Controllers/imstkDeviceTracker.cpp#L32">offsets</a> that can be prescribed by the user. I think what would be better is to generalize the <i>device controller </i>where the user can prescribe a function that does the offset or any other custom transform. It should be fairly simple to do this with C++ lambdas. This extension could cater to your requirement. </div><div><br></div><div>Let me know if you need more explanation. I would be happy to help you do this as and when you are ready with the rest of the implementation. Thanks.</div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 10, 2017 at 4:53 PM, Zhaohui Xia <span dir="ltr"><<a href="mailto:unihui@gmail.com" target="_blank">unihui@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="#0563C1" vlink="#954F72"><div class="m_-7977568925997254252WordSection1"><p class="m_-7977568925997254252MsoPlainText"><span style="font-family:"\005fae\008f6f\0096c5\009ed1  Light",sans-serif">Hi,<u></u><u></u></span></p><p class="m_-7977568925997254252MsoPlainText"><span style="font-family:"\005fae\008f6f\0096c5\009ed1  Light",sans-serif"><u></u> <u></u></span></p><p class="m_-7977568925997254252MsoPlainText"><span style="font-family:"\005fae\008f6f\0096c5\009ed1  Light",sans-serif">I need a camera navigation inside a colon model as the below picture shown. To simply it, I think the camera can be move along the central curve of the inside colon when the camera/endoscopic is pulled/pushed by Omni/Other devices, and it should be adjusted to different perspective for view in any point. So I am going to use several piecewise function to represent the central curve as the following function.<u></u><u></u></span></p><p class="m_-7977568925997254252MsoPlainText"><span style="font-family:"\005fae\008f6f\0096c5\009ed1  Light",sans-serif"><img width="160" height="99" style="width:1.6666in;height:1.0312in" id="m_-7977568925997254252_x0000_i1025" src="cid:image001.png@01D299BE.D28E9000"><u></u><u></u></span></p><p class="m_-7977568925997254252MsoPlainText"><span style="font-family:"\005fae\008f6f\0096c5\009ed1  Light",sans-serif">The input parameters for the function is the moving distance (<i><span style="color:red">d</span></i>) from device, and the output should be the position and orientation of camera. Currently, the position and orientation of camera are obtained from Omni, and it will be replaced by calculation result via the piecewise functions later.<u></u><u></u></span></p><p class="m_-7977568925997254252MsoPlainText"><span style="font-family:"\005fae\008f6f\0096c5\009ed1  Light",sans-serif">Could you provide the interface in iMSTK for these piecewise function, then I can add them by myself?<u></u><u></u></span></p><p class="m_-7977568925997254252MsoPlainText"><span style="font-family:"\005fae\008f6f\0096c5\009ed1  Light",sans-serif"><u></u> <u></u></span></p><p class="m_-7977568925997254252MsoPlainText"><span style="font-family:"\005fae\008f6f\0096c5\009ed1  Light",sans-serif">Thanks,<u></u><u></u></span></p><p class="m_-7977568925997254252MsoPlainText"><span style="font-family:"\005fae\008f6f\0096c5\009ed1  Light",sans-serif">Zhaohui<u></u><u></u></span></p><p class="m_-7977568925997254252MsoPlainText"><img width="327" height="449" style="width:3.4062in;height:4.677in" id="m_-7977568925997254252Picture_x0020_1" src="cid:image002.png@01D299BE.D28E9000" alt="cid:image001.png@01D2999E.C3DC4180"><u></u><u></u></p><p class="m_-7977568925997254252MsoPlainText">The colon picture<u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"\005fae\008f6f\0096c5\009ed1  Light",sans-serif;color:#3b3838;background:white">------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>----------------</span><span style="font-size:10.0pt;font-family:"\005fae\008f6f\0096c5\009ed1  Light",sans-serif;color:#3b3838"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"\005fae\008f6f\0096c5\009ed1  Light",sans-serif;background:white">Zhaohui Xia, Ph.D.</span><span style="font-size:10.0pt;font-family:"\005fae\008f6f\0096c5\009ed1  Light",sans-serif"><br><span style="background:white">Postdoctoral Research Associate, Center for Modeling, Simulation and Imaging in Medicine (CeMSIM)</span><br><span style="background:white">Rensselaer Polytechnic Institute</span><u></u><u></u></span></p></div></div><br>______________________________<wbr>_________________<br>
Imstk-developers mailing list<br>
<a href="mailto:Imstk-developers@imstk.org">Imstk-developers@imstk.org</a><br>
<a href="http://public.kitware.com/mailman/listinfo/imstk-developers" rel="noreferrer" target="_blank">http://public.kitware.com/<wbr>mailman/listinfo/imstk-<wbr>developers</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Sreekanth Arikatla, Ph.D.,</div><div dir="ltr">Senior R&D Engineer,</div><div dir="ltr"><a href="http://www.kitware.com" style="font-size:12.8px" target="_blank">Kitware, Inc.</a>, Carrboro, NC.<div><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div>
</div>