View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0008312 | ITK | public | 2008-12-17 23:27 | 2009-03-10 20:02 | |||||
Reporter | Hans Johnson | ||||||||
Assigned To | Hans Johnson | ||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | ITK-3-10 | ||||||||
Target Version | Fixed in Version | ITK-3-10 | |||||||
Summary | 0008312: Orthogonal Matrix to Versor conversion singularities | ||||||||
Description | Versor has a Set method from an Rotation matrix. The code for managing singularities around the "north" and "south" poles i.e. for rotation angles around pi were not properly being processed. | ||||||||
Additional Information | The epsilon used for determining when to use the alternate computation around the singularities near rotation angles near pi was set at 1e-30. The meant that the standard computation was used for rotation matrix trace values greater than 1e-30, but computation was not stable at that level. It makes more sense to set the epsilon to vcl_numeric_limits<T>, which for double precision floats provides accuracy near rotations of pi at resolutions smaller than 1/10000 of a degree. New set of tests created to verify that very similar results are achieved for taking converting rotation matrices to versors and back again that produce the correct results. | ||||||||
Tags | No tags attached. | ||||||||
Resolution Date | |||||||||
Sprint | |||||||||
Sprint Status | |||||||||
Attached Files | |||||||||
Relationships | |
Relationships |
Notes | |
(0014390) Hans Johnson (developer) 2008-12-17 23:30 |
I believe that the itkVersorTransform and itkVersor3DTransform could have the SetRotationMatrix functions moved from private to public again with this change. It is my belief that they were made protected because of the numeric instability caused by the exceptionally low tolerance for dealing with the tolerances properly. The new test cases show that with a high degree of confidence one can convert between the two rotation representations with very little loss of accuracy. |
(0014391) Hans Johnson (developer) 2008-12-17 23:40 |
Test and changes added: /cvsroot/Insight/Insight/Code/Common/itkVersor.txx,v <-- Code/Common/itkVersor.txx new revision: 1.29; previous revision: 1.28 /cvsroot/Insight/Insight/Testing/Code/Common/itkVersorTest.cxx,v <-- Testing/Code/Common/itkVersorTest.cxx new revision: 1.20; previous revision: 1.19 |
(0014826) Hans Johnson (developer) 2009-02-07 16:46 |
Test cases and code fixes have been added. |
(0015631) Hans Johnson (developer) 2009-03-10 20:02 |
This has been fixed. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2008-12-17 23:27 | Hans Johnson | New Issue | |
2008-12-17 23:30 | Hans Johnson | Note Added: 0014390 | |
2008-12-17 23:40 | Hans Johnson | Note Added: 0014391 | |
2009-02-07 16:46 | Hans Johnson | Note Added: 0014826 | |
2009-02-07 16:46 | Hans Johnson | Status | new => resolved |
2009-02-07 16:46 | Hans Johnson | Fixed in Version | => ITK-3-10 |
2009-02-07 16:46 | Hans Johnson | Resolution | open => fixed |
2009-02-07 16:46 | Hans Johnson | Assigned To | => Hans Johnson |
2009-03-10 20:02 | Hans Johnson | Note Added: 0015631 | |
2009-03-10 20:02 | Hans Johnson | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |