<div dir="ltr">As for upgrading GDCM, I&#39;m currently in the process of updating both OpenJPEG and GDCM, and in the process, I&#39;m transitioning those libraries to the new Git workflow for ThirdParty modules, where we can clearly identify how ITK&#39;s versions has forked from upstream (and indeed it has forked by a significant number of commits). As part of this process, both libraries will also be upgraded.<div>
<br></div><div>However, upgrading GDCM will not solve the physical coordinate issues that users having been reporting with physical coordinates. I&#39;m preparing a bug report with more detail, but as a quick preview: GDCM 2.x is now much strict about conforming to the DICOM standard, and is not writing out tags for physical coordinate properties for images of unknown (a.k.a. Seconary Capture) imaging modalities. I think the solution is for ITK to go back to the behavior that is technically less conformant with the standard but more conformant to expectations, as it was in GDCM 1.x and ITK 3, where physical coordinate tags are always respected, regardless of modality. This requires changes to GDCM itself, and since we don&#39;t want GDCMImageIO&#39;s behavior to differ depending on whether a system-installed copy of GDCM is being used, we need to coordinate with upstream. I&#39;m in the process of this right now, and I&#39;ll have some news shortly.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Dec 6, 2013 at 1:12 PM, Johnson, Hans J <span dir="ltr">&lt;<a href="mailto:hans-johnson@uiowa.edu" target="_blank">hans-johnson@uiowa.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="font-size:14px;font-family:Calibri,sans-serif;word-wrap:break-word">
<div>Brian,</div>
<div><br>
</div>
<div>Have you investigated updating GDCM?  The version we are using is very old with respect to the number of bug and performance improvements over the last 2 years.  Matthieu has become very active in updating GDCM for multiple platforms over the past 2 years.</div>

<div><br>
</div>
<div>Hans</div>
<div><br>
</div>
<div><br>
</div>
<span>
<div style="border-right:medium none;padding-right:0in;padding-left:0in;padding-top:3pt;text-align:left;font-size:11pt;border-bottom:medium none;font-family:Calibri;border-top:#b5c4df 1pt solid;padding-bottom:0in;border-left:medium none">

<span style="font-weight:bold">From: </span>Brian Helba &lt;<a href="mailto:brian.helba@kitware.com" target="_blank">brian.helba@kitware.com</a>&gt;<br>
<span style="font-weight:bold">Date: </span>Friday, December 6, 2013 11:41 AM<br>
<span style="font-weight:bold">To: </span>Bill Lorensen &lt;<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>&gt;<div class="im"><br>
<span style="font-weight:bold">Cc: </span>ITK Users &lt;<a href="mailto:insight-users@public.kitware.com" target="_blank">insight-users@public.kitware.com</a>&gt;, Constantine Zakkaroff &lt;<a href="mailto:mnkz@leeds.ac.uk" target="_blank">mnkz@leeds.ac.uk</a>&gt;<br>

</div><span style="font-weight:bold">Subject: </span>Re: [Insight-users] [ITK Community] Image Intensities Changed During DICOM Read-Write-Read in ITK 3.20 vs. ITK 4.4.1<br>
</div><div><div class="h5">
<div><br>
</div>
<div>
<div>
<div dir="ltr">I&#39;ve been looking into this whole category of GDCM issues. I&#39;m preparing some more thorough bug reports for Jira, mostly related to the physical coordinate properties.
<div><br>
</div>
<div>I&#39;ve also looked at the rescale issue, and it seems like the simple hack may actually be the best solution without some complicated new functionality in GDCM: if the slope-intercept tags are set for an image, just apply the inverse of the rescaling function
 to the image values right before sending them to GDCM. I&#39;ll try to get a patch with a good test together in the next few days, before the next RC.</div>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Wed, Dec 4, 2013 at 1:52 PM, Bill Lorensen <span dir="ltr">
