[Insight-users] itk::BSplineDeformableTransform BulkTransform

jef vdmb jvdmb at hotmail.com
Mon Feb 8 09:55:21 EST 2010


Hi Luis,
 

> Passing the parameters of the Bulk transform via the FixedParameters,
> may not be enough.   We need to clone the bulk transform as well,
> and note that the Bulk transform could be any type of transform,
> (including another BSplineDeformable transform), although in practice,
> most of the time we use an AffineTransform.
> 
I had not considered this possibility. The reason we need to clone the bulktransform as well, is because it is potentially not thread-safe either?
Just to make sure: any calls to TransformPoint() of a transform derived from MatrixOffsetTransformBase is threadsafe, right?
 
> Could you please log a bug in the Bug tracker and assign it to me ?
> http://public.kitware.com/Bug/my_view_page.php

I reported the issue on the bugtracker and mentioned I had discussed this with you as "Additional Information" (I didn't see any option allowing me to assign it to you).
Thank you very much for clearing that up!Jef 
>     Many Thanks,
> 
> 
>           Luis
> 
> 
> ------------------------------------------------------------------------
> On Tue, Feb 2, 2010 at 9:53 AM, jef vdmb <jvdmb at hotmail.com> wrote:
> > Hi,
> >
> > I noticed something during a registration using the
> > itk::BSplineDeformableTransform involving a bulk transform.
> >
> > I am working with the optimized (threaded) framework, available in the
> > review section. Since the transform is not threadsafe, copies of the
> > transform are made by ImageToImageMetric. As such, the transform should
> > provide a function GetFixedParametes() and GetParameters(), both returning
> > an array of doubles,  wich allow to synchronize the copies with the original
> > transform object.
> >
> > Unless I missed something it would seem the bulk transform has not been
> > included in the FixedParameters array, and is not passed in another way to
> > the transform copies. This leads to inconsistent copies of the transform in
> > the respective threads: the first has the bulk but the copies don't.
> >
> > Regards,
> > Jef
> >
> > PS:
> >
> > One way to pass the bulk is to include in the array of doubles
> > m_FixedParameters. A quick workaround I am using for now is to cast the the
> > member m_BulkTransform (this time defined as a c++ pointer rather then a
> > SmartPointer) to double in GetFixedParameters()
> >
> >  this->m_FixedParameters[?]= (double)((size_t) m_BulkTransform;
> > ...
> > And inversely, casting it back to a pointer in SetFixedParameters()....
> >
> >
> >
> >
> >
> >
> >
> > ________________________________
> > Hotmail: Trusted email with Microsoft’s powerful SPAM protection. Sign up
> > now.
> > _____________________________________
> > Powered by www.kitware.com
> >
> > Visit other Kitware open-source projects at
> > http://www.kitware.com/opensource/opensource.html
> >
> > Kitware offers ITK Training Courses, for more information visit:
> > http://www.kitware.com/products/protraining.html
> >
> > Please keep messages on-topic and check the ITK FAQ at:
> > http://www.itk.org/Wiki/ITK_FAQ
> >
> > Follow this link to subscribe/unsubscribe:
> > http://www.itk.org/mailman/listinfo/insight-users
> >
> >
 		 	   		  
_________________________________________________________________
Hotmail: Trusted email with Microsoft’s powerful SPAM protection.
http://clk.atdmt.com/GBL/go/201469226/direct/01/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20100208/ba749b98/attachment.htm>


More information about the Insight-users mailing list