[vtkusers] Smooth label-map volume rendering

Sankhesh Jhaveri sankhesh.jhaveri at kitware.com
Tue Jun 12 12:00:07 EDT 2018


Hi Andras,

I don’t think that there is any explicit smoothing operation performed by
the mapper. However, final color computation does blend the mapped color
values from the input volume and the mask.

Even though we call it a label map, it is more of a masking operation based
on a secondary label map volume. By virtue of this, it supports overlapping
segments. See the attached baseline image for
TestGPURayCastCompositeMaskBlend:

[image: TestGPURayCastCompositeMaskBlend]
​

On Sat, Jun 9, 2018 at 3:16 PM Andras Lasso <lasso at queensu.ca> wrote:

> Thank you for the information.
>
>
>
> Do these rendering options allow smoothing (low-pass filtering that
> reconstructs the continuous signal from discrete samples)?
>
>
>
> Is visualization of overlapping segments supported? I know that generating
> new label value for each intersection combination and setting appropriate
> color and opacity value could be a solution. However, this is only
> practical if number of segments is small (up to 16 segments a label value
> could be a bitfield which encodes presence of each segment), but not a
> generally applicable solution, we need support visualization up to about
> 200 potentially overlapping segments. It is also a difficulty that current
> image processing filter implementations cannot operate directly on bitfield
> data (that was the main motivation for us to use to choose per-segment
> volumes instead of bitfield volumes for overlapping segment storage).
>
>
>
> Andras
>
>
>
> *From:* Sankhesh Jhaveri <sankhesh.jhaveri at kitware.com>
> *Sent:* Friday, June 8, 2018 3:06 PM
> *To:* Andras Lasso <lasso at queensu.ca>
> *Cc:* Bertram Sabrowsky-Hirsch <Bertram.Sabrowsky-Hirsch at risc-software.at>;
> vtkusers at vtk.org
> *Subject:* Re: [vtkusers] Smooth label-map volume rendering
>
>
>
> Hi Andras,
>
> Note that the vtkGPUVolumeRayCastMapper already supports labeled data
> rendering.
>
> Take a look at TestGPURayCastCompositeMask and
> TestGPURayCastCompositeMaskBlend.
>
> Sankhesh​
>
>
>
> On Thu, Jun 7, 2018 at 12:08 PM Andras Lasso <lasso at queensu.ca> wrote:
>
> I would be interested in a good solution to this, too.
>
>
>
> In 3d Slicer, we’ve been using flying edges filter, which creates usable
> (non-blocky) surfaces very quickly (suitable for interactive editing). The
> limitation is that we still need a smoothing filter to avoid all staircase
> artifacts, and that it increases update time by about a magnitude.
>
>
>
> We’ve been evaluating using multi-volume rendering for displaying
> segmentation in 3D, to achieve faster updates and nicer transparent
> renderings. Multi-volume rendering is good because we can apply Gaussian
> smoothing on each input volume to get correctly reconstructed (non-blocky)
> surface and we can display overlapping segments. However, this Gaussian
> smoothing takes some time (still competitive with surface smoothing) and
> multi-volume renderer does not support shading yet (this is the blocking
> issue right now).
>
>
>
> Andras
>
>
>
> *From:* vtkusers <vtkusers-bounces at public.kitware.com> *On Behalf Of *Bertram
> Sabrowsky-Hirsch
> *Sent:* Thursday, June 7, 2018 3:54 AM
> *To:* vtkusers at vtk.org
> *Subject:* [vtkusers] Smooth label-map volume rendering
>
>
>
> Hi all,
>
>
>
> I am working with volume data before and after a classification algorithm.
>
> The input volume has ushort intensity values, the output volume is a
> label-map where the values indicate each voxels class/label (background=0,
> vessel=1, aneurysm=2, …).
>
>
>
> I am visualizing the input volume with a opacity transfer function that
> simulates a threshold filter (e.g. control points: 799=0.0, 800=1.0) and
> the result is a nice and smooth visualization of the volume.
>
>
>
> However, the output volume has this blocky Minecraft style effect. The
> opacity transfer function has the control points: 0=0.0, 1=1.0 and I use
> the color transfer function to distinguish the classes/labels.
>
> Is there a way to visualize the output volume in a similar way as the
> input volume? I considered generating iso-surface meshes and smooth those,
> but this is not really an option. I also don’t really understand why this
> is an issue because the
>
> Input volume is also rendered with a distance of 1 between the two opacity
> thresholds. Are the volumes handled differently by vtk and how?
>
>
>
> Input volume:
>
>
>
> Output volume:
>
>
>
> Kind regards,
>
> Bertram
>
> _______________________________________________
> Powered by www.kitware.com
> <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com&data=02%7C01%7Classo%40queensu.ca%7Cec2363823c974d48d43b08d5cd72f713%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636640816010183390&sdata=jv8abr0mLmh3XLAMYhnqfOacZD6tWicTE28%2FPyUgv74%3D&reserved=0>
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
> <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html&data=02%7C01%7Classo%40queensu.ca%7Cec2363823c974d48d43b08d5cd72f713%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636640816010183390&sdata=OFiKbkJMvowzovvnQ78Je5zUU%2FgJw6swBXY3zUiiDPU%3D&reserved=0>
>
> Please keep messages on-topic and check the VTK FAQ at:
> http://www.vtk.org/Wiki/VTK_FAQ
> <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.vtk.org%2FWiki%2FVTK_FAQ&data=02%7C01%7Classo%40queensu.ca%7Cec2363823c974d48d43b08d5cd72f713%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636640816010183390&sdata=1hqqA7yzfuhztA%2F7LhN%2ByXFoqbrvL6sT8lA7pQ4GcEA%3D&reserved=0>
>
> Search the list archives at: http://markmail.org/search/?q=vtkusers
> <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkmail.org%2Fsearch%2F%3Fq%3Dvtkusers&data=02%7C01%7Classo%40queensu.ca%7Cec2363823c974d48d43b08d5cd72f713%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636640816010183390&sdata=VB1gIuJTL47PGJOrL7Gs8uCG%2FPnNI9AOJktlKzz3R0c%3D&reserved=0>
>
> Follow this link to subscribe/unsubscribe:
> https://public.kitware.com/mailman/listinfo/vtkusers
> <https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Fvtkusers&data=02%7C01%7Classo%40queensu.ca%7Cec2363823c974d48d43b08d5cd72f713%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636640816010183390&sdata=TujgXZ1MBmd4PV8U%2BSLV8vj3%2FYJzZehvvlgiLWAzdJU%3D&reserved=0>
>
> --
> Sankhesh Jhaveri
> *Sr. Research & Development Engineer* | Kitware
> <https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2F&data=02%7C01%7Classo%40queensu.ca%7Cec2363823c974d48d43b08d5cd72f713%7Cd61ecb3b38b142d582c4efb2838b925c%7C1%7C0%7C636640816010339641&sdata=KOIi%2FKI8n%2BNH%2F0YXSS2tmG72u2pObar05vMaapIjeaI%3D&reserved=0>
> | (518) 881-4417
>
>>
-- 
Sankhesh Jhaveri *Sr. Research & Development Engineer* | Kitware
<http://www.kitware.com/> | (518) 881-4417
​
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/vtkusers/attachments/20180612/0487ca27/attachment.html>


More information about the vtkusers mailing list