Hi,<div><br></div><div>I attach the test results on Windows. We can observe that trunk version is about 2x faster compared to gdcm2.0.14, however gdcm1.2 is still 2x faster than trunk version. </div><div><br></div><div>I&#39;m looking forward your answers and let&#39;s me know if you need some help.</div>
<div><br></div><div>Thanks,</div><div><br></div><div>Roger<br><br><div class="gmail_quote">On Tue, Jun 1, 2010 at 9:40 PM, Roger Bramon Feixas <span dir="ltr">&lt;<a href="mailto:rogerbramon@gmail.com">rogerbramon@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;">Hi Mathieu,<div><br></div><div>Thanks for you time! I just tested it on Mac OS X (I will also test it on Windows soon) and there is a really nice performance improvement, about 2x. </div>
<div><br></div><div>However, I have two code comments: First, there is an abort() at line 350 of gdcmBitmap.cxx which causes a crash, I commented it to be able to test it. <span style="font-family:arial, sans-serif;font-size:13px;white-space:pre-wrap">The other problem is related to the use of gdcm::PixelFormat::UINT8 at line 342 of gdcmBitmap.cxx. If you&#39;re working with JPEG files and its pixel format is more than 8 bits, a downscale has to be done. Perhaps, it could be replaced for GetPixelFormat().</span></div>

<div><font face="arial, sans-serif"><span style="white-space:pre-wrap"><br></span></font></div><div><span style="font-size:13px"></span><font face="arial, sans-serif"><span style="white-space:pre-wrap">On the other hand, we want to include this commit in our GDCM compilation but I would like to know which is the best way:</span></font></div>

<div><font face="arial, sans-serif"><span style="white-space:pre-wrap">    - <span style="font-size:13px">Using GDCM 2.0.14 patched. It&#39;s the last stable version but I don&#39;t know if patch it is a good idea because some changes have been done.</span></span></font></div>

<div><font face="arial, sans-serif"><span style="white-space:pre-wrap">    - Using the trunk version even though it isn&#39;t stable, or</span></font></div><div><font face="arial, sans-serif"><span style="white-space:pre-wrap">    - waiting for GDCM 2.1 if it will be released soon.<br>

</span></font><br></div><div>I will try to test it on Windows tomorrow and send you the time results.</div><div><br></div><div>Many thanks!</div><div><br></div><font color="#888888"><div>Roger</div></font><div><div></div>
<div class="h5"><div><br></div><div><br><div class="gmail_quote">
On Mon, May 31, 2010 at 11:21 PM, Mathieu Malaterre <span dir="ltr">&lt;<a href="mailto:mathieu.malaterre@gmail.com" target="_blank">mathieu.malaterre@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">

Hi Roger,<br>
<br>
  Yes ! I finally found some time, Snakes on a Plane gave this opportunity ;)<br>
<br>
  I think I made some progress with the JPEG DICOM file. JPEG 2000<br>
files will be slightly more difficult. See log at:<br>
<a href="http://sourceforge.net/tracker/index.php?func=detail&amp;aid=3009661&amp;group_id=137895&amp;atid=739587" target="_blank">http://sourceforge.net/tracker/index.php?func=detail&amp;aid=3009661&amp;group_id=137895&amp;atid=739587</a><br>


<br>
  For reference, this issue entered GDCM 2.x, when handling the<br>
