<p class="MsoNormal">Hi all, <br></p>









<p class="MsoNormal"><span style="">&nbsp;&nbsp;&nbsp; </span>I have some dicom
files that are probably in compressed format as they are<br>much smaller than other files of same slice size (512x512x1)
in the same folder<br>and there is <span style=""></span>a tag
(0008,2111) called derivative description found in these files with value <br>&quot;Compress BN JPEG Lossless&quot;.<span style="">&nbsp;
</span>The problem I encountered is that when reading <br>these files using itk::GDCMImageIO, I
receive the following message:</p>

<p class="MsoNormal"><span style="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </span>&quot;Must
downscale data from 16 bits to 12&quot;</p>





<p class="MsoNormal">To make things worse, sometimes my program aborts when
trying to access data read<br>from these files or it returns the wrong intensity values.<span style=""> However I am able to read<br>these files using MATLAB and other programs</span>. Below is the dicom reading part of my ITK code which is based on </p>


<p class="MsoNormal"><span style="">&nbsp;&nbsp;
</span>Insight/Examples/IO/DicomSeriesReadImageWrite.cxx</p>

















<p class="MsoNormal">&nbsp;&nbsp;&nbsp;&nbsp; typedef itk::ImageSeriesReader&lt; ImageType &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ReaderType;<br>&nbsp;&nbsp;&nbsp; ReaderType::Pointer reader = ReaderType::New();<br><br>&nbsp;&nbsp;&nbsp; typedef itk::GDCMImageIO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ImageIOType;<br>&nbsp;&nbsp;&nbsp; ImageIOType::Pointer dicomIO = ImageIOType::New();<br>
&nbsp;&nbsp;&nbsp; reader-&gt;SetImageIO( dicomIO );<br><br>&nbsp;&nbsp;&nbsp; typedef itk::GDCMSeriesFileNames NamesGeneratorType;<br>&nbsp;&nbsp;&nbsp; NamesGeneratorType::Pointer nameGenerator = NamesGeneratorType::New();<br>&nbsp;&nbsp;&nbsp; nameGenerator-&gt;SetUseSeriesDetails( true );<br>
&nbsp;&nbsp;&nbsp; nameGenerator-&gt;SetRecursive(true);<br>&nbsp;&nbsp;&nbsp; nameGenerator-&gt;SetDirectory(inputFolder);<br><br>&nbsp;&nbsp;&nbsp; typedef std::vector&lt; std::string &gt;&nbsp;&nbsp;&nbsp; SeriesIdContainer;<br>&nbsp;&nbsp;&nbsp; const SeriesIdContainer &amp; seriesUID = nameGenerator-&gt;GetSeriesUIDs();<br>
&nbsp;&nbsp;&nbsp; SeriesIdContainer::const_iterator seriesItr = seriesUID.begin();<br>&nbsp;&nbsp;&nbsp; SeriesIdContainer::const_iterator seriesEnd = seriesUID.end();<br><br>&nbsp;&nbsp;&nbsp; std::string seriesIdentifier;<br>&nbsp;&nbsp;&nbsp; typedef std::vector&lt; std::string &gt;&nbsp;&nbsp; FileNamesContainer;<br>
&nbsp;&nbsp;&nbsp; FileNamesContainer fileNames;<br>&nbsp;&nbsp;&nbsp; while( seriesItr != seriesEnd ){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; seriesIdentifier = seriesItr-&gt;c_str();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; fileNames = nameGenerator-&gt;GetFileNames( seriesIdentifier );<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reader-&gt;SetFileNames( fileNames );<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; reader-&gt;Update();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; image = reader-&gt;GetOutput();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // ...<br>&nbsp;&nbsp;&nbsp; }<br><br><span style=""></span></p>











<p class="MsoNormal">The same code works well for other uncompressed dicom files
in the same folder.<br>I found similar questions have been asked in the mailing
list, for example,<br><span style="">&nbsp;
</span><a href="http://www.cmake.org/pipermail/insight-users/2007-April/021955.html">http://www.cmake.org/pipermail/insight-users/2007-April/021955.html</a><br>However, in my case, adding<br><span style="">&nbsp;&nbsp;&nbsp;
</span>dicomIO-&gt;UseCompressionOn();<br><span style="">&nbsp;&nbsp;&nbsp;
</span>dicomIO-&gt;SetCompressionType(itk::GDCMImageIO::JPEG2000); // I also
tried JPEG<br><span style="">&nbsp;</span>does not solve the
problem.</p>



<p class="MsoNormal">&nbsp;<br>I guess I must have missed some obvious solution and would appreciate
any clue that will help me out.<span style="">&nbsp; <br></span>Many
thanks in advance and wish you all have a great holiday!</p>





<p class="MsoNormal">&nbsp;<br>Bing</p>