<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Based on my experience, I would guess that most filters/functions/etc. in ITK use uniform B-splines. &nbsp;As such the core class would be itkBSplineKernelFunction&nbsp;which&nbsp;evaluates&nbsp;uniform&nbsp;B-spline&nbsp;values&nbsp;for&nbsp;orders&nbsp;0-4. &nbsp;I wrote the itkCoxDeBoorBSplineKernelFunction to house other functionality and to generalize uniform B-spline evaluation to n orders (although, for straightforward evaluation of orders 0-4, it is faster to use the itkBSplineKernelFunction class). &nbsp; &nbsp;</div><div><br></div><div>I haven't used the class itkNonUniformBSpline but, according to the doxygen documentation, it is still under development, so you could perhaps improve functionality there.</div><div><br></div><div>Nick</div><br><div><div>On Jun 15, 2009, at 3:40 AM, motes motes wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">I have an assignment where I need to evaluate the ITK BSpline implementation and see if I can improve the performance based on my own implementation (based on the algorithms from The NURBS Book). In this implementation only the k basisfunctions different from 0 are determined where k is the order of the BSpline. Further the knot-differences from lower order basisfunctions are reused.<br> <br>I therefore need to find the source files in ITK that implements these methods or alternative approaches if they are visible for the end user.<br><br><br><div class="gmail_quote">On Mon, Jun 15, 2009 at 12:35 AM, Nick Tustison <span dir="ltr">&lt;<a href="mailto:ntustison@wustl.edu">ntustison@wustl.edu</a>&gt;</span> wrote:<br> <blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div>Hi motes, </div> <div>&nbsp;</div> <div>As you note there are a few classes related to B-splines.&nbsp; Perhaps you can tell us what you're trying to accomplish and someone can point you in the right direction.</div> <div>&nbsp;</div> <div>Nick Tustison<br><br></div> <div class="gmail_quote"><div><div></div><div class="h5">On Sun, Jun 14, 2009 at 5:35 PM, motes motes <span dir="ltr">&lt;<a href="mailto:mort.motes@gmail.com" target="_blank">mort.motes@gmail.com</a>&gt;</span> wrote:<br> </div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;"><div><div></div><div class="h5">I am trying to find out how the BSplines used in the ITK are implemented. I have been looking at the files in the folder:<br> <br>InsightToolkit-3.12.0\Code\Common<br><br>But it seems that its mainly functions/classes that uses BSplines. Where are the core BSpline implementation located and how is it implemented? I have been looking for details like:<br> <br>B-spline Basis functions: Cox de boor recursion, de Casteljau, etc ?<br>Containers for knots, controlpoints, datapoints<br>etc..<br><br>Any help appreciated!<br><br></div></div>_____________________________________<br> Powered by <a href="http://www.kitware.com/" target="_blank">www.kitware.com</a><br> <br>Visit other Kitware open-source projects at<br><a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br><br>Please keep messages on-topic and check the ITK FAQ at: <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br> <br>Follow this link to subscribe/unsubscribe:<br><a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br><br></blockquote></div><br> </blockquote></div><br></blockquote></div><br></body></html>