[ITK] Read raw image and save as nii

Timothee Evain tevain at telecom-paristech.fr
Sat May 21 07:47:10 EDT 2016


Hi Paulo,

Some suggestions:
-Is the LPS orientation of your data streamed successfully to your new file ?
-Which filter is in cause ? the reader or the writer ? Are you able to visualize your data after loading it but before writing it (with VTK for example) ?

Tim



----- Mail original -----
De: "Paulo Guilherme Freire" <pauloguilhermefreire at gmail.com>
À: "Dženan Zukić" <dzenanz at gmail.com>
Cc: community at itk.org
Envoyé: Vendredi 20 Mai 2016 22:54:44
Objet: Re: [ITK] Read raw image and save as nii

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." 

_______________________________________________
Community mailing list
Community at itk.org
http://public.kitware.com/mailman/listinfo/community


More information about the Community mailing list