+ } else if (dlg->getImagesSelected().size() > 1){
+printf("EED ItkImagesChooserDialogBox::Export 2\n");
+ OutputImagesITKType outVect;
+ typename std::vector<typename TImage::Pointer> tempImgs= dlg->getTemplatedImagesSelected<TImage>();
+ typename std::vector<typename TImage::Pointer>::iterator it = tempImgs.begin();
+ for(;it != tempImgs.end(); ++it)
+ {
+ outVect.push_back( (*it).GetPointer() );
+ } // for
+ bbSetOutputOutIImages( outVect);
+
+//EED creater one 3D image from 2D list
+// const unsigned int Dimension = 3;
+// typedef itk::RGBPixel< unsigned char > RGBPixelType;
+// typedef itk::Image< RGBPixelType, Dimension > RGBImageType;
+// typedef itk::ImportImageFilter< RGBPixelType, Dimension > ImportFilterType;
+
+// typedef itk::RGBPixel< ty > RGBPixelType;
+ typedef ty RGBPixelType;
+ typedef itk::ImportImageFilter< ty , di > ImportFilterType;
+ typename ImportFilterType::Pointer importFilter = ImportFilterType::New();
+
+
+ typename TImage::SizeType imsize;
+// imsize[0] = img.width();
+// imsize[1] = img.height();
+ imsize[0] = tempImgs[0].GetPointer()->GetLargestPossibleRegion().GetSize()[0];
+ imsize[1] = tempImgs[0].GetPointer()->GetLargestPossibleRegion().GetSize()[1];
+ imsize[2] = tempImgs.size();
+printf("EED ItkImagesChooserDialogBox::Export 2.10\n");
+
+ typename ImportFilterType::IndexType start;
+ start.Fill( 0 );
+ typename ImportFilterType::RegionType region;
+ region.SetIndex( start );
+ region.SetSize( imsize );
+ importFilter->SetRegion( region );
+
+// const itk::SpacePrecisionType origin[ di ] = { 0.0, 0.0, 0.0 };
+ const itk::SpacePrecisionType origin[ 3 ] = { 0.0, 0.0, 0.0 };
+ importFilter->SetOrigin( origin );
+
+// const itk::SpacePrecisionType spacing[ di ] = { 1.0, 1.0, 1.0 };
+ const itk::SpacePrecisionType spacing[ 3 ] = { 1.0, 1.0, 1.0 };
+ importFilter->SetSpacing( spacing );
+ const unsigned long int numberOfPixels2D = imsize[0]*imsize[1];
+ const unsigned long int numberOfPixels3D = imsize[0]*imsize[1]*imsize[2];
+
+ RGBPixelType * localBuffer = new RGBPixelType[ numberOfPixels3D ];
+ RGBPixelType * tmpLocalBuffer = localBuffer;
+printf("EED ItkImagesChooserDialogBox::Export 2.20\n");
+
+ it = tempImgs.begin();
+ for(;it != tempImgs.end(); ++it)
+ {
+printf("EED ItkImagesChooserDialogBox::Export 2.30\n");
+ memcpy(tmpLocalBuffer, (*it).GetPointer()->GetBufferPointer(), numberOfPixels2D);
+ tmpLocalBuffer = tmpLocalBuffer + numberOfPixels2D;
+ } // for
+
+ const bool importImageFilterWillOwnTheBuffer = true;
+ importFilter->SetImportPointer( localBuffer , numberOfPixels3D , importImageFilterWillOwnTheBuffer );
+importFilter->Update();
+importFilter->Register();
+printf("EED ItkImagesChooserDialogBox::Export 2.40\n");
+
+// bbSetOutputOut( (*tempImgs.begin()).GetPointer() );
+// bbSetOutputOut( importFilter->GetOutput().unsafe_get<TImage*>() );
+ bbSetOutputOut( importFilter->GetOutput() );
+printf("EED ItkImagesChooserDialogBox::Export 2.50\n");
+
+ } else {
+printf("EED ItkImagesChooserDialogBox::Export 3\n");