&lt;<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I probably will not get to this before the release.<br>
<div>
<div><br>
<br>
On Wed, Dec 4, 2013 at 12:12 PM, Yi-Yu Chou &lt;<a href="mailto:yiyu.chou@gmail.com" target="_blank">yiyu.chou@gmail.com</a>&gt; wrote:<br>
&gt; Hi Bill,<br>
&gt;<br>
&gt; It appears the bug &quot;Acquisition Matrix&quot; is still not corrected when running<br>
&gt; with itk4.5_rc02.<br>
&gt; Are you going to fix it in the new released itk ?<br>
&gt;<br>
&gt; Many thanks !!<br>
&gt;<br>
&gt; Yi-Yu<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Oct 18, 2013 at 8:24 PM, Constantine Zakkaroff &lt;<a href="mailto:mnkz@leeds.ac.uk" target="_blank">mnkz@leeds.ac.uk</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi Bill,<br>
&gt;&gt;<br>
&gt;&gt; It appears the bug with slope and intercept being processed incorrectly<br>
&gt;&gt; still shows up in ITK 4.4.2.<br>
&gt;&gt;<br>
&gt;&gt; Is there an explanation why in the original DICOM file rescale slope is<br>
&gt;&gt; 7.1, but in order to see the same image stats (min, max, etc.) it needs to<br>
&gt;&gt; be saved with the rescale slope value of 1.0?<br>
&gt;&gt;<br>
&gt;&gt; Also, I believe I mentioned it a while ago, but there wasn&#39;t much feedback<br>
&gt;&gt; on this: some tag values get unexpected values. For example, compare the<br>
&gt;&gt; following tag values in the original DICOM file:<br>
&gt;&gt;<br>
&gt;&gt; (0010,21C0) Pregnancy Status VR: US Length: 2 Value: 4<br>
&gt;&gt; (0018,0088) Spacing Between Slices VR: DS Length: 4 Value: 17.0<br>
&gt;&gt; (0018,1310) Acquisition Matrix VR: US Length: 8 Value: 0 144 144 0<br>
&gt;&gt;<br>
&gt;&gt; and saved file:<br>
&gt;&gt;<br>
&gt;&gt; (0010,21C0) Pregnancy Status VR: US Length: 2 Value: 52<br>
&gt;&gt; (0018,0088) Spacing Between Slices VR: DS Length: 2 Value: 1<br>
&gt;&gt; (0018,1310) Acquisition Matrix VR: US Length: 12 Value: 23600 13361 23604<br>
&gt;&gt; 13361 23604 48<br>
&gt;&gt;<br>
&gt;&gt; As suggested earlier, I use the same GDCMImageIO object for reading and<br>
&gt;&gt; writing.<br>
&gt;&gt;<br>
&gt;&gt; Many thanks,<br>
&gt;&gt; Constantine<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On 16/08/2013 19:13, Bill Lorensen wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Constantine,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; You found a bug in itk&#39;s dicom IO. I&#39;ll report it and prepare a patch to<br>
&gt;&gt;&gt; fix it for future users.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; As a workaround, which should work for ITK 3 and ITK4 and hopefully<br>
&gt;&gt;&gt; after I fix the bug:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 1) If you want to retain the input dicom entries, you should create a<br>
&gt;&gt;&gt; GDCMImageIO and use it for both the input and output.<br>
&gt;&gt;&gt; 2) To work around the itk dicom bug, add these lines AFTER the stats<br>
&gt;&gt;&gt; filter:<br>
&gt;&gt;&gt;    // Set rescale slope and intercept to 1 and 0<br>
&gt;&gt;&gt;    imageReader0-&gt;Update();<br>
&gt;&gt;&gt;    typedef itk::MetaDataDictionary   DictionaryType;<br>
&gt;&gt;&gt;    DictionaryType &amp; dict =<br>
&gt;&gt;&gt; imageReader0-&gt;GetOutput()-&gt;GetMetaDataDictionary();<br>
&gt;&gt;&gt;    itk::EncapsulateMetaData&lt;std::string&gt;( dict, &quot;0028|1052&quot;, &quot;0.0&quot;);<br>
&gt;&gt;&gt;    itk::EncapsulateMetaData&lt;std::string&gt;( dict, &quot;0028|1053&quot;, &quot;1.0&quot;);<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; NOTE: You need to #include &quot;itkMetaDataObject.h&quot;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I&#39;ve attached the your program with all of these changes. Thanks for<br>
&gt;&gt;&gt; your patience,<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Bill<br>
&gt;&gt;&gt;<br>
&gt;&gt; _____________________________________<br>
&gt;&gt; Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Visit other Kitware open-source projects at<br>
&gt;&gt; <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
&gt;&gt;<br>
&gt;&gt; Kitware offers ITK Training Courses, for more information visit:<br>
&gt;&gt; <a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br>
&gt;&gt;<br>
&gt;&gt; Please keep messages on-topic and check the ITK FAQ at:<br>
&gt;&gt; <a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
&gt;&gt;<br>
&gt;&gt; Follow this link to subscribe/unsubscribe:<br>
&gt;&gt; <a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
</div>
</div>
<div>--<br>
Unpaid intern in BillsBasement at noware dot com<br>
</div>
<div>_____________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at<br>
<a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Kitware offers ITK Training Courses, for more information visit:<br>
<a href="http://www.kitware.com/products/protraining.php" target="_blank">http://www.kitware.com/products/protraining.php</a><br>
<br>
Please keep messages on-topic and check the ITK FAQ at:<br>
<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.itk.org/mailman/listinfo/insight-users" target="_blank">http://www.itk.org/mailman/listinfo/insight-users</a><br>
</div>
_______________________________________________<br>
Community mailing list<br>
<a href="mailto:Community@itk.org" target="_blank">Community@itk.org</a><br>
<a href="http://public.kitware.com/cgi-bin/mailman/listinfo/community" target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/community</a><br>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
Brian Helba<br>
Medical Imaging<br>
Kitware, Inc.<br>
</div>
</div>
</div>
</div></div></span><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>
</div>

</blockquote></div><br><br clear="all"><div><br></div>-- <br>Brian Helba<br>Medical Imaging<br>Kitware, Inc.<br>
</div>