<div dir="ltr">Hi Dean,<div><br></div><div>first of all, thank you for your message.</div><div><br></div><div>The underlying pixel data type is unsigned short for both volumes.</div><div>Here is how I configure the reader:</div>
<div><br></div><div><div> imageReaderVTK = new vtkImageReader2();</div><div> imageReaderVTK.FileLowerLeftOn();</div><div> imageReaderVTK.SetFilePrefix(filePrefix);</div><div> imageReaderVTK.SetFilePattern("%s_%d.raw");</div>
<div> imageReaderVTK.SetDataExtent(0, sliceCols - 1,</div><div> 0, sliceRows - 1,</div><div> 0, numOfImages - 1);</div><div> imageReaderVTK.SetDataSpacing(xSpacing, ySpacing, zSpacing);</div>
<div> imageReaderVTK.SetDataOrigin(0.0, 0.0, 0.0);</div><div> imageReaderVTK.SetDataScalarTypeToUnsignedShort();<br></div><div> imageReaderVTK.SetDataByteOrderToBigEndian();</div></div><div> imageReaderVTK.UpdateWholeExtent();</div>
<div><br></div><div><br></div><div>And here is how I configure the widget:</div><div><br></div><div><div> vtkGenericRenderWindowInteractor interactor = getRenderWindowInteractor();</div><div> planeWidgets[planeWidgetIndex].RestrictPlaneToVolumeOn();</div>
<div> planeWidgets[planeWidgetIndex].SetInteractor(interactor);</div><div> planeWidgets[planeWidgetIndex].DisplayTextOn();</div><div> planeWidgets[planeWidgetIndex].TextureInterpolateOn();</div><div> planeWidgets[planeWidgetIndex].UserControlledLookupTableOff();</div>
<div> planeWidgets[planeWidgetIndex].SetResliceInterpolateToCubic();</div><div> planeWidgets[planeWidgetIndex].KeyPressActivationOff();</div><div> planeWidgets[planeWidgetIndex].SetInputConnection(imageReaderVTK.GetOutputPort());</div>
<div> planeWidgets[planeWidgetIndex].SetWindowLevel(winWidth, winLevel, 0);</div><div> planeWidgets[planeWidgetIndex].SetPlaneOrientation(planeWidgetIndex); </div><div> planeWidgets[planeWidgetIndex].PlaceWidget(volBounds);</div>
<div> planeWidgets[planeWidgetIndex].On();</div><div> planeWidgets[planeWidgetIndex].SetEnabled(1);</div></div><div><br></div><div>As I explained in my previous post, strangely the widgets interact with much better performances when my volume is made up of 360 512x512 slices, and worse when my volume is made up of 90 512x512 slices.</div>
<div>But this only happens on the old PC. On my development machine the rendering performance of the widgets are fine and undistinguishable in both cases.</div><div><br></div><div>I would like to underline that, on the old machine and with the smaller volume, the rendering of the vtkImagePlaneWidget is slow even when I try to modify the camera position through the default VTK interactor. I do not trigger any recomputation of window/level, or other, just roll my camera around the volume, and still I see the rendering slowness (I can distinguish painting of each triangle of each texture).</div>
<div><br></div><div>Thanks in advance for sharing your comments and suggestions with me.</div><div><br></div><div>Marco</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 4, 2013 at 4:21 PM, Dean Inglis <span dir="ltr"><<a href="mailto:inglis.dl@gmail.com" target="_blank">inglis.dl@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div>Hi Marco,<br><br></div>what is the underlying pixel data type in those two images ? The widget has an internal<br>
vtkImageMapToColors which will do additional processing to convert the input to <br>
uchar if required. How do you configure your widgets ?<br></div><br><div><br></div>- Dean<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Sep 4, 2013 at 7:08 AM, Marco Sambin <span dir="ltr"><<a href="mailto:m.sambin@gmail.com" target="_blank">m.sambin@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi all.<div><br></div><div>In my VTK6-based Java application, I am using a vtkCanvas where I display three orthogonal vtkImagePlaneWidgets, cutting a volume loaded through vtkImageReader2.</div>
<div><br></div>
<div>Everything works fine on my development machine, which is a recent and moderately-powerful 64-bit Win 7-based machine.</div><div><br></div><div>For legacy-compatibility purposes, I tested this application under an older Win XP-based Pentium 4 machine with 1 GB RAM and old Barco graphic cards, and I obtained "strange" results:</div>
<div><br></div><div>- if I feed vtkImageReader2 with a volume made up of around 360 raw slices, each one 512x512 pixels, then the overall rendering performances of the view containing the three vtkImagePlaneWidgets are acceptable.</div>
<div><br></div><div>- on the other side, if I feed vtkImageReader2 with a volume made up of 90 (i.e., fewer) raw slices, each one 512x512 pixels, then the overall rendering performances of the view containing the three vtkImagePlaneWidgets become really poor, and I can distinguish the texture appearing on top of each plane widget painting as two separate triangles, given the slow rendering.</div>
<div><br></div><div>Can you guess why the rendering performance of the vtkImagePlaneWidgets are much worse with the smaller volume w.r.t. with the larger volume?</div><div><br></div><div>Thanks for any hints you will give.</div>
<div><br></div><div>Best regards,</div><div><br></div><div>Marco</div><div><br></div></div>
<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.vtk.org/mailman/listinfo/vtkusers" target="_blank">http://www.vtk.org/mailman/listinfo/vtkusers</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>