[ITK] Read raw image and save as nii

Paulo Guilherme Freire pauloguilhermefreire at gmail.com
Fri May 20 16:54:44 EDT 2016


Hello, Dženan. Thank you for your suggestion. I just tried using endian:
big, but still no success.

Best,
Paulo

On Fri, May 20, 2016 at 5:46 PM Dženan Zukić <dzenanz at gmail.com> wrote:

> Can you try endian: big?
>
> On Fri, May 20, 2016 at 2:18 PM, Paulo Guilherme Freire <
> pauloguilhermefreire at gmail.com> wrote:
>
>> Hi, Matt.
>>
>> Thank you for your answer! I tried different kinds of image pixel type
>> (short, unsigned short, int, unsigned char, double) but to no avail. I
>> really don't know what's wrong.
>>
>> An example of a .nhdr file I'm using is the following:
>>
>> NRRD0004
>> # Complete NRRD file format specification at:
>> # http://teem.sourceforge.net/nrrd/format.html
>> type: short
>> dimension: 3
>> space: left-posterior-superior
>> sizes: 512 512 512
>> space directions: (0.5,0,0) (0,0.5,0) (0,0,0.5)
>> kinds: domain domain domain
>> endian: little
>> encoding: raw
>> space origin: (0,0,0)
>> data file: CHB_train_Case01_FLAIR.raw
>>
>> Best,
>> Paulo
>>
>> Matt McCormick <matt.mccormick at kitware.com> schrieb am Fr., 20. Mai
>> 2016, 15:03:
>>
>>> Hi Paulo,
>>>
>>> Your code looks good. Is the image pixel type correct for the input data?
>>>
>>> HTH,
>>> Matt
>>>
>>> On Fri, May 20, 2016 at 12:36 PM, Paulo Guilherme Freire
>>> <pauloguilhermefreire at gmail.com> wrote:
>>> > Hello, everyone.
>>> >
>>> > I am trying to do something quite simple: I have a raw image (and its
>>> > corresponding .nhdr file) and I want to read it and save it in .nii
>>> format.
>>> > The image type, according to the .nhdr file, is short. Below is the
>>> code I'm
>>> > using.
>>> >
>>> > My question is: what am I missing here? After I save the image to file
>>> and
>>> > open it, I don't get the expected result; rather, I get an image that
>>> > reminds a TV static.
>>> >
>>> > Could you please help me?
>>> >
>>> > Thanks in advance!
>>> >
>>> > Best,
>>> > Paulo
>>> >
>>> > #include <iostream>
>>> > #include <itkImage.h>
>>> > #include <itkImageFileWriter.h>
>>> > #include <itkImageFileReader.h>
>>> >
>>> > int main(int argc, char* argv[])
>>> > {
>>> >
>>> >   typedef itk::Image<short, 3> ImageType;
>>> >
>>> >   if(argc < 3)
>>> >   {
>>> >     // programName <filename>.nhdr <filename>.nii
>>> >     std::cerr << "Usage: " << argv[0] << " Output1.nhdr Output2.nii\n";
>>> >     return EXIT_FAILURE;
>>> >   }
>>> >
>>> >   // Read .nhdr file
>>> >   typedef itk::ImageFileReader< ImageType > ReaderType;
>>> >   ReaderType::Pointer reader = ReaderType::New();
>>> >   reader->SetFileName(argv[1]);
>>> >   reader->Update();
>>> >
>>> >   // Save it as nii
>>> >   typedef itk::ImageFileWriter< ImageType > WriterType;
>>> >   WriterType::Pointer writer = WriterType::New();
>>> >   writer->UseInputMetaDataDictionaryOn(); // is this necessary?
>>> >   writer->SetInput(reader->GetOutput());
>>> >   writer->SetFileName(argv[2]);
>>> >
>>> >   try
>>> >   {
>>> >     writer->Update();
>>> >   }
>>> >   catch(itk::ExceptionObject e)
>>> >   {
>>> >     std::cout << "Could not save image to file\n";
>>> >   }
>>> >
>>> >   return EXIT_SUCCESS;
>>> > }
>>> >
>>> >
>>> > --
>>> > "Se podes olhar, vê. Se podes ver, repara."
>>> >
>>> > _______________________________________________
>>> > Community mailing list
>>> > Community at itk.org
>>> > http://public.kitware.com/mailman/listinfo/community
>>> >
>>>
>> --
>> "Se podes olhar, vê. Se podes ver, repara."
>>
>> _______________________________________________
>> Community mailing list
>> Community at itk.org
>> http://public.kitware.com/mailman/listinfo/community
>>
>>
> --
"Se podes olhar, vê. Se podes ver, repara."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/community/attachments/20160520/5fc4b880/attachment.html>


More information about the Community mailing list