[vtkusers] On-demand loading of volume data

Elvis Stansvik elvis.stansvik at orexplore.com
Thu Feb 4 02:45:54 EST 2016


Den 4 feb 2016 6:13 fm skrev "Aashish Chaudhary" <
aashish.chaudhary at kitware.com>:
>
> Hi Elvis,
>
> On Wed, Feb 3, 2016 at 4:27 AM, Elvis Stansvik <
elvis.stansvik at orexplore.com> wrote:
>>
>> Hi all,
>>
>> I'm working on tool for visualizing and working with tomography and
spectrometry data coming from the analysis of drill cores.
>>
>> 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.
>>
>> 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.
>>
>> 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:
>>
>> 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?
>
>
> 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 (
http://www.vtk.org/doc/nightly/html/classvtkStreamingDemandDrivenPipeline.html#details).
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.

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).

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?

I'm restricted to the version of VTK packaged in Ubuntu, which I think is
currently 6.2.

>>
>>
>> 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.
>
>
> Are you asking about What mappers to use?

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.

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.

Elvis

>>
>>
>> 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.
>>
>
> Thanks,
>
>
>>
>> Best regards,
>> Elvis
>>
>> _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the VTK FAQ at:
http://www.vtk.org/Wiki/VTK_FAQ
>>
>> Search the list archives at: http://markmail.org/search/?q=vtkusers
>>
>> Follow this link to subscribe/unsubscribe:
>> http://public.kitware.com/mailman/listinfo/vtkusers
>>
>
>
>
> --
> | Aashish Chaudhary
> | Technical Leader
> | Kitware Inc.
> | http://www.kitware.com/company/team/chaudhary.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160204/92ce8f57/attachment.html>


More information about the vtkusers mailing list