<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">Hi David,<br>
<br>
How to combine the outputs from two
vtkImplicitFunctionToImageStencil instances as I need to use two
spheres to define a shell? Thanks.<br>
<br>
Best,<br>
Weiguang<br>
<br>
On 28/10/2014 5:20 PM, David Gobbi wrote:<br>
</div>
<blockquote
cite="mid:CANwS1=EbakLEx-f_AsxkWsg6FQR7acqfyJj8hrX1C6EFJN+raQ@mail.gmail.com"
type="cite">
<div dir="ltr">Hi Weiguang,
<div><br>
</div>
<div>You definitely want to avoid using vtkClipVolume before
volume rendering, because it produces vtkUnstructuredGrid data
instead of image data.</div>
<div><br>
</div>
<div>If you need a shell, you can use vtkImageGaussianSource to
create an image of a Gaussian, and then threshold it with
lower and upper thresholds to create a shell. A Gaussian has
radial symmetry, so thresholding will create a binary image of
a spherical shell. You can then multiply this shell by your
image.</div>
<div><br>
</div>
<div>Or, instead of using vtkClipVolume, you can use
vtkImplicitFunctionToImageStencil with vtkImageStencil. The
output will be a vtkImageData. Or, for greater efficiency,
use vtkROIStencilSource to create a spherical (ellipsoidal)
stencil for vtkImageStencil.</div>
<div><br>
</div>
<div>Or, possibly the easiest "quick fix" would be to convert
the vtkUnstructuredGrid that you already have into a
vtkImageData by using vtkProbeFilter. The vtkProbeFilter is a
generic filter for copying (or interpolating) scalar data from
one kind of data set onto another kind of data set.</div>
<div><br>
</div>
<div> - David</div>
<div><br>
</div>
<div><br>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Tue, Oct 28, 2014 at 2:23 PM,
Weiguang Guan <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:guanw@rhpcs.mcmaster.ca" target="_blank">guanw@rhpcs.mcmaster.ca</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">Hi VTK
users,<br>
<br>
I want to volume render (using 3D texture mapper) a
shell with specified thickness. Previously, I used
vtkClipVolume twice, one clipped away the inner portion
of a regular volume data, the other clipped away outer
portion. The only problem is slow rendering speed
because the resultant data is no longer a regular volume
data.<br>
<br>
Can anyone suggest a better solution? Would it be faster
if I used several spheres with texture mapped on them
and alpha-blending? Thanks.<br>
<br>
Best,<br>
Weiguang<br>
</blockquote>
</div>
</div>
</div>
</div>
</blockquote>
<br>
</body>
</html>