<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=US-ASCII">
<META content="MSHTML 6.00.2800.1276" name=GENERATOR></HEAD>
<BODY>
<DIV><SPAN class=292410715-23072004><FONT face=Verdana color=#0000ff
size=2>Stefan, </FONT></SPAN></DIV>
<DIV><SPAN class=292410715-23072004><FONT face=Verdana color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=292410715-23072004><FONT face=Verdana color=#0000ff size=2>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.</FONT></SPAN></DIV>
<DIV><SPAN class=292410715-23072004><FONT face=Verdana color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=292410715-23072004><FONT face=Verdana color=#0000ff size=2>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. </FONT></SPAN></DIV>
<DIV><SPAN class=292410715-23072004><FONT face=Verdana color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=292410715-23072004><FONT face=Verdana color=#0000ff size=2>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.</FONT></SPAN></DIV>
<DIV><SPAN class=292410715-23072004><FONT face=Verdana color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=292410715-23072004><FONT face=Verdana color=#0000ff
size=2>Jim</FONT></SPAN></DIV>
<DIV><SPAN class=292410715-23072004><FONT face=Verdana color=#0000ff
size=2></FONT></SPAN> </DIV>
<DIV><SPAN class=292410715-23072004><FONT face=Verdana color=#0000ff
size=2></FONT></SPAN> </DIV>
<BLOCKQUOTE>
<DIV class=OutlookMessageHeader dir=ltr align=left><FONT face=Tahoma
size=2>-----Original Message-----<BR><B>From:</B> Stefan Klein
[mailto:stefan@isi.uu.nl]<BR><B>Sent:</B> Friday, July 23, 2004 11:02
AM<BR><B>To:</B> insight-users@itk.org<BR><B>Subject:</B> RE: [Insight-users]
increasing bspline control point density<BR><BR></FONT></DIV><FONT size=3>But
can't you use it for upsampling the CoefficientImage of the
BSplineDeformableTransform?<BR><BR>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'). <BR><BR>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. <BR><BR>Regards,<BR>Stefan.<BR><BR><BR>At 10:25
23/07/04, Miller, James V (Research) wrote:<BR></FONT>
<BLOCKQUOTE class=cite cite="" type="cite"><FONT face=verdana color=#0000ff
size=2>I think the BSplineUpsampleImageFilter upsamples an image via
B-spline interpolation. I think Karl wants to "upsample" his B-spline not an
image.</FONT><FONT size=3><BR> <BR></FONT><FONT face=verdana
color=#0000ff size=2>Jim</FONT><FONT size=3><BR></FONT>
<DL>
<DD><FONT face=tahoma size=2>-----Original Message-----<BR>
<DD>From:</B> Stefan Klein [<A href="mailto:stefan@isi.uu.nl"
eudora="autourl">mailto:stefan@isi.uu.nl</A>]<BR>
<DD>Sent:</B> Friday, July 23, 2004 9:21 AM<BR>
<DD>To:</B> insight-users@itk.org<BR>
<DD>Subject:</B> RE: [Insight-users] increasing bspline control point
density<BR><BR></FONT>
<DD><FONT size=3>Hi Karl,<BR><BR>
<DD>You may use the itk::BSplineUpsampleImageFilter.<BR>
<DD>Look at the help of itk::BSplineUpsampleImageFilterBase. There it's
explained how it works.<BR><BR>
<DD>Regards,<BR>
<DD>Stefan.<BR><BR><BR><BR><BR>
<DD>At 08:46 23/07/04, Miller, James V (Research) wrote:<BR>
<BLOCKQUOTE class=cite cite="" type="cite">
<DD>I do not think ITK provides a mechanism for increasing the number of
<BR>
<DD>control points in a B-spline grid. However, the mathematics of
B-splines<BR>
<DD>do support this operation. There are formulas for adding a
control point<BR>
<DD>to a B-spline that maintain the trace of the B-spline (shape of
the<BR>
<DD>B-spline).<BR><BR>
<DD>Any good book on B-splines will provide the formulas. <BR><BR>
<DD>Jim<BR><BR><BR><BR>
<DD>-----Original Message-----<BR>
<DD>From: Karl Baum [<A href="mailto:kgbaum@syr.edu"
eudora="autourl">mailto:kgbaum@syr.edu</A>]<BR>
<DD>Sent: Thursday, July 22, 2004 5:22 PM<BR>
<DD>To: insight-users@itk.org<BR>
<DD>Subject: [Insight-users] increasing bspline control point
density<BR><BR><BR>
<DD>Hi,<BR>
<DD>I am using BSplines to provide the transformations necessary for
my<BR>
<DD>registration. I would like to take an iterative approach where
I first do<BR>
<DD>registration with a low control point density, and then use the
results as<BR>
<DD>input to a registration with a higher control point density.
The issue I am<BR>
<DD>facing at this point in time is how to initialize the parameters of
the<BR>
<DD>second iteration with the results of the first iteration. In
other words I<BR>
<DD>need to take the grid defined by the deformation coefficients of the
first<BR>
<DD>iteration, and use it as input into the second. To do this I
need to<BR>
<DD>calculate the starting deformation coefficients on the higher
density grid. <BR><BR>
<DD>Does itk provide anything to do this? I was unable to find
any<BR>
<DD>documentation addressing this.<BR><BR>
<DD>Thanks,<BR>
<DD>Karl<BR><BR><BR>
<DD>_______________________________________________<BR>
<DD>Insight-users mailing list<BR>
<DD>Insight-users@itk.org<BR>
<DD><A href="http://www.itk.org/mailman/listinfo/insight-users"
eudora="autourl">http://www.itk.org/mailman/listinfo/insight-users</A><BR>
<DD>_______________________________________________<BR>
<DD>Insight-users mailing list<BR>
<DD>Insight-users@itk.org<BR>
<DD><A href="http://www.itk.org/mailman/listinfo/insight-users"
eudora="autourl">http://www.itk.org/mailman/listinfo/insight-users</A>
</DD></BLOCKQUOTE></FONT></DD></DL></BLOCKQUOTE><BR></BLOCKQUOTE></BODY></HTML>