当前位置: 首页 > news >正文

网站建设最难的是什么qq官方网站进入

网站建设最难的是什么,qq官方网站进入,网站建设将来有什么发展,wordpress恢复阿里云目录VTK简介什么是体绘制?体绘制效果图流程CodeQ&AReferenceVTK简介 VTK(Visualization Toolkit)是一个用于3D计算机图形学、图像处理和可视化的开源软件包。它包括一组C类和工具,可以让用户创建和处理复杂的3D图形和数据可视…

目录

    • VTK简介
    • 什么是体绘制?
    • 体绘制效果图
    • 流程
    • Code
    • Q&A
    • Reference

VTK简介

VTK(Visualization Toolkit)是一个用于3D计算机图形学、图像处理和可视化的开源软件包。它包括一组C++类和工具,可以让用户创建和处理复杂的3D图形和数据可视化。VTK提供了多种算法,如体绘制、剪切、切片、等值面、等值线、流线、轮廓线、纹理映射等,可以处理各种类型的数据,包括体数据、网格数据、点云数据等。VTK也提供了Python、Java等多种编程语言的接口,方便用户在不同的环境中使用。
VTK的应用十分广泛,包括医学图像处理、工程和科学可视化、计算流体动力学、地球科学、物理模拟等领域。由于其开源和免费的特点,VTK被广泛应用于学术界和工业界,并得到了许多用户和贡献者的支持和发展。

什么是体绘制?

体绘制,也称为三维重建(区别于投影图像的三维重建),直接利用体数据来生成二维图像的绘制技术。与面绘制不同的是体绘制技术不需要提取体数据内部的等值面,它是一个对三维体数据进行采样和合成的过程。体绘制能够通过设置不透明度值来显示体数据内部的不同成分和细节。常用于人体CT图像通过设置不透明度来显示各种器官与组织。总的来说体绘制是包含体数据,而面绘制则是让整个模型由多种多边形构成模型表面,但内部是空的,想要看到模型各个切面的数据还是需要使用体绘制。

体绘制效果图

超声图像大小尺寸为 208 x 240,一共176张,往z轴延伸。
体绘制

流程

VTK体绘制渲染管线

1. 将多张图像转化为vtkImageData
2. 使用体绘制算法,本文用的是vtkGPUVolumeRayCastMapper
3. vtkVolume
4. vtkRenderer
5. vtkRenderWindow
vtkVolumeProperty设置颜色与不透明度
SetColor
SetScalarOpacity

Code