lossy/lossless duality of J2K and JPEG-LS in DICOM. I am required to<br>
know after ExecuteInformation whether the encapsulated JPEG fragment<br>
was compressed with lossy algorithm (this is not indicated in the<br>
DICOM dataset).<br>
<br>
  Could you please confirm this on your side (again JPEG 2000 will<br>
take me some more time) ?<br>
<br>
Thanks again for your report<br>
<br>
On Fri, May 28, 2010 at 12:00 AM, Roger Bramon Feixas<br>
<div><div></div><div>&lt;<a href="mailto:rogerbramon@gmail.com" target="_blank">rogerbramon@gmail.com</a>&gt; wrote:<br>
&gt; Hi,<br>
&gt; Have you had time to think about the causes of the performance regression<br>
&gt; problem? I can work on it, but I would like to have, if you have it, some<br>
&gt; information which helps me to know where I need to focus the effort.<br>
&gt;<br>
&gt; Thanks,<br>
&gt; Roger<br>
&gt;<br>
&gt; On Tue, May 18, 2010 at 9:14 AM, Roger Bramon Feixas &lt;<a href="mailto:rogerbramon@gmail.com" target="_blank">rogerbramon@gmail.com</a>&gt;<br>
&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; Hi Mathieu,<br>
&gt;&gt; Perhaps, the answer of question 3 wasn&#39;t so clear:<br>
&gt;&gt; ITK versions:<br>
&gt;&gt;   - CMAKE_BUILD_TYPE:RelWithDebInfo<br>
&gt;&gt;   - BUILD_SHARED_LIBS: OFF<br>
&gt;&gt; GDCM: Release from  <a href="http://gdcm.sourceforge.net" target="_blank">http://gdcm.sourceforge.net</a><br>
&gt;&gt; Test program: Release.<br>
&gt;&gt; Compiling the test program in Debug mode, it takes more time but we also<br>
&gt;&gt; have large differences between GDCM 1.2.x and GDCM 2.0.<br>
&gt;&gt;<br>
&gt;&gt; Roger<br>
&gt;&gt; On Mon, May 17, 2010 at 11:50 PM, Roger Bramon Feixas<br>
&gt;&gt; &lt;<a href="mailto:rogerbramon@gmail.com" target="_blank">rogerbramon@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Hi Mathieu,<br>
&gt;&gt;&gt; Thanks for your attention. I answer your questions:<br>
&gt;&gt;&gt; 1. What is your platform ?<br>
&gt;&gt;&gt; I used a Windows XP 32bits to do the test. However, this behaviour also<br>
&gt;&gt;&gt; occurs in Mac OS X platform.<br>
&gt;&gt;&gt; 2. What is your compiler ?<br>
&gt;&gt;&gt; All ITK versions were compiled with Visual Studio 2008 and we downloaded<br>
&gt;&gt;&gt; GDCM 2.0.14 binary from <a href="http://gdcm.sourceforge.net" target="_blank">http://gdcm.sourceforge.net</a><br>
&gt;&gt;&gt; 3. What are your compiler option (eg. I hope you do not run bench<br>
&gt;&gt;&gt; without CMAKE_BUILD_TYPE:Release) ?<br>
&gt;&gt;&gt; RelWithDebInfo<br>
&gt;&gt;&gt; 4. Where is the dataset used ?<br>
&gt;&gt;&gt; Dataset 5 is from OSIRIX: <a href="http://pubimage.hcuge.ch:8080/DATA/CALIX.zip" target="_blank">http://pubimage.hcuge.ch:8080/DATA/CALIX.zip</a><br>
&gt;&gt;&gt; -&gt; CALIX/CT1 abdomen/D30MN BILISCOPIN<br>
&gt;&gt;&gt; We are really interested to improve the time needed to load jpeg lossless<br>
&gt;&gt;&gt; datasets. The jpeg lossless datasets used are non-anonymized datasets, I<br>
&gt;&gt;&gt; will try to anonymize them if you want them.<br>
&gt;&gt;&gt; 5. Where is the source code used ?<br>
&gt;&gt;&gt; I attach it in this mail.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thanks!<br>
&gt;&gt;&gt; Roger<br>
&gt;&gt;&gt; On Mon, May 17, 2010 at 10:44 PM, Mathieu Malaterre<br>
&gt;&gt;&gt; &lt;<a href="mailto:mathieu.malaterre@gmail.com" target="_blank">mathieu.malaterre@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Hi Roger,<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;  This is a very interesting post !<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; On Thu, May 13, 2010 at 11:00 PM, Roger Bramon Feixas<br>
&gt;&gt;&gt;&gt; &lt;<a href="mailto:rogerbramon@gmail.com" target="_blank">rogerbramon@gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt; &gt; Hi,<br>
&gt;&gt;&gt;&gt; &gt; Recently we updated our ITK version from ITK 3.16 to ITK 3.18 and we<br>
&gt;&gt;&gt;&gt; &gt; decided<br>
&gt;&gt;&gt;&gt; &gt; to relink ITK with system GDCM 2.0. After some tests, we concluded ITK<br>
&gt;&gt;&gt;&gt; &gt; 3.18+GDCM 2.0 is faster than ITK 3.18 reading DICOM Little Endian<br>
&gt;&gt;&gt;&gt; &gt; files,<br>
&gt;&gt;&gt;&gt; &gt; however ITK 3.18+GDCM 2.0 is rather slower reading DICOM JPEG files. I<br>
&gt;&gt;&gt;&gt; &gt; attach a PDF file which is a time comparison of ITK 2.8, 3.16, 3.18<br>
&gt;&gt;&gt;&gt; &gt; and<br>
&gt;&gt;&gt;&gt; &gt; 3.18+GDCM2.0 versions.<br>
&gt;&gt;&gt;&gt; &gt; I don&#39;t know if it&#39;s just a GDCM problem or if it depends on how ITK<br>
&gt;&gt;&gt;&gt; &gt; uses<br>
&gt;&gt;&gt;&gt; &gt; GDCM.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;                       GDCM             Reading<br>
&gt;&gt;&gt;&gt; UpdateOutput-        UpdateLargest-<br>
&gt;&gt;&gt;&gt; Data       ITK version version          directory         Information<br>
&gt;&gt;&gt;&gt;        PossibleRegion<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;       5           2,8            1,2           642<br>
&gt;&gt;&gt;&gt;  6                  20153<br>
&gt;&gt;&gt;&gt;                  3,16            1,2           547<br>
&gt;&gt;&gt;&gt;  0                  25121<br>
&gt;&gt;&gt;&gt;                  3,18            1,2           547<br>
&gt;&gt;&gt;&gt;  0                  25124<br>
&gt;&gt;&gt;&gt;                  3,18              2         25297<br>
&gt;&gt;&gt;&gt; 187                  71437<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Data     Transfer syntax                Modality          Files<br>
&gt;&gt;&gt;&gt;        Size (MB)<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;       5 JPEG 2000                      CT<br>
&gt;&gt;&gt;&gt; 243                     23<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;  Could you please post a little bit more on :<br>
&gt;&gt;&gt;&gt; 1. What is your platform ?<br>
&gt;&gt;&gt;&gt; 2. What is your compiler ?<br>
&gt;&gt;&gt;&gt; 3. What are your compiler option (eg. I hope you do not run bench<br>
&gt;&gt;&gt;&gt; without CMAKE_BUILD_TYPE:Release) ?<br>
&gt;&gt;&gt;&gt; 4. Where is the dataset used ?<br>
&gt;&gt;&gt;&gt; 5. Where is the source code used ?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Thanks a bunch !<br>
&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt; Mathieu<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
<br>
<br>
<br>
</div></div>--<br>
<font color="#888888">Mathieu<br>
</font></blockquote></div><br></div>
</div></div></blockquote></div><br></div>