[Insight-developers] Problems with precision with MetaImageIO
Stephen R. Aylward
Stephen.Aylward at Kitware.com
Thu Mar 9 12:36:56 EST 2006
Hi
Why not just call the member function to change that variable instead of
changing its default value and recompiling?
Most of the time we don't want values in metaIO files to be written to
12 decimal places. We felt 6 was a good compromise and valid for most
situations - and by providing the m_DoublePrecision variable and its
associated member function (SetDoublePrecision) to change the default
when necessary for a particular application.
Stephen
Kent Williams wrote:
> Vamsi ran into something rather nasty in writing out vectors with
> MetaImageIO. In Insight/Utilities/MetaImageIO/metaObject.cxx, floating
> point values in the MHD file were only written out with 6 digits of
> precision, which wasn't close enough to support the registration
> algorithm he's using.
>
> This patch will fix the problem, and given that the MHDs are free-form
> text files I can't see what it would harm. Should I just check this into
> Insight? Do the MetaImageIO mavens at UNC want to consider the idea?
>
> *** iplFreeware/unpackdir/Insight/Utilities/MetaIO/metaObject.cxx 12
> Dec 2005 09:00:00 -0600 1.44
> --- iplFreeware/unpackdir/Insight/Utilities/MetaIO/metaObject.cxx 09
> Mar 2006 09:46:03 -0600 ***************
> *** 24,30 ****
> m_WriteStream = NULL;
> m_FileName[0] = '\0';
> m_Event = NULL;
> ! m_DoublePrecision = 6;
> }
>
> MetaObject::
> --- 24,30 ----
> m_WriteStream = NULL;
> m_FileName[0] = '\0';
> m_Event = NULL;
> ! m_DoublePrecision = 12;
> }
>
> MetaObject::
> ***************
> *** 38,44 ****
> m_WriteStream = NULL;
> this->Read(_fileName);
> m_Event = NULL;
> ! m_DoublePrecision = 6;
> }
>
> MetaObject::
> --- 38,44 ----
> m_WriteStream = NULL;
> this->Read(_fileName);
> m_Event = NULL;
> ! m_DoublePrecision = 12;
> }
>
> MetaObject::
> ***************
> *** 53,59 ****
> m_FileName[0] = '\0';
> InitializeEssential(dim);
> m_Event = NULL;
> ! m_DoublePrecision = 6;
> }
>
>
> --- 53,59 ----
> m_FileName[0] = '\0';
> InitializeEssential(dim);
> m_Event = NULL;
> ! m_DoublePrecision = 12;
> }
>
>
>
> _______________________________________________
> Insight-developers mailing list
> Insight-developers at itk.org
> http://www.itk.org/mailman/listinfo/insight-developers
>
--
=============================================================
Stephen R. Aylward, Ph.D.
Chief Medical Scientist
Kitware, Inc.
http://www.kitware.com
More information about the Insight-developers
mailing list