No subject


Wed Oct 7 22:37:18 EDT 2009


> http://img21.imageshack.us/img21/2756/nodes2.jpg

If you number the nodes from left to right as:

* 1 to 3 for the first three empty circles on the left,
* 4 to 8 for the full (black) circles in the middle,  and
* 9 to 11 for the last three empty circles on the right

Note that the BSpline kernels that contribute to the
a point located t an epsilon distance to the right of
node #4, are only the once centered in nodes:

                        3,4,5,6

(The BSpline kernels have finite support, they don't
 bounce back once they have touched zero.)

Therefore you don't need more that one extra node
to the left of the grid.


     Regards,


           Luis


-----------------------------------------------------------
On Sat, Oct 17, 2009 at 4:36 PM, motes motes <mort.motes at gmail.com> wrote:
> I have asked this question before but it still seems to cause me
> problems. From the theory of BSplines at most k k-order basisfunctions
> are non-zero:
>
> http://cse.taylor.edu/~btoll/s99/424/res/mtu/Notes/spline/bspline-propert=
y.htm
>
> A cubic basisfunction has order k=3D4 where order =3D degree+1. Which
> means that at most 4 cubic bspline basisfunctions are non-zero.
>
> In ITK I have declared a 2D BSplineDeformableTransform like this:
>
> ....
> ....
> =A0 =A0// Specifying the degree not the order!
> =A0 =A0typedef itk::BSplineDeformableTransform<double, 2 , 3>
> BSplineTransformType;
> =A0 =A0typedef typename BSplineTransformType::RegionType =A0 =A0 =A0 =A0 =
=A0 RegionType;
> =A0 =A0typedef typename BSplineTransformType::SpacingType =A0 =A0 =A0 =A0=
 =A0SpacingType;
> =A0 =A0typedef typename BSplineTransformType::OriginType =A0 =A0 =A0 =A0 =
=A0 =A0 OriginType;
> =A0 =A0typename BSplineTransformType::Pointer transform =3D
> BSplineTransformType::New();
> =A0 =A0typename FixedImageType::RegionType fixedRegion =3D
> imageF->GetBufferedRegion();
> =A0 =A0RegionType bsplineRegion;
> =A0 =A0typename RegionType::SizeType gridSizeOnImage;
> =A0 =A0typename RegionType::SizeType gridBorderSize;
> =A0 =A0typename RegionType::SizeType totalGridSize;
>
> =A0 =A0// B-spline stuff
> =A0 =A0gridSizeOnImage.Fill(5);
> =A0 =A0gridBorderSize.Fill(3); =A0 =A0// Border for spline order =3D 3 ( =
1
> lower, 2 upper )
> =A0 =A0....
> =A0 =A0....
>
> From the itkSoftwareGuide this gives a bspline grid of 8*8 nodes where
> only 5*5 covers the image. I have tried to illustrate this in the
> below figure:
>
> http://img26.imageshack.us/img26/5585/nodes.jpg
>
> But in that case only the pixels in the image that are located between
> the 3. and 4. BSpline node will have full support. But is that not
> wrong?
>
> To my understanding a correct approach would be to specify 3 extra
> nodes outside the image on both sides. I have tried to illustrate this
> below:
>
> http://img21.imageshack.us/img21/2756/nodes2.jpg
>
> Using this BSpline grid will gurantee that all pixels in the image
> will have full support.
> _____________________________________
> 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 ITK FAQ at: http://www.itk.or=
g/Wiki/ITK_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.itk.org/mailman/listinfo/insight-users
>


More information about the Insight-users mailing list