专门来提取切片的类:itkExtractImageFliter
ImageType::RegionType inputRegion = input_data->GetLargestPossibleRegion();
ImageType::SizeType size = inputRegion.GetSize();
size[2] = 0;// 提取垂直于Z轴的切片,size的Z方向为0,图像大小是size[0]*size[1];当然也可以沿着x,y方向切割
// 设置切片在Z轴的位置及切片大小与起始索引
ImageType::IndexType start = inputRegion.GetIndex();
const unsigned int sliceNumber = 2;
start[2] = sliceNumber; //提取切片号,比如第几张
ImageType::RegionType desiredRegion;
desiredRegion.SetSize( size );
desiredRegion.SetIndex( start );
// 提取切片滤波器
typedef itk::ExtractImageFilter< ImageType, ImageType > FilterType;
FilterType::Pointer filter = FilterType::New();
filter->SetInput( input_data);
filter->SetExtractionRegion( desiredRegion ); // 设置切片提取区域
output_data = filter->GetOutput() //这个得到的就是一个2维切片