[Insight-users] increasing bspline control point density

Miller, James V (Research) millerjv at crd.ge.com
Fri Jul 23 11:22:46 EDT 2004


Stefan, 
 
You are right that since the coefficients for the B-spline are stored in an
image, you could use any upsampling filter to generate a higher resolution
B-spline grid.  This would probably work pretty well in the context of
generating a "reasonable" higher resolution approximation to the original
B-spline grid.  I'd have to dig through my B-spline books to see how this
mimics the using the exact B-spline methods for adding a control point.  I
have a feeling that a simple linear interpolation of the control points may
be sufficient (as opposed to a higher order spline interpolation). Most of
the spline texts present two operations that can be performed related to
this.  One is where do you put an additional control point (between two
other control points) such that the trace of the spline curve is unaltered.
The other is where do you move the control points if you want to increase
the order of the curve while keeping the trace of the spline curve
unaltered. I always have to look these up.
 
I do not have a feel for whether the upsampling method for the control grid
will matter in the context of the multi-resolution registration.  You can
probably derive some bounds on how far off the upsampled B-spline trace will
be from the original B-spline trace.  
 
If it becomes a problem, an exact upsample B-spline grid can be calculated
from the existing lower-resolution grid using standard B-spline mathematics.
I don't think this is terribly difficult but would require new code.
 
Jim
 
 

-----Original Message-----
From: Stefan Klein [mailto:stefan at isi.uu.nl]
Sent: Friday, July 23, 2004 11:02 AM
To: insight-users at itk.org
Subject: RE: [Insight-users] increasing bspline control point density


But can't you use it for upsampling the CoefficientImage of the
BSplineDeformableTransform?

However, you are right that it will not give exactly the same deformation
field. As I understood from reading the code, the (3rd order)
BSplineDeformableTransform uses a kind of approximating spline. So, simply
upsampling the CoefficientImage will indeed change the deformation field (it
will make it more 'interpolating'). 

But anyway, wouldn't it be a fair approximation to just upsample the
coefficient image? In fact, I do it like this, and it does work. In practice
the introduced error will be small, i think. 

Regards,
Stefan.


At 10:25 23/07/04, Miller, James V (Research) wrote:


I think the BSplineUpsampleImageFilter upsamples an image via B-spline
interpolation. I think Karl wants to "upsample" his B-spline not an image.
 
Jim


-----Original Message-----


From: Stefan Klein [ mailto:stefan at isi.uu.nl <mailto:stefan at isi.uu.nl> ]


Sent: Friday, July 23, 2004 9:21 AM


To: insight-users at itk.org


Subject: RE: [Insight-users] increasing bspline control point density



Hi Karl,



You may use the itk::BSplineUpsampleImageFilter.


Look at the help of itk::BSplineUpsampleImageFilterBase. There it's
explained how it works.



Regards,


Stefan.






At 08:46 23/07/04, Miller, James V (Research) wrote:



I do not think ITK provides a mechanism for increasing the number of 


control points in a B-spline grid.  However, the mathematics of B-splines


do support this operation.  There are formulas for adding a control point


to a B-spline that maintain the trace of the B-spline (shape of the


B-spline).



Any good book on B-splines will provide the formulas. 



Jim





-----Original Message-----


From: Karl Baum [ mailto:kgbaum at syr.edu <mailto:kgbaum at syr.edu> ]


Sent: Thursday, July 22, 2004 5:22 PM


To: insight-users at itk.org


Subject: [Insight-users] increasing bspline control point density




Hi,


I am using BSplines to provide the transformations necessary for my


registration.  I would like to take an iterative approach where I first do


registration with a low control point density, and then use the results as


input to a registration with a higher control point density.  The issue I am


facing at this point in time is how to initialize the parameters of the


second iteration with the results of the first iteration.  In other words I


need to take the grid defined by the deformation coefficients of the first


iteration, and use it as input into the second.  To do this I need to


calculate the starting deformation coefficients on the higher density grid. 



Does itk provide anything to do this?  I was unable to find any


documentation addressing this.



Thanks,


Karl




_______________________________________________


Insight-users mailing list


Insight-users at itk.org


http://www.itk.org/mailman/listinfo/insight-users
<http://www.itk.org/mailman/listinfo/insight-users> 


_______________________________________________


Insight-users mailing list


Insight-users at itk.org


http://www.itk.org/mailman/listinfo/insight-users
<http://www.itk.org/mailman/listinfo/insight-users>  


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://public.kitware.com/pipermail/insight-users/attachments/20040723/73a2f091/attachment.htm


More information about the Insight-users mailing list