[vtkusers] display a thick shell of volume
Weiguang Guan
guanw at rhpcs.mcmaster.ca
Wed Oct 29 13:00:10 EDT 2014
Thanks again, David, have a great day!
Best,
Weiguang
On 29/10/2014 12:21 PM, David Gobbi wrote:
> Hi Weiguang,
>
> There aren't any filters for combining vtkImageStencilData (there
> should be!), so instead you will need to use two vtkImageStencil
> filters in series: one for the first vtkImplicitFunctionToImageStencil
> output, and then another for the second.
>
> - David
>
> On Wed, Oct 29, 2014 at 10:09 AM, Weiguang Guan
> <guanw at rhpcs.mcmaster.ca <mailto:guanw at rhpcs.mcmaster.ca>> wrote:
>
> Hi David,
>
> How to combine the outputs from two
> vtkImplicitFunctionToImageStencil instances as I need to use two
> spheres to define a shell? Thanks.
>
> Best,
> Weiguang
>
> On 28/10/2014 5:20 PM, David Gobbi wrote:
>> Hi Weiguang,
>>
>> You definitely want to avoid using vtkClipVolume before volume
>> rendering, because it produces vtkUnstructuredGrid data instead
>> of image data.
>>
>> 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.
>>
>> 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.
>>
>> 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.
>>
>> - David
>>
>>
>>
>> On Tue, Oct 28, 2014 at 2:23 PM, Weiguang Guan
>> <guanw at rhpcs.mcmaster.ca <mailto:guanw at rhpcs.mcmaster.ca>> wrote:
>>
>> Hi VTK users,
>>
>> 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.
>>
>> Can anyone suggest a better solution? Would it be faster if I
>> used several spheres with texture mapped on them and
>> alpha-blending? Thanks.
>>
>> Best,
>> Weiguang
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20141029/27cb098e/attachment.html>
More information about the vtkusers
mailing list