《itk实用demo》-裁剪函数2D

版权声明:本文为博主原创文章,转载请注明出处,谢谢 https://blog.csdn.net/rabbitbride/article/details/82423323

裁剪函数2D

void clipMinSlice(ImageType::Pointer input,ImageType::Pointer *dst,int sigma_temp)
{
    typedef itk::ImageFileWriter< ImageType> WriterType;
    WriterType::Pointer writer_heart = WriterType::New();

    typedef itk::RegionOfInterestImageFilter< ImageType, ImageType> FilterType;
    FilterType::Pointer filter = FilterType::New();

    ImageType2D::IndexType start;
    start[0] = min(startPoint[0],endPoint[0]);
    start[1] = min(startPoint[1],endPoint[1]);

    ImageType2D::SizeType size;
    size[0] = abs(endPoint[0] - startPoint[0]) + sigma_temp ;
    size[1] = abs(endPoint[1] - startPoint[1]) + sigma_temp ;

    //cout<<"size:"<<size[0]<<","<<size[1]<<endl;

    ImageType::RegionType desiredRegion;
    desiredRegion.SetSize(size);
    desiredRegion.SetIndex(start);

    filter->SetRegionOfInterest(desiredRegion);
    filter->SetInput(input);
    filter->Update();

    *dst = filter->GetOutput();
}

猜你喜欢

转载自blog.csdn.net/rabbitbride/article/details/82423323