<p dir="ltr">Den 4 feb 2016 6:13 fm skrev "Aashish Chaudhary" <<a href="mailto:aashish.chaudhary@kitware.com">aashish.chaudhary@kitware.com</a>>:<br>
><br>
> Hi Elvis, <br>
><br>
> On Wed, Feb 3, 2016 at 4:27 AM, Elvis Stansvik <<a href="mailto:elvis.stansvik@orexplore.com">elvis.stansvik@orexplore.com</a>> wrote:<br>
>><br>
>> Hi all,<br>
>><br>
>> I'm working on tool for visualizing and working with tomography and spectrometry data coming from the analysis of drill cores.<br>
>><br>
>> 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>
>> 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>
>> 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>
><br>
><br>
> 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">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. </p>
<p dir="ltr">Thanks a lot for the pointer Aashish, I'll look into that. Do you think writing custom filters is inevitable for this use case? Can custom filters be written in Python? (forgot to say I'm working from Python).</p>
<p dir="ltr">Regarding threads, you mean to avoid blocking the UI thread? I'm a bit worried then, since I read threading can be a bit problematic with VTK. But maybe that was old news and the situation has improved since?</p>
<p dir="ltr">I'm restricted to the version of VTK packaged in Ubuntu, which I think is currently 6.2.</p>
<p dir="ltr">>><br>
>><br>
>> 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>
><br>
><br>
> Are you asking about What mappers to use? </p>
<p dir="ltr">Sorry, I should have been clearer. This was mostly meant as a general "how would you it?" question. Any advice from more experienced VTK users is golden to me.</p>
<p dir="ltr">I think we'll be using the ray cast mapper for another view (where the user can rotate and look at a small piece of the core in 3D). For this full core view I'm not sure yet. What I do know is that we most likely want to show just slices through the volumes, and let the user adjust the angle around the z-axis.</p>
<p dir="ltr">Elvis</p>
<p dir="ltr">>><br>
>><br>
>> 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>
>><br>
><br>
> Thanks,<br>
><br>
> <br>
>><br>
>> Best regards,<br>
>> Elvis<br>
>><br>
>> _______________________________________________<br>
>> Powered by <a href="http://www.kitware.com">www.kitware.com</a><br>
>><br>
>> Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html">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">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
>><br>
>> Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers">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">http://public.kitware.com/mailman/listinfo/vtkusers</a><br>
>><br>
><br>
><br>
><br>
> -- <br>
> | Aashish Chaudhary <br>
> | Technical Leader <br>
> | Kitware Inc. <br>
> | <a href="http://www.kitware.com/company/team/chaudhary.html">http://www.kitware.com/company/team/chaudhary.html</a></p>