计划:怎样理解水平集方法 ITK Level set V4 框架介绍
简易解释:在曲面中插入一个平面所形成的轮廓,即是该轮廓的水平集表示,可见,该轮廓的水平集表示有多个。对于图像分割,在图像力的驱动下曲面进行更新。
轮廓的数学表达有隐式和显式两种表达。用曲面演化代替Front (C)演进。
C(t) = {(x, y)|φ(x, y, t) = 0}
∂φ/ ∂t + F|∇φ| =0 (1)
φ(x, y, 0) = φ0(x, y) 方程的本质是什么? 几何解释是什么
edge-based level set
∂φ /∂t = g(∇I)|∇φ| (div ( ∇φ /|∇φ| _ + ν ) (2)
φ(x, y, 0) = φ0(x, y) based on mean curvature motion by Caselles et 1993
∂φ /∂t = |∇φ| (−ν + ν/ (M1 − M2) )(|∇G∗I| − M2) (3)
φ(x, y, 0) = φ0(x, y) Malladi et 1993
∂φ /∂t = |∇φ|div (g(I) ∇φ /|∇φ| _ + νg(|∇I|) = g(I)|∇φ|div (
∇φ /|∇φ| _+∇g(I) · ∇φ + νg(|∇I|)
φ(x, y, 0) = φ0(x, y)
(4) Kichenassamy et 1995 and Caselles et 1995
An abstract representation common to all edge-based partial differential equation(PDE) is as follows:
∂φ /∂t = −αA(x) · ∇φ − βP(x)|∇φ| + γZ(x)κ|∇φ| (5)
φ(x, y, 0) = φ0(x, y) A is an advection term ; P is a propagation(expansion) term ; Z is a spatial modifier term for the mean curvature k.
region-based level-sets
Region-based level-sets segment the image into objects based on region statistics (rather than just object edges) of intensity, tex- ture, or color values.
F(c1, c2, φ) =
Inside(C)
(I(x) − c1)2dx +
Outside(C)
(I(x) − c2)2dx + ν · Area(C) +μ · Length(C) (6)

by Chan and Vese 2001
3.1 DOMAIN REPRESENTATION …… 不懂

3.2 水平集函数
定义了一个抽象的水平集函数基类 itk::LevelSetBase
所有的水平集函数类实现具体的成员函数返回the level-set value [φ(x,y)], gradient(∇φ),Hessian(∇
2
φ),Laplacian(φ xx + φ
yy ),gradient norm(|∇φ|), and mean curvature (κ = div(∇φ/|∇φ| )) given its underlying representation (continuous or discrete image or mesh). Thus,the level-set equation, term, and evolution classes are independent of the underlying domain representation which facilitates the implementation of a wide variety of level-set methods.
图像的离散化表示itk::DiscreteLevlSetImage 被具体实现为Dense 和Sparse 情况。三种Sparse的表示:Whitaker 、Shif、Malcolm。(narrow-band)
3.2.1图像到水平集转换 BinaryImageToLevelSetAdaptorbase

3.3RESTRICTED LEVEL-SET DOMAINS 限制水平集域
在图像子集域内进行水平集演化,划分成不同子域。 A helper base class (LevelSetDomainPartitionBase) is used to define the location and size of the level-set domains relative to Ὼ (Figure3A).
Each grid point stores a list of the active level-set function ids. For the case when there are thousands of level-sets, populating a list image by checking overlap at each pixel is time-consuming. Therefore, we further specialized into a class itk::LevelSetDomainPartitionImageWithKdTree. This class uses a Kd-tree data structure that contains the centroids of the level-set domains. The Kd- tree is used to query nearby level-set functions at each pixel and check for overlap.This enables the simultaneous evolution of thousands of level-set functions thereby expanding the applicability of level-set procedures to tracking large numbers of objects and in large images. Note that there is an initial overhead associated with building the Kd-tree that can be avoided for cases involving a small number of level-set functions.
3.4 terms
水平集方程是各项的加权和。The term base class implements functions [Evaluate(.)] for computing the contribution from a term toward the level-set update.
3.5 container-based design
Container 是什么?
Different types of terms arising from edge-based and region-based level-set methods such as the propaga-
tion, Laplacian, advection, curvature, and region-based terms described in Equations 4 and 7 derive directly from LevelSetEquationTermBase:
we used containers to store level-set function objects, equation objects, and their constitutive terms。
Leve-set container term containers level-set equation container
3.6 Level-set evolution
3.7 stopping criterion
itk::StoppingCriterionBase
3.8 user-interaction
3.9 visualization
计划:怎样理解水平集方法 ITK Level set V4 框架介绍的更多相关文章
- 拓扑优化中SIMP方法与水平集方法有何优缺点,水平集法变换到高维,不是更复杂了
作者:周平章链接:https://www.zhihu.com/question/52008623/answer/187927508来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- DRLSE 水平集算法总结
背景: Level Set方法是美国数学家Osher(加州大学洛杉矶分校)和Sethian(加州大学伯克利分校)合作提出的.后者因为对Level Set的贡献获得了去年美国数学会与工业应用数学会联合颁 ...
- 从JAVA多线程理解到集群分布式和网络设计的浅析
对于JAVA多线程的应用非常广泛,现在的系统没有多线程几乎什么也做不了,很多时候我们在何种场合如何应用多线程成为一种首先需要选择的问题,另外关于java多线程的知识也是非常的多,本文中先介绍和说明一些 ...
- oracle 字符串切割成结果集方法
oracle字符串切割几种方式 方法一: SELECT COLUMN_VALUE FROM TABLE(SYS.ODCIVARCHAR2LIST('1','2','3','4','5')); 方法二: ...
- 关于java多线程理解到集群分布式和网络设计的浅析
对于JAVA多线程的应用非常广泛,现在的系统没有多线程几乎什么也做不了,很多时候我们在何种场合如何应用多线程成为一种首先需要选择的问题, 另外关于java多线程的知识也是非常的多,本文中先介绍和说明一 ...
- win7计划任务执行php脚本方法
第一步:编写bat文件 方法1:php方法 方法2:exploere浏览器 电脑上新建一个txt文本,把代码放进去.然后把他另存为xxx.bat explorer "http://网址/e/ ...
- js中的回调函数的理解和使用方法
js中的回调函数的理解和使用方法 一. 回调函数的作用 js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数. 二. 回调函数的解释 因为 ...
- 【JVM虚拟机】(8)--深入理解Class中--方法、属性表集合
#[JVM虚拟机](8)--深入理解Class中--方法.属性表集合 之前有关class文件已经写了两篇博客: 1.[JVM虚拟机](5)---深入理解JVM-Class中常量池 2.[JVM虚拟机] ...
- 理解 ES6 Generator-next()方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
随机推荐
- C# 短信猫(SMS cat) 操作源码开发经验
我曾经开发的某项目需要使用短信猫模块,要求使用C#编程操作.能独立使用的动态链接库之一就是网上流传的sms.dll,但它的功能较少,不能满足需求,鉴于一时找不到合适的完整代码,我深入研究了短信协议,借 ...
- MVC中验证码的生成
在项目中验证码的生成通常是需要页面无刷新的,所以验证码图片实际是跟在某个input后面的img,通过控制该img来控制验证码显示的位置,例如: <div> <input id=&qu ...
- jquery 导航固定的一个实例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- File.Create创建文件后,需要释放资源
if (!File.Exists(SavePath)) { File.Create(SavePath).Close(); }
- 4月13日学习笔记——jQuery动画
基本动画函数 $("#divPop").show(); $("#divPop").hide(); $("#divPop").toggle() ...
- Java获取操作系统信息
今天在看jdk的demo时候发现java获取系统操作系统的一些信息,例如内存使用情况,于是自己也想研究研究! 百度一番,发现有2种方法! 1.sun自带的API 2.第三方jar(Sigar) 先 ...
- jQuery 实现网页图片动态游走,碰到边框反弹
学学jQuery,实现个小功能练练手 需要用到定时器 html代码如下 <html> <head> <title></title> <script ...
- float闭合(清除浮动)和CSS HACK
一.float 闭合(清除浮动) 将以下代码加入Global CSS 中,给需要闭合的div加上 class="clearfix" 即可,屡试不爽. <style>.c ...
- Windows7系统禁用USB和启用USB方法
被迫装了XX软件之后,无线网络和USB都被禁用了,XX软件还不能被卸载.只能用PE进去时候把XX软件安装目录进行删除,但是删除之后还是不能识别U盘,从网上找到办法一看是注册表的项被修改了. 注册表项为 ...
- 前端自动化构建工具——gulp
gulp是基于流的前端自动化构建工具. 一.环境配置 gulp是基于nodejs的,所以没有 nodejs 环境的要先去安装好 然后给系统配上gulp环境 npm install -g gulp 再到 ...