tomopy.misc.corr
¶
用于数据校正和屏蔽功能的模块。
Functions:
|
更改数组中的值的动态范围。 |
|
将圆形蒙版应用于3D阵列。 |
|
沿指定的轴向对3D阵列应用高斯滤波。 |
|
沿指定轴向3D阵列应用中值滤波。 |
|
在GPU支持下,沿0轴对3D阵列应用中值滤波。 |
|
使用在位2D中值过滤器从3D数组中删除非限定值。 |
|
将Sobel滤镜应用于沿指定轴的3D数组。 |
|
将数组中的NaN值替换为给定值。 |
|
将数组中的负值替换为给定值。 |
|
通过沿指定维度分块并沿其他维度执行(N-1)维中值滤波,从N维数组中去除高强度亮点。 |
|
使用GPU从3D阵列中沿轴0维去除高强度亮点。 |
|
从重建的域中的图像中去除环形伪影。 |
- tomopy.misc.corr.adjust_range(arr, dmin=None, dmax=None)[源代码]¶
更改数组中的值的动态范围。
- 参数:
arr ( ndarray )--输入数组。
dmin, dmax ( float, optional )--要重新调整数据比例的最小值和最大值。
- 返回:
ndarray --输出数组。
- tomopy.misc.corr.circ_mask(arr, axis, ratio=1, val=0.0, ncore=None)[源代码]¶
将圆形蒙版应用于3D阵列。
- 参数:
arr ( ndarray )--任意3D数组。
axis ( int )--将沿其执行遮罩的轴。
ratio ( int, optional )--蒙版直径(以像素为单位)与沿给定轴的最小边缘大小之比。
val ( int, optional )--遮罩区域的值。
- 返回:
ndarray --掩码数组。
- tomopy.misc.corr.enhance_projs_aps_1id(imgstack, median_ks=5, ncore=None)[源代码]¶
对APS 1ID采集的弱对比度投影图像进行增强
该滤波器使用中值滤光器(将来将改用增强型递归中值滤光器,ERMF)进行去噪,并使用直方图均衡化进行动态范围调整以显示细节。
- 参数:
imgstack ( np.ndarray )--断层图像堆栈(AXIS_0是Oemga方向)
median_ks ( int, optional )--用于局部噪声抑制的2D中值滤波核大小
ncore ( int, optional )--用于加速的核心数量
- 返回:
ndarray --3D增强图像堆栈。
- tomopy.misc.corr.gaussian_filter(arr, sigma=3, order=0, axis=0, ncore=None)[源代码]¶
沿指定的轴向对3D阵列应用高斯滤波。
- 参数:
arr ( ndarray )--输入数组。
sigma ( scalar or sequence of scalars )--高斯核的标准差。对于每个轴,高斯过滤器的标准偏差以序列或单个数字的形式给出,在这种情况下,所有轴的标准偏差都是相等的。
order ( {0, 1, 2, 3} or sequence from same set, optional )--过滤器沿每个轴的顺序以整数序列或单个数字的形式给出。阶数为0对应于高斯核的卷积。1、2或3的阶数对应于与高斯的一阶、二阶或三阶导数的卷积。不实现更高阶导数
axis ( int, optional )--沿其执行中值滤波的轴。
ncore ( int, optional )--将分配给作业的核心数量。
- 返回:
ndarray --与输入形状相同的3D数组。
- tomopy.misc.corr.inpainter_morph(arr, mask, size=5, iterations=2, inpainting_type='random', axis=None, ncore=None)[源代码]¶
使用提供的遮罩(布尔值)将3D或2D形态内插器(外推器)应用到给定的缺失数据数组。文中给出了该算法的实现方法 [B10] 。
如果应用于3D层析数据,则可以通过在下面的参数列表中指定轴来使用应用于正弦图的2D模块。或者,可以使用具有对称3D内核(AXIS=NONE)的3D模块。对于3D数据,更推荐使用后者,因为它可以确保在每个方向上的强度过渡更加平滑。
在 1.15 版本加入.
- 参数:
arr ( ndarray )--输入具有缺失数据的Float32数据类型的3D或2D数组。
mask ( ndarray, bool )--与arr相同大小的布尔掩码数组。蒙版中的True值指示需要内嵌的区域。
size ( int, optional )--搜索窗口(内核)的大小。
iterations ( int, optional )--在内画区域被完全处理后的算法迭代。较大的数字通常会导致区域过度平滑,我们建议使用2。
inpainting_type ( str, optional )--修复技术的类型。在“平均值”、“中位数”或“随机”邻居选择之间进行选择。我们建议使用“随机”来最大限度地减少彩绘区域内强度的“溢出”。
axis ( int, optional )--沿该轴拆分数据,并在其余维度中执行修复。如果设置为 None 然后启用3D修复,建议用于3D数据。如果2D修复用于3D数据,则最好将其应用于正弦图形空间。
ncore ( int, optional )--将分配给作业的核心数量。如果未指定,将使用所有核心。
- 返回:
ndarray --Float32数据类型的内画数组。
- 抛出:
ValueError -- 如果输入数组不是Float32。如果输入掩码数组不是布尔的。如果修复类型不是“均值”、“中位数”或“随机数”。如果AXIS是2D输入数据的整数。如果轴超出了可接受的范围。
- tomopy.misc.corr.median_filter(arr, size=3, axis=0, ncore=None)[源代码]¶
沿指定轴向3D阵列应用中值滤波。
- 参数:
arr ( ndarray )--输入数组。
size ( int, optional )--过滤器的大小。
axis ( int, optional )--沿其执行中值滤波的轴。
ncore ( int, optional )--将分配给作业的核心数量。
- 返回:
ndarray --中值滤波3D阵列。
- tomopy.misc.corr.median_filter3d(arr, size=3, ncore=None)[源代码]¶
将三维中值滤波应用于三维阵列。
在 1.13 版本加入.
- 参数:
arr ( ndarray )--输入3维数组,数据类型为Float32或uint16。
size ( int, optional )--过滤器内核的大小。
ncore ( int, optional )--将分配给作业的核心数量。如果未指定,将使用所有核心。
- 返回:
ndarray --中值滤波3D数组,数据类型为Float32或uint16。
- 抛出:
ValueError -- 如果输入数组不是三维的。
- tomopy.misc.corr.median_filter_cuda(arr, size=3, axis=0)[源代码]¶
在GPU支持下,沿0轴对3D阵列应用中值滤波。WinAllow适用于A6000,Tian X支持3到8
- 参数:
arr ( ndarray )--输入数组。
size ( int, optional )--过滤器的大小。
axis ( int, optional )--沿其执行中值滤波的轴。
- 返回:
ndarray --中值滤波3D阵列。
示例
导入Tomocuda Tomocuda.Remove_Outlier_Cuda(arr,dif,5)
有关安装和使用Tomocuda的更多信息,请访问https://github.com/kyuepublic/tomocuda获取更多信息
- tomopy.misc.corr.median_filter_nonfinite(arr, size=3, callback=None)[源代码]¶
使用在位2D中值过滤器从3D数组中删除非限定值。
沿阵列的最后两个轴应用2D选择性中值滤波。
在 1.11 版本加入.
- 参数:
arr ( ndarray )--其中包含非限定值的3D数组。
size ( int, optional )--过滤器的大小。
callback ( func(total, description, unit) )--在每次内部循环迭代之后调用的函数。Total是循环迭代的次数。描述为“非有限中值滤波”。单位为‘prjs’。
- 返回:
ndarray --基于核大小定义的局部中值,删除了所有非限定值的校正3D数组。
- 抛出:
ValueError -- 如果筛选器遇到只包含非限定值的内核,则会引发ValueError,以便用户增加其内核大小。
- tomopy.misc.corr.remove_nan(arr, val=0.0, ncore=None)[源代码]¶
将数组中的NaN值替换为给定值。
- 参数:
arr ( ndarray )--输入数组。
val ( float, optional )--要替换为数组中的NaN值的值。
ncore ( int, optional )--将分配给作业的核心数量。
- 返回:
ndarray --已更正数组。
- tomopy.misc.corr.remove_neg(arr, val=0.0, ncore=None)[源代码]¶
将数组中的负值替换为给定值。
- 参数:
arr ( ndarray )--输入数组。
val ( float, optional )--数组中要替换为负值的值。
ncore ( int, optional )--将分配给作业的核心数量。
- 返回:
ndarray --已更正数组。
- tomopy.misc.corr.remove_outlier(arr, dif, size=3, axis=0, ncore=None, out=None)[源代码]¶
通过沿指定维度分块并沿其他维度执行(N-1)维中值滤波,从N维数组中去除高强度亮点。
- 参数:
arr ( ndarray )--输入数组。
dif ( float )--离群值与数组的中值之间的预期差值。
size ( int )--中值过滤器的大小。
axis ( int, optional )--要沿其分块的轴。
ncore ( int, optional )--将分配给作业的核心数量。
out ( ndarray, optional )--结果的输出数组。如果与ARR相同,则流程将就地完成。
- 返回:
ndarray --已更正数组。
- tomopy.misc.corr.remove_outlier1d(arr, dif, size=3, axis=0, ncore=None, out=None)[源代码]¶
使用沿指定轴的一维中值滤波,从阵列中去除高强度亮点。
- 参数:
arr ( ndarray )--输入数组。
dif ( float )--离群值与数组的中值之间的预期差值。
size ( int )--中值过滤器的大小。
axis ( int, optional )--沿其执行中值滤波的轴。
ncore ( int, optional )--将分配给作业的核心数量。
out ( ndarray, optional )--结果的输出数组。如果与ARR相同,则流程将就地完成。
- 返回:
ndarray --已更正数组。
- tomopy.misc.corr.remove_outlier3d(arr, dif, size=3, ncore=None)[源代码]¶
有选择地将3D中值滤波应用于3D数组,以去除离群值。也被称为脱锌剂。
在 1.13 版本加入.
- 参数:
arr ( ndarray )--输入3维数组,数据类型为Float32或uint16。
dif ( float )--离群值与数组的中值之间的预期差值。
size ( int, optional )--过滤器内核的大小。
ncore ( int, optional )--将分配给作业的核心数量。如果未指定,将使用所有核心。
- 返回:
ndarray --DZINGED 3D数组,数据类型为Float32或uint16。
- 抛出:
ValueError -- 如果输入数组不是三维的。
- tomopy.misc.corr.remove_outlier_cuda(arr, dif, size=3, axis=0)[源代码]¶
使用GPU从3D阵列中沿轴0维去除高强度亮点。
- 参数:
arr ( ndarray )--输入数组。
dif ( float )--离群值与数组的中值之间的预期差值。
size ( int )--中值过滤器的大小。
axis ( int, optional )--沿其执行异常值消除的轴。
- 返回:
ndarray --已更正数组。
示例
>>> import tomocuda >>> tomocuda.remove_outlier_cuda(arr, dif, 5)
有关安装和使用Tomocuda的更多信息,请访问https://github.com/kyuepublic/tomocuda获取更多信息
- tomopy.misc.corr.remove_ring(rec, center_x=None, center_y=None, thresh=300.0, thresh_max=300.0, thresh_min=-100.0, theta_min=30, rwidth=30, int_mode='WRAP', ncore=None, nchunk=None, out=None)[源代码]¶
从重建的域中的图像中去除环形伪影。对参数的描述需要更加明确。
- 参数:
arr ( ndarray )--重建数据数组
center_x ( float, optional )--旋转中心的横坐标位置
center_y ( float, optional )--旋转中心的坐标位置
thresh ( float, optional )--环形伪影导致的偏移量的最大值
thresh_max ( float, optional )--要过滤的图像部分的最大值
thresh_min ( float, optional )--映像到文件服务器的部分的最小值
theta_min ( int, optional )--大于该角度(度)两倍的特征将被视为环形伪像。温度必须低于180度。
rwidth ( int, optional )--要过滤的环的最大宽度(以像素为单位
int_mode ( str, optional )--‘WRAP’用于0度和360度的环绕,‘Reflect’用于0度和180度的反射边界。
ncore ( int, optional )--将分配给作业的核心数量。
nchunk ( int, optional )--每个核心的区块大小。
out ( ndarray, optional )--结果的输出数组。如果与ARR相同,则流程将就地完成。
- 返回:
ndarray --修正后的重建数据