tomopy.prep.alignment
¶
Functions:
|
使用顺序重新投影算法对齐投影图像堆栈 [B9] 。 |
|
使用联合重新投影算法对齐投影图像堆栈 [B9] 。 |
|
模拟投影图像中的抖动。 |
|
将均值为零的高斯噪声与给定的标准差相加,作为数据中最大值的比率。 |
|
模糊投影图像的边缘。 |
|
水平和垂直方向上给定的一组移位值的移位投影图像。 |
|
在-1到1之间的范围内线性缩放投影图像。 |
|
使对象与旋转轴成给定角度倾斜。 |
|
使用多项式模型对投影应用失真校正。 |
|
使用所述多项式模型生成3D层析数据的未扭曲正弦图。 |
- tomopy.prep.alignment.add_jitter(prj, low=0, high=1)[源代码]¶
模拟投影图像中的抖动。抖动是通过在半开区间[低、高]上从均匀分布中随机抽取样本来模拟的。
- 参数:
prj ( ndarray )--投影图像的3D堆叠。第一维是投影轴,第二和第三维分别是投影图像的x轴和y轴。
low ( float, optional )--输出区间的下限。生成的所有值都将大于或等于下限。默认值为0。
high ( float )--输出区间的上界。所有生成的值都将小于高值。默认值为1.0。
- 返回:
ndarray --具有抖动的3D投影图像堆叠。
- tomopy.prep.alignment.add_noise(prj, ratio=0.05)[源代码]¶
将均值为零的高斯噪声与给定的标准差相加,作为数据中最大值的比率。
- 参数:
prj ( ndarray )--投影图像的3D堆叠。第一维是投影轴,第二和第三维分别是投影图像的x轴和y轴。
ratio ( float, optional )--高斯噪声分布的标准差与数据中最大值的比率。
- 返回:
ndarray --添加了高斯噪声的3D投影图像堆叠。
- tomopy.prep.alignment.align_joint(prj, ang, fdir='./', iters=10, pad=(0, 0), blur=True, center=None, algorithm='sirt', upsample_factor=10, rin=0.5, rout=0.8, save=False, debug=True)[源代码]¶
使用联合重新投影算法对齐投影图像堆栈 [B9] 。
- 参数:
prj ( ndarray )--投影图像的3D堆叠。第一维是投影轴,第二和第三维分别是投影图像的x轴和y轴。
ang ( ndarray )--以弧度为单位的投影角度数组。
iters ( scalar, optional )--算法的迭代次数。
pad ( list-like, optional )--x轴和y轴投影图像的填充。
blur ( bool, optional )--在配准之前模糊图像的边缘。
center ( array, optional )--旋转轴的位置。
algorithm ( {str, function} )--以下字符串值之一。
upsample_factor ( integer, optional )--上采样系数。配准精度与上采样因子成反比。
rin ( scalar, optional )--模糊函数的内径。RING内的像素设置为1。
rout ( scalar, optional )--模糊函数的外半径。布线外的像素设置为零。
save ( bool, optional )--为每次算法迭代保存投影和相应的重建。
debug ( book, optional )--提供迭代和错误等调试信息。
- 返回:
ndarray --具有抖动的3D投影图像堆叠。
ndarray --每次迭代的错误数组。
- tomopy.prep.alignment.align_seq(prj, ang, fdir='.', iters=10, pad=(0, 0), blur=True, center=None, algorithm='sirt', upsample_factor=10, rin=0.5, rout=0.8, save=False, debug=True)[源代码]¶
使用顺序重新投影算法对齐投影图像堆栈 [B9] 。
- 参数:
prj ( ndarray )--投影图像的3D堆叠。第一维是投影轴,第二和第三维分别是投影图像的x轴和y轴。
ang ( ndarray )--以弧度为单位的投影角度数组。
iters ( scalar, optional )--算法的迭代次数。
pad ( list-like, optional )--x轴和y轴投影图像的填充。
blur ( bool, optional )--在配准之前模糊图像的边缘。
center ( array, optional )--旋转轴的位置。
algorithm ( {str, function} )--以下字符串值之一。
upsample_factor ( integer, optional )--上采样系数。配准精度与上采样因子成反比。
rin ( scalar, optional )--模糊函数的内径。RING内的像素设置为1。
rout ( scalar, optional )--模糊函数的外半径。布线外的像素设置为零。
save ( bool, optional )--为每次算法迭代保存投影和相应的重建。
debug ( book, optional )--提供迭代和错误等调试信息。
- 返回:
ndarray --具有抖动的3D投影图像堆叠。
ndarray --每次迭代的错误数组。
- tomopy.prep.alignment.blur_edges(prj, low=0, high=0.8)[源代码]¶
模糊投影图像的边缘。
- 参数:
prj ( ndarray )--投影图像的3D堆叠。第一维是投影轴,第二和第三维分别是投影图像的x轴和y轴。
low ( scalar, optional )--模糊帧与图像大小的最小比率。
high ( scalar, optional )--模糊帧与图像大小的最大比率。
- 返回:
ndarray --边缘模糊的3D投影图像堆叠。
- tomopy.prep.alignment.calc_slit_box_aps_1id(slit_box_corners, inclip=(1, 10, 1, 10))[源代码]¶
根据给定的滑动角计算剪贴框。
- 参数:
slit_box_corners ( np.ndarray )--缝隙框的四角为4x2矩阵
inclip ( tuple, optional )--额外的剪裁以避免剪裁人工制品
- 返回:
Tuple --将索引剪裁为四个元组(clipFromTop、clipToBottom、clipFromLeft、clipToRight)
- tomopy.prep.alignment.distortion_correction_proj(tomo, xcenter, ycenter, list_fact, ncore=None, nchunk=None)[源代码]¶
使用多项式模型对投影应用失真校正。使用Vounwarp程序包计算系数 [B27] 。
在 1.7 版本加入.
- 参数:
tomo ( ndarray )--3D断层扫描数据。
xcenter ( float )--x方向的变形中心。从图像的左侧开始。
ycenter ( float )--y方向的变形中心。从图像的顶部开始。
list_fact ( list of floats )--反向模型的多项式系数。
ncore ( int, optional )--将分配给作业的核心数量。
nchunk ( int, optional )--每个核心的区块大小。
- 返回:
ndarray --修正了3D断层扫描数据。
- tomopy.prep.alignment.distortion_correction_sino(tomo, ind, xcenter, ycenter, list_fact)[源代码]¶
使用所述多项式模型生成3D层析数据的未扭曲正弦图。使用Vounwarp程序包计算系数 [B27] 。
在 1.7 版本加入.
- 参数:
tomo ( ndarray )--3D断层扫描数据。
ind ( int )--未扭曲正弦图的索引。
xcenter ( float )--x方向的变形中心。从图像的左侧开始。
ycenter ( float )--y方向的变形中心。从图像的顶部开始。
list_fact ( list of floats )--反向模型的多项式系数。
- 返回:
2D array --修正了正弦图。
- tomopy.prep.alignment.find_slits_corners_aps_1id(img, method='quadrant+', medfilt2_kernel_size=3, medfilt_kernel_size=23)[源代码]¶
通过四个角自动定位缝隙框的位置。
注:形成结合盒的四个狭缝是APS_1id的电流设置,它减少了探测器上的照明区域。由于狭缝是静止的,它们可以作为检查探测器在扫描过程中漂移的参考。从技术上讲,四个狭缝应该用来寻找变换矩阵(不一定是仿射的)来校正图像。然而,由于我们处理的是失真非常小的2D图像,所以使用仿射变换矩阵进行逼近。因此,使用了“四个角”而不是所有四个狭缝。
- 参数:
img ( np.ndarray )--2D图像
method ( str, ['simple', 'quadrant', 'quadrant+'], optional )-
- 一种自动检测狭缝拐角的方法
- 简单::假设为矩形狭缝框,速度较快,但精度较低
(1像素精度)
- 象限::将图像细分为四个象限,然后使用
找到角点的显式方法(1像素精度)
- 象限+::类似于象限,但使用curve_fit(Gauss1d)
查找拐角(0.1像素精度)
medfilt2_kernel_size ( int, optional )--用于降噪的2D中值滤波核大小
medfilt_kernel_size ( int, optional )--用于降噪的一维中值滤波核大小
- 返回:
tuple --自动检测狭缝拐角(逆时针顺序)(左上角、左下角、右下角、右上角)
- tomopy.prep.alignment.load_distortion_coefs(file_path)[源代码]¶
从文本文件加载失真系数。文本文件中信息的顺序:xcenter ycenter factor0 factor1 factor2.
- 参数:
file_path ( Path to the file. )
- 返回:
Tuple of (xcenter, ycenter, list_fact).
- tomopy.prep.alignment.remove_slits_aps_1id(imgstacks, slit_box_corners, inclip=(1, 10, 1, 10))[源代码]¶
去除静止图像中的缝隙
- 参数:
imgstacks ( np.ndarray )--断层图像堆栈(AXIS_0是Oemga方向)
slit_box_corners ( np.ndarray )--开口盒的四个角
inclip ( tuple, optional )--额外的剪裁以避免剪裁人工制品
- 返回:
np.ndarray --断层图像堆叠,没有狭缝外的区域