<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-GB link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Hi,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Thank you, I appreciate your support on this question.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>The images are volumes dimensions: ( 512, 512, 512 ) and pixel
type is short.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>While trying to run the task manager with the ITK conversion
executable there is no jump in RAM usage, this is why I think the RAW volume is
not even loaded in memory, the reader just does not find it.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>My understanding is that there is no memory problem, indeed I
manage to load the same image with the same executable just by moving to the directory
containing the NRRD volumes.<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Many thanks,<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Ezequiel<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p>&nbsp;</o:p></span></p>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>

<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'> Luis Ibanez
[mailto:luis.ibanez@kitware.com] <br>
<b>Sent:</b> 02 July 2009 23:56<br>
<b>To:</b> Ezequiel Geremia<br>
<b>Cc:</b> itk<br>
<b>Subject:</b> Re: [Insight-users] Convert NRRD into DICOM<o:p></o:p></span></p>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

<p class=MsoNormal><br>
Hi Ezequiel,<br>
<br>
Thanks for posting the error message from the Exception.<br>
<br>
I just verified that a NRRD header file can be moved along <br>
with its associated .raw file to a different directory and still<br>
be read with the NRRD reader included into ITK.<br>
<br>
--<br>
<br>
<br>
Looking at the code...<br>
<br>
&nbsp; ...(Ah!, the Unbeatable Glory of Open Source)...<br>
<br>
We find that the error message that you posted is being <br>
generated by line 161 of:<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Insight/Utilities/NrrdIO/formatNRRD.c<br>
<br>
that curiously is part of (160-165):<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if ((err = (char*)malloc(strlen(fname) +
AIR_STRLEN_MED))) {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sprintf(err, &quot;%s: couldn't open
\&quot;%s\&quot; (data file %d of %d) for %s&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
me, fname, nio-&gt;dataFNIndex+1, (int)_nrrdDataFNNumber(nio),<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
reading ? &quot;reading&quot; : &quot;writing&quot;);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; biffAdd(NRRD, err); free(err);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>
<br>
<br>
<br>
Admittedly, <br>
the error message is quite misleading here...<br>
<br>
It is clear that what is happening in these lines above <br>
is that the code is failing to allocate enough memory <br>
for your image.<br>
<br>
So... <br>
please tell us:<br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; A)&nbsp; How big is the image ?<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; B)&nbsp; How much RAM do you have ?<br>
&nbsp;&nbsp;&nbsp;&nbsp; <br>
<br>
and please run this code while you have open the <br>
TaskManager, and check on how much memory <br>
is available at the time the program post this message.<br>
<br>
<br>
If memory allocation turns out to be the real problem,<br>
please feel free to add a bug report suggesting<br>
that this error message be replaced with something<br>
that indicates that we are dealing with a Memory<br>
Allocation problem, as opposed to an I/O problem.<br>
<br>
You can report bugs at:<br>
<a href="http://public.kitware.com/Bug/my_view_page.php">http://public.kitware.com/Bug/my_view_page.php</a><br>
<br>
<br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp; Please let us know what you find,<br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Thanks<br>
<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Luis<br>
<br>
<br>
-----------------------------------------------------------------------------<o:p></o:p></p>

<div>

<p class=MsoNormal>On Thu, Jul 2, 2009 at 1:31 PM, Ezequiel Geremia &lt;<a
href="mailto:t-egerem@microsoft.com">t-egerem@microsoft.com</a>&gt; wrote:<o:p></o:p></p>

