<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Maybe I should say partially solved. I used a wrong slope (too small). gdcmRescaler is smart enough to cast inverse rescaled pixel type to INT32 but gdcmIO doesn't know that. It
 allocated a small size of memory for INT16 to keep output image, which is ready to write. So my program stopped because of the memory issue. I changed the slope value and now it is ok.
<div><br>
</div>
<div>By the way, I can see from the output dicom file that the RescaleIntercept and RescaleSlope get retained as I specified for the writer.</div>
<div><br>
</div>
<div>It is really tricky. Takes time to make it work. Now I see strange &quot;Smallest/Largest Image Pixel Value&quot;. I wonder if it is calculated &quot;intelligently&quot; by gdcmIO too....</div>
<div><br>
</div>
<div>Wen</div>
<div>
<div>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF642232" style="direction: ltr; "><font face="Tahoma" size="2" color="#000000"><b>From:</b> Bill Lorensen [bill.lorensen@gmail.com]<br>
<b>Sent:</b> Wednesday, August 21, 2013 12:01 PM<br>
<b>To:</b> Li, Wen<br>
<b>Cc:</b> insight-users@itk.org<br>
<b>Subject:</b> Re: [Insight-users] DICOMWriter for wide dynamic intensity range<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">It is different but related. The handling of rescale/slope in the current implementation is tricky.<br>
<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Wed, Aug 21, 2013 at 10:39 AM, Li, Wen <span dir="ltr">
&lt;<a href="mailto:WLi@childrensnational.org" target="_blank">WLi@childrensnational.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div>
<div style="direction:ltr; font-size:10pt; font-family:Tahoma">Thank you for your responding.&nbsp;
<div>The bug you reported is related with my issue but slightly different.</div>
<div><br>
</div>
<div>I can't even confirm whether the output dicom retains the specific RescaleIntercept and RescaleSlope I set. The writer simple stopped working at the first slice when gdcm is doing inverse rescaling. Of course I use a double RescaleSlope like normally PET
 images need. I suspect it is the memory (pixel type) issue. I will investigate it.</div>
<div><br>
</div>
<div>Wen<br>
<div>
<div style="font-size:16px; font-family:Times New Roman">
<hr>
<div style="direction:ltr"><font color="#000000" face="Tahoma"><b>From:</b> Bill Lorensen [<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>]<br>
<b>Sent:</b> Wednesday, August 21, 2013 10:24 AM<br>
<b>To:</b> Li, Wen<br>
<b>Cc:</b> <a href="mailto:insight-users@itk.org" target="_blank">insight-users@itk.org</a><br>
<b>Subject:</b> Re: [Insight-users] DICOMWriter for wide dynamic intensity range<br>
</font><br>
</div>
<div>
<div class="h5">
<div></div>
<div>
<div dir="ltr">I have an outstanding bug request that deals with similar issues. I hope to get to it soon...<br>
<a href="https://issues.itk.org/jira/browse/ITK-3194" target="_blank">https://issues.itk.org/jira/browse/ITK-3194</a><br>
<br>
</div>
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">On Wed, Aug 21, 2013 at 9:38 AM, Li, Wen <span dir="ltr">
&lt;<a href="mailto:WLi@childrensnational.org" target="_blank">WLi@childrensnational.org</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div>
<div style="direction:ltr; font-size:10pt; font-family:Tahoma">Only ITK in Debug mode allows manipulating RescaleIntercept and RescaleSlope AND if output pixel type of the dicom writer is float or double. That's fine.&nbsp;
<div><br>
</div>
<div>Now the problem is gdcm::Rescaler may not work correctly. It stopped at gdcmRescaler::InverseRescaleFunction without finishing it.&nbsp;</div>
<div><br>
</div>
<div>I suppose that function handles inverse rescaling for float input pixel type. I don't expect anyone to look into that problem for me but just a little frustrated.</div>
<div><br>
</div>
<div>Wen<br>
<div>
<div style="font-size:16px; font-family:Times New Roman">
<hr>
<div style="direction:ltr"><font color="#000000" face="Tahoma"><b>From:</b> <a href="mailto:insight-users-bounces@itk.org" target="_blank">
insight-users-bounces@itk.org</a> [<a href="mailto:insight-users-bounces@itk.org" target="_blank">insight-users-bounces@itk.org</a>] on behalf of Li, Wen [<a href="mailto:WLi@childrensnational.org" target="_blank">WLi@childrensnational.org</a>]<br>
<b>Sent:</b> Monday, August 19, 2013 11:24 PM<br>
<b>To:</b> <a href="mailto:insight-users@itk.org" target="_blank">insight-users@itk.org</a><br>
<b>Subject:</b> [Insight-users] DICOMWriter for wide dynamic intensity range<br>
</font><br>
</div>
<div>
<div>
<div></div>
<div>
<div style="direction:ltr; font-size:10pt; font-family:Tahoma">Hi Insight users,
<div><br>
</div>
<div>I am talking about PET images. The data I am dealing with has a wide dynamic intensity range.</div>
<div>Now I am trying to write it as a DICOM image.&nbsp;</div>
<div><br>
</div>
<div>As we all know, DICOM only stores 16bit integer as pixel value. I tried to manipulate DICOM tag 0028|1052 and 0028|1053 for the RescaleIntercept and RescaleSlope. Failed. They were always reset to be 0 and 1.</div>
<div><br>
</div>
<div>Is there any suggestion about how to store the original intensity values instead of having them chopped off to be 16bit integer. In my case, I probably need float non-1 RescaleSlope.&nbsp;</div>
<div><br>
</div>
<div>BTW, I define my writer as&nbsp;</div>
<div>typedef itk::ImageSeriesWriter&lt; OutputImageType, OutputImageType2D &gt; SeriesWriterType;</div>
<div>OutputImageType::PixelType is float and OutputImageType2D::PixelType is signed short.</div>
<div><br>
</div>
<div>Thanks,</div>
<div>Wen</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<br>
_____________________________________<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>
<br>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
Unpaid intern in BillsBasement at noware dot com<br>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<br>
-- <br>
Unpaid intern in BillsBasement at noware dot com<br>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>