[Insight-users] need help with my Code

Luis Ibanez luis.ibanez at kitware.com
Mon Sep 1 12:15:18 EDT 2008


Hi Nadia,

As far as I know, TIFF can't store 3D images.

I don't quite understand how the code can
generate a 3D TIFF image for you...

Are you talking about a multi-frame TIFF,... maybe ?


To figure out what ImageIO was used you can do the
following (of course, first remove the SetImageIO),

then,

after the call to

               writer->Update()

add the following call

    writer->GetImageIO->Print( std::cout );

The text that you will get in the console should
include the class name of he ImageIO that was
selected during the search of ImageIOFactories.


Please post that output to the list,


    Thanks


       Luis



-----------------
Nadia Alvi wrote:
> Hi Luis,
>  
> Thanks for your reply.
>  
> I am trying to read a sequence of three 2d tif images and write them as 
> one tiff file (with three slices). So that the output image would be one 
> tiff image with 3 slices.
>  
> This is the exactly the same thing that is explained in section 7.11.1 
> of ITKSoftwareGuide(i.e. Reading Image Series).
> I want to mention one interesting thing. While experimenting with the 
> code, when I removed the code line, reader1->SetImageIO( 
> itk::TIFFImageIO::New() ); , the code worked perfectly fine. Is this 
> because it is now using some other ImageIO?
>  
> I am really very thankful for any help.
>  
> Kind regards
> Nadia
> 
> 
> --- On *Sun, 8/31/08, Luis Ibanez /<luis.ibanez at kitware.com>/* wrote:
> 
>     From: Luis Ibanez <luis.ibanez at kitware.com>
>     Subject: Re: [Insight-users] need help with my Code
>     To: nadiaalvi at yahoo.com
>     Cc: insight-users at itk.org
>     Date: Sunday, August 31, 2008, 10:04 AM
> 
> Hi Nadia,
> 
> 
>     The TIFF format doesn't support 3D images.
> 
> 
> Are you trying to write a 3D TIFF image ?
> 
> or
> 
> Are you trying to write 3 TIFF files each one with a 2D image ?
> 
> 
> Please let us know,
> 
> 
>     Thanks
> 
> 
>        Luis
> 
> 
> -----------------
> Nadia Alvi wrote:
>> 
>>     Hi All,
>>      
>>     Please see the code attached.
>>     It should read the 3 slices and write them as a tiff file but it
>>     only reads the 2nd slice and write it 3 times in a tiff file.
>>     Apparently it is incrementing the start index by 1 and reading that
>>     slice 3 times.
>>     Can some body please help me in finding what i m doing wrong?
>>     Many many thanks
>>     Nadia
>>      
>>    
> ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
>> 
>>     typedef unsigned char                       PixelType;
>>       const unsigned int Dimension = 3;
>>      
>>       typedef itk::Image< PixelType, Dimension >  ImageType;
>>      
>>       typedef itk::ImageSeriesReader< ImageType >  ReaderType;
>>       typedef itk::ImageFileWriter<ImageType> WriterType;
>> 
>>       WriterType::Pointer writer = WriterType::New();
>>       ReaderType::Pointer reader1 = ReaderType::New();
>>       typedef itk::NumericSeriesFileNames    NameGeneratorType;
>>       NameGeneratorType::Pointer nameGenerator = NameGeneratorType::New();
>>       nameGenerator->SetSeriesFormat(
>>     "clint_binary_080320_noDescription%04d.tiff" );
>>       nameGenerator->SetStartIndex(1);
>>       nameGenerator->SetEndIndex(3);
>>       nameGenerator->SetIncrementIndex(1);
>> 
>>       reader1->SetImageIO( itk::TIFFImageIO::New() );
>>       reader1->SetFileNames( nameGenerator->GetFileNames()  );
>> 
>>       writer->SetFileName("labeledImage.tif");
>>       writer->SetInput(reader1->GetOutput());
>>       try
>>         {
>>       
>>       writer->Update();
>>         }
>> 
>> 
>> 
>> 
>> ------------------------------------------------------------------------
>> 
>> _______________________________________________
>> Insight-users mailing list
>> Insight-users at itk.org
>> http://www.itk.org/mailman/listinfo/insight-users
> 
> 


More information about the Insight-users mailing list