<p class=MsoNormal>Hi Luis,<br>
<br>
The reader.Update() call is inside a try\catch block.<br>
<br>
Here is the exception which is caught:<br>
<br>
ExceptionObject caught !<br>
<br>
itk::ExceptionObject (00A0E9A8)<br>
Location: &quot;void __thiscall
itk::NrrdImageIO::ReadImageInformation(void)&quot;<br>
File: ..\..\..\src\Code\IO\itkNrrdImageIO.cxx<br>
Line: 264<br>
Description: itk::ERROR: NrrdImageIO(025D1DC0): ReadImageInformation: Error
read<br>
ing C:\Downloads\MS-Lesion-Segmentation-2008\Extracted-Files\Test<br>
ing-Data\CHB_test1_Part1\CHB_test1_Case01\CHB_test1_Case01_FLAIR.nhdr:<br>
[nrrd] nrrdLoad: trouble reading &quot;C:\Downloads\MS-Lesion-Segmenta<br>
tion-2008\Extracted-Files\Testing-Data\CHB_test1_Part1\CHB_test1_Case01\CHB_test<br>
1_Case01_FLAIR.nhdr&quot;<br>
[nrrd] nrrdRead: trouble reading NRRD file<br>
[nrrd] _nrrdFormatNRRD_read: couldn't open the first datafile<br>
[nrrd] nrrdIoStateDataFileIterNext: couldn't open
&quot;./CHB_test1_Case01_FLAIR.raw&quot;<br>
&nbsp;(data file 1 of 1) for reading<br>
<br>
In this case, the reader does not seem to add the path of the header file (i.e.
&quot;C:\Downloads\MS-Lesion-Segmentation-2008\Extracted-Files\Testing-Data\CHB_test1_Part1\CHB_test1_Case01\&quot;)
to the filename found in the header file and which is in the same directory
(i.e. &quot;./CHB_test1_Case01_FLAIR.raw&quot;).<br>
<br>
Many thanks,<o:p></o:p></p>

<div>

<p class=MsoNormal><br>
Ezequiel<br>
<br>
-----Original Message-----<br>
From: Luis Ibanez [mailto:<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>]<o:p></o:p></p>

</div>

<div>

<div>

