版权声明:本文为博主原创文章,转载请注明出处,谢谢 https://blog.csdn.net/rabbitbride/article/details/82422926
2D-3D
typedef itk::TileImageFilter< ImageType, OutputImageType > TilerType;
TilerType::Pointer tiler = TilerType::New();
itk::FixedArray< short, 3 > layout;
layout[0] = 1;
layout[1] = 1;
layout[2] = 0;
tiler->SetLayout( layout );
unsigned int inputImageNumber = 0;
ImageType::Pointer inputImageTile;
for (int i=0;i<filenames.size();i++)
{
reader->SetFileName(filenames[i] );
reader->UpdateLargestPossibleRegion();
thresholdFilter->SetInput(reader->GetOutput());
thresholdFilter->SetLowerThreshold(-200);
thresholdFilter->SetOutsideValue(0);
thresholdFilter->SetInsideValue(1);
thresholdFilter->Update();
openingFilter->SetBackgroundValue(0);
openingFilter->SetForegroundValue(1);
openingFilter->SetInput(thresholdFilter->GetOutput());
openingFilter->SetKernel(structuringElement);
openingFilter->Update();
typedef itk::MultiplyImageFilter <ImageType, ImageType > mathFilterType;
mathFilterType::Pointer mathFilter = mathFilterType::New ();
mathFilter->SetInput1(reader->GetOutput());
mathFilter->SetInput2(openingFilter->GetOutput());
mathFilter->Update();
inputImageTile=mathFilter->GetOutput() ;
inputImageTile->DisconnectPipeline();
tiler->SetInput( inputImageNumber++,inputImageTile);
}
tiler->SetDefaultPixelValue(0);
tiler->Update();