ITK完整教程
文章平均质量分 75
ITK完整教程专栏以ITK指导手册为基础,详细讲解ITK的安装过程、各模块包含的功能如分割、配准、三维重建等方法,以及ITK作为第三方库的使用。订阅的小伙伴可以快速深入的掌握ITK,更好的提升自己的实力,一起实现富裕了!
雪易
从事医学图像图形算法相关的工作,包括图像的三维重建、分割、配准以及网格处理等,熟悉OpenCV、VTK、ITK等第三方库;CSDN一直在线,欢迎各位小伙伴骚扰
展开
-
【ITK完整教程】介绍
该专栏以ITK-5.3.0 & ITK-5.2.1的Examples为基础,加上实际使用时总结的经验,讲解ITK中相关接口和使用方法。也会介绍ITK隐藏的强大功能,订阅该专栏,一起学习ITK吧!目录1. ITK滤波2. ITK图像3. ITK过滤器4. ITK统计信息5. ITK配准6. 图像分割算法 【ITK滤波】第1期 阈值处理_阈值滤波-CSDN博客 【ITK滤波】第2期 边缘检测-CSDN博客 【ITK滤波】第3期 投射和亮度映射-CSDN博客原创 2024-08-21 15:14:38 · 360 阅读 · 0 评论 -
【ITK输入输出(IO)】第1期 Transform文件的读写
本文分享ITK中关于Transform文件的读写的接口itkTransformFileReader & itkTransformFileWriter,希望对各位小伙伴有所帮助!原创 2024-08-21 15:49:34 · 85 阅读 · 0 评论 -
【ITK】图像分割算法:Snake
本文分享图像分割Snake算法,主要从算法原理和代码实现来进行阐述,希望对各位小伙伴有所帮助!1. Snake算法Snake在1988年International Journal of Computer Vision提出。Snake曲线是一种能量最小化的样条线,它受到外部约束力的引导,并受到图像力的影响,这些图像力将其拉向线条和边缘等特征。Snake是活跃的轮廓模型:它们锁定附近的边缘,准确地定位它们。尺度空间延续可用于扩大要素周围的捕获区域。原创 2024-08-20 09:27:49 · 101 阅读 · 0 评论 -
【ITK】图像分割算法:GrabCut
本文分享图像分割GrabCut算法,主要从算法原理和效果方面展开,希望对各位小伙伴有所帮助!GrabCut算法来自论文1. GrabCut介绍GraphCut算法将图像视为图形,图像中的每个像素都是一个图形节点。对于两个标签(物体和背景)的情况下,通过max-flow/min-cut算法有效地计算全局最优像素标签。该算法可以在N维图像上使用,只需要给定用户指定的对象和背景种子像素,其余像素将自动标记。原创 2024-08-19 14:34:00 · 413 阅读 · 0 评论 -
【ITK】图像分割算法:GraphCut
本文分享GraphCut图像分割算法及其详细的算法逻辑,希望对各位小伙伴有所帮助!1. GraphCut介绍2001年由Boykov and Jolly提出。GraphCut是一种交互式分割,用于解决全自动分割结果不佳的情况。GraphCut通过交互式分割技术,将图像分为两个部分:背景和前景。用户通过将某些像素(种子点)指定为前景的一部分,将另一些像素(种子点)指定为背景的一部分,从而对待分割的图像进行了某些硬约束。这些种子点为图像的整个分割的切入点。原创 2024-08-19 09:11:07 · 82 阅读 · 0 评论 -
【ITK】图像分割算法:GrowCut详解
本文分享GrowCut算法论文来解析图像分割算法GrowCut的详细过程,希望对各位小伙伴有所帮助!在医学图像处理中,最重要的三个问题是分割,配准和三维重建。目前分割问题分为传统算法和AI算法,其中传统算法为AI算法的基础。在传统分割算法中,如何实现自动分割一直是算法工程师追求的极致,但效果并不好。本文分享的GrowCut也是一种半自动分割方法,基于较少的交互,可以获取较好的分割结果。1. GrowCut算法论文能够解决中等难度的分割任务;易于实施,支持并行开发;适用于二维、三维图像;原创 2024-08-16 10:42:35 · 223 阅读 · 0 评论 -
【ITK】图像分割算法:FastGrowCut详解
本文分享图像分割算法FastGrowCut的详细解析过程,希望对各位小伙伴有所帮助!目录前言1. FastGrowCut算法介绍3. 结论本文章基于2014年发表于MICCAI上的论文An Effective Interactive Medical Image Segmentation Method Using Fast GrowCut进行阐述。1. FastGrowCut算法介绍长期以来,分割一直是医学图像分析中最重要的任务之一。原创 2024-08-16 10:38:02 · 101 阅读 · 0 评论 -
【ITK配准】第二十三期 PointSet配准
本文分享ITK配准中的点集配准(PointSet Registration),希望对各位小伙伴有所帮助!目录前言点集配准1 2D中的点集配准2. 3D中的点集配准3. DistanceMap提高点集配准性能点集配准点集配准也是医学图像分析中的常见问题。它从图像上提取标记点,根据标记点在图像间建立对应关系。这种是基于特征进行配准的一种简单方式。一般来说,基于特征配准比基于强度或亮度的配准更有效。基于特征的配准带来了特征识别和特征提取两个新的挑战。原创 2024-05-10 17:05:39 · 81 阅读 · 0 评论 -
【ITK配准】第二十二期 Demons变形配准
本文分享ITK配准中的Demons变形配准,希望对各位小伙伴有所帮助!基于配准的模型这部分介绍配准一个图像的几何模型的概念。在这个方法里,首先创建一个带有大量参数的几何模型,接下来进行配准,这一步的任务是找到最佳的模型参数,模型参数使得模型能够较好地表示图像中包含的解剖结构。例如,一个大脑图像的轴向视角里,使用椭圆粗略地接近头骨。椭圆变成了我们简化的模型,配准是找到椭圆最好的中心、轴向长度以及定位点。上图介绍了当基于配准问题的模型被设置的时候,在ITK中配准框架的主要结构。原创 2024-05-10 17:00:55 · 124 阅读 · 0 评论 -
【ITK配准】第二十一期 Demons变形配准
本文分享ITK配准中Demons变形配准,希望对各位小伙伴有所帮助!Demons变形配准对于同模内变形配准的问题,ITK提供了一种Thirion的“demons”算法的执行程序。在这个执行程序中,每一幅图像被看做一个等亮度轮廓的集合。主要的观点是一个受力的标准网格通过向法线方向推动轮廓使其变形。原创 2024-05-10 15:48:11 · 87 阅读 · 0 评论 -
【ITK配准】第二十期 基于BSpline的图像变形
本文分享ITK配准中的基于BSpline的图像变形样例,希望对各位小伙伴有所帮助!基于BSpline的图像变形样例:BSplineWarping1.cxx该样例介绍如何使用BSpline变换对2D图像进行变形。return;int// 定义图像类型//读取FixedImagetry//读取MovingImage。原创 2024-05-10 14:50:41 · 95 阅读 · 0 评论 -
【ITK配准】第十九期 基于KernelBase样条的图像变形
本文分享ITK配准中基于KernelBase样条的图像变形,希望对各位小伙伴有所帮助!基于KernelBase样条的图像变形样例:LandmarkWarping2.cxx该样例介绍如何使用两组标定点和KernelBase样条来变形图像。FixedImage和MovingImage相同。int//读取FixedImagetry//图像MovingImage// 读取两组标记点信息,并获取两组标记点的变换矩阵//原创 2024-05-10 14:48:52 · 53 阅读 · 0 评论 -
【ITK配准】第十八期 3D中BSpline可变形多模态配准样例
本文分享ITK配准中的3D中BSpline可变形多模态配准,希望对各位小伙伴有所帮助!3D中BSpline可变形多模态图像配准样例:DeformableRegistration8.cxx这个例子介绍了itk::BSplineDeformableTransform对于处理两个3D图像并且是多模图像的配准的用法。这种情况下metric的选择是itk::MattesMutualInformationImageToImageMetric。原创 2024-05-10 14:15:51 · 96 阅读 · 0 评论 -
【ITK配准】第十七期 3D中BSpline可变形多分辨率配准样例
本文分享ITK配准中的3D中BSpline可变形多分辨率配准,希望对各位小伙伴有所帮助!3D中BSpline可变形多分辨率配准该样例介绍itk::BSplineTransform在两个3D图像配准中的应用。该样例的源码与2D中BSpline可变形多分辨率配准的源码大体相同。最大的不同在于输入图像为3D,另外使用itk::LBFGSBOptimizerv4.代替了itk::LBFGSOptimizerv4优化器,这是因为LBFGS在起始位置与最优解偏差较大时,表现不太好。因此使用LBFGSB代替。原创 2024-05-10 14:07:18 · 105 阅读 · 0 评论 -
【ITK配准】第十六期 2D中BSpline可变形多分辨率配准样例
本文分享ITK配准中的2D中BSpline可变形多分辨率配准,希望对各位小伙伴有所帮助!2D中BSpline可变形多分辨率配准样例:DeformableRegistration6.cxx该样例介绍了itk::BSplineDeformableTransform类在被控制的多分辨率配准中的应用。BSplineDeformableTransform的参数空间由BSpline网格的节点联合成的所有变形集构成的,大量的度数和自由度可以表现大的变形,但耗费的计算时间也会增大。原创 2024-05-10 11:00:56 · 71 阅读 · 0 评论 -
【ITK配准】第十五期 基于运动算法的可变形配准样例
本文分享ITK配准中的基于运动算法的可变形配准,希望对各位小伙伴有所帮助!基于运动算法的可变形配准样例:DeformableRegistration5.cxx该样例介绍了运动算法如何实现图像间的可变形配准,使用的配准算法为itk::LevelSetMOtionRegistrationFilter。if (!return;int////原创 2024-05-10 10:55:13 · 61 阅读 · 0 评论 -
【ITK配准】第十四期 BSpline可变形配准样例
本文分享ITK配准中的BSpline可变形配准,希望对各位小伙伴有所帮助!BSpline可变形配准样例:DeformableRegistration4.cxx该样例介绍了如何在两个2D图像中使用itk::BSplineDeformableTransform类执行配准。BSplineDeformableTransform的参数空间由BSpline网格的节点联合成的所有变形集构成的,大量的度数和自由度可以表现大的变形,但耗费的计算时间也会增大。int//读取输入图像。原创 2024-05-10 09:26:56 · 77 阅读 · 0 评论 -
【ITK配准】第十三期 FEM可变形配准样例
本文分享ITK配准中的FEM可变形配准样例,希望对各位小伙伴有所帮助!FEM可变形配准样例:DeformableRegistration1.cxx该样例使用ITK中的有限元(FEM)库来解决可变形图像配准问题。此样例需要FEMRegistration模块,因此在编译ITK库时,需要选中相应的模块。样例输入图像:输出图像:inttrytry。原创 2024-05-10 09:12:51 · 67 阅读 · 0 评论 -
【ITK配准】第十二期 结合预先知识的刚性配准样例
本文分享ITK配准中的结合预先知识的刚性配准,希望对各位小伙伴有所帮助!结合预先知识的刚性配准样例:ImageRegistration13.cxx该样例介绍了用2D刚性变换和MutualInfaormation metric进行配准的用法。return;int//定义图像类型//读取输入图像// 定义变换,使用欧拉2D刚性变换。原创 2024-05-09 10:28:19 · 60 阅读 · 0 评论 -
【ITK配准】第十一期 空间对象的模糊构建配准样例
本文分享ITK配准中的空间对象的模糊构建配准样例,希望对各位小伙伴有所帮助!空间对象的模糊构建配准样例:ImageRegistration12.cxx该样例介绍了SpatialObjects作为用于选择与ImageMetric计算有关的像素Mask的用法。添加了Mask限制的结果:public:protected:public:voidvoidif (!return;int//定义图像类型//读取输入图像。原创 2024-05-09 10:23:29 · 149 阅读 · 0 评论 -
【ITK配准】第十期 进化优化配准样例
本文分享ITK配准中的进化优化配准样例,希望对各位小伙伴有所帮助!进化优化配准样例:ImageRegistration11.cxx该样例介绍了如何用优化进化算法结合MutualInformation metric。进化算法非常适合用来优化已知随机和噪声行为的Mutual Information metric。return;private:int//定义输入图像类型。原创 2024-05-09 10:17:38 · 57 阅读 · 0 评论 -
【ITK配准】第九期 基匹配Metric的配准样例
本文分享ITK配准中的基匹配Metric的配准样例,希望对各位小伙伴有所帮助!基匹配Metric的配准样例:ImageRegistration10.cxx该样例介绍了在ITK中连接两个信息映射的图像配准框架的用法。配准Metric简单计算有相同信息的相应像素的数目。return;int// 定义图像类型// 定义输入图像类型//读取输入图像。原创 2024-05-09 10:13:38 · 57 阅读 · 0 评论 -
【ITK配准】第八期 优化器(Optimizer)
本文分享ITK中的优化器(Optimizer),希望对各位小伙伴有所帮助!优化器在ITK中最佳算法被压缩成itk::优化器对象。优化器是一个类并能应用于配准之外的其他方面。在配准框架中,itk::SingleValuedNonLinear优化器的派生类用变换参数优化metric标准。优化器的基本输入是一个cost function对象,在配准中,itk::ImageToImageMetric提供这个范函性。原创 2024-05-08 17:39:32 · 109 阅读 · 0 评论 -
【ITK配准】第七期 尺度(Metric)-梯度微分Metric
本文分享ITK中的梯度微分Metric,即itk::GradientDifferenceImageToImageMetric,希望对各位小伙伴有所帮助!11. 梯度微分Metric接口:该Matric估计在参考和待配准图像的微分的差异。通过函数来传递微分。Metric的目的是聚焦在图像中结构边缘的配准。用这种方法,在配准结果中边缘的影响要大于图像中相同区域的内部。样例:该样例介绍了如何搜索一个图像metric的范围。int// 定义用来Metric赋值的图像的维数和像素类型。原创 2024-05-08 16:23:50 · 75 阅读 · 0 评论 -
【ITK配准】第七期 尺度(Metric)-Kappa统计Metric
本文分享ITK中的Kappa统计Metric,即itk::KappaStatisticImageToImageMetric,希望对各位小伙伴有所帮助!10. Kappa统计Metric接口:该Matric计算两个二维图像的空间交叉。这里,metric用相同的精确值来搭配两个图像中的像素。精确值用SetForegroundValue( )来设置。已知图像A和B,则系数 κ 的计算公式为:其中|A|是图像A中显著像素的数量。这个可以计算出两幅图像的公共区域。原创 2024-05-08 16:22:42 · 108 阅读 · 0 评论 -
【ITK配准】第七期 尺度(Metric)-基匹配Metric
本文分享ITK中的基匹配Metric,即itk::MatchCardinalityImageToImageMetric ,希望对各位小伙伴有所帮助!9. 基匹配度量接口:该Metric计算在待配准图像和参考图像之间精确搭配的像素集的基数。换言之,它计算在两个图像之间搭配和不搭配像素的数目。这种搭配被设置成标签搭配。所有不搭配的像素被考虑是否等于标签1和标签2之间还是标签1和标签500之间。换言之,一个单独不搭配的标签的数量是不相关的,或者说一个标签不搭配的发生是重要的。原创 2024-05-08 16:21:24 · 74 阅读 · 0 评论 -
【ITK配准】第七期 尺度(Metric)-相关系数直方图Metric
本文分享ITK中的相关系数直方图均方Metric,即itk::CorrelationCoefficientHistogramImageToImageMetric,希望对各位小伙伴有所帮助!8. 相关系数直方图Metric接口:该Metric计算在参考图像亮度和被映射的待配准图像亮度之间的相关系数。Metric 用在相同模式的图像中,其中参考图像的亮度和待配准图像的亮度之间的关系是通过一个线性方程给出的。原创 2024-05-08 15:58:54 · 56 阅读 · 0 评论 -
【ITK配准】第七期 尺度(Metric)-直方图均方Metric
本文分享ITK中的直方图均方Metric,即itk::MeanSquaresHistogramImageToImageMetric,希望对各位小伙伴有所帮助!7. 直方图均方Metric接口:用该Metric来执行Mean Squares Metric。在这个执行程序中,首先创建参考和被映射的待配准图像的联合柱状图。用户选择用在这个联合柱状图中bins的数目。一旦联合柱状图被计算,bins就会被一个iterator访问。原创 2024-05-08 15:58:10 · 70 阅读 · 0 评论 -
【ITK配准】第七期 尺度(Metric)-规格化交互信息Metric
本文分享ITK中的互信息Metric,即itk::ITK中的互信息Metric,即itk::MutualInformationImageToImageMetric ,希望对各位小伙伴有所帮助!6. 规格化交互信息Metric接口:给两幅图像A和B,规格化交互信息的计算公式如下:其中图像的熵、H(A)、H(B)、交互信息、I(A,B)和联合熵H(A,B)的计算与互信息Metric中的相 同。样例:该样例介绍了如何搜索一个图像metric的范围。int。原创 2024-05-08 15:43:05 · 74 阅读 · 0 评论 -
【ITK配准】第七期 尺度(Metric)-Kullback-Leiber距离Metric
本文分享ITK中的互信息Metric,即itk::KullbackLeiblerCompareHistogramImageToImageMetric,希望对各位小伙伴有所帮助!5. Kullback-Leiber距离Metric接口:Kullback-Leibler距离测量在两幅离散概率分布的相关熵。分布是从两幅输入图像A和B的柱状图获得的。在两幅柱状图之间的Kullback-Liebler距离为距离总是非负的,在两个分布相同时为零。注意:距离不是对称的。原创 2024-05-08 15:36:03 · 64 阅读 · 0 评论 -
【ITK配准】第七期 尺度(Metric)-互信息Metric
本文分享ITK中的互信息Metric,即itk::MutualInformationImageToImageMetric & itk::MattesMutualInformationImageToImageMetric,,希望对各位小伙伴有所帮助!4. 互信息Metric该Metric计算图像A和B的交互信息。交互信息(MI)测量一个随机变量(一幅图像中的图像亮度)传递给另外一个随机变量多少信息。用MI的主要优点是不需要指定属性的实际形式。因此,在两幅图像之间的复杂映射能够被模型化。原创 2024-05-08 14:59:19 · 121 阅读 · 0 评论 -
【ITK配准】第七期 尺度(Metric)-倒数均方差分Metric
本文分享ITK中的正则化Metric,即itk::MeanReciprocalSquareDifferenceImageToImageMetric,希望对各位小伙伴有所帮助!3. 倒数均方差分Metric接口:该metric计算pixel-wise差分,并对它们通过bell-shaped函数 11+𝑥2传递之后,再进行添加。其中,Ai是图像A的第i个像素;Bi是图像B的第i个像素;N是涉及的像素的数量;λ控制捕捉半径。最佳值是N,搭配越差导致测量值越小。原创 2024-05-08 14:27:27 · 59 阅读 · 0 评论 -
【ITK配准】第七期 尺度(Metric)-正则化Metric
本文分享ITK中的正则化Metric,即itk::NormalizedCorrelationImageToImageMetric,希望对各位小伙伴有所帮助!2. 正则化Metric接口:该metric计算pixel-wise的交叉相关和通过图像的自相关的平方根来规格化它其中,Ai是图像A的第i个像素;Bi是图像B的第i个像素;N是涉及的像素的数量。注意在metric计算中的-1因数。当metric达到最小值的时候,这个因数被用来使metric最优化。Metric的最优化值是-1。原创 2024-05-08 14:12:12 · 66 阅读 · 0 评论 -
【ITK配准】第七期 尺度(Metric)- 均方Metric
本文分享ITK中的均方Metric,即itk::MeanSquaresImageToImageMetricv4,希望对各位小伙伴有所帮助!1. 均方Metric该metricc计算图像A和B中用户定义的区域的方形像素在亮 度上不同程度的均方值。其中,Ai是图像A的第i个像素;Bi是图像B的第i个像素;N是涉及的像素的数目。Metric的理想值是零。图像A与B搭配较差的情况会使metric的值较大。这个metric计算简单并有一个较大的捕捉半径。原创 2024-05-08 13:49:00 · 88 阅读 · 0 评论 -
【ITK配准】第七期 尺度(Metric)
本文分享ITK配准中用于尺度计算的接口,希望对各位小伙伴有所帮助!在ITK中,itk::ImageToImageMetric对象从数量上通过比较图像亮度的灰度值来估计变换后的待配准图像与参考图像搭配的质量。这些metrics弹性很大,能够同任何变换或插补方法搭配,而且不需要较小提取像边缘等信息的灰度图像。Metric的组成成分可能是配准框架中最关键的成分。选择使用哪一个metric,很大程度上依靠需要去解决的配准问题。例如,一些metrics有较大的捕捉范围而另外的需要接近于最优化位置的初始值。原创 2024-05-08 13:47:15 · 72 阅读 · 0 评论 -
【ITK配准】第六期 内插器
本文分享ITK中的内插器,希望对各位小伙伴有所帮助!目录前言1. 最近点差值2. 线性差值3. B 样条插值4. 窗口化 Sinc 内插在配准过程中,通常metric用来比较参考图像和在已经变换的待配准图像中的亮度值。当一个变换将一个点从一个空间映射到另一个空间时,一般情况下该点会被映射到非网格区域。因此,需要用差补法评估在映射位置的图像亮度。下图举例说明了参考图像空间到待配准图像空间的映射。变换函数将点从参考图像的坐标系统映射到待配准图像的坐标系统。图中加亮了在映射后两幅图像的交叠区域。原创 2024-05-08 11:52:06 · 58 阅读 · 0 评论 -
【ITK配准】第五期 变换(Transform)(三)
本文分享用于ITK配准中的三维变换(Transform),希望对各位小伙伴有所帮助!目录前言10. 四元数刚性变换11. Versor变换12. Versor刚体3D变换13. 欧拉3D变换14. 3D相似变换15. 刚性3D透视变换16. 仿射变换17. B样条可变形变换18. Kernel变换10. 四元数刚性变换接口:itk::QuaternionRigidTransform该接口在3D空间实施刚性变换。变换的旋转部分使用一个四元数来表示,而平移是用向量来表示的。原创 2024-05-08 11:23:19 · 195 阅读 · 0 评论 -
【ITK配准】第五期 变换(Transform)(二)
本文分享用于ITK配准中的二维变换(Transform),希望对各位小伙伴有所帮助!目录前言3. 一致变换4. 平移变换5. 比例变换6. 比例对数变换7. 欧拉2D变换8. 居中刚性2D变换9. 2D相似度变换3. 一致变换接口:itk::IdentityTransform主要用于调试。它提供一个调用转换函数的方法,直到程序的输出结果是否有作用。它仅仅是空操作。行为描述参数数量参数意义备注每个点到本身、每个向量到本身和每 个共变向量到本身的仿射0NA。原创 2024-05-08 11:12:09 · 58 阅读 · 0 评论 -
【ITK配准】第五期 变换(Transform)(一)
本文分享ITK配准中的变换(Transform),希望对各位小伙伴有所帮助!目录前言1. 几何表示法2. Transform的一般特征Itk::Transform变换对象压缩映射点,从输入空间到输出空间的向量。如果变换是可逆的,那么同时提供了反变换的方法。ITK提供各种各样简单的变换,对仿射和核心变换进行旋转和缩放。1. 几何表示法类几何概念itk::Point空间中的位置。在 N 维空间中由一个和空间坐标相关的 N 为数列来表示两个点之间的位置关系。原创 2024-05-08 11:07:56 · 54 阅读 · 0 评论 -
【ITK配准】第四期 多分辨率配准
本文分享ITK中多分辨率的配准,希望对各位小伙伴有所帮助!目录前言1. 使用样例2. 参数调节3. 3D多分辨率配准用多分辨率配准方法执行图像配准更加广泛地用在改进速度、精确度和自动化程序上。基本思想是图像有较少像素的地方用粗糙的比例。粗糙水平的空间映射被用来在接下来的较好的图像中初始化配准。重复这个过程直到达到最好的比例范围。从粗糙到平滑的策略极大地改进了配准的成功率,并通过消除粗糙比例时局部噪声达到提高自动化的目的。1. 使用样例。原创 2024-05-07 16:33:30 · 131 阅读 · 0 评论