今天我们来介绍一下MedBeyond程序中,VR图像是怎么显示的,VR是Volume Renderring的缩写,相对于2D图像,体绘制能提供器官的立体信息。
体绘制技术有很多种,例如光线追踪Ray tracing、光线投射Ray Casting,这里不做过多介绍,重点讲解VTK中如何实现VR图像。
通过上图可知,体绘制的输出结果是一张二维图像,只不过相对于普通的二维图像而言,它附加的信息更多一些,例如深度信息、颜色等;有输出就必须有输入,舞台提供了,就必须有演员,VTK中与体绘制相关的是vtkVolume类,其继承体系如下:
演员虽然有了,但此时数据还是最原始的CT值,就是一连串代表灰度的数字,也就是说,此时的演员还是素颜的,那它是如何变成带有色彩的图像的?它还需要一个化妆师,在VTK中vtkVolumeProperty、vtkColorTransferFunction、vtkPiecewiseFunction类就扮演者装扮vtkVolume的任务:
this->m_property->SetColor(this->m_colorFun);
this->m_property->SetScalarOpacity(this->m_opacityFun);
this->m_volume-&