<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>This doesn’t fix the general problem with thread safety that your patch to Transform::GetInverse exposed, but I believe it will fix the problem with BRAINSTools test regressions.  I’m testing that now.</div>
<div><br>
</div>
<div>It addresses (partially) the thread safety issue in the specific case of using a SpatialObject as a mask in the registration framework.  Instead of computing the inverse at every invocation of SpatialObject::IsInside,  it only computes it when the transform
 it depends on (the IndexToWorldTransform) .</div>
<div><br>
</div>
<div>Since a mask object (or any SpatialObject) is will not change its WorldToIndex transform during registration, the patch remove the crash due to more than one thread modifying the transform at the same time. It also removes potentially hundreds of thousands
 of calls to Transform::GetInverse() which can only improve performance.</div>
<div><br>
</div>
<div>I wonder why this simple-minded optimization never showed up on anyone’s radar before. </div>
<div><br>
</div>
<div>The topic in Gerrit is here:  <a href="http://review.source.kitware.com/#/c/17779/">http://review.source.kitware.com/#/c/17779/</a></div>
<div><br>
</div>
<div><u>It is also in the BRAINSia git fork of ITK: </u><a href="https://github.com/BRAINSia/ITK/tree/SpatialObjectInternalInverse">https://github.com/BRAINSia/ITK/tree/SpatialObjectInternalInverse</a> </div>
<div><br>
</div>
<br>
<br>
<hr>
Notice: This UI Health Care e-mail (including attachments) is covered by the Electronic Communications Privacy Act, 18 U.S.C. 2510-2521, is confidential and may be legally privileged.  If you are not the intended recipient, you are hereby notified that any
 retention, dissemination, distribution, or copying of this communication is strictly prohibited.  Please reply to the sender that you have received the message in error, then delete it.  Thank you.
<hr>
</body>
</html>