MIP 和 MinIP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MIP 和 MinIP相关的知识,希望对你有一定的参考价值。

一、概述

  • MIP:maximum intensity projection 最大密度投影
  • MinIP:Minimum intensity projection 最小密度投影
    MIP主要用于CT血管造影技术研究,而MinIP多用于做肺部研究。

二、相关文章

来源:https://www.thieme-connect.com/products/ebooks/lookinside/10.1055/b-0034-79241#

?? ? 技术分享图片

?? ? 技术分享图片

?? ? 技术分享图片


三、VTK中体绘制相关算法:

常规VR体绘制相关:

  • vtkVolumeRayCastCompositeFunction:混合投影函数
  • vtkVolumeMapper的方法:SetBlendModeToComposite(),或SetBlendMode( COMPOSITE_BLEND ),设置为常规体混合方式

MIP体绘制相关:

  • vtkVolumeRayCastMIPFunction:最大密度投影函数
  • vtkVolumeMapper的方法:SetBlendModeToMaximumIntensity(),或SetBlendMode( MAXIMUM_INTENSITY_BLEND ), 设置MIP体绘制混合方式

MinIP体绘制相关:

  • vtkVolumeMapper的方法:SetBlendModeToMaximumIntensity(),或SetBlendMode( MINIMUM_INTENSITY_BLEND ), 设置为MinIP体绘制混合方式

四、补充:

vtkVolumeRayCastMIPFunction:最大密度投影函数主要用于对体数据中高灰度值的结构进行可视化。当光线穿过体数据时,在光线上进行等距离采样。取采样点中属性最大值为该条光线的输出。光线对应的屏幕像素颜色值即可通过该值进行颜色映射获得。默认情况下,这个属性是指体数据的像素值或者标量值,也可以指定为不透明度,其设置函数如下:

  • void SetMaximizeMethodToScalarValue();
  • void SetMaximizeMethodToOpacity();

当采用标量属性时,先经过体数据的光线进行等距离采样,然后通过插值计算每个采样点的标量值,最后取标量值为最大的采样点对应的颜色和不透明度作为输出;
当采用不透明度为参考时,投射光线每次采样都要计算一次不透明度,最后取不透明度为最大值的采样点的颜色和不透明度为输出。
通常最大密度投影算法不计算明暗信息和深度信息,成像类似于X光图像,该方法常用于显示血管的三维结构。
使用该函数进行体绘制:

vtkSmartPoint<vtkVolumeRayCastMIPFunction> rayCastFunc =
vtkSmartPoint<vtkVolumeRayCastMIPFunction>::New();

vtkSmartPointer<vtkVolumeRayCastMapper> volumeMapper = vtkSmartPoint<vtkVolumeRayCastMapper>::New();
volumeMapper->SetInput( ... );
volumeMapper->SetVolumeRayCastFunction( rayCastFunc ); //该函数用于设置光线投射函数类型

以上是关于MIP 和 MinIP的主要内容,如果未能解决你的问题,请参考以下文章

记录网站MIP改造的经验,不足,和踩的坑

MIP启发式算法:爬山算法 (Hill climbing)

LP/MIP 和 CP 的区别

谷歌AMP和百度MIP是什么鬼?

百度MIP技术快速入门(上)

MIP是啥意思