<div dir="ltr">I've been looking into this whole category of GDCM issues. I'm preparing some more thorough bug reports for Jira, mostly related to the physical coordinate properties.<div><br></div><div>I'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'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"><<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>></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 class="h5"><br>
<br>
On Wed, Dec 4, 2013 at 12:12 PM, Yi-Yu Chou <<a href="mailto:yiyu.chou@gmail.com">yiyu.chou@gmail.com</a>> wrote:<br>
> Hi Bill,<br>
><br>
> It appears the bug "Acquisition Matrix" is still not corrected when running<br>
> with itk4.5_rc02.<br>
> Are you going to fix it in the new released itk ?<br>
><br>
> Many thanks !!<br>
><br>
> Yi-Yu<br>
><br>
><br>
> On Fri, Oct 18, 2013 at 8:24 PM, Constantine Zakkaroff <<a href="mailto:mnkz@leeds.ac.uk">mnkz@leeds.ac.uk</a>><br>
> wrote:<br>
>><br>
>> Hi Bill,<br>
>><br>
>> It appears the bug with slope and intercept being processed incorrectly<br>
>> still shows up in ITK 4.4.2.<br>
>><br>
>> Is there an explanation why in the original DICOM file rescale slope is<br>
>> 7.1, but in order to see the same image stats (min, max, etc.) it needs to<br>
>> be saved with the rescale slope value of 1.0?<br>
>><br>
>> Also, I believe I mentioned it a while ago, but there wasn't much feedback<br>
>> on this: some tag values get unexpected values. For example, compare the<br>
>> following tag values in the original DICOM file:<br>
>><br>
>> (0010,21C0) Pregnancy Status VR: US Length: 2 Value: 4<br>
>> (0018,0088) Spacing Between Slices VR: DS Length: 4 Value: 17.0<br>
>> (0018,1310) Acquisition Matrix VR: US Length: 8 Value: 0 144 144 0<br>
>><br>
>> and saved file:<br>
>><br>
>> (0010,21C0) Pregnancy Status VR: US Length: 2 Value: 52<br>
>> (0018,0088) Spacing Between Slices VR: DS Length: 2 Value: 1<br>
>> (0018,1310) Acquisition Matrix VR: US Length: 12 Value: 23600 13361 23604<br>
>> 13361 23604 48<br>
>><br>
>> As suggested earlier, I use the same GDCMImageIO object for reading and<br>
>> writing.<br>
>><br>
>> Many thanks,<br>
>> Constantine<br>
>><br>
>><br>
>> On 16/08/2013 19:13, Bill Lorensen wrote:<br>
>>><br>
>>> Constantine,<br>
>>><br>
>>> You found a bug in itk's dicom IO. I'll report it and prepare a patch to<br>
>>> fix it for future users.<br>
>>><br>
>>> As a workaround, which should work for ITK 3 and ITK4 and hopefully<br>
>>> after I fix the bug:<br>
>>><br>
>>> 1) If you want to retain the input dicom entries, you should create a<br>
>>> GDCMImageIO and use it for both the input and output.<br>
>>> 2) To work around the itk dicom bug, add these lines AFTER the stats<br>
>>> filter:<br>
>>>    // Set rescale slope and intercept to 1 and 0<br>
>>>    imageReader0->Update();<br>
>>>    typedef itk::MetaDataDictionary   DictionaryType;<br>
>>>    DictionaryType & dict =<br>
>>> imageReader0->GetOutput()->GetMetaDataDictionary();<br>
>>>    itk::EncapsulateMetaData<std::string>( dict, "0028|1052", "0.0");<br>
>>>    itk::EncapsulateMetaData<std::string>( dict, "0028|1053", "1.0");<br>
>>><br>
>>> NOTE: You need to #include "itkMetaDataObject.h"<br>
>>><br>
>>> I've attached the your program with all of these changes. Thanks for<br>
>>> your patience,<br>
>>><br>
>>> Bill<br>
>>><br>
>> _____________________________________<br>
>> Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
>><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>
><br>
><br>
<br>
<br>
<br>
</div></div><div class="im">--<br>
Unpaid intern in BillsBasement at noware dot com<br>
</div><div class="im">_____________________________________<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">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>