<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'>
<font class="Apple-style-span" face="Tahoma" size="2">Hello VTK community,</font><div style="font-family: Tahoma; font-size: 10pt; "><br></div><div style="font-family: Tahoma; font-size: 10pt; ">I am having some problems with orienting and positioning a volumes in VTK. I am cutting a DICOM volume with a plane which has its own orientation and position and I want to visualize the cutted volume with VTK. However, sofar I am doing everything right for the visualization part but the visualized volume is not orientated with the plane and it's not passing through the plane's origin. Here is the simplified code:&nbsp;</div><div style="font-family: Tahoma; font-size: 10pt; "><br></div><div style="font-family: Tahoma; font-size: 10pt; "><br></div><div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space: pre; ">        </span>vtkSmartPointer&lt;vtkStructuredPoints&gt; med_volume = vtkSmartPointer&lt;vtkStructuredPoints&gt;::New();</font></div><div><span class="Apple-style-span" style="font-family: Tahoma; font-size: 10pt; "><span class="Apple-tab-span" style="white-space:pre"><br></span></span></div><div><span class="Apple-style-span" style="font-family: Tahoma; font-size: 10pt; "><span class="Apple-tab-span" style="white-space:pre"><span class="Apple-tab-span" style="white-space:pre">        </span>/</span>/ properites + data of the cutted volume</span></div><div><span class="Apple-style-span" style="font-family: Tahoma; font-size: 10pt; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;// volume to be visualized</span></div><div><span class="Apple-style-span" style="font-family: Tahoma; font-size: 10pt; "><span class="Apple-tab-span" style="white-space:pre">        </span></span><span class="Apple-style-span" style="font-family: Tahoma; font-size: 10pt; ">std::shared_ptr&lt;Image3DUShort&gt; image3D(dynamic_pointer_cast&lt;Image3DUShort&gt;(imagePtr) );</span></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>int &nbsp; &nbsp; &nbsp; size[3]; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //volume size</font></div><div><span class="Apple-style-span" style="font-family: Tahoma; font-size: 10pt; "><span class="Apple-tab-span" style="white-space:pre">        </span></span><span class="Apple-style-span" style="font-family: Tahoma; font-size: 10pt; ">double resolution[3]; &nbsp;//volume resolution</span></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>double origin[3]; &nbsp; &nbsp; &nbsp; &nbsp;//plane origin</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;double orient[9]; &nbsp; &nbsp; &nbsp; // orientation of the plane X-axis, Y-axis and Z-Axis</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>image3D-&gt;getParams().getDim(size);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>image3D-&gt;getParams().getRes(resolution);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>image3D-&gt;getParams().getOrigin(origin);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="text-indent: 0px !important; white-space: pre; ">        </span>image3D-&gt;getParams().getOrient(orient);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>vtkSmartPointer&lt;vtkUnsignedShortArray&gt; array(vtkSmartPointer&lt;vtkUnsignedShortArray&gt;::New());</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>array-&gt;SetNumberOfComponents(1);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;</font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//copy data of the cutted volume</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>array-&gt;SetArray(image3D-&gt;getRawData(), image3D-&gt;getParams().getDataSize(), 1);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>array-&gt;SetName("CuttedVolume");</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;//prepare vktStructuredPoints</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>med_volume-&gt;SetDimensions(size);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>med_volume-&gt;SetOrigin(origin);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>med_volume-&gt;SetSpacing(resolution);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>med_volume-&gt;GetPointData()-&gt;SetScalars(array);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><span class="Apple-style-span" style="font-family: Tahoma; font-size: 10pt; "><span class="Apple-tab-span" style="white-space:pre">        </span></span><span class="Apple-style-span" style="font-family: Tahoma; font-size: 10pt; ">OpacityTransferFunction = vtkSmartPointer&lt;vtkPiecewiseFunction&gt;::New();</span></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>ColorTransferFunction = vtkSmartPointer&lt;vtkColorTransferFunction&gt;::New();</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>VolumeProperty = vtkSmartPointer&lt;vtkVolumeProperty&gt;::New();</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>VolumeProperty-&gt;SetColor(ColorTransferFunction);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>VolumeProperty-&gt;SetScalarOpacity(OpacityTransferFunction);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>VolumeProperty-&gt;SetInterpolationTypeToLinear();</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>VolumeMapper = vtkSmartPointer&lt;vtkVolumeTextureMapper3D&gt;::New();</font></div><div><span class="Apple-style-span" style="font-family: Tahoma; font-size: 10pt; "><span class="Apple-tab-span" style="white-space:pre">        </span></span><span class="Apple-style-span" style="font-family: Tahoma; font-size: 10pt; ">VolumeMapper-&gt;SetInput(<span class="Apple-style-span" style="font-size: small; ">med_volume</span>);</span></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>Volume = vtkSmartPointer&lt;vtkVolume&gt;::New();</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>Volume-&gt;SetMapper(VolumeMapper);</font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><span class="Apple-tab-span" style="white-space:pre">        </span>Volume-&gt;SetProperty(VolumeProperty);</font></div><div><br></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2">With this simplified code I can visualize the cutted volume. Can you please give me some code how to properly orient and position the "med_volume" with the given information from plane:</font></div></div><div><font class="Apple-style-span" face="Tahoma" size="2"><br></font></div><div><font class="Apple-style-span" face="Tahoma" size="2"><div style="text-indent: 0px !important; font-family: 'Times New Roman'; font-size: 12pt; "><font class="Apple-style-span" face="Tahoma" size="2" style="text-indent: 0px !important; "><span class="Apple-tab-span" style="text-indent: 0px !important; white-space: pre; ">        </span>image3D-&gt;getParams().getOrigin(origin); &nbsp; // planes origin</font></div><div style="text-indent: 0px !important; font-family: 'Times New Roman'; font-size: 12pt; "><font class="Apple-style-span" face="Tahoma" size="2" style="text-indent: 0px !important; "><span class="Apple-tab-span" style="text-indent: 0px !important; white-space: pre; ">        </span>image3D-&gt;getParams().getOrient(orient); &nbsp;// planes orientation</font></div><div style="text-indent: 0px !important; font-family: 'Times New Roman'; font-size: 12pt; "><font class="Apple-style-span" face="Tahoma" size="2" style="text-indent: 0px !important; "><br></font></div><div style="text-indent: 0px !important; font-family: 'Times New Roman'; font-size: 12pt; "><font class="Apple-style-span" face="Tahoma" size="2" style="text-indent: 0px !important; "><br></font></div><div style="text-indent: 0px !important; font-family: 'Times New Roman'; font-size: 12pt; "><font class="Apple-style-span" face="Tahoma" size="2" style="text-indent: 0px !important; ">Thank you very much,</font></div><div style="text-indent: 0px !important; font-family: 'Times New Roman'; font-size: 12pt; "><font class="Apple-style-span" face="Tahoma" size="2" style="text-indent: 0px !important; ">padre</font></div></font></div>                                               </body>
</html>