<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2016-02-04 6:13 GMT+01:00 Aashish Chaudhary <span dir="ltr"><<a href="mailto:aashish.chaudhary@kitware.com" target="_blank">aashish.chaudhary@kitware.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Elvis, <br><div class="gmail_extra"><br><div class="gmail_quote"><span>On Wed, Feb 3, 2016 at 4:27 AM, Elvis Stansvik <span dir="ltr"><<a href="mailto:elvis.stansvik@orexplore.com" target="_blank">elvis.stansvik@orexplore.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div>Hi all,<br><br></div>I'm working on tool for visualizing and working with tomography and spectrometry data coming from the analysis of drill cores.<br><br></div>One of the views in the program is supposed to be a vertical view of the entire bore hole, with a scale showing the depth down the hole, with some charts showing analysis results (mostly element concentrations) along the the hole.<br><br></div>Now to my VTK-related question: At low zoom levels, the view should just show a schematic view of the drill core (essentially just a rectangle), but at higher zoom levels, where less than ~3 meters of core is in view, slices through the volumes obtained from our tomography should be used to visualize the core. The attached rough UI sketch explains the setup much better than I can with just words.<br><br></div><div>The idea is to use VTK for the visualization of the core at higher zoom levels. Since the volumetric data for the entire (~1000 m) core is huge, it obviously can't be loaded into a VTK pipeline all at once. Some kind of on demand loading is required. So my questions are:<br><br>1) What (if any) mechanisms does VTK provide for loading volume data on demand, based on what region of space is currently shown in the view presented to the user?<br></div></div></blockquote><div><br></div></span><div>Let me try to answer this question but someone who has looked into the pipeline more recently can provide a better answer. You can look into the vtk pipeline mechanism in detail specifically streaming demand drive pipeline (<a href="http://www.vtk.org/doc/nightly/html/classvtkStreamingDemandDrivenPipeline.html#details" target="_blank">http://www.vtk.org/doc/nightly/html/classvtkStreamingDemandDrivenPipeline.html#details</a>). You can write new filters that will fetch only the relevant dataset using this pipeline. Also, it sounds to me that you may need to write you application in two threads. </div></div></div></div></blockquote><div><br></div><div>I've had a look at the class docs now, but they are quite terse, and does not really explain how the class is meant to be used. The Examples link shows three examples which include the vtkStreamingDemandDrivenPipeline.h header:<br><br>  Examples/ImageProcessing/Cxx/ImageSlicing.cxx<br>  Examples/Infovis/Cxx/ParallelBFS.cxx<br>  Examples/ParallelProcessing/Generic/Cxx/ParallelIso.cxx<br><br></div><div>But only ImageSlicing.cxx makes use of the class (and I'm not even sure it's using any of its features, since it just calls Get() with WHOLE_EXTENT() as key?).<br><br></div><div>I found some good information in the wiki though:<br><br>  <a href="http://www.vtk.org/Wiki/VTK/Tutorials/New_Pipeline#vtkStreamingDemandDrivenPipeline" target="_blank">http://www.vtk.org/Wiki/VTK/Tutorials/New_Pipeline#vtkStreamingDemandDrivenPipeline</a><br>  <a href="http://www.vtk.org/Wiki/VTK/Streaming" target="_blank">http://www.vtk.org/Wiki/VTK/Streaming</a><br><br></div><div>But the information is quite brief here as well. Anyone know of a fuller example, or even code in the wild, which makes use of the streaming demand driven pipeline to stream volume data from many volumes based on what is currently in view?<br><br></div><div>I also noticed that the class docs says "This is the style of pipeline update that is provided by the old-style VTK 4.x pipeline.". Does this mean that there's a risk this will be deprecated in future version? Is there some other (newer) mechanism I should be using?<br><br></div><div>Elvis<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>2) How would you go about tackling this visualization problem using VTK? Any pointers and advise is highly welcome, as I'm completely new to VTK.<br></div></div></blockquote><div><br></div></span><div>Are you asking about What mappers to use?  </div><span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><div>An overall requirement is that the UI should be reasonably responsive while scrolling the view at high zoom levels. Obviously there will be some time required for VTK to render the new volume data when the scrolling stops, but the scrolling itself should not be jerky. The program is to be run on a reasonably fast laptop.<br></div><div><br></div></div></blockquote><div><br></div></span><div>Thanks,</div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div></div><div>Best regards,<br></div><div>Elvis<br></div></div>
<br>_______________________________________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" 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" rel="noreferrer" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" rel="noreferrer" target="_blank">http://markmail.org/search/?q=vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" rel="noreferrer" target="_blank">http://public.kitware.com/mailman/listinfo/vtkusers</a><br>
<br></blockquote></div><span><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div><div dir="ltr"><font face="trebuchet ms, sans-serif"><i>| Aashish Chaudhary <br>| Technical Leader         <br>| Kitware Inc.            <br></i></font><div><i><font face="trebuchet ms, sans-serif">| </font><a href="http://www.kitware.com/company/team/chaudhary.html" target="_blank">http://www.kitware.com/company/team/chaudhary.html</a></i></div></div></div>
</font></span></div></div>
</blockquote></div><br></div></div>