获取到vtkImageData 的property,通过改变property来设置lookuptable。
网上的代码大多都是重新计算imagedata的标量,数据一多就会很慢。
var imgActor = (vtkImageActor)actor;
double[] dataRange = imgActor.GetInput().GetPointData().GetScalars().GetRange();
var lut = VtkUtils.getLookupTableByColorsAndPositions(colors, positions, dataRange[0], dataRange[1]);
imgActor.GetProperty().SetLookupTable(lut);
imgActor.Update();