import vtk# 定义图片读取接口
# 读取PNG图片就换成PNG_Reader = vtk.vtkPNGReader()
Jpg_Reader = vtk.vtkJPEGReader()
Jpg_Reader.SetNumberOfScalarComponents(1)
Jpg_Reader.SetFileDimensionality(3)  # 说明图像是三维的
# 定义3D模型大小,图像大小尺寸为 208 x 240, 一共176张
# 定义范围从0开始
Jpg_Reader.SetDataExtent(0, 207, 0, 239, 0, 175)
# 设置图像的存放位置
Jpg_Reader.SetFilePrefix("./imgs/")
# 迭代文件中所有图像, 图像命名格式为: 000.jpg开始到175.jpg, 03d代表三位字符串, 不够三位则左侧补0
Jpg_Reader.SetFilePattern("%s%03d.jpg")
Jpg_Reader.Update()
# 二进制数据排序按小端(LittleEndian)规则
Jpg_Reader.SetDataByteOrderToLittleEndian()
# 图像处理结束# 创建一个vtkRenderer对象,用于显示渲染结果
renderer = vtk.vtkRenderer()# 创建一个vtkRenderWindow对象,用于显示vtkRenderer对象中的内容
render_window = vtk.vtkRenderWindow()
render_window.AddRenderer(renderer)# 创建一个vtkRenderWindowInteractor对象,用于处理交互事件
interactor = vtk.vtkRenderWindowInteractor()
interactor.SetRenderWindow(render_window)# 应用体绘制算法,生成三维模型
volume_mapper = vtk.vtkGPUVolumeRayCastMapper()
volume_mapper.SetInputData(Jpg_Reader.GetOutput())# 定义颜色映射
color_transfer_function = vtk.vtkColorTransferFunction()
# 越接近黑色0越暗, 越接近白色255越亮
color_transfer_function.AddRGBPoint(0, 0.0, 0.0, 0.0)
color_transfer_function.AddRGBPoint(255, 1.0, 1.0, 1.0)# 设置不透明度函数
opacity_transfer_function = vtk.vtkPiecewiseFunction()
# 把像素值低于15的设置为透明, 去除黑色0, 白色255则不透明
threshold = 15
for i in range(threshold):opacity_transfer_function.AddPoint(i, 0.0)
opacity_transfer_function.AddPoint(255, 1.0)# 设置vtkVolume参数
volume_property = vtk.vtkVolumeProperty()
volume_property.SetColor(color_transfer_function)
volume_property.SetScalarOpacity(opacity_transfer_function)
# 是否开启阴影
# volume_property.ShadeOn()
# 设置线性插值方式
volume_property.SetInterpolationTypeToLinear()# 将vtkVolumeMapper、vtkVolumeProperty和vtkVolume组合在一起
volume = vtk.vtkVolume()
volume.SetMapper(volume_mapper)
volume.SetProperty(volume_property)renderer.AddVolume(volume)
# 设置背景为白色
renderer.SetBackground(1.0, 1.0, 1.0)# 显示渲染结果
render_window.Render()
interactor.Start()

Q&A

  1. Q: 如何过滤VTK模型中的背景/黑色部分/空气部分?
    A: 给vtkVolume的Property通过SetScalarOpacity函数设置opacity_transfer_function,给不需要显示的组织的对应像素设置透明度为0即可过滤对应组织。

Reference

  1. 《VTK图形图像开发进阶》- 张晓东 罗火灵编著
http://www.yayakq.cn/news/211701/

相关文章:

  • 宁波企业网站搭建图片烟台莱山区做网站的公司
  • 有没有网站专门做cnc招聘建个免费的销售网站好
  • 网站建设是学哪个学科哈密建设局网站
  • 外贸假发网站成都高新网站建设
  • 延庆手机网站建设鹿班设计官网
  • 宁波网站制作首荐荣盛网络好excel如何做超链接网站
  • 金华企业网站建站模板麻烦各位童鞋
  • 建设网站元素搜索引擎wordpress 环境搭建
  • 全球建筑设计网站怎样建设企业网站
  • 做一钓鱼网站吗保洁产品网站建设价格
  • 辽宁自适应网站建设公司网站模板后台
  • 国外网站空间购买重庆做学校网站公司
  • 如何设置网站布局wordpress微博功能
  • 龙岗网站改版百度快照网站怎么做
  • 如何查看网站流量php 数据库 wordpress
  • 天津seo外包团队网站建设优化推广安徽
  • 建设网站 软件推荐同主机网站查询
  • 网站改版效果图怎么做app网站制作
  • 网站建设跟版网曲靖住房和城乡建设局网站
  • 做营销网站策划有什么前景基于cms系统网站的建设
  • 网站海外推广谷歌seo方案vs做网站怎么加文件夹
  • wordpress js 版本号织梦seo排名优化教程
  • 会议网站定制大朗仿做网站
  • 外贸公司网站素材哪些企业需要做网站
  • 建网站买完域名后怎么做平面设计网课
  • 想用wordpress建立网站中国徐州网
  • 微网站 建设方案上海频道网站建设
  • 廊坊做网站上海公司电话深圳集团网站建设公司好
  • 上海网站建设公司站霸网络信誉好的集团网站建设
  • 品牌网站设计步骤百度一下你就知道百度首页