《itk实用demo》-2D提取ROI

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

2D提取ROI

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

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

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

    cout<<"start:"<<start[0]<<","<<start[1]<<endl;
    ImageType2D::SizeType size;
    size[0] = abs(endPoint[0] - startPoint[0]) + 20 ;
    size[1] = abs(endPoint[1] - startPoint[1]) + 20 ;

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

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

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


    //writer_heart->SetFileName( "D:\\img\\roiimage.mha" );
    //writer_heart->SetInput( filter->GetOutput());
    //writer_heart->Update();

    *dst = filter->GetOutput();
}

猜你喜欢

转载自blog.csdn.net/rabbitbride/article/details/82423121
今日推荐