<p class=MsoNormal style='margin-bottom:12.0pt'>Sent: 02 July 2009 17:51<br>
To: Ezequiel Geremia; Insight Users<br>
Subject: Re: [Insight-users] Convert NRRD into DICOM<br>
<br>
<br>
Hi Ezequiel,<br>
<br>
Thanks for the update.<br>
<br>
I haven't seen this problem before.<br>
<br>
I would be very surprised if the reader relies on absolute<br>
paths, because that will mean that it is impossible to<br>
move NRRD files from one computer to another,... and even<br>
from one directory to another in the same machine.<br>
<br>
<br>
<br>
Did you got an error message ?<br>
<br>
If so,<br>
Could you please post it to the mailing list ?<br>
<br>
Are you placing the Update() call of the reader<br>
inside a try/catch block ?<br>
<br>
<br>
<br>
&nbsp; Please let us konw<br>
<br>
<br>
&nbsp; &nbsp; &nbsp;Thanks<br>
<br>
<br>
&nbsp; &nbsp; &nbsp; &nbsp;Luis<br>
<br>
<br>
------------------------<br>
Ezequiel Geremia wrote:<br>
&gt; Hi Luis,<br>
&gt;<br>
&gt; Thank you for answering my mail,<br>
&gt;<br>
&gt; I managed to read NRRD format by passing the header .nhdr or .mhd files
and to convert them into DICOM series.<br>
&gt;<br>
&gt; The NRRD format I got form the MS Segmentation Challenge 2008 &amp; Liver
Tumor Segmentation Challenge 2008 websites seem to be specified as the union of
a header and a RAW data file.<br>
&gt;<br>
&gt; However I experienced another issue concerning the reader. When I pass the
header, which contains the relative filename of the .raw file to be converted,
as an input, the reader is not able to find it (maybe because the reader relies
on absolute filenames).<br>
&gt;<br>
&gt; Do you know a way out of this ?<br>
&gt;<br>
&gt; Regards,<br>
&gt;<br>
&gt; Ezequiel<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; -----Original Message-----<br>
&gt; From: Luis Ibanez [mailto:<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>]<br>
&gt; Sent: 30 June 2009 22:27<br>
&gt; To: Ezequiel Geremia<br>
&gt; Cc: <a href="mailto:insight-users@itk.org">insight-users@itk.org</a><br>
&gt; Subject: Re: [Insight-users] Convert NRRD into DICOM<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Hi Ezequiel,<br>
&gt;<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp;If your input file is in NRRD format,<br>
&gt; &nbsp; &nbsp; &nbsp;why are you passing a RAW format as input ?<br>
&gt;<br>
&gt;<br>
&gt; ITK is expecting that a NRRD file will be called<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;LTS_IMG05.nrrd<br>
&gt;<br>
&gt; not to be called:<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;LTS_IMG05.raw<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Also, is this image 2D or 3D ?<br>
&gt;<br>
&gt;<br>
&gt; You may have to retouch the example code in order<br>
&gt; to manage 3D images.<br>
&gt;<br>
&gt;<br>
&gt; &nbsp; &nbsp; Regards,<br>
&gt;<br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; Luis<br>
&gt;<br>
&gt;<br>
&gt; --------------------------<br>
&gt; Ezequiel Geremia wrote:<br>
&gt;<br>
&gt;&gt;Hi,<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;I tried to convert NRRD, which is ITK supported format, data volumes<br>
&gt;&gt;into DICOM volumes using the generic converter given in<br>
&gt;&gt;/ImageReadWrite.exe/ with the following arguments<br>
&gt;&gt;<br>
&gt;&gt;- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Input file: LTS_IMG05.raw<br>
&gt;&gt;<br>
&gt;&gt;- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Output file: LTS_IM05.dcm (also
tried .dic and .dicom file<br>
&gt;&gt;extensions)<br>
&gt;&gt;<br>
&gt;&gt;- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Exception:<br>
&gt;&gt;<br>
&gt;&gt;itk::ImageFileReaderException (0146EEC0)<br>
&gt;&gt;<br>
&gt;&gt;Location: &quot;void __thiscall itk::ImageFileReader&lt;class<br>
&gt;&gt;itk::Image&lt;short,3&gt;,class
itk::DefaultConvertPixelTraits&lt;short&gt;<br>
&gt;&gt; &gt;::GenerateOutputInformation(void)&quot;<br>
&gt;&gt;<br>
&gt;&gt;File:<br>
&gt;&gt;c:\users\t-egerem\software\insighttoolkit-3.14.0\src\code\io\itkImageFileReader.txx<br>
&gt;&gt;<br>
&gt;&gt;Line: 144<br>
&gt;&gt;<br>
&gt;&gt;Description: &nbsp;Could not create IO object for file<br>
&gt;&gt;C:\Users\t-egerem\Downloads\3D-Liver-Tumor-Segmentation-Challenge-2008\Extracted-Files\Testing-Data\LTS_IMG05.raw<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;Tried to create one of the following:<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;GDCMImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;MetaImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;PNGImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;VTKImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;GiplImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;BioRadImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;LSMImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;AnalyzeImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;NiftiImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;StimulateImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;JPEGImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;TIFFImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;NrrdImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;BMPImageIO<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp;DICOMImageIO2<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;You probably failed to set a file suffix or set the suffix to an<br>
&gt;&gt;unsupported type.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;Then I tried to shortcut the pluggable factory mechanism and it does
not<br>
&gt;&gt;as well with the same data it throws the following error message<br>
&gt;&gt;<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;
&nbsp;itk::ExceptionObject (0122F614)<br>
&gt;&gt;<br>
&gt;&gt;Location: &quot;void __thiscall itk::ImageFileReader&lt;class<br>
&gt;&gt;itk::Image&lt;short,3&gt;,class itk::DefaultConvertPixelTraits&lt;short&gt;<br>
&gt;&gt; &gt;::EnlargeOutputRequestedRegion(class itk::DataObject *)&quot;File:<br>
&gt;&gt;c:\users\t-egerem\software\insighttoolkit-3.14.0\src\code\io\itkImageFileReader.txx<br>
&gt;&gt;<br>
&gt;&gt;Line: 342<br>
&gt;&gt;<br>
&gt;&gt;Description: itk::ERROR: ImageFileReader(0172F7C0): ImageIO returns IO<br>
&gt;&gt;region that does not fully contain the requested regionRequested
region:<br>
&gt;&gt;ImageRegion (0122F8D8)<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;Dimension: 3<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;Index: [0, 0, 0]<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;Size: [0, 0, 0]<br>
&gt;&gt;<br>
&gt;&gt;StreamableRegion region: ImageRegion (0172F8A4)<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;Dimension: 3<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;Index: [0, 0, 0]<br>
&gt;&gt;<br>
&gt;&gt; &nbsp;Size: [0, 0, 0]<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;If you can think of a solution can you please point it out to me ?<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;Regards,<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;Ezequiel Geremia<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;------------------------------------------------------------------------<br>
&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;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;Please keep messages on-topic and check the ITK FAQ at: <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>
&gt;<o:p></o:p></p>

</div>

</div>

</div>

<p class=MsoNormal><o:p>&nbsp;</o:p></p>

</div>

</body>

</html>