[vtk-developers] Problem writing out 'hollow' contours in rtstructs

Dean Inglis dean.inglis at camris.ca
Mon Dec 20 20:34:31 EST 2010


Hi Mark,

I think if you have a donut for example, and want
to encode it you would have to form the donut
by bringing the free ends of a "C" arbitrarily close
together so that you really only have one vtkPolyData
object.  I think if this example of a rectangle with a hole
reproduces correctly in the list archive, you'll see what I
mean:

0----------1
|    5---4    |
|    |      |     |
|    |     3---2
|    |     8---9
|    |      |     |
|    6---7    |
11---------10


points 3, 8 and 2, 9 are coincident and form the keyhole.
I this how Eclipse accomplishes this?   The problem still
remains how to cut arbitrary polydata automatically:
maybe by finding the inner polygon centroid and
emanating a radial outward?

Dean

----- Original Message ----- 
From: "Mark Roden" <mmroden at gmail.com>
To: <vtk-developers at vtk.org>
Sent: Monday, December 20, 2010 7:25 PM
Subject: [vtk-developers] Problem writing out 'hollow' contours in rtstructs


Hi all,

I've got a problem writing out RTStruct objects using GDCM.  The
problem isn't with GDCM or VTK as they stand now, but rather with a
particular section of the DICOM standard (3.3-2009 C 8.8.6.3).  The
problem has to do with a 'hollow' contour, or a polygon entirely
encompassed within another polygon.

To quote:
When a single ROI describes an excluded inner volume, this can be
encoded with a single contour, using a “keyhole” technique. In this
method, an arbitrarily narrow channel is used to connect the outer
contour to the inner contour, so that it is drawn as a single contour.
An example of such a structure is shown in Figure C.8.8.6-1.

If I have a set of vtkPolyData objects on a particular plane, is there
an easy way to accomplish the above functionality?

As I understand it, vtkPolyData are (or can be) oriented glyphs that
indicate how a polygon should be drawn.  If I were to just connect any
two polydata objects, I'd imagine that would would need to be
reversed.  Is that understanding correct?

Or if I made a binary representation of the mask that had a hollow in
it, is there a way to indicate to the marching cubes to use the
keyhole to join the inner and outer polygons?

Part of the problem of this keyhole technique is the use of the words
'can be encoded'-- so while it's possible that other schemes could be
used, this scheme is the only one suggested by the standard and is the
one supported by Eclipse (and as far as I know, Eclipse's
implementation is the one to match at the moment).

Thanks,
Mark
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://www.vtk.org/mailman/listinfo/vtk-developers




More information about the vtk-developers mailing list