[Insight-users] Problem generating a 3D volume from a set of slices
Bill Lorensen
bill.lorensen at gmail.com
Wed May 18 00:03:49 EDT 2011
Oops...
Dora0001d.png
Dora0002d.png
Dora0003d.png
...
On Wed, May 18, 2011 at 12:02 AM, Bill Lorensen <bill.lorensen at gmail.com>wrote:
> What are the names of the file? From your code they should be something
> like:
> Dora00001d.png
> Dora00002d.png
> Dora00003d.png
> ...
>
> Is that how your files are named?
>
> Bill
>
> On Tue, May 17, 2011 at 4:19 PM, Dora Szasz <dora.szasz at yahoo.com> wrote:
>
>> Hello all,
>>
>> I am trying to make a 3D volume using a set of .png images. I want to
>> obtain a 3D image (for example .mhd), but It doesn't generate any output.
>> My code is the following:
>>
>> #include "itkImage.h"
>> #include "itkImageSeriesReader.h"
>> #include "itkImageFileWriter.h"
>> #include "itkNumericSeriesFileNames.h"
>> #include "itkPNGImageIO.h"
>>
>> int main( int argc, char ** argv )
>> {
>> // Verify the number of parameters in the command line
>> if( argc < 4 )
>> {
>> std::cerr << "Usage: " << std::endl;
>> std::cerr << argv[0] << " firstSliceValue lastSliceValue
>> outputImageFile " << std::endl;
>> return EXIT_FAILURE;
>> }
>>
>> 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;
>>
>> ReaderType::Pointer reader = ReaderType::New();
>> WriterType::Pointer writer = WriterType::New();
>>
>> const unsigned int first = atoi( argv[1] );
>> const unsigned int last = atoi( argv[2] );
>>
>> const char * outputFilename = argv[3];
>>
>> typedef itk::NumericSeriesFileNames NameGeneratorType;
>>
>> NameGeneratorType::Pointer nameGenerator = NameGeneratorType::New();
>>
>> nameGenerator->SetSeriesFormat( "Dora00%02d.png" );
>>
>> nameGenerator->SetStartIndex( first );
>> nameGenerator->SetEndIndex( last );
>> nameGenerator->SetIncrementIndex( 1 );
>>
>> reader->SetImageIO( itk::PNGImageIO::New() );
>> reader->SetFileNames( nameGenerator->GetFileNames() );
>>
>> writer->SetFileName( outputFilename );
>> writer->SetInput( reader->GetOutput() );
>> try
>> {
>> writer->UpdateLargestPossibleRegion();
>> writer->Update();
>> }
>> catch( itk::ExceptionObject & err )
>> {
>> std::cerr << "ExceptionObject caught !" << std::endl;
>> std::cerr << err << std::endl;
>> return EXIT_FAILURE;
>> }
>> return EXIT_SUCCESS;
>> }
>>
>> 1. How could I modify it in order to obtain the volume?
>> 2. How could I modify it in order to use "itkImageToVTKImageFilter.h" to
>> display it on vtk window?
>>
>> Thank you a lot!
>>
>>
>> _____________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Kitware offers ITK Training Courses, for more information visit:
>> http://www.kitware.com/products/protraining.html
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-users
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.itk.org/pipermail/insight-users/attachments/20110518/147e0dae/attachment.htm>
More information about the Insight-users
mailing list