百度百科:

医学图像三维重建的方法主要有两大类:一类是三维面绘制,另一类是三维体绘制。体绘制能够更真实地反映物体结构,但由于其运算量大,即使利用高性能的计算机也无法满足实际应用中交互操作的需要。因此,面绘制是目前医学图像三维重建的主流算法。
··MarchingCubes(MC)算法是面绘制算法中的经典算法,它是W.Lorensen等人于1987年提出来的一种体素级重建方法。因其原理简单容易实现,得到了广泛的应用。
·MC算法实际上是一个分而治之的方法,因为其将等值面的抽取分布于每一个体素(voxel)中进行。对于每个被处理的体素,以三角面片来逼近其内部的等值面。每个体素是一个小立方体(cube),在构造三角面片的处理过程中对每个体素都“扫描”一遍,就好像是一个处理器在这些体素上移动一样,也因此而得名。
··在等值面抽取的过程中将一系列二维切片数据看做是一个三维的数据场,从中将具有某种阈值的物质抽取出来,以某种拓扑形式连接成三角面片,所以MC算法也被称为“等值面提取”(IsosurfaceExtraction)算法
··在医学应用上,采用MC算法可以重建人体外部轮廓、内部组织器官,使医生能够直接在三维图像上观察感兴趣的器官与周围组织的空间关系。
·在MC算法中,假定原始数据是离散的三维空间规则数据场,用于医疗诊断的断层扫描(CT)图像就属于这一类型。
··MC算法的基本思想是逐个处理数据场中的立方体,找出与等值面相交的立方体,采用线性插值计算出等值面与立方体边的交点。根据立方体每一顶点与等值面的相对位置,将等值面与立方体边上的交点按一定方式连接生成等值面,作为等值面在该立方体内的一个逼近表示。
··因而,MC算法中每一单元内等值面抽取的两个主要计算
(1)体素中由三角面片逼近的等值面计算;
(2)三角面片各顶点法向量计算。

移动立方体算法(Marching cubes algorithm)的更多相关文章

  1. 水泡动画模拟(Marching Cubes)

    Marching Cubes算法是三维离散数据场中提取等值面的经典算法,其主要应用于医学领域的可视化场景,例如CT扫描和MRI扫描的3D重建等. 算法主要的思想是在三维离散数据场中通过线性插值来逼近等 ...

  2. Marching squares & Marching cubes

    提要 Marching squares 主要是用于从一个地图(用二维数组表示)生成轮廓的算法.Marching cubes则相应的是在空间生成网格的方法.最常见的应用就是天气预报中气压图的生成.还经常 ...

  3. 维特比算法(Viterbi Algorithm)

      寻找最可能的隐藏状态序列(Finding most probable sequence of hidden states) 对于一个特殊的隐马尔科夫模型(HMM)及一个相应的观察序列,我们常常希望 ...

  4. 谷歌的网页排序算法(PageRank Algorithm)

    本文将介绍谷歌的网页排序算法(PageRank Algorithm),以及它如何从250亿份网页中捞到与你的搜索条件匹配的结果.它的匹配效果如此之好,以至于“谷歌”(google)今天已经成为一个被广 ...

  5. 图像处理之泛洪填充算法(Flood Fill Algorithm)

    泛洪填充算法(Flood Fill Algorithm) 泛洪填充算法又称洪水填充算法是在很多图形绘制软件中常用的填充算法,最熟悉不过就是 windows paint的油漆桶功能.算法的原理很简单,就 ...

  6. 隐马尔科夫模型,第三种问题解法,维比特算法(biterbi) algorithm python代码

    上篇介绍了隐马尔科夫模型 本文给出关于问题3解决方法,并给出一个例子的python代码 回顾上文,问题3是什么, 下面给出,维比特算法(biterbi) algorithm 下面通过一个具体例子,来说 ...

  7. 图像处理------泛洪填充算法(Flood Fill Algorithm) 油漆桶功能

    泛洪填充算法(Flood Fill Algorithm) 泛洪填充算法又称洪水填充算法是在很多图形绘制软件中常用的填充算法,最熟悉不过就是 windows paint的油漆桶功能.算法的原理很简单,就 ...

  8. HMM隐马尔科夫算法(Hidden Markov Algorithm)初探

    1. HMM背景 0x1:概率模型 - 用概率分布的方式抽象事物的规律 机器学习最重要的任务,是根据一些已观察到的证据(例如训练样本)来对感兴趣的未知变量(例如类别标记)进行估计和推测. 概率模型(p ...

  9. 一致性哈希算法(Consistent Hashing Algorithm)

    一致性哈希算法(Consistent Hashing Algorithm) 浅谈一致性Hash原理及应用   在讲一致性Hash之前我们先来讨论一个问题. 问题:现在有亿级用户,每日产生千万级订单,如 ...

随机推荐

  1. MongoDB基本方法

    一.MongoDB Limit与Skip方法 MongoDB Limit() 方法 如果你需要在MongoDB中读取指定数量的数据记录,可以使用MongoDB的Limit方法,limit()方法接受一 ...

  2. C# 字符串处理小工具

    之前刚上大学时沉迷于安全方面,当时一直想写一个处理字符串的小程序. 无奈当时没有太多时间,一直拖延到这寒假. 寒假闲来无事,所以就写写小程序来练手,顺便复习一下窗体和基础. 实现的功能有以下: 转换为 ...

  3. matlab 乱七八糟求最大值~

    w=rand(,) [a b]=size(w); x=; maxw=w(,); :a :b if w(k,d)>maxw maxw=w(k,d); end end end disp(['haha ...

  4. 【转 记录】python中的encode以及decode

    字符串编码常用类型:utf-8,gb2312,cp936,gbk等. python中,我们使用decode()和encode()来进行解码和编码 在python中,使用unicode类型作为编码的基础 ...

  5. jProfiler远程连接Linux监控jvm1运行状态

    第一步:下载软件官网地址:https://www.ej-technologies.com/download/jprofiler/files,下载一个linux服务端,一个windows客户端 GUI界 ...

  6. Linux下访问window挂载的磁盘

    点击window挂在的磁盘,如下图左侧"文档". 出现如下错误: Error mounting /dev/sda3 .... Command-line `mount -t &quo ...

  7. Lucene_索引(域)的查询

    package cn.tz.lucene; import java.io.File; import org.apache.lucene.analysis.Analyzer; import org.ap ...

  8. 多线程编程中条件变量和的spurious wakeup 虚假唤醒

    1. 概述 条件变量(condition variable)是利用共享的变量进行线程之间同步的一种机制.典型的场景包括生产者-消费者模型,线程池实现等. 对条件变量的使用包括两个动作: 1) 线程等待 ...

  9. SQL Server批量替换全部表中内容sql语句-清楚挂马

    有朋友常常会发现自己的数据库全部的内容给插入了一些代码,假设要一个个表一个个记录去删除.太麻烦了,以下我在在网上找到一个能够批量删除的方法,实际上是批量把那段恶意代码替换,很高速. declare @ ...

  10. unity 脚本执行顺序设置 Script Execution Order Settings

     通过Edit->Project Settings->Script Execution Order打开MonoManager面板  或者选择任意脚本在Inspector视图中点击Execu ...