<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">There are many options. One of them is to create a “tool” image once and transformation and resample it using vtkImageResample. You do not use vktTransformFilter
 at all. As far as I remember, vtkImageResample has some padding options but if they are not sufficient then you can use vtkImagePadFilter to make images larger (while keeping their current content).<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Andras<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> shadab anwar <sk.shadabanwar@gmail.com>
<br>
<b>Sent:</b> Wednesday, January 9, 2019 3:50 PM<br>
<b>To:</b> Andras Lasso <lasso@queensu.ca><br>
<b>Cc:</b> vtkusers@public.kitware.com; vtkusers@vtk.org<br>
<b>Subject:</b> Re: [vtkusers] Turning off/on voxels at the intersection of two vtkimagedata<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><span style="color:#313131;background:white">Hey Andras,</span><o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="color:#313131">Thank You for the quick reply!<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#313131"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#313131">My application is based on CAD and Machining Dynamics.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#313131">Also I would like to know the process for translating the vtkimagedata so that I can see the tool moving visually to the next position. I have tried vtkimagereslice and vtktransformfilter. The problem with vtkimagereslice
 is that if I rotate the model I get a truncated solid. When I use vtktransformfilter I get the output as vtkstructuredgrid instead of vtkimagedata.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#313131">I'll be happy if you can show me a direction such that I will be able to translate, rotate my imagedata (not the actor).<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#313131"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#313131">Just to let you know I am using C++.<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#313131"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#313131">Thanks,<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#313131">Shadab <o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#313131"><o:p> </o:p></span></p>
</div>
<div>
<p class="MsoNormal"><span style="color:#313131"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Wed, 9 Jan 2019 at 3:10 PM, Andras Lasso <<a href="mailto:lasso@queensu.ca">lasso@queensu.ca</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">You can do the single step of blanking out an image data with another by resampling the two images
 in the same coordinate system and use vtkImageMask or vtkImageMath to combine them.</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">If you wanted to simulate medical procedures (bone removal, etc.) note that a full suite of tools are
 available for this in 3D Slicer application (<a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.slicer.org&data=02%7C01%7Classo%40queensu.ca%7C34d4e3a05605452a3cbd08d676741060%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636826638198219183&sdata=22WOsuxOn68qCDkKl0S599FCQI0FbAIfva7MX%2BWX%2B04%3D&reserved=0" target="_blank">www.slicer.org</a>)
 and its many extensions. They are based on VTK and fully customizable or extensible in Python and C++. You can connect to almost any position tracker device (it can be a simple webcam that tracks 2D barcodes, or a commercial surgical navigation system) using
 SlicerIGT extension (<a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.slicerigt.org&data=02%7C01%7Classo%40queensu.ca%7C34d4e3a05605452a3cbd08d676741060%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636826638198229192&sdata=yLoA3NdS4V7x3nse94ZcPiRrDzcddqVNTgbqVyr1Aq4%3D&reserved=0" target="_blank">www.slicerigt.org</a>)
 to get tool position in real-time. To remove tissue probably the simplest is to import the tool model as a segment and apply “volume masking” segment editor effect. You can even compute skill assessment metrics using PerkTutor extension (<a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.perktutor.org&data=02%7C01%7Classo%40queensu.ca%7C34d4e3a05605452a3cbd08d676741060%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636826638198229192&sdata=0Oke83jFNbGmPgfR5O%2FVrcTBhXmV28b5hLQcPG98mDs%3D&reserved=0" target="_blank">www.perktutor.org</a>).
 All the programming that you need to do is writing 20-30 lines of Python code to trigger volume masking automatically when the tool position is changed. If you have any questions you can post it to
<a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdiscourse.slicer.org&data=02%7C01%7Classo%40queensu.ca%7C34d4e3a05605452a3cbd08d676741060%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636826638198239197&sdata=FPNmCZUVhRaqdqJG%2F7ZX6GTk9WXK2MU0npEWlSf2hi8%3D&reserved=0" target="_blank">
https://discourse.slicer.org</a>. </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Andras</span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"> </span><o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> vtkusers <<a href="mailto:vtkusers-bounces@vtk.org" target="_blank">vtkusers-bounces@vtk.org</a>>
<b>On Behalf Of </b>shadab anwar<br>
<b>Sent:</b> Wednesday, January 9, 2019 2:31 PM<br>
<b>To:</b> <a href="mailto:vtkusers@public.kitware.com" target="_blank">vtkusers@public.kitware.com</a>;
<a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a><br>
<b>Subject:</b> [vtkusers] Turning off/on voxels at the intersection of two vtkimagedata</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Hi everyone,<o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I am working on a problem consisting of two vtkimagedata, where the first vtkimagedata represents workpiece (3D block) and other vtkimagedata represents  tool (cylindrical) in my
 application.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I want to turn off the voxels at the intersection of these two imagedata after that  I want to translate the tool to a next position and repeat the same thing.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">I have tried few methods but no sucess! I'll be really grateful if you can help me with the easiest method to do so or at least show me direction to go.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Shadab<o:p></o:p></p>
</div>
</div>
</div>
</div>
</blockquote>
</div>
</div>
</div>
</body>
</html>