<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>  ...(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>            Insight/Utilities/NrrdIO/formatNRRD.c<br><br>that curiously is part of (160-165):<br><br>      if ((err = (char*)malloc(strlen(fname) + AIR_STRLEN_MED))) {<br>
        sprintf(err, &quot;%s: couldn&#39;t open \&quot;%s\&quot; (data file %d of %d) for %s&quot;,<br>                me, fname, nio-&gt;dataFNIndex+1, (int)_nrrdDataFNNumber(nio),<br>                reading ? &quot;reading&quot; : &quot;writing&quot;);<br>
        biffAdd(NRRD, err); free(err);<br>      }<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>       A)  How big is the image ?<br><br>       B)  How much RAM do you have ?<br>     <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>     Please let us know what you find,<br><br><br>           Thanks<br><br><br>                  Luis<br><br><br>-----------------------------------------------------------------------------<br><div class="gmail_quote">
On Thu, Jul 2, 2009 at 1:31 PM, Ezequiel Geremia <span dir="ltr">&lt;<a href="mailto:t-egerem@microsoft.com">t-egerem@microsoft.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
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&#39;t open the first datafile<br>
[nrrd] nrrdIoStateDataFileIterNext: couldn&#39;t open &quot;./CHB_test1_Case01_FLAIR.raw&quot;<br>
 (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,<br>
<div class="im"><br>
Ezequiel<br>
<br>
-----Original Message-----<br>
From: Luis Ibanez [mailto:<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>]<br>
</div><div><div></div><div class="h5">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&#39;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>
   Please let us konw<br>
<br>
<br>
      Thanks<br>
<br>
<br>
        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;      If your input file is in NRRD format,<br>
&gt;      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;                LTS_IMG05.nrrd<br>
&gt;<br>
&gt; not to be called:<br>
&gt;<br>
&gt;                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;     Regards,<br>
&gt;<br>
&gt;<br>
&gt;         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;-          Input file: LTS_IMG05.raw<br>
&gt;&gt;<br>
&gt;&gt;-          Output file: LTS_IM05.dcm (also tried .dic and .dicom file<br>
&gt;&gt;extensions)<br>
&gt;&gt;<br>
&gt;&gt;-          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:  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;  Tried to create one of the following:<br>
&gt;&gt;<br>
&gt;&gt;    GDCMImageIO<br>
&gt;&gt;<br>
&gt;&gt;    MetaImageIO<br>
&gt;&gt;<br>
&gt;&gt;    PNGImageIO<br>
&gt;&gt;<br>
&gt;&gt;    VTKImageIO<br>
&gt;&gt;<br>
&gt;&gt;    GiplImageIO<br>
&gt;&gt;<br>
&gt;&gt;    BioRadImageIO<br>
&gt;&gt;<br>
&gt;&gt;    LSMImageIO<br>
&gt;&gt;<br>
&gt;&gt;    AnalyzeImageIO<br>
&gt;&gt;<br>
&gt;&gt;    NiftiImageIO<br>
&gt;&gt;<br>
&gt;&gt;    StimulateImageIO<br>
&gt;&gt;<br>
&gt;&gt;    JPEGImageIO<br>
&gt;&gt;<br>
&gt;&gt;    TIFFImageIO<br>
&gt;&gt;<br>
&gt;&gt;    NrrdImageIO<br>
&gt;&gt;<br>
&gt;&gt;    BMPImageIO<br>
&gt;&gt;<br>
&gt;&gt;    DICOMImageIO2<br>
&gt;&gt;<br>
&gt;&gt;  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;                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;  Dimension: 3<br>
&gt;&gt;<br>
&gt;&gt;  Index: [0, 0, 0]<br>
&gt;&gt;<br>
&gt;&gt;  Size: [0, 0, 0]<br>
&gt;&gt;<br>
&gt;&gt;StreamableRegion region: ImageRegion (0172F8A4)<br>
&gt;&gt;<br>
&gt;&gt;  Dimension: 3<br>
&gt;&gt;<br>
&gt;&gt;  Index: [0, 0, 0]<br>
&gt;&gt;<br>
&gt;&gt;  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;<br>
<br>
</div></div></blockquote></div><br>