[vtkusers] Inclusiveness of Rasterization

Bryan Cool bryan at radialogica.com
Wed Jul 2 16:46:09 EDT 2014


Thanks for the quick reply, David.  You're right: I'm in need of inclusivity
on both ends.  I'm voxelizing contours using vtkPolyDataToImageStencil and I
want to ensure that the resulting stencil fully encapsulates the contours.
Are there any tricks to compensate that wouldn't require me to modify my
points directly?  I guess I could just dilate my result, but it would be
nice to have it as tight around the contours as possible.

 

Thanks,

Bryan

 

From: David Gobbi [mailto:david.gobbi at gmail.com] 
Sent: Wednesday, July 2, 2014 2:50 PM
To: Bryan Cool
Cc: VTK Users
Subject: Re: [vtkusers] Inclusiveness of Rasterization

 

Hi Bryan,

 

Do you mean inclusive on both ends?  Exclusive on both ends would

just make it worse...

 

The behavior of the rasterization is 100% intentional.  In order for

rasterization to work when there are adjacent areas that are being

rasterized, it must be exclusive on one end and inclusive on the

other end.  Otherwise, adjacent areas could end up with either a

gap between them or with an overlap.

 

The exclusitivity can be compensated for by subtracting a small

tolerance at the lower end or by using other tricks.

 

What is your use case?

 

  - David

 

 

On Wed, Jul 2, 2014 at 1:18 PM, Bryan Cool <bryan at radialogica.com
<mailto:bryan at radialogica.com> > wrote:

Hi everyone,

I noticed that vtkImageStencilRaster has code like the following in
InsertLine and FillStencilData, for both the x and y directions:

if (x1 >= xmin)
     {
     r1 = vtkMath::Floor(x1) + 1;
     }
if (x2 < xmax)
     {
     r2 = vtkMath::Floor(x2);
     }

Correct me if I'm wrong, but it looks like the lower side is exclusive,
while the upper end is inclusive.  The upshot of this is that the only way
to stencil the first pixel is to have a line intersect the row on the
negative side of the first pixel (in the extents).  On the other hand, to
stencil the last pixel a line only need intersect anywhere past the
second-to-last pixel (in the extents).

Assuming that's true, it seems a bit asymmetric.  Is there any way to have
exclusive behavior on both ends?

Thanks,
Bryan

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20140702/3c4cd0fe/attachment.html>


More information about the vtkusers mailing list