[vtkusers] creating a solid object from 3D points

Clare Fitzpatrick clare.fitzpatrick at ucd.ie
Mon Sep 11 13:08:22 EDT 2006


Hi Tim,

You're right, the data is from a CT image. The reason i'm not using the
original 3D image to generate the surface is because I've gotten the mean
shape of serveral CT images, and that is the surface I want to generate.
Sorry for such a basic question, but how do I add the powercrust files to my
code? I'm using Tcl to write my code, do I need to add the .h and .cxx files
into my VTK library or can I just include them in my tcl script?

Clare



----- Original Message ----- 
From: "Tim Hutton" <tim.hutton at gmail.com>
To: "Clare Fitzpatrick" <clare.fitzpatrick at ucd.ie>
Cc: <vtkusers at vtk.org>
Sent: Monday, September 11, 2006 5:20 PM
Subject: Re: [vtkusers] creating a solid object from 3D points


> So there was a 3D image (CT I'm guessing) that has been contoured by
> some program (probably at some iso-intensity), and you have the
> vertices from that and you want to make a surface. If that is the
> case, you *had* a surface and then threw it away, and now you want it
> back. :)
>
> The correct answer is: use the original 3D image to generate a
> polygonal surface using a decent contouring algorithm.
>
> The practical answer is: (since you probably no longer have the 3D
> image) try powercrust. If it doesn't work then pester the people who
> generated this data to give you the original 3D image.
>
> (I'm amazed how often this comes up, there must be some badly
> documented software out there.)
>
> Hope this helps,
>
> Tim
>
> On 9/11/06, Clare Fitzpatrick <clare.fitzpatrick at ucd.ie> wrote:
> > Hi Tim,
> > Thanks for your reply.
> >
> > These points are points from the shaft of a bone. The points are
captured as
> > several 2D slices, each 2D slice taken at a different depth in the bone.
The
> > points at each depth could be rearranged into left-to-right, or ordered
> > polar coordinate points, without too much trouble. I know it is possible
to
> > do it by creating polygons between adjacent slices, but I was hoping
there
> > might be a more efficent way. I tried using
vtkSurfaceReconstructionFilter
> > which seems to reconstruct the shape of the object, but has altered the
> > scale and origin ...
> >
> > Clare
> >
> >
> >
> > ----- Original Message -----
> > From: "Tim Hutton" <tim.hutton at gmail.com>
> > To: "Clare Fitzpatrick" <clare.fitzpatrick at ucd.ie>
> > Cc: <vtkusers at vtk.org>
> > Sent: Monday, September 11, 2006 2:46 PM
> > Subject: Re: [vtkusers] creating a solid object from 3D points
> >
> >
> > > Hi Clare,
> > >
> > > First of all, are your points completely random or are they captured
> > > in some direction, such as left-to-right? If so then you will probably
> > > have more success using this fact to derive a surface. If your points
> > > are geographical, for example, then a projection into 2D followed by
> > > vtkDelaunay2D is the best option.
> > >
> > > If the points are definitely in a random order then you need some form
> > > of surface reconstruction. VTK has vtkSurfaceReconstructionFilter but
> > > it only works if your data is densely sampled all over, and the
> > > surface is closed.
> > >
> > > A better algorithm is found in the following, which is written for VTK
> > > but covered by the GPL:
> > > http://www.sq3.org.uk/powercrust/
> > >
> > > Tim
> > >
> > > On 9/11/06, Clare Fitzpatrick <clare.fitzpatrick at ucd.ie> wrote:
> > > >
> > > >
> > > > Hi,
> > > >
> > > > I have a set of x,y,z points which i want to convert to a solid
object.
> > > > I am reading them into vtk using vtkParticleReader:
> > > >
> > > > vtkParticleReader reader
> > > >   reader SetFileName "C:/points3D.txt"
> > > >   reader SetDataByteOrderToBigEndian
> > > >
> > > > vtkPolyDataMapper mapper
> > > >     mapper SetInputConnection [reader GetOutputPort]
> > > >
> > > > vtkActor actor
> > > >     actor SetMapper mapper
> > > >     [actor GetProperty] SetPointSize 1
> > > >
> > > > ren1 AddActor actor
> > > >
> > > >
> > > > The points in my .txt file are in a random order. Is it possible to
> > create a
> > > > solid object (the shape you'd get if you shrink-wrapped something
around
> > all
> > > > the points) directly from these points, or do i have to arrange them
> > into a
> > > > particlar order so that i can use vtkDelaunay2D or vtkCellArray and
> > > > vtkPolyData to create the surface?
> > > >
> > > > Thanks
> > > >
> > > > Clare
> > > >
> > > >
> > > > _______________________________________________
> > > > This is the private VTK discussion list.
> > > > Please keep messages on-topic. Check the FAQ at:
> > > > http://www.vtk.org/Wiki/VTK_FAQ
> > > > Follow this link to subscribe/unsubscribe:
> > > > http://www.vtk.org/mailman/listinfo/vtkusers
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > Tim Hutton - http://www.sq3.org.uk
> > >
> > > Take the Organic Builder challenge -
> > > http://www.sq3.org.uk/Evolution/Squirm3/OrganicBuilder/
> > >
> >
> >
>
>
> -- 
> Tim Hutton - http://www.sq3.org.uk
>
> Take the Organic Builder challenge -
> http://www.sq3.org.uk/Evolution/Squirm3/OrganicBuilder/
>




More information about the vtkusers mailing list