<HTML><BODY style="word-wrap: break-word; -khtml-nbsp-mode: space; -khtml-line-break: after-white-space; "><DIV>Interesting sandwich-analogy Luis...</DIV><DIV>Suggestion: Do A) now and B) when needed.</DIV><DIV>(in the spirit of IGSTK: do not add anything unless needed...)</DIV><DIV><BR class="khtml-block-placeholder"></DIV><DIV>-  Frank</DIV><DIV><BR class="khtml-block-placeholder"></DIV><BR><DIV><DIV>On Aug 6, 2007, at 10:03 PM, Luis Ibanez wrote:</DIV><BR class="Apple-interchange-newline"><BLOCKQUOTE type="cite"><BR>Hi Patrick,<BR><BR>Thanks for checking on the usage of these methods.<BR><BR>I agree with both options.<BR><BR>We should:<BR><BR>A) Remove the SetRotation()/SetTranslation() methods<BR><BR>                OR<BR><BR>B) Rename them to explicitly mention that they clear the <BR>     other component.<BR><BR><BR>I'm slightly incline towards (B).<BR><BR><BR>Ziv: Do you have a preference between these two options ?<BR><BR><BR><BR>     Luis<BR><BR><BR><BR>------------------------------------------------------------------------------------ <BR><DIV><SPAN class="gmail_quote">On 8/6/07, <B class="gmail_sendername">Patrick Cheng</B> <<A href="mailto:cheng@isis.georgetown.edu">cheng@isis.georgetown.edu</A>> wrote:</SPAN><BLOCKQUOTE class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"> Hi Luis and Ziv,<BR><BR>Making good sandwich is important! We need to be careful that we 'NEVER'<BR>set rotation and translation separately in our code, which will erase<BR>each other in this case if we follow Luis's solution. <BR><BR>I just did a quick search, at least in Tracker code, which deals with<BR>all the transform composition, we are using SetTranslationAndRotation()<BR>all the time.<BR><BR>I am wondering if we should provide<BR>SetRotation() and SetTranslation() at all? <BR><BR>These methods can be misleading, and I am afraid not many people will<BR>read the documentation.<BR><BR>A name like:<BR>SetRotationAndClearTranslation()<BR>or<BR>SetTranslationAndClearRotation()<BR>Will be more explicit name. <BR><BR>Patrick<BR><BR><BR><BR>Luis Ibanez wrote:<BR>><BR>> Hi Ziv,<BR>><BR>> Again, the problem with setting them separately is that the time stamp<BR>> is shared.<BR>><BR>> The second setting will override the time stamp of the first setting and <BR>> the Transform<BR>> will end up with a Translation component that does not match in time to<BR>> the Rotation<BR>> component.<BR>><BR>> E.g. the Translation component may even have expired, and by setting <BR>> only the<BR>> Rotation we will extend its validity time artificially.  It is like<BR>> making a sandwich with<BR>> fresh cheese and an expired ham.... the cheese may be good, but the<BR>> total sandwich <BR>> has gone bad anyways.<BR>><BR>> If the pivot calibration is computing both components separately, then<BR>> they should only<BR>> be stored in an igstkTransform when both Translation and Rotation are<BR> > available, and that<BR>> should be done using the SetRotationAndTranslation() method.<BR>><BR>><BR>>    Luis<BR>><BR>><BR>> ---------------------------------------------------------------------------- <BR>> On 8/6/07, *Ziv Yaniv* < <A href="mailto:zivy@isis.georgetown.edu">zivy@isis.georgetown.edu</A><BR>> <mailto:<A href="mailto:zivy@isis.georgetown.edu">zivy@isis.georgetown.edu</A>>> wrote:<BR>><BR> >     Hi Luis,<BR>><BR>>     Setting rotation and translation separately without resetting the<BR>>     transformation is reasonable behavior. Pivot calibration for example<BR>>     only sets the translational part of a transformation. The user can <BR>>     set the rotational part after they get the transformation from the<BR>>     pivot calibration according to prior knowledge (what Patrick is<BR>>     doing right now). Of course there are many ways to do this <BR>>     (composing separate rotation and translation transformations to get<BR>>     a single transform, or setting the transformation only when you have<BR>>     both rotation and translation in hand).<BR>> <BR>>     In any case I view this as an arbitrary choice and my only<BR>>     preference is that the documentation and implementation match.<BR>><BR>><BR>>                  Ziv<BR>><BR>><BR>><BR>> <BR>>     -----Original Message-----<BR>>     From: "Luis Ibanez" < <A href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</A><BR>>     <mailto:<A href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com </A>>><BR>>     Sent 8/6/2007 12:41:56 PM<BR>>     To: "'Ziv Yaniv'" < <A href="mailto:zivy@isis.imac.georgetown.edu">zivy@isis.imac.georgetown.edu</A><BR>>     <mailto:<A href="mailto:zivy@isis.imac.georgetown.edu"> zivy@isis.imac.georgetown.edu</A>>>, "IGSTK Developers"<BR>>     <<A href="mailto:igstk-developers@public.kitware.com">igstk-developers@public.kitware.com</A><BR>>     <mailto:<A href="mailto:igstk-developers@public.kitware.com"> igstk-developers@public.kitware.com</A>>><BR>>     Subject: igstkTransfrom documentation update & Style problems<BR>><BR>>     Hi Ziv,<BR>><BR>>     Thanks for updating the documentation of the Transform class: <BR>><BR>>     <A href="http://public.kitware.com/cgi-bin/viewcvs.cgi/Source/igstkTransform.h?root=IGSTK&sortby=date&r2=1.20&r1=1.19">http://public.kitware.com/cgi-bin/viewcvs.cgi/Source/igstkTransform.h?root=IGSTK&sortby=date&r2=1.20&r1=1.19 </A><BR>>      <<A href="http://public.kitware.com/cgi-bin/viewcvs.cgi/Source/igstkTransform.h?root=IGSTK&sortby=date&r2=1.20&r1=1.19">http://public.kitware.com/cgi-bin/viewcvs.cgi/Source/igstkTransform.h?root=IGSTK&sortby=date&r2=1.20&r1=1.19 </A>><BR>><BR>>     Unfortunately they introduced several coding style violations.<BR>>     <A href="http://public.kitware.com/IGSTK/Sites/insight.journal.kitware/KWStyle/20070806-0430-Nightly/BuildError.html"> http://public.kitware.com/IGSTK/Sites/insight.journal.kitware/KWStyle/20070806-0430-Nightly/BuildError.html</A><BR>>      <<A href="http://public.kitware.com/IGSTK/Sites/insight.journal.kitware/KWStyle/20070806-0430-Nightly/BuildError.html"> http://public.kitware.com/IGSTK/Sites/insight.journal.kitware/KWStyle/20070806-0430-Nightly/BuildError.html</A>><BR>><BR>>     Also, I'm not sure that the right thing was to modify the documentation.<BR>>     It seems that the SetRotation method actually has the bug of not setting <BR>>     the translation to identity, and the SetTranslation() method has the bug<BR>>     of not setting the rotation to identity.<BR>><BR>>     This should be necessary because the transform has a single TimeStamp, <BR>>     and we assume that it is the same for both Translation and Rotation.<BR>><BR>>     I'll suggest that we put the documentation back, and fix the bug in<BR>>     the implementation of the methods.<BR> ><BR>>     Do you see a reason why not initialized Translation / Rotation may<BR>>     bring any advantage ?<BR>><BR>><BR>>         Thanks<BR>><BR>><BR>>            Luis<BR>><BR>><BR>><BR> ><BR>><BR>> ------------------------------------------------------------------------<BR>><BR>> _______________________________________________<BR>> IGSTK-Developers mailing list<BR>> <A href="mailto:IGSTK-Developers@public.kitware.com"> IGSTK-Developers@public.kitware.com</A><BR>> <A href="http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers">http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers</A><BR><BR><BR></BLOCKQUOTE> </DIV><BR><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">_______________________________________________</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; ">IGSTK-Developers mailing list</DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="mailto:IGSTK-Developers@public.kitware.com">IGSTK-Developers@public.kitware.com</A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><A href="http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers">http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-developers</A></DIV> </BLOCKQUOTE></DIV><BR><DIV> <SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><BR class="Apple-interchange-newline"><SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><SPAN class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" color="#696969" face="Helvetica Neue" size="3"><SPAN class="Apple-style-span" style="font-size: 11px;; color: rgb(105, 105, 105); font-family: Helvetica Neue; "><BR class="khtml-block-placeholder"></SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" color="#696969" face="Helvetica Neue" size="3"><SPAN class="Apple-style-span" style="font-size: 11px;; color: rgb(105, 105, 105); font-family: Helvetica Neue; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; ">------------------------------</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" color="#696969" face="Helvetica Neue" size="3"><SPAN class="Apple-style-span" style="font-size: 11px;; color: rgb(105, 105, 105); font-family: Helvetica Neue; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; ">Frank Lindseth</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" color="#696969" face="Helvetica Neue" size="3"><SPAN class="Apple-style-span" style="font-size: 11px;; color: rgb(105, 105, 105); font-family: Helvetica Neue; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; ">Research Scientist (PhD)</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Helvetica Neue; min-height: 12px; ; font-family: Helvetica Neue; font-size: 11px; "><FONT class="Apple-style-span" color="#696969"><BR style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" color="#696969" face="Helvetica Neue" size="3"><SPAN class="Apple-style-span" style="font-size: 11px;; color: rgb(105, 105, 105); font-family: Helvetica Neue; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; ">SINTEF Health Research</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" color="#696969" face="Helvetica Neue" size="3"><SPAN class="Apple-style-span" style="font-size: 11px;; color: rgb(105, 105, 105); font-family: Helvetica Neue; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; ">Dept. Medical Technology</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" color="#696969" face="Helvetica Neue" size="3"><SPAN class="Apple-style-span" style="font-size: 11px;; color: rgb(105, 105, 105); font-family: Helvetica Neue; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; ">N-7465 Trondheim, Norway</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" color="#696969" face="Helvetica Neue" size="3"><SPAN class="Apple-style-span" style="font-size: 11px;; color: rgb(105, 105, 105); font-family: Helvetica Neue; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; ">Location: Olav Kyrres gt. 9, 4th floor, Trondheim</SPAN></SPAN></SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 11px/normal Helvetica Neue; min-height: 12px; ; font-family: Helvetica Neue; font-size: 11px; "><FONT class="Apple-style-span" color="#696969"><BR style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" color="#696969" face="Helvetica Neue" size="3"><SPAN class="Apple-style-span" style="font-size: 11px;; color: rgb(105, 105, 105); font-family: Helvetica Neue; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; ">E-mail: </SPAN></SPAN></SPAN></FONT><FONT class="Apple-style-span" color="#0020E3" face="Helvetica Neue" size="3"><SPAN class="Apple-style-span" style="font-size: 11px; text-decoration: underline;; color: rgb(0, 32, 227); font-family: Helvetica Neue; -khtml-text-decorations-in-effect: underline; "><SPAN class="Apple-style-span" style="color: rgb(0, 32, 227); font-family: Helvetica Neue; font-size: 11px; -khtml-text-decorations-in-effect: underline; "><SPAN class="Apple-style-span" style="color: rgb(0, 32, 227); font-family: Helvetica Neue; font-size: 11px; -khtml-text-decorations-in-effect: underline; ">Frank.Lindseth</SPAN></SPAN></SPAN></FONT><A href="mailto:thomas.lango@sintef.no"><FONT class="Apple-style-span" color="#0020E3" face="Helvetica Neue" size="3"><SPAN class="Apple-style-span" style="font-size: 11px;; color: rgb(0, 32, 227); font-family: Helvetica Neue; -khtml-text-decorations-in-effect: underline; "><SPAN class="Apple-style-span" style="color: rgb(0, 32, 227); font-family: Helvetica Neue; font-size: 11px; -khtml-text-decorations-in-effect: underline; "><SPAN class="Apple-style-span" style="color: rgb(0, 32, 227); font-family: Helvetica Neue; font-size: 11px; -khtml-text-decorations-in-effect: underline; ">@sintef.no</SPAN></SPAN></SPAN></FONT></A></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" color="#696969" face="Helvetica Neue" size="3"><SPAN class="Apple-style-span" style="font-size: 11px;; color: rgb(105, 105, 105); font-family: Helvetica Neue; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; ">Telephone: +47 928 09 372</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></FONT></DIV><DIV style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><FONT class="Apple-style-span" color="#696969" face="Helvetica Neue" size="3"><SPAN class="Apple-style-span" style="font-size: 11px;; color: rgb(105, 105, 105); font-family: Helvetica Neue; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; "><SPAN class="Apple-style-span" style="color: rgb(105, 105, 105); font-family: Helvetica Neue; font-size: 11px; ">Telefax: +47 930 70 800</SPAN></SPAN></SPAN></SPAN></SPAN></SPAN></FONT></DIV><BR class="Apple-interchange-newline"></SPAN></SPAN></SPAN></SPAN></SPAN> </DIV><BR></BODY></HTML>