.sheet . getelementbyid(“的主题”)。Disabled = true;
显微图像浏览器图形分割
该窗口提供了使用maxflow/mincut graphcut方法的半自动图像分割。
的图切分割是基于最大流/ min-cut算法由Yuri Boykov和Vladimir Kolmogorov编写,由MATLAB实现迈克尔·鲁宾斯坦.max-flow/min-cut算法不是应用于单个像素,而是应用于像素组(超像素(2D)或超体素(3D)),这些像素组可以使用SLIC算法作者:Radhakrishna Achanta, Appu Shaji, Kevin Smith, Aurelien Lucchi, Pascal Fua和Sabine S?斯特伦克或Waterhed算法.具有强烈对比的物体最好用SLIC superpixels,而与之有明显边界的物体分水岭superpixels.使用超像素需要一些时间来计算它们,但在接下来的分割中得到了回报。
回指数-->用户指南-->菜单-->工具”菜单
折叠所有页面
内容
全部折叠
一般的例子
Graphcut分割的演示可在以下视频中:
https://youtu.be/dMeoIZPaDS4
如何使用
使用方法:
- 使用两个标签来标记属于背景和感兴趣的对象的区域
- 启动Graphcut分割工具:菜单->工具->半自动分割图形切割
- 设置其中一种模式:2 d / 3 d
- 定义超像素/超体素类型:SLIC,或分水岭
- 生成超像素/超体素(按下Superpixels /图按钮)
- 检查生成的超级像素的大小,并根据需要修改大小
- 按下段开始分割按钮
注意!有些函数需要编译,请查看系统需求页面获取详细信息。
模式面板
模式面板提供了选择所需的分割工作模式的可能性。
|
- ◉2D,仅限当前切片中显示的切片上执行分割图像视图面板
- ◉2 d,挤牙膏式,对数据集的每个切片分别执行二维分割
- ◉3 d,体积,对数据集的完整部分或选定部分(参见下面的选定区域部分)执行3D分割
- ◉3D,体积,网格,一种特殊的3D图形切割模式,其中数据集被切割成几个子卷(由Chop编辑框定义,见下文),在图像视图面板中居中的数据集被分割(为了方便,打开中心点的标记,工具栏->中心标记按钮)。将大卷切成几个小的子卷(例如400x400x400像素,可以有效地对这个大卷进行交互式分割段都按钮
|
分区委员会
“子区域”面板允许选择要处理的数据集的子区域。如果数据集太大,可以部分处理或使用此面板进行分类。
|
- X:…定义要处理的数据集的宽度。请用冒号(:)分隔两个数字
- Y:…定义要处理的数据集的高度
- Z:…定义要处理的数据集的z切片
- 从选择按钮填充X:,Y:,Z:字段使用描述选择层的边界框的坐标
- 当前视图按钮限制X:和Y:属性中当前显示的图像图像视图面板
- 重置将Subarea字段重置为数据集的维度
- Bin x次…在分割之前为数据定义一个分箱因子。它允许执行得更快,但细节更少。
注意!自动更新模式((✓)自动更新)是不可用的binned数据集!
|
全部折叠
计算超像素/超体素
在分割之前,应该使用SLIC或分水岭算法对打开的数据集的像素进行聚类。下图显示了两种超像素的比较。上面的面板显示SLIC superpixels这很好地分割了一个深色的脂质液滴,它有很好的强度对比。的分水岭superpixels对有边界的物体进行更好的分割。
集群的图像示例
- Superpixels▼,定义要使用的超像素类型
- 超级像素的大小…,定义超级像素的大致大小(SLIC只)
- 密实度……,一个介于1到99之间的数字,它定义了超像素的方形大小;例如,99 -产生相当方形的超像素(SLIC只)
- 减少超像素的数量…,一个允许增加超级像素大小的因素,更大的数字导致更大的超级像素(分水岭只)
- 颜色通道▼,用于计算超像素的颜色通道的索引
- 信号类型▼,电子显微镜使用黑白,光学显微镜使用亮黑
- 的切……编辑框,允许将数据集切成更小的子卷◉三维体网格模式或用于计算SLIC超体素
- 的(✓)自动保存复选框-当启用时,生成的图形结构和生成的超体素将自动保存到磁盘以供将来使用
- 的(✓)parfor复选框-启用时,分水岭集群为三维体网格模式计算采用并行处理,将计算性能提高了几倍
- (✓)使用PixelIdsList启用后,最终模型的生成基于检测到的超体素指数。这种模式在某些情况下可以提高性能,但需要更多的内存%重新计算图-允许重新计算图形使用一个新的系数(Coef)。一般来说,系数越大,种子生长越快。然而,有时较大的系数会导致距离种子较远的区域被分割,这被认为是该方法的人工产物。
- Superpixels /图按下此按钮开始生成超像素,并将其最终组织成图形
- 进口从磁盘或MATLAB中导入超像素和生成的图形
- 出口按下导出超像素和生成的图形到一个文件,MATLAB,一个新的模型或作为Lines3D图形对象(不推荐很多超像素,也见这里https://youtu.be/xrsTVqD7kOQ)
- 预览superpixels生成的超像素可以通过按此按钮预览
图像分割设置
这两个分水岭和Graphcut工作流使用提供的标签标记属于对象和背景的区域,以执行精细分割。相比之下Graphcut工作流程,分水岭工作流的交互性稍差;每次执行都需要更多的时间,并且只分离有明显边界的物体,例如膜包裹的细胞器。
另一方面,Graphcut工作流在图像预处理(计算超像素和生成图形)上花费了更多的时间,但每次后续交互都非常快。使用此工作流可以分离具有边界和强度对比的对象。一般来说Graphcut工作流推荐用于大多数情况。
的描述图像分割设置:
|
- 背景▼定义用于标记背景区域的模型材质
- 对象▼定义标记要分割的对象的模型材质
- 更新列表刷新材料列表
- (✓)自动更新-允许每次修改材料时自动更新分割结果。它主要用于相对较小的数据集(~400x400x400像素)。
重要的是:请不要使用⇧Shift +一个快捷键,但只有一个快捷方式。此外,当使用此模式时,建议通过按下重新计算最终分割段按钮。此外,自动更新模式不可用箱子模式。
|
图像分割示例
|
- 加载一个示例数据集:菜单->File->从->URL导入图片,输入地址:
http://mib.helsinki.fi/tutorials/WatershedDemo/watershed_demo1.tif
- 按下+按钮。划分小组为模型添加材质,名称为“Background”(使用鼠标右键调用弹出菜单)
- 使用画笔工具标记属于细胞质的区域
|
|
- 按下一个按钮,将所选区域添加到模型的第一个材质(背景)
- 按下+按钮再次添加另一个材质,命名为Seeds
- 在线粒体内画上标签。
|
|
- 按下一个按钮,将所选区域添加到模型的第二个材料(种子)
- 启动Graphcut分割工具:菜单- >工具- >半自动分割> Graphcut.
- 选择分水岭▼超像素的类型
- 确保在图像分割设置中,背景和对象都选择了正确的材质
- 按下段按钮分割线粒体
- 添加更多的种子到背景和对象材料,以提高分割
- 按下段按钮的再次使用(✓)自动更新模式即时更新的分割结果
- 分段的线粒体被放置在掩膜层
- 可选的平滑线粒体:菜单- >面具- >光滑的面具
|
|
参考文献
图切割:
- 最大流/ min-cut算法作者:Yuri Boykov和Vladimir Kolmogorov请注意,此算法仅用于研究目的)。
- MATLAB包装for maxflow由迈克尔·鲁宾斯坦编写。
- SLIC超像素和超体素Radhakrishna Achanta, Appu Shaji, Kevin Smith, Aurelien Lucchi, Pascal Fua和Sabine S?sstrunk。
- 区域邻接图(RAG)及其对分水岭的修正是由法国INRA的David Legland于2013-2015年编写的,并用于计算调整超像素
回指数-->用户指南-->菜单-->工具”菜单
var allDetails = document.getElementsByTagName('details');toggle_details (0);
var allDetails = document.getElementsByTagName('details');var contentDiv = document.getElementsByClassName("content");contentDiv = contentDiv[0];var returnButton = document.getElementById("return-link");.style . getelementbyid(“iFrameBuf”)。Display = "none";if(in_iFrame()) {try{var footerNav = parent.document.getElementsByClassName(" footerNav ");var tabPane = parent.document.getElementsByClassName("tab-pane");} catch(err) {var footerNav = [];var tabPane = [];};if(!(footerNav.length) || tabPane.length) {contentDiv.style.overflowY = "scroll";contentDiv.style.overflowX = "hidden"; contentDiv.style.position = "absolute"; contentDiv.style.width = "95%"; contentDiv.style.top = 0; contentDiv.style.bottom = 0; if (tabPane.length){ contentDiv.setAttribute("data-isMATLABCentral","1"); returnButton.style.right = "40px"; document.getElementById("tooltiptext").style.right = "92px"; } document.getElementById("iFrameBuf").style.display = "block"; } else { contentDiv.setAttribute("data-isHelpBrowser","1"); } } if (!contentDiv.getAttribute("data-isHelpBrowser") && !contentDiv.getAttribute("data-isMATLABCentral") ){ document.getElementById("anchor-offsets").sheet.disabled = true; } var jumpLinks = document.getElementsByTagName("a"); for (var i = 0; i < jumpLinks.length; i++){ href = jumpLinks[i].getAttribute("href"); if (href && href[0] == "#") { jumpLinks[i].onclick = jump_to;}}