我的数据集有多个变量,我想选择其中一个变量来应用一些过滤器,我该怎么做
以下代码生成两个变量温度和压力
vtkDataSetReader *reader = vtkDataSetReader::New();
reader->SetFileName("noise.vtk");
reader->Update();
for(int i = 0; i < np; i++)
cout<<" variable "<<reader->GetOutput()->GetPointData()>GetArrayName(i);
答案 0 :(得分:0)
Vtk过滤器对图像起作用,而不是对变量起作用,尽管像阈值这样的过滤器可以基于活动阵列工作,但是这样做的方法可能会有所不同(请查看您打算使用的过滤器的文档):
在应用过滤器之前明确设置图像的活动标量(例如http://www.vtk.org/Wiki/VTK/Examples/Cxx/Filtering/VectorFieldNonZeroExtraction)
图像 - &GT; GetPointData() - &GT; SetActiveScalars( “幅度”);
让数组处理过滤器的相关方法(例如http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/ThresholdPoints)
threshold-&gt; SetInputArrayToProcess(0,0,0,vtkDataObject :: FIELD_ASSOCIATION_POINTS,“index”);
否则您可以使用vtkPassArray忽略您不感兴趣的数组http://www.vtk.org/doc/nightly/html/classvtkPassArrays.html#details