- 博客(30)
- 收藏
- 关注
原创 【服务器】使用mobaXterm远程连接服务器
点击:Session->SSH->填写服务器IP地址->OK,填入用户密码即连接成功。分为蓝色便携版(下载后可直接使用)和绿色安装版(需要正常安装后使用)双击运行MobaXterm_Personal,启动界面。如果nohup报错显示没有权限,给启动文件权限。下载便携版就够用,下载解压后可直接运行exe。
2024-05-22 10:41:49
544
原创 【ITK库学习】使用itk库进行图像分割(四):水平集分割
只允许从前面取出节点并从后面放入节点,要更新堆上已有的值,需要将新节点添加到堆中,失效的旧节点留在堆上,当它从顶部移除时,它将被识别为无效并且不被使用,未来的实现可以以不同的方式实现堆,从而允许更新值,这通常需要一些上移和下移函数以及从图像到堆的反向指针图像,以便找到要更新的节点。第一个输入是初始水平集,初始水平集是包含初始轮廓/表面作为零水平集的真实图像,例如,通常使用距初始轮廓/表面的带符号距离函数,请注意,对于此算法,初始轮廓必须完全位于要分割的结构内部(或完全外部)。
2024-01-10 16:31:06
1265
原创 【ITK库学习】使用itk库进行图像分割(三):分水岭分割算法
参数控制图像隐喻泛滥的深度,也就是说,它设置了结果中感兴趣的最大显着性值,升高和降低级别会影响基本分段中合并以产生最终输出的分段数量,级别 1.0 类似于将图像淹没到图像中最大值的 100% 的深度, 0.0 级别产生基本分割,通常会过度分割,感兴趣的级别值通常较低(即小于约 0.40 或 40%),因为较高的值很快就会开始对图像进行欠分割。随着洪水水位上升,相邻路段之间的边界被侵蚀,这些路段合并, 洪水级别的最小值为零,最大值为输入图像中最高值和最低值之间的差。可以通过将此过滤器的输出传递给。
2024-01-08 16:47:17
1393
原创 【ITK库学习】使用itk库进行图像配准:变换Transform(三)
在此应用中,x 是包含点的“源”坐标的二维或三维向量,y 是包含“目标”坐标的向量,矩阵 A 定义源坐标系的缩放和旋转到目标,b 定义原点从源到目标的转换。此类封装了点从一个 N 维空间到另一个 N 维空间的可变形变换,变形场使用 B 样条建模,变形是在控制点的稀疏规则网格上定义的,并通过定义每个控制点的变形来改变,任意点 x处的变形 D(x) 是通过使用 B 样条插值核获得的。该类通过检查对象的类型来确定是将对象转换为点还是向量,Point 类型的对象变换为点,Vector 类型的对象转换为向量。
2024-01-04 15:03:26
1123
原创 【ITK库学习】使用itk库进行图像配准:变换Transform(二)
可优化参数的序列化是一个包含 7 个元素的数组,前 3 个元素是 3D 旋转的 versor 表示的组成部分,接下来的 3 个参数定义每个维度的平移,最后一个参数定义各向同性缩放。可优化参数的序列化是一个包含 7 个元素的数组,前4个元素是3D旋转的四元数表示的组成部分,最后3个参数定义每个维度的平移。可优化参数的序列化是一个包含 6 个元素的数组,前三个代表分别绕X、Y、Z轴旋转的三个欧拉角,后3个参数定义每个维度的平移。可优化参数的序列化是一个包含 6 个元素的数组,前 3 个元素是 3D 旋转的。
2024-01-03 16:11:46
1423
原创 【ITK库学习】使用itk库进行图像配准:变换Transform(一)
可优化参数的序列化是一个由 5 个元素组成的数组,排序如下: p[0] = 角度, p[1] = 中心的 x 坐标, p[2] = 中心的 y 坐标, p[3] = 的 x 分量, 平移 p[4] = 平移的 y 分量。其中θ为自转角度,Cx和Cy为自转中心的坐标,它在自转前被减去在自转后增加恢复,Tx和Ty是变换的成分。可优化参数的序列化是一个由4个元素组成的数组,排序如下: p[0] = 比例, p[1] = 角度, p[2] = 平移的 x 分量, p[3] = 平移的 y 分量。
2023-12-26 15:58:59
1505
原创 【ITK库学习】使用itk库进行图像配准:内插器(插值)
配准时,参考图像的网格位置没有映射到待配准图像的网格位置时,就需要用差补法来计算待配准图像中非网格位置上的亮度值。在ITK中主要用interpolator类实现,能够插入配准函数中。配准计算中,差补法会影响最后花的平滑度和总计算时间,因此选择具体的差补方法时要考虑平滑度和计算简化两个方面。
2023-12-22 17:29:59
1877
原创 【ITK库学习】使用itk库进行图像配准:“Hello World”配准
将一幅图上的点映射到另一幅图像上同源点的空间转换过程;是同意吗目标的两幅图想在空间位置上的对准。基本组成:参考图像、待配准图像、传递函数、路劲选择、校对机、优化器传递函数:从参考图像上的点到待配准图像上点的空间映射关系校对机:评估待配准图象在非网格位置的程度路劲选择:提供一种参考图像呗待配准图像配准的程度优化器:路径选择形成数量上的标准,优化器通过寻找被传递参数定义的空间去最大优化此标准。
2023-12-20 17:54:25
1643
原创 【ITK库学习】使用itk库进行图像滤波ImageFilter:提取区域/切片/裁剪
若要指定要折叠的尺寸,必须指定ExtractionRegion,对于ExtractionRegion,Size[dim]=0,则该维度被折叠,要折叠的索引由ExtractionRegion指定,索引[dim],例如,我们有一个图像4D=4x4x4x4图像,并且我们想要从4D(即4D的第三个“时间”切片)获得一个3D图像,3D=4x4x4的图像,指定为[x,y,z,2],提取区域的size=[4,4,4,0]和Index=[0,0,0,2]。起始点表示裁剪后子图像的左上角像素的坐标,大小表示子图像的尺寸。
2023-12-18 17:12:34
1432
原创 【ITK库学习】使用itk库进行图像滤波ImageFilter:频域滤波
该滤波器使用 FFT 而不是空间相关来计算两个图像的归一化互相关 (NCC),对于相当大的结构元素,它比空间关联要快得多,该过滤器是更通用的 MaskedFFTNormalizedCorrelationImageFilter 的子类,其操作原理是将该算法中的掩码设置为图像,正如下面的参考文献中详细描述的,利用更通用的掩模算法没有计算消耗,因为计算仍然需要对图像进行 FFT。该滤波器的工作原理是将翻转后的内核集中在图像中的每个像素处,并计算图像中的像素值与内核中的像素值之间的内积。
2023-12-14 15:04:37
1191
原创 【ITK库学习】使用itk库进行图像滤波ImageFilter:保留边缘平滑滤波
这几个图像滤波器都是用于图像平滑和去噪的。它们的共同之处是都基于偏微分方程,并在处理图像时使用邻域信息。和是基于偏微分方程的扩散过滤器,用于平滑和去除图像中的噪声,它们使用了图像的梯度信息来控制扩散的方向和速度,从而保留边界的同时平滑图像,这两个滤波器的主要区别在于扩散的计算方式和方向。也是一种基于偏微分方程的滤波器,用于平滑图像,这个滤波器通过计算图像的平均曲率流来平滑图像,使得边界变得更加平滑,适合对边缘较多、噪声较少的图像进行平滑处理。
2023-12-12 16:20:14
1988
原创 【ITK库学习】使用itk库进行图像滤波ImageFilter:几何变换:翻转、重采样
应设置输出图像的输出信息(间距、大小和方向),该信息具有单位间距、零原点和同一方向的正常默认值,输出信息可以从参考图像获取;然而,一些合成图像的像素是从有限的指定集合中提取的, 比如一个掩模,它指示将大脑分割成少量的组织类型,对于这样的图像,一般不在不同的像素值之间进行插值,就网格坐标而言,图像在输入图像的最大可能区域内翻转,因此,输出图像的 LargestPossibleRegion与输入图像相同。:输出图像点(x,y,x)的像素值 = 输入图像点(x,y,z)的像素值,点坐标均为同一个空间坐标。
2023-12-08 17:05:43
1324
原创 【ITK库学习】使用itk库进行图像滤波ImageFilter:Voting滤波器
该滤波器通过对每个像素进行投票来实现标签融合的操作,每个像素的邻域中的每个像素都向指定的标签进行投票,投票最多的标签将成为该像素的最终标签。默认情况下,用于未确定像素的标签是输入图像中使用的最大标签值加一。此类是一个针对孔洞填充的特殊情况的子类,它首先进行一次基于投票的二值图像处理,然后基于结果的前景像素来填充孔洞。此类的输入图像的像素类型应当是可比较的,支持相应的运算符,输出图像的像素类型可以是任何整数标量类型。该类是一个像素级别的标签融合滤波器,它根据其邻域中的像素标签来融合给定像素的标签。
2023-12-08 14:33:42
1150
原创 【ITK库学习】使用itk库进行图像滤波ImageFilter:邻域滤波
领域滤波是一种信号处理方法,用于去除信号中的或信号,并保留感兴趣的信号。它基于信号在上的分布特性进行滤波处理。根据滤波器的设计原理:时域滤波、频域滤波。时域滤波:在时间域上对信号进行滤波处理,图像去噪可以使用:均值滤波、中值滤波、高斯滤波等。这些方法通过对信号在一段时间窗口内的采样点进行处理,平滑信号或去除异常值。频域滤波:在频率域上对信号进行滤波处理,常用方法有:傅里叶变换、离散余弦变换等。
2023-12-07 16:40:26
983
1
原创 【ITK库学习】使用itk库进行图像滤波ImageFilter:二阶微分
另外,请注意,itkRecursiveGaussianImageFilter 有 SetSigma(),itkDiscreteGaussianImageFilter 有 SetVariance()。它是包含itkRecursiveGaussianImageFiter的一个便捷的滤波器,可以简化它的使用。通过与高斯的二阶导数卷积来计算图像的拉普拉斯高斯 (LoG),该滤波器是使用递归高斯滤波器实现的。该类用于计算具有高斯核近似值的 IIR 卷积的基类。该类是递归滤波器的基类,它与高斯核近似卷积。
2023-12-07 14:23:52
1079
1
原创 【ITK库学习】使用itk库进行图像滤波ImageFilter:梯度Gradient
TOperatorValueType:定义导数运算符中使用的值类型(默认为浮点型),TOutputValueType定义用于输出图像的值类型(默认为浮点型), 输出图像被定义为协变矢量图像,其值类型被指定为第三个模板参数。注:梯度强度图像的动态范围往往比输入图像的动态范围小,必须注意选择用来输出图像的图像类型。的一个具体实现,用于计算图像的梯度的幅值,即对应每个像素位置处的梯度的长度。每个像素位置的方向导数是通过与用户指定阶数的导数运算符进行卷积来计算的。该类通过与高斯的一阶导数卷积来计算图像的梯度大小。
2023-12-06 13:34:27
730
1
原创 【ITK库学习】使用itk库进行图像滤波ImageFilter:非线性映射
其中:f(x):输出像素值,x:输入的像素值,Min和Max是输入图像最大最小值,alpha:输入亮度范围的宽度,beta:围绕在范围中心的亮度。该类是按像素计算sigmoid函数,是一个平滑、连续的非线性形式变换函数。注:α和β均可有正有负。
2023-12-05 16:00:15
490
原创 【ITK库学习】使用itk库进行图像滤波ImageFilter:亮度的线性映射
它是一个简单的像素值重映射滤波器,可以将像素值的范围从一个区间重映射到另一个区间。它的使用方法是使用SetWindowMinimum()和SetWindowMaximum()方法设置窗位和窗宽的范围,然后将输入图像作为输入参数传递给IntensityWindowingImageFilter的Update()方法,即可得到窗位窗宽调整后的输出图像。它对输入图像像素的强度值应用逐像素线性变换,线性变换由用户根据输出图像应具有的最小值和最大值来定义,会将图像的动态范围强制转换为合适于图像显示常见的一个特定范围。
2023-12-04 18:17:42
1245
原创 【ITK库学习】使用itk库进行图像分割(二):区域生长--连接ConnectedImageFilter
该过程将重复指定的迭代次数。该算法使用ReplaceValue标记连接到Seeds1且未连接到Seeds2的像素,当找到分离的被亮区域包围的两个暗区域的阈值时,给定下阈值,滤波器调整上阈值,直到两组种子不相连,该算法使用二进位搜索来调整上限阈值,从Upper开始。itkConnectedThresholdImageFilter:通过选择图像中的一个种子像素和一个上下阈值,该算法将与种子像素相连且像素值在阈值范围内的像素进行区域生长,也可以选择种子像素和图像中的像素值作为种子像素的标准差范围来进行区域生长。
2023-11-29 19:43:21
2004
1
原创 【ITK库学习】使用itk库进行图像分割(一):区域生长--阈值ThresholdImageFilter
与itkThresholdImageFilter相比较,itkBinaryThresholdImageFilter更适用于将图像根据两个阈值进行二值化处理,而itkThresholdImageFilter适用于将图像中符合条件的像素值映射为特定的数值。输出的图像像素只有两个值:OutsideValue或者InsideValue,具体取决于相应的输入图像像素是否位于高低阈值LowerThreshold和UpperThreshold之间,其中当像素值等于任一阈值时,被认为是在阈值之间。
2023-11-28 17:20:44
1278
原创 【ITK库学习】使用itk库对图像进行Binary与Gray形态学处理:膨胀、腐蚀
这在处理分段图像时很有用,其中分段#1中的所有像素都具有值1,分段#2中的像素具有值2等,可以处理特定的“分段号”。itkBinaryErodeImageFilter也是比较像素与其周围像素的值,但只有在邻域中的像素值全为1时,像素才会更新为1,否则更新为0,这有助于减小图像中的。itkGrayscaleErodeImageFilter是将图像中的每个像素点与其周围的像素进行比较,并将像素值更新为邻域中最小的像素值,这有助于消除图像中的。该类使用灰度形态学腐蚀图像,腐蚀取结构元素识别的所有像素中的最大值。
2023-11-22 15:59:09
1292
原创 【ITK库学习】使用itk库对图像进行Binary(二值)形态学处理:开操作、闭操作
每个维度的半径分别定义为邻域从中心像素向外延伸的像素数,例如,半径为 2x3 的 二维2D BinaryBallStructuringElement 对象的边长为 5x7。此类定义了一个 Neighborhood,其元素关闭或打开取决于它们是在半径与 Neighborhood半径匹配的椭球体外部还是内部,该类可用作形态图像过滤器的结构元素。假定结构元素由二进制值(0或1)组成,结构元素中只有值 > 0的元素才可以影响目标像素。该Filter的功能:用于去除图像内部或边界处的小(即小于结构元素)结构。
2023-11-21 16:47:15
302
原创 VS项目中调用VTK/ITK/DCMTK库
空间足够情况下,我习惯于将编译好的库都拷贝进项目,属性里配置相对路径,便于程序后期迁移或者拷贝至其他电脑。项目外部库,选择绝对路径,已经拷贝至项目中的,添加相对路径。windows平台, c++语言。,添加库的include文件夹。配置项目名称、存储路径等。
2023-11-17 15:38:31
261
原创 【DCMTK】使用DCMTK库读取多帧DICOM数据
日常应用中,经常会遇到读取单幅多帧的DICOM图像,如造影数据,但是VTK库不支持直接从单幅多帧的dcm文件中读取数据,因此常用DCMTK库读取多帧数据。
2023-11-10 17:27:12
1921
1
原创 【ITK类学习】使用itk读取DICOM数据序列
然后,在编写代码时,可以通过包含 “itkGDCMImageIO.h” 头文件来使用 itkGDCMImageIO 类,使用它的成员函数来读取和写入 DICOM 格式的图像数据。总的来说,GetInputFileNames() 函数用于获取单个文件的名称,而 GetFileNames() 函数用于获取整个 DICOM 系列的所有文件的名称。该类支持读取多种格式的图像文件,例如 DICOM、TIFF、NIFTI 等,读取的文件之间的格式可能有所不同,但图像数据的size必须相同。读取成功后,可以通过。
2023-11-09 16:51:49
1068
原创 linux下使用makeself.sh脚本打包软件
是一个用于Unix系统的自解压归档工具。是一个shell小型脚本,本身只用于从文件目录创建打包文件,生成的打包文件实际上是一个压缩的TAR文件(使用gzip,bzip2或compress),生成的shell脚本文件通常以.run为后缀,可直接运行。打包后文件前面有一个小的shell脚本头,主要用于负责执行所有的步骤,包括解压文件、运行嵌入的命令,及完成后删除临时文件。
2023-11-02 16:46:46
453
原创 【ubuntu】常用命令行记录.持续更新...
sudo tar -zcvf [生成后存放目录】/ [压缩包文件名.tar.gz][要压缩的源文件/文件夹]sudo tar -jcvf [生成后存放目录]/ [压缩包文件名.tar.gz][要压缩的源文件/文件夹]-z: 表示zip,使用gzip、gunzip方式压缩或解压,.tar.gz和.tgz文件。sudo tar -jxvf [压缩包文件名.tar.bz2] -C [路径]/sudo tar -zxvf [压缩包.tar.gz】 -C 【路径】/sudo cp [文件名] [新路径]
2023-11-01 17:36:52
50
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人