<font size="2"><font face="verdana,sans-serif">I added the example <a href="http://www.vtk.org/Wiki/VTK/Examples/Cxx/VolumeRendering/itkVtkImageConvert">itkVtkImageConvert</a>. It would be nice if someone could test this, preferably on Linux (because I created this on Windows).<br>

</font></font><br><div class="gmail_quote">2011/7/5 Dženan Zukić <span dir="ltr">&lt;<a href="mailto:dzenanz@gmail.com">dzenanz@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<font size="2"><font face="verdana,sans-serif">OK, I will create an example employing this and put it in VTK wiki.<br></font></font><font color="#888888"><div><font face="verdana, sans-serif"><br></font></div><div><font face="verdana, sans-serif">Dženan<br>


</font></div></font><div><div></div><div class="h5"><div><div class="gmail_quote"><br></div><div class="gmail_quote">2011/7/5 David Doria <span dir="ltr">&lt;<a href="mailto:daviddoria@gmail.com" target="_blank">daviddoria@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2011/7/5 Dženan Zukić &lt;<a href="mailto:dzenanz@gmail.com" target="_blank">dzenanz@gmail.com</a>&gt;:<br>
<div><div></div><div>&gt; I hope this function can save someone a lot of time and headaches. It takes<br>
&gt; an itk::Image and converts it into a vtkVolume, keeping it in DICOM&#39;s<br>
&gt; patient physical world space. Its main usage is combining it with segmented<br>
&gt; structures (vtkPolyData) whose vertices are in DICOM patient space, that is,<br>
&gt; vertex coordinates were obtained using<br>
&gt; visualizing-&gt;TransformIndexToPhysicalPoint().<br>
&gt; typedef itk::Image&lt;unsigned char, 3&gt; VisualizingImageType<br>
&gt; void showITKimageInVTKqwidget(VisualizingImageType::Pointer visualizing)<br>
&gt; {<br>
&gt;     typedef itk::ImageToVTKImageFilter&lt;VisualizingImageType&gt;<br>
&gt; itkVtkConverter;<br>
&gt;     itkVtkConverter::Pointer conv=itkVtkConverter::New();<br>
&gt;     conv-&gt;SetInput(visualizing);<br>
&gt;<br>
&gt;     vtkGPUVolumeRayCastMapper *mapper = vtkGPUVolumeRayCastMapper::New();<br>
&gt;     mapper-&gt;SetInput(conv-&gt;GetOutput());<br>
&gt;     vtkVolume *volume=vtkVolume::New();<br>
&gt;     volume-&gt;SetProperty( myTransferFunction );<br>
&gt;     volume-&gt;SetMapper( mapper );<br>
&gt;     // vtkVolume only manages spacing by itself.<br>
&gt;     // Here we take care of position and orientation so it is in DICOM<br>
&gt; physical space<br>
&gt; VisualizingImageType::DirectionType d=visualizing-&gt;GetDirection();<br>
&gt; vtkMatrix4x4 *mat=vtkMatrix4x4::New(); //identity matrix<br>
&gt; for (int i=0; i&lt;3; i++)<br>
&gt; for (int k=0; k&lt;3; k++)<br>
&gt; mat-&gt;SetElement(i,k, d(i,k));<br>
&gt; VisualizingImageType::PointType origin=visualizing-&gt;GetOrigin();<br>
&gt; volume-&gt;SetOrigin(-origin[0], -origin[1], -origin[2]);<br>
&gt; volume-&gt;SetPosition(-origin[0], -origin[1], -origin[2]);<br>
&gt; for (int i=0; i&lt;3; i++)<br>
&gt; mat-&gt;SetElement(i,3, origin[i]);<br>
&gt; volume-&gt;SetUserMatrix(mat);<br>
&gt;     vtkRenderer *renderer =<br>
&gt; myQWidget-&gt;GetRenderWindow()-&gt;GetRenderers()-&gt;GetFirstRenderer();<br>
&gt;     renderer-&gt;AddVolume( volume );<br>
&gt;     myQWidget-&gt;GetRenderWindow()-&gt;Render();<br>
&gt;     renderer-&gt;ResetCamera();<br>
&gt; }<br>
&gt;<br>
&gt; Dženan<br>
<br>
</div></div>Dženan,<br>
<br>
Thanks for sharing. I would put something like this on the examples<br>
wiki in a section called &quot;Bridge&quot; or &quot;Glue&quot; or something like that<br>
(these are names that have been previously used to describe<br>
interactions between ITK and VTK). This will make it much easier to<br>
find in the future instead of having to dig through old mailing list<br>
archives.<br>
<br>
David D.<br>
</blockquote></div><br></div>
</div></div></blockquote></div><br>