简易解释:在曲面中插入一个平面所形成的轮廓,即是该轮廓的水平集表示,可见,该轮廓的水平集表示有多个。对于图像分割,在图像力的驱动下曲面进行更新。

轮廓的数学表达有隐式和显式两种表达。用曲面演化代替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) )(|∇GI| − 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 框架介绍的更多相关文章

  1. 拓扑优化中SIMP方法与水平集方法有何优缺点,水平集法变换到高维,不是更复杂了

    作者:周平章链接:https://www.zhihu.com/question/52008623/answer/187927508来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...

  2. DRLSE 水平集算法总结

    背景: Level Set方法是美国数学家Osher(加州大学洛杉矶分校)和Sethian(加州大学伯克利分校)合作提出的.后者因为对Level Set的贡献获得了去年美国数学会与工业应用数学会联合颁 ...

  3. 从JAVA多线程理解到集群分布式和网络设计的浅析

    对于JAVA多线程的应用非常广泛,现在的系统没有多线程几乎什么也做不了,很多时候我们在何种场合如何应用多线程成为一种首先需要选择的问题,另外关于java多线程的知识也是非常的多,本文中先介绍和说明一些 ...

  4. oracle 字符串切割成结果集方法

    oracle字符串切割几种方式 方法一: SELECT COLUMN_VALUE FROM TABLE(SYS.ODCIVARCHAR2LIST('1','2','3','4','5')); 方法二: ...

  5. 关于java多线程理解到集群分布式和网络设计的浅析

    对于JAVA多线程的应用非常广泛,现在的系统没有多线程几乎什么也做不了,很多时候我们在何种场合如何应用多线程成为一种首先需要选择的问题, 另外关于java多线程的知识也是非常的多,本文中先介绍和说明一 ...

  6. win7计划任务执行php脚本方法

    第一步:编写bat文件 方法1:php方法 方法2:exploere浏览器 电脑上新建一个txt文本,把代码放进去.然后把他另存为xxx.bat explorer "http://网址/e/ ...

  7. js中的回调函数的理解和使用方法

    js中的回调函数的理解和使用方法 一. 回调函数的作用 js代码会至上而下一条线执行下去,但是有时候我们需要等到一个操作结束之后再进行下一个操作,这时候就需要用到回调函数. 二. 回调函数的解释 因为 ...

  8. 【JVM虚拟机】(8)--深入理解Class中--方法、属性表集合

    #[JVM虚拟机](8)--深入理解Class中--方法.属性表集合 之前有关class文件已经写了两篇博客: 1.[JVM虚拟机](5)---深入理解JVM-Class中常量池 2.[JVM虚拟机] ...

  9. 理解 ES6 Generator-next()方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. php json 格式控制

    本文同步至我的个人博客:http://www.52cik.com/2015/12/23/php-json-format.html 关于 json 这个问题,陆陆续续有新手朋友找我问,比如为什么我输出的 ...

  2. codeforces 709A A. Juicer(水题)

    题目链接: A. Juicer 题意: 给出n个橘子,汁漫出来了就倒出来,反正就是要求要倒几次; 思路: AC代码: #include <iostream> #include <cs ...

  3. centos用户权限设置

    了解常见的账号配置文件 学会管理用户账号.组账号 学会设置目录或文件的权限 学会设置目录或文件的归属 用户账号文件/etc/passwd   :保存用户名称.宿主目录.登录shall等基本信息 每一行 ...

  4. android学习笔记WebView的基本使用

    WebView可以看做是一个浏览器,它使用了WebKit渲染引擎加载显示网页. WebView的使用需要掌握下面几点, 1,首先需要开启应用网络访问权限 在AndroidMinafest.xml中添加 ...

  5. [日常] 最近的一些破事w...

    更新博文一篇以示诈尸(大雾 (其实只是断了个网然后就彻底失踪了一波w...连题解都没法写了QAQ) $ \tiny{诈尸的实际情况是老姚提前走还把十一机房门锁了然而钥匙在联赛的时候就还了于是并不能进去 ...

  6. java_25 FileReader类和FileWriter类

    1.FileWriter 1.1FileWriter 用于写入字符流.要写入原始字节流,请考虑使用 FileOutputStream. public class Demo { public stati ...

  7. caffe编译问题-nvcc fatal:Unsupported gpu architecture &#39;compute_20&#39;

    错误描述 nvcc fatal : Unsupported gpu architecture 'compute_20' Makefile:: recipe for target '.build_rel ...

  8. java 项目中类找不到异常解决办法

    最后点击Apply and Close就可以了

  9. laravel 命令行输出进度条

    有时候我们想在命令行执行一些耗时的命令,我们可以利用 symfony 提供的进度条相关的类,来输出一个进度条,显示当前的处理进度. 参考:http://symfony.com/doc/current/ ...

  10. spring注解配置quartz

    常规配置quartz可以参考我的另外一篇博文:http://www.cnblogs.com/yangzhilong/p/3349116.html spring配置文件里增加: 命令空间: http:/ ...