zoukankan      html  css  js  c++  java
  • 3Dslicer_Editor(2)

    五、Effects

    Effects有很多种,既可以通过点击GUI面板上的Apply按钮,也可以通过在slice view点击和(或)拖动来实现操作。对于你需要使用GUI的操作,目标label map是在红色slice viewer上的一个,否者,目标依赖于你点击的slice viewer。为了使用这类Effects,你需要选择一个label值,用于工具在上面操作。在颜色盒上点击将会弹出一个label的选择界面。

    • Paint.png Paint

    1. 选取应用的画刷半径大小(毫米计)
    2. 左键点击将会绘出一个单圆
    3. 左键按下并拖动将会绘出曲线
    4. 当鼠标释放的时候一串圆的轨迹将会被绘制出来
    5. Sphere 模式将半径也应用在当前切片的上下部分的切片,即绘制出来的是球体。
    6. 当工作在两个或多个区域之间的边界时,'smudge'选项将会被应用
    • Draw.png Draw

    1. 左键点击放置个人的轮廓点
    2. 左键拖动放置连续的由点组成的线
    3. ‘x’键删除上一个添加的点
    4. 右键点击或者‘a’键表示应用该分割
    • WandEffect.png Wand

    在背景上单击将具有相似灰度的连接区域填充,点击多次来生长该区域。面板上的容忍度选项控制了要想被填充进区域中,毗连的像素必须具有怎样的相似度。

    1. 面板上的Max pixels per click操作决定了区域填充的有多快
    2. 面板上的Fill Volume选项允许三维分割。
    • Rectangle.png Rectangle

    1. 左键点击表示橡皮筋矩形的开始
    2. 释放左键应用该矩形
    • LevelTracing.png Level Tracing

    1. 移动鼠标来定义一个区域的轮廓,该轮廓上的所有像素都与鼠标点处像素具有相同的背景值。
    2. 点击鼠标左键来应用该区域为当前label map的一部分
    • IdentifyIslands.png Identify Islands

    使用这个工具来为当前label map中每一个相连的区域都创建一个独特的label值。连接的区域定义为一组组相互之间挨着但是被零值体素包围的像素的集合。如果选择了FullyConnected,那么只有共有同一个平面(share a face)的体素被算作连接着的;如果没有选择,那么挨着边角的体素也被认为时相连接的。

    Note:注意所有的非零的label 值都被该filter 认为时相同的,并且该操作之后的结果将会按照大小将所得到的岛屿进行重新编号。

    Note:输出的label值 使用当前选择的颜色表,但是赋给岛屿的名字却是随意的。Label 值按照岛屿的从大到小顺序从1开始进行赋值。0值赋值给背景。

    • ChangeIsland.png Change Island

    改变一个岛屿的颜色,岛屿是一组具有相同label值的相连接的像素。这个操作不会改变其他不连接的具有相同label值的体素。这个工具在进行完thresholding时非常有用的,可以进一步来分割解刨结构。

    1. 点击Change Island
    2. 点击新的label并且选择一个颜色,或者直接输入颜色序号
    3. 点击对应岛屿上的任意部分
    4. 对应岛屿上的像素将会接收到新的Label值
    • RemoveIslands.png Remove Islands

    自动去除在一个区域中未标记的体素。

    1. 在去除周围阈值区域内的小面积噪声方面很有用
    2. 支持两种模式:Connectivity mode去除被segmentation完全封闭的未分割的岛屿;Morphology mode去除segmentation里或外的小区域,尽管这些小区域与大点的区域部分部分相连。Morphology mode采取腐蚀和侵蚀的方法将小岛屿去除。
    • SaveIsland.png Save Island

    Save Island保留选择的岛屿,并且去除掉具有相同label值的不相连像素。这是另一种方式来打扫清除阈值操作之后的结果。这个操作在将单个连接结构与其他结构分开的过程中是很有用的。

    • ErodeLabel.png Erode and DilateLabel.png Dilate(腐蚀和膨胀)

    从当前label值中添加或者删除单个像素层。

    • ChangeLabel.png Change Label

    将目标label map中label值为input value的每个体素的label值改为output value规定的值。

    • Undo/Redo

    1. Editor模块可以在每一个effect应用之前存储操作状态,这对于实验效果和错误纠正是很有用的。在3.6.2版本之前,这个功能在工作于较大volumes时速度可能有点慢,并且是非常耗费内存的,固该功能默认时不可用的。到3.6.2版本,save操作变得轻量级,并且默认支持100步的存储。
    2. 在使能情况下,这类按钮可以被用来在volume的检查点前后移动。
    3. 注意对于一些volumes,存储Undo的缓存可能失败(因为缺少内存),在这种情况下,undo/redo操作将会失败。
    • ModelMaker.jpg Modelmaker

    1. 一个简单的全CLI模块界面(查看Model Maker Documentation
    2. 当前选择的label值将会被用来创建模型。
    3. 选择smooth model选项来得到更满意的结果。
    4. 点击apply按钮,所有label maps的模型都可以被创建。
    5. 模型在后台建立,在apply完成后,模型将会在3D view中显示。

     

    • GrowCutSegment.png GrowCutSegment

    GrowCut是一个强大的算法,它使用范例segmentation 来创建volume的一个完整segmentation 。你可以使用多个label 颜色来定义多个区域,这些区域代表着解刨结构的一部分,然后让GrowCut算法,来为这些区域的临近像素寻找最好的label值,使它们可以匹配到你的范例segmentation。

    为了更好的应用该算法,首先你需要利用前面介绍的正常paint 和draw工具来定义你的范例segmentation,至少定义两种结构类,然后点击Apply。如果你对结果不满意,使用Undo返回修改你的范例。

    可以阅读 Grow Cut documentation来了解更多细节。

    • WatershedFromMarkerEffect.png WatershedFromMarkers

    Watershed From Markers是一个multi-label segmentation工具,和GrowCuts算法具有相似的行为。对于输入,它期望当前的label map具有多个labels或者markers 来定义不同的事物。通过应用该算法,labels 将会以极小的梯度值来贪婪的增长。使用这种方法得到较好的segmentations 就是得到定义了较好边界的物体。

    可以阅读 WatershedFromMarkers来了解更多细节。

    • FastMarching.png FastMarching

    FastMarching是一个基于统计的区域增长3D分割算法。Paint 来定义种子体素(仅有一个颜色),按下"March"按钮来初始化区域增长。使用marching滑块,来交互式的检查前向转播历史的效果,选择你满意的结果。

    • Labeler Effects

    下面的选项对所有的labelers 都有效(draw, paint, level tracing...)。

    • Threshold Painting and Drawing

    1. 在Threshold Effect下使用Threshold 来决定操作的阈值范围,可以边调整边在slice viewer中查看效果,选择合适的阈值范围,点击Use for Paint
    2. 改变Effects到Paint 或者Draw 选中Threshold Paint。
    3. 开始painting/drawing

    只有背景灰度值在在阈值范围内的体素才会被设置为新的label 值。 As of version 4.5, the range is inclusive, so for example if the minimum is zero to ten, all pixels zero and above but less than or equal to ten will be included.

    • Paint Over

    当选中的时候,不管labels 原先是什么值,它们都将会被设置为新的值。(可以覆盖设置label值)

    当没选中的时候,只有label值为0(黑色/透明)的体素才能被设置为新的label值,非0的label值不变。(不可以覆盖设置label值)

    六、Keystrokes

    在Editor模块中下面的快捷键是积极有效的。它们不需要调节键(不需要Control 或者Alt键),并且它们将会允许双手编辑,一只手在鼠标上,另一只手使用键盘来调整来调整模式。

    • Movement

    1. f - move to next slice
    2. b - move to previous slice
    3. Shift - scroll other slices to mouse location
    4. h - toggle the crosshair and put it into navigator mode
    • Label Values (Colors)

    1. e - toggles from the current color to 0 and back (use this while painting or drawing to quickly erase if you go over the line)
    2. c - show color picker
    • Segmentation Control

    1. z - undo
    2. y - redo
    • Display

    1. o - toggle outline mode for label display
    2. g - toggle label opacity
    3. t - swap foreground and background volumes
    • Effect Selection

    1. Escape - cancel current effect
    2. p - select Paint effect
    3. d - select Draw effect
    4. w - select Wand effect
    5. r - select Rectangle effect
    6. Space bring up tool selection window at current mouse location
    • Draw Effect Keystrokes

    1. a or Enter - apply the current outline

    2. x - delete last point added

    • Paint Effect Keystrokes

    1. - or _ - shrink the current radius by 20%

    2. + or = - grow the current radius by 20%

    • Label Keystrokes

    Label Keystrokes对于应用当前label颜色的所有effect 是有效的,像Paint, Draw, or Wand。

    1.  (反斜杠键) - "eye dropper" to pick up the current paint color under the cursor (note the slice view must have 'focus', which means you must have clicked in the slice view once before the eye dropper will work correctly)。

    七、Hints

    • 你可以使用Image Label Combine模块从两个独立的输入 label maps创建一个组合label map。在有些时候,为每一个解刨结构创建一个单独的label map是非常有意义的,编辑之后再将它们合并起来。在另外一些情况下,将所有的结构放在相同的label map下也是很有意义的,这样你可以使用 Paint Over选项在结构之间创建明确的边界。

    •  Model Maker模块可以自动地为label map中所有的非零值创建模型。Joint Smoothing选项创建了一个'water tight'的模型集合。如果你独立创建模型,smoothing将会导致模型之间的间隙。

    • 带threshold painting的大半径画刷工具( paint effect )是一个常用的快速的方法来分割那些始终比周围区域更亮或更暗但是却于附近相似结构部分相连的解刨结构。

    • 使用slice viewer的菜单来控制label map的不透明度和显示模式(仅显示边界或者显示整个volume)。

    八、Limitations

    • Threshold对于非标量体背景的volumes将会不工作。

    • 鼠标滑轮用于在volume中移动切面,但是对于一些平台(mac),可以回一次移动多个切片。

    • 在SceneView 恢复之后,Editing 可能会失败,这种情况下,使用Segment Editor module代替。

    九、Similar Modules

    查看 Segmentation section of the module documentation获取创建label maps的更多方法。

    十、Information for Developers

     step-by-step guide to writing an Editor Extension


    参考:

    https://www.slicer.org/wiki/Documentation/4.8/Modules/Editor

  • 相关阅读:
    MySQL 分区
    InnoDB 锁
    【神经网络】自编码聚类算法--DEC (Deep Embedded Clustering)
    【神经网络】变分自编码大杂烩
    【异常检测】Isolation forest 的spark 分布式实现
    【推荐系统】评估指标总结
    【推荐系统】neural_collaborative_filtering(源码解析)
    hadoop之计数器和管道的mrunit测试
    thrift0.5入门操作
    awk之close函数
  • 原文地址:https://www.cnblogs.com/oneDongHua/p/14264094.html
Copyright © 2011-2022 走看看