1.对数据升采样
从数据源的角度对数据进行处理,同时也增加了数据采样点数和处理总时长。
是一种对数据信息的加强处理。
vtkSmartPointer<vtkImageResample> magnifyFilter = vtkSmartPointer<vtkImageResample>::New();
magnifyFilter->SetInputConnection(reader->GetOutputPort());
magnifyFilter->SetAxisMagnificationFactor(0, 5);//设置X轴方向采样率
magnifyFilter->SetAxisMagnificationFactor(1, 5);//设置Y轴方向采样率
magnifyFilter->SetAxisMagnificationFactor(2, 30);//设置Z轴方向的采样率
magnifyFilter->Update();
疑问:如何确定各方向的最佳采样率?
2.过滤器Filter处理
filter本质即为算法。
//Loop网格细分滤波器
vtkSmartPointer<vtkLoopSubdivisionFilter> loop = vtkSmartPointer<vtkLoopSubdivisionFilter>::New();
//vtkSmartPointer<vtkButterflySubdivisionFilter> loop = vtkSmartPointer<vtkButterflySubdivisionFilter>::New();
//vtkSmartPointer<vtkLinearSubdivisionFilter> loop = vtkSmartPointer<vtkLinearSubdivisionFilter>::New();
loop->SetInputData(filter->GetOutput());
loop->SetInputData(reader->GetOutputDataObject(0));
loop->SetNumberOfSubdivisions(20);
loop->Update();
注意事项:
1.部分过滤器只可以对“三角网格数据”做处理,需要注意数据的属性。
2.图像处理Filter他们接收vtkImageData输入,输出的结果也是vtkImageData类型。
3.三角网格数据,计算机图形学中用于为各种不规则物体建立模型的一种数据结构。(https://blog.youkuaiyun.com/wozhengtao/article/details/51430025)
3.ColorMapper
vtkSmartPointer<vtkImageMapToColors> AxialColorMap = vtkSmartPointer<vtkImageMapToColors>::New(); //颜色映射
AxialColorMap->SetInputConnection(AxialReslice->GetOutputPort());
AxialColorMap->Update();
vtkSmartPointer<vtkImageActor> AxialActor = vtkSmartPointer<vtkImageActor>::New(); //颜色映射 actor
AxialActor->SetInputData(AxialColorMap->GetOutput());
对比图,可以看到图片不同结构可以更清楚的做区分。
4.调节windowlevel参数
只是简单的改变了窗口灰度、亮度,其余似乎并没有太多的改变。