医学图像处理案例(十三) |
您所在的位置:网站首页 › 图像处理快速 › 医学图像处理案例(十三) |
今天将分享使用快速行进算法(FastMarching)对医学图像分割案例。 1、FastMarching简介 快速行进方法(FastMarching)是水平集演化方法的一种简化形式,其仅使用正速度项来控制微分方程,生成的水平集轮廓随着时间增长。在实际中,FastMarching算法可以看作是由速度图像控制的高级区域增长分割方法。该算法具体推导请参考原文连接。 2、使用SimpleITK函数来实现FastMarching分割算法 用FastMarching算法分割有5个步骤:(1)、首先使用各向异性扩散方法对输入图像进行平滑处理;(2)、其次对平滑后的图像进行梯度计算,生成边缘图像,在梯度计算过程中可调节高斯sigma参数,来控制水平集减速到接近边缘;(3)、然后使用逻辑回归(Sigmoid)函数对边缘图像进行线性变换,保证边界接区域近零,平坦区域接近1,回归可调参数有alpha和beta;(4)、接着手动设置置FastMarching算法的初始种子点和起始值,该种子点是水平集的起始位置。FastMarching的输出是时间跨度图,表示传播的水平集面到达的时间;(5)、最后通过阈值方法将FastMarching结果限制在水平集面传播区域而形成分割的区域。 该例子既可以在C++中使用,也可以在Python中使用,下面将给出C++和Python的使用例子代码。 C++代码: 代码语言:javascript复制*========================================================================= // This example is based on ITK's FastMarchingImageFilter.cxx example #include #include #include #include namespace sitk = itk::simple; int main(int argc, char *argv[]) { if ( argc < 10 ) { std::cerr |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |