<!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>&nbsp;</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.&nbsp; This would probably work pretty well in the context of generating a 
"reasonable" higher resolution approximation to the original B-spline 
grid.&nbsp; 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.&nbsp; 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.&nbsp; 
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.&nbsp; 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>&nbsp;</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.&nbsp; You can 
probably derive some bounds on how far off the upsampled B-spline trace will be 
from the original B-spline trace.&nbsp; </FONT></SPAN></DIV>
<DIV><SPAN class=292410715-23072004><FONT face=Verdana color=#0000ff 
size=2></FONT></SPAN>&nbsp;</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>&nbsp;</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>&nbsp;</DIV>
<DIV><SPAN class=292410715-23072004><FONT face=Verdana color=#0000ff 
size=2></FONT></SPAN>&nbsp;</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>&nbsp;<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.&nbsp; However, the mathematics of 
        B-splines<BR>
        <DD>do support this operation.&nbsp; 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.&nbsp; 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.&nbsp; 
        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.&nbsp; 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.&nbsp; 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?&nbsp; 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>