[vtkusers] curve plane reformat with a vtkThinPlateSplineTransform?

David Gobbi david.gobbi at gmail.com
Fri Jan 28 11:11:44 EST 2011


Hi Dean,

Curved reformats would be easy with vtkImageReslice, except that there is no
VTK class to prepare the transform.  I can understand why you might be
trying to use vtkThinPlateTransform for this, but really it is not the way
to go.

As you know, to generate a reformat, what is necessary is a mapping from
each point in the reslice output (i.e. the flattened plane) to the
corresponding point on the curved surface within the volume.   Computing
this mapping is straightforward, you should do it explicitly rather than
trying to use a thin plate spline.

By "explicitly", I mean that the mapping from plane-to-curve should be
placed in a vtkGridTransform, where the vtkGridTransform defines, for each
voxel in the reslice output.  Alternatively (and ideally), you could write a
vtkCurvedReformatTransform class that defines the plane-to-curve transform:

(s,t) -> (x,y,z)

where (s,t) are the parametric coords of the curved surface and (x,y,z) are
coords within the volume.

  - David

On Fri, Jan 28, 2011 at 8:44 AM, Dean Inglis <dean.inglis at camris.ca> wrote:

> Im attempting to reslice a 3D image with a user generated curved plane to
> create
> a panoramic dental x-ray from a CT head scan.
> So far, I have a pipeline that allows the user to draw a contour with
> vtkContourWidget on an x-y slice
> visualized with vtkImageActor.  I set up a vtkParametricSpline to smoothy
> fit N equi-spaced points
> to the contour: call this the target.  There is a straight line composed of
> N equi-spaced points along
> the x axis in the image plane: call this the source.  I then use
> vtkThinPlateSplineTransform
> to transform the source to match the target.  I would like to use this
> transform information to
> somehow vtkImageReslice through the 3D image to get a curvilinear plane
> reformat but I
> have no idea how. One alternative option I can think of is to use
> vtkAppendPolyData and
> generate a curved plane mesh by propogating the spline fit points from top
> to bottom of
> the z-slices and then useing vtkProbeFilter to sample the CT scan, but this
> seems less
> elegant.
>
> Dean
>
>
> _______________________________________________
> 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/20110128/fb19cb4b/attachment.htm>


More information about the vtkusers mailing list