<div dir="ltr"><span class="Apple-style-span" style="border-collapse: collapse; ">Hi,<div><br></div><div>I&#39;m&nbsp;trying&nbsp;to use vtkTensorGlyph to display a volume tensor field.</div><div>First, the set of points is specified. Then a table of values for colors and a table of tensors.</div>
<div><br></div><div>The provided data is a volumetric image of size : Nx, Ny, Nz.</div><div>The spacing is hx, hy, hz.</div><div>T is a double array of size Nx*Ny*Nz*9 : double T[Nx*Ny*Nz][9]. It contains a symmetric definite matrix for each voxel (an anisotropic mertric).</div>
<div>double Scalars[Nx*Ny*Nz] is an array containing some norm of the tensor field T (for example the sum of eigenvalues, or the max of eigenvalues, or any other information). It gives the color for each ellipsoid.</div><div>
<br></div><div>the first part of the code :&nbsp;</div><div><br></div><div><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">vtkPoints* points = vtkPoints::<b>New</b>();</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; "><span style="color: rgb(0, 0, 255); ">float</span>&nbsp;POS[3];</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; min-height: 14px; ">
&nbsp;&nbsp; &nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">vtkFloatArray* scalars = vtkFloatArray::<b>New</b>();</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; min-height: 14px; ">
&nbsp;&nbsp; &nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">vtkFloatArray* tensors = vtkFloatArray::<b>New</b>();</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; min-height: 14px; ">
&nbsp;&nbsp; &nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; "><span style="color: rgb(0, 0, 255); ">for</span>(x = 0; x &lt; Nx; x++)</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
&nbsp; &nbsp;<span style="color: rgb(0, 0, 255); ">for</span>(y = 0; y &lt; Ny; y++)</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">&nbsp;&nbsp; &nbsp; &nbsp;<span style="color: rgb(0, 0, 255); ">for</span>(z = 0; z &lt; Nz; z++){</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; POS[0] = (x - (Nx-1)/2.0)*hx;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; POS[1] = (y - (Ny-1)/2.0)*hy;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; POS[2] = (z - (Nz-1)/2.0)*hz;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; points-&gt;<b>InsertNextPoint</b>(POS);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; point&nbsp; = x + y*Nx + z*NxNy;</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;scalars-&gt;<b>InsertNextValue</b>(Scalars[point]);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; min-height: 14px; ">
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;tensors-&gt;<b>InsertNextTuple9</b>(T[point][0],&nbsp;T[point][1],&nbsp;T[point][2],</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; T[point][3],&nbsp;T[point][4],&nbsp;T[point][5],</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; T[point][6],&nbsp;T[point][7],&nbsp;T[point][8]</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">}</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
<br></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; "><br></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
Then the vtkTensorGlyph and the geometry:&nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; "><br></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
<br></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; "></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
vtkSphereSource * sg1 = vtkSphereSource::<b>New</b>();</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">sg1-&gt;<b>SetRadius</b>(0.35);</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">sg1-&gt;<b>SetCenter</b>(0.0, 0.0, 0.0);</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; min-height: 14px; ">
&nbsp;&nbsp; &nbsp;</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">vtkTensorGlyph *g1 = vtkTensorGlyph::<b>New</b>();</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">g1-&gt;<b>SetSource</b>(sg1-&gt;<b>GetOutput</b>());</p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
<br></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; "><br></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
<br></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">- My first problem is how can I connect the points, scalars and tensors to the vtkTensorGlyph : g1.</p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">Since the only example I have is :&nbsp;<span style="font-family: &#39;-webkit-monospace&#39;; "><a href="http://public.kitware.com/cgi-bin/viewcvs.cgi/*checkout*/Graphics/Testing/Python/TestTensorGlyph.py?root=VTK&amp;content-type=text/plain" target="_blank" style="text-decoration: none; background-color: rgb(242, 242, 255); color: rgb(0, 0, 204); ">/Graphics/Testing/Python/TestTensorGlyph.py&nbsp;</a></span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; "><span style="font-family: &#39;-webkit-monospace&#39;; ">The data comes from the file &#39;tensors.vtk&#39; which contains almost the same informations.</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; "><span style="font-family: &#39;-webkit-monospace&#39;; "><br></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
<span style="font-family: &#39;-webkit-monospace&#39;; ">So I have to convert [points, scalars, tensors] to a vtkAlgorithmOutput.</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
<span style="font-family: &#39;-webkit-monospace&#39;; ">Then &nbsp; g1-&gt;SetInputConnection()</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
<span style="font-family: &#39;-webkit-monospace&#39;; ">Please, I need a help for this.</span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
<span style="font-family: &#39;-webkit-monospace&#39;; "><br></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; "><span style="font-family: &#39;-webkit-monospace&#39;; ">- The second point is that vtkTensorGlyph does not handle transparency.</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; "><span style="font-family: &#39;-webkit-monospace&#39;; ">Since values of scalars are very low on most voxels but has bigger values along few tubular structures, It will be very useful to have transparency with respect to scalars or to an other table.</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; "><span style="font-family: &#39;-webkit-monospace&#39;; "><br></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; ">
<span style="font-family: &#39;-webkit-monospace&#39;; "><br></span></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 12px/normal Courier; "><span style="font-family: &#39;-webkit-monospace&#39;; "><span style="font-family: Times; font-size: 16px; "><pre style="white-space: pre-wrap; word-wrap: break-word; ">
Regards,</pre><pre style="white-space: pre-wrap; word-wrap: break-word; ">------------------</pre><pre style="white-space: pre-wrap; word-wrap: break-word; ">Charles Bassée<br></pre><div><span class="Apple-style-span" style="font-family: -webkit-monospace; white-space: pre-wrap;"><br>
</span></div></span></span></p></div></span></div>