[vtkusers] 3D surface mesh to vtkImageData

Wilbur C. K. Wong wilburckwong at gmail.com
Thu Jun 18 23:52:06 EDT 2009


Hi Bill,

The usual medical imaging applications go from image data to poly
> data. Your problem is commonly called voxelization.


Oh yes, it's voxelization.


>
>
> So what is the source of the 3D surface mesh?


The closed 3D surface mesh is represented as vtkPolyData with triangles.

I have started my own implementation to do what I want.  My filter is based
on vtkSimpleImageFilterExample.  The inputs are a vtkImageData and a
vtkPolyData, the output is a vtkImageData.  This is a very preliminary
attempt.  Please suggest a good place in the VTK class hierarchy for this
new filter.  The vtkPolyDataToImageStencil filter seems to be a right place
to start with, however, the vtkImageStencilData supports only binary
pixel/voxel.  Another class is vtkVoxelModeller, yet, it is for 0/1 bits.
The ITK class TriangleMeshToBinaryImageFilter is also a similar choice.

Actually, I can use the existing classes, vtkPolyDataToImageStencil and
vtkImageStencil, to perform the voxelization with partial volume
information.  Upsampling the image, computing the image stencil then
followed by a downsampling is one of the options.  However, this consumes
lots of memory if the working image volume is relatively (to main memory)
large and we want to have high accuracy in the partial volume computation.

My filter will take another option based on adaptive and recursive
pixel/voxel subdivisions, triangle normals and signed distances to
triangles.  This option uses computational time to buy memory space.  I bet
someone has implemented this already.  That's why I post my message in this
mailing list.

If there is another better option that does not require re-implementation,
please kindly let me know.

BTW, I would like to share my filter to others once it is finished. ;-)

Bill, thank you so much to your reply.  I know you are one of the important
persons in VTK.  I was surprised to get your attention in this engineering
problem.

Best regards,
Wilbur

Post-doctoral Fellow
Lo Kwee-Seong Medical Image Analysis Laboratory
Department of Computer Science and Engineering
The Hong Kong University of Science and Technology

http://www.cse.ust.hk/~cswilbur


>
> Bill
>
> On Mon, Jun 15, 2009 at 12:13 AM, Wilbur C. K.
> Wong<wilburckwong at gmail.com> wrote:
> > Hi All,
> >
> > I would like to create a vtkImageData from a 3D surface mesh.  The mesh
> is
> > closed.  It represents a 3D model in terms of the model volumetric
> outline.
> > You can assume this mesh is smooth and triangular, but it can be
> concave.  I
> > want to have the output in vtkImageData having 0 voxel intensity if the
> > whole voxel is outside the model, 1 if the whole voxel is lay inside the
> > model, otherwise a value between 0 and 1 indicating the percentage of
> voxel
> > volume that is inside the model.
> >
> > I know how to use vtkImageStencil to generate a binary vtkImageData from
> > vtkPolyData, but this approach does not take into account the partial
> > volume.
> >
> > May vtkProbeFilter help?  It seems that I need to have a volumetric mesh
> in
> > order to do so.
> >
> > Is there a combination of VTK filters that I can use to generate such
> > vtkImageData?  ITK filters or a combination of both are also fine.
> >
> > I believe this is a very fundamental problem in the medical imaging
> > community.  May someone share his/her brilliant idea in tackling this
> basic
> > problem?
> >
> > Best regards,
> > Wilbur
> >
> > _______________________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Please keep messages on-topic and check the VTK FAQ at:
> > http://www.vtk.org/Wiki/VTK_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.vtk.org/mailman/listinfo/vtkusers
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20090619/8b10b5a1/attachment.htm>


More information about the vtkusers mailing list