[Imstk-developers] Using IMSTK

Sreekanth Arikatla sreekanth.arikatla at kitware.com
Thu Jun 1 16:56:58 EDT 2017


Hi Aparna,
              Glad to hear that you are are interested in iMSTK to develop
your application. Please see below.

On Tue, May 30, 2017 at 6:07 AM, Aparna Dutta <
aparna.dutta at merkelhaptics.com> wrote:

> Hello Dr. Arikatla,
>
> I am Aparna Dutta, working at Merkel Haptic Systems, Chennai. Our company
> is a spin-off from IIT-Madras Touch Lab (https://apm.iitm.ac.in/
> biomedical/touchlab/).
> We have developed a laparoscopy simulator hardware, and Professor Suvranu
> De suggested to Professor Manivannan that we try to use IMSTK to develop
> the software application.
>
> We have downloaded and built the IMSTK package. On trying to integrate
> with our hardware, we have the following questions:
>
> 1. Are there any simulations of FLS (Fundamentals of Laparoscopic Surgery)
> already implemented in IMSTK ? If so where can we find them ?
>

Yes, we have been developing camera navigation simulator
<https://vimeo.com/190792788> on iMSTK. We are closely working with Dr. De
and SAGES to make this task part of virtual FLS that we are developing. We
have it as an application code that uses iMSTK as a dependency. At this
point we are finalizing the application for a validation study and is not
openly acceable yet. The rest of the tasks (peg transfer, suturing,
ligation and pattern cutting) were developed on a older framework from Dr.
De's lab before we started on iMSTK. We are currently working to base those
implementations into iMSTK.

>
> 2. On running the examples, only the scene loads but nothing happens. How
> do we get the example simulations to run ?
>

The simulations in the examples are paused on start. The simulation can be
started with 's' key and paused with spacebar. You can check
VTKInteractorStyle class for more options. We will try to add more
documentation to make this obvious to users in the future. Thanks.

>
> 3. The examples include interface with Phantom Omni. Can we also interface
> our own device with IMSTK ?
>

We use VRPN <https://github.com/vrpn/vrpn/wiki> to interface with devices.
But if a device is not supported, one can add custom device interface by
deriving from the DeviceClient class. In fact, Phantom Omni interface
classes are custom implemented in order to support cross-platform
compatability. You can add interface classes to your hardware following
HDAPIDeviceClient and HDAPIDeviceServer classes that we implemented for
Phantom Omni.

>
> 4. How can we add haptic feedback in the simulation ?
>

When you implement your custom device client that I mentioned above, the
run() method should call your device callback that communicates with your
device (queries positions, orientations and sets forces). You can refer
HDAPIDeviceClient::hapticCallback() for details. The actual forces  are
only communicated to the device here and are computed elsewhere.

Once you have the implementation ready you can modify the
testVirtualCoupling() example to test your code.


> We would greatly appreciate it if you could clarify the above points and
> support us in our development.
>

We will be glad to work with you if you have further questions. Thanks.

>
> Thanks and regards,
> Aparna Dutta
> Chief Software Architect
> Merkel Haptic Systems
>
>


-- 
Sreekanth Arikatla, Ph.D.,
Senior R&D Engineer,
Kitware, Inc. <http://www.kitware.com>, Carrboro, NC.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/imstk-developers/attachments/20170601/e025d5a8/attachment.html>


More information about the Imstk-developers mailing list