<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
Hi Luis,<div><br></div><div> <br><br>> Passing the parameters of the Bulk transform via the FixedParameters,<br>> may not be enough. We need to clone the bulk transform as well,<br>> and note that the Bulk transform could be any type of transform,<br>> (including another BSplineDeformable transform), although in practice,<br>> most of the time we use an AffineTransform.<br>> </div><div><br></div><div>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?</div><div><br></div><div>Just to make sure: any calls to TransformPoint() of a transform derived from MatrixOffsetTransformBase is threadsafe, right?</div><div><br> <br>> Could you please log a bug in the Bug tracker and assign it to me ?<br>> http://public.kitware.com/Bug/my_view_page.php<br><br></div><div>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).</div><div><br></div><div>Thank you very much for clearing that up!</div><div>Jef</div><div> <br>> Many Thanks,<br>> <br>> <br>> Luis<br>> <br>> <br>> ------------------------------------------------------------------------<br>> On Tue, Feb 2, 2010 at 9:53 AM, jef vdmb <jvdmb@hotmail.com> wrote:<br>> > Hi,<br>> ><br>> > I noticed something during a registration using the<br>> > itk::BSplineDeformableTransform involving a bulk transform.<br>> ><br>> > I am working with the optimized (threaded) framework, available in the<br>> > review section. Since the transform is not threadsafe, copies of the<br>> > transform are made by ImageToImageMetric. As such, the transform should<br>> > provide a function GetFixedParametes() and GetParameters(), both returning<br>> > an array of doubles, wich allow to synchronize the copies with the original<br>> > transform object.<br>> ><br>> > Unless I missed something it would seem the bulk transform has not been<br>> > included in the FixedParameters array, and is not passed in another way to<br>> > the transform copies. This leads to inconsistent copies of the transform in<br>> > the respective threads: the first has the bulk but the copies don't.<br>> ><br>> > Regards,<br>> > Jef<br>> ><br>> > PS:<br>> ><br>> > One way to pass the bulk is to include in the array of doubles<br>> > m_FixedParameters. A quick workaround I am using for now is to cast the the<br>> > member m_BulkTransform (this time defined as a c++ pointer rather then a<br>> > SmartPointer) to double in GetFixedParameters()<br>> ><br>> > this->m_FixedParameters[?]= (double)((size_t) m_BulkTransform;<br>> > ...<br>> > And inversely, casting it back to a pointer in SetFixedParameters()....<br>> ><br>> ><br>> ><br>> ><br>> ><br>> ><br>> ><br>> > ________________________________<br>> > Hotmail: Trusted email with Microsoft’s powerful SPAM protection. Sign up<br>> > now.<br>> > _____________________________________<br>> > Powered by www.kitware.com<br>> ><br>> > Visit other Kitware open-source projects at<br>> > http://www.kitware.com/opensource/opensource.html<br>> ><br>> > Kitware offers ITK Training Courses, for more information visit:<br>> > http://www.kitware.com/products/protraining.html<br>> ><br>> > Please keep messages on-topic and check the ITK FAQ at:<br>> > http://www.itk.org/Wiki/ITK_FAQ<br>> ><br>> > Follow this link to subscribe/unsubscribe:<br>> > http://www.itk.org/mailman/listinfo/insight-users<br>> ><br>> ><br></div>                                            <br /><hr />Hotmail: Trusted email with Microsoft’s powerful SPAM protection. <a href='http://clk.atdmt.com/GBL/go/201469226/direct/01/' target='_new'>Sign up now.</a></body>
</html>