<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Hello,<div><br></div><div>I have pushed a topic with three commits to my github account:</div><div><br></div><div><a href="https://github.com/blowekamp/ITK/commit/64b230bfa6f0d8c4b477704d3dd6033c27536e28">https://github.com/blowekamp/ITK/commit/64b230bfa6f0d8c4b477704d3dd6033c27536e28</a></div><div><a href="https://github.com/blowekamp/ITK/commit/f44e632683f787d3f566323a8dd5db6d4b76e619">https://github.com/blowekamp/ITK/commit/f44e632683f787d3f566323a8dd5db6d4b76e619</a></div><div><a href="https://github.com/blowekamp/ITK/commit/5c7281cfdc1888e907b85a86cbf779cc4f21cf27">https://github.com/blowekamp/ITK/commit/5c7281cfdc1888e907b85a86cbf779cc4f21cf27</a> *</div><div><br></div><div>*I am not entirely comfortable with the changes to the parsing of header the header information and making the non-blank whitespace terminate the string fields. There is a potential for some serious side effects there. While all the ITK tests still pass as I was looking over the metaIO object tests they appear to be the type which just write the data out and then prints it to stdout, it does not verify that's it's correct. So that does not help to instill confidence in the correctness in the above change.</div><div><br></div><div><br></div><div><div><blockquote type="cite"><div><br>From: Stephen Aylward &lt;<a href="mailto:stephen.aylward@kitware.com">stephen.aylward@kitware.com</a>&gt;<br>Date: Wednesday, August 15, 2012 9:57 AM<br>To: Bradley Lowekamp &lt;<a href="mailto:blowekamp@mail.nih.gov">blowekamp@mail.nih.gov</a>&gt;<br>Cc: ITK &lt;<a href="mailto:insight-developers@itk.org">insight-developers@itk.org</a>&gt;<br>Subject: Re: [Insight-developers] MetaIO Unknown meta-data bug<br><br></div></blockquote><br>...</div><div><br><blockquote type="cite"><div><br>Third - it is a bug we should fix. &nbsp;&nbsp;My preference is to simply not<br>write out a tag if there is no associated value. &nbsp;&nbsp;Agreed? &nbsp;</div></blockquote><div><br></div><div>My initial commit did this in ITK. The second one does this in the metaIO library and additionally prints a warning.</div><div><br></div><br><blockquote type="cite"><div>&nbsp;&nbsp;Then, if<br>a tag without a value is found, should it report an error, or just<br>continue on? &nbsp;&nbsp;I guess continue on, but not report that tag as set.<br>Agreed?<br></div></blockquote><div><br></div><div>I think it's more complicated and ambiguous.&nbsp;</div><div><br></div><div>Well with the current parsing/grammar? it is ambiguous as to if the tag/field has an empty value, or if it's value is on the next line, which may be the next tag/field. I am using the term empty value to indicate a string of zero length as opposed to no value, which sounds more like a NULL pointer or something.</div><div><br></div><div>My third patch does not let the parse "eat" newline or other non-blank white spaces after the tag/field name. This may have other consequences, in the parsing, so I am not entirely comfortable with it. If the value is empty, we might as well just set the value to the empty string, if we are able to parse it.</div><div><br></div><div>The more I think about the more I think it may be best to not change the parsing, and just stop allowing the metaIO library to write ambiguous empty value for fields, which is accomplished in the first two patchs. Agree?</div><br><blockquote type="cite"><div><br>Thanks,<br>Stephen<br><br></div></blockquote><br></div><div><br></div><br><div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; font-size: 12px; "><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">========================================================</font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">Bradley Lowekamp<span class="Apple-converted-space">&nbsp;</span><span class="Apple-converted-space">&nbsp;</span></font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">Medical Science and Computing for</font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">Office of High Performance Computing and Communications</font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; ">National Library of Medicine<span class="Apple-converted-space">&nbsp;</span></font></p><p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; "><font face="Helvetica" size="3" style="font: normal normal normal 12px/normal Helvetica; "><a href="mailto:blowekamp@mail.nih.gov">blowekamp@mail.nih.gov</a></font></p><br class="Apple-interchange-newline"></div><br class="Apple-interchange-newline">
</div>
<br></div></body></html>