[vtkusers] VTKPolyData to 3D image

David Welch dmwelch at engineering.uiowa.edu
Mon Apr 19 23:08:43 EDT 2010


Hi David,

So I don't use Paraview that often, usually to quick prototype something
like this project.  I've created a sphere, and run that glyph through
PolyDataNormals so that I get point normals.  I must be doing something
incorrect, because when I try to run PointSetSurfaceReconstructionExample on
my file, I get:

vtkPointSetSurfaceReconstruction (0x8a5f268): The input to
vtkPointSetSurfaceReconstruction must have point normals.

I've also run the Input.vtp file from the source folder as input, which does
run successfully, but the output file (attached) is unreadable by VMTK's
vmtkimagereader script, which outputs the following error:

Reading VTK XML image file.
ERROR: In /usr/lib/vtk/VTK/IO/vtkXMLReader.cxx, line 601
vtkXMLImageDataReader (0x9d733e0): Cannot find ImageData element in file.

Since VMTK is my destination, this amounts to 'game over' for me unless I
can determine which ImageData element isn't in the Input.vti image.  Any
suggestions would be appreciated!

On Mon, Apr 19, 2010 at 12:17 PM, David Welch <dmwelch at engineering.uiowa.edu
> wrote:

> I've tried to compile the code, and it seems that one needs to have a
> version of VTK greater than the latest release to run this without
> compilation errors.  Specifically, you use vtkMath::Subtract, which is not
> included in 5.4.2.  I'll upgrade to the nightly build and post the results
> on the midas journal page.
>
> Thanks!
>
>
> On Mon, Apr 19, 2010 at 11:54 AM, David Doria <daviddoria+vtk at gmail.com<daviddoria%2Bvtk at gmail.com>
> > wrote:
>
>> On Mon, Apr 19, 2010 at 12:39 PM, David Welch <
>> dmwelch at engineering.uiowa.edu> wrote:
>>
>>> Thank you!   I'll let you know how it works out.  How can I add this to
>>> my Paraview setup?
>>>
>>
>> Let's keep the discussion on the mailing list so everyone can input and
>> benefit.
>>
>> As it was part of a bigger submission (surface reconstruction), I didn't
>> wrap vtkVoxelizePolyData directly. I just tried to quickly make it into a
>> Paraview plugin, but it seems I have separated the code a bit differently
>> than I remember.
>>
>> vtkVoxelizePolyData simply creates the vtkImageData with reasonable bounds
>> over the polydata. Computing the distance to the surface was actually done
>> in vtkPointSetSurfaceReconstrion, and then I used a vtkContourFilter to
>> extract the 0 level set (the surface). You can definitely reuse most of this
>> code - you just have to check the sign on the SignedDistanceToPlane function
>> and mark the point as inside or outside.
>>
>> You could also ust vtkVoxelizePolyData to make the grid, then use
>> something like this:
>> http://www.vtk.org/Wiki/VTK/Examples/PointInsideObject
>>
>> on every point to do the inside/outside marking.
>>
>> Good luck,
>>
>> David
>>
>
>
>
> --
> David Welch
> Graduate Student
> Dept. of Biomedical Engineering
> University of Iowa
> Lab: (319) 335-5279
>



-- 
David Welch
Graduate Student
Dept. of Biomedical Engineering
University of Iowa
Lab: (319) 335-5279
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20100419/6dd1710f/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Input.vti
Type: application/octet-stream
Size: 16695 bytes
Desc: not available
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20100419/6dd1710f/attachment.obj>


More information about the vtkusers mailing list