tomopy.sim.project
¶
用于模拟X射线的模块。
Functions:
|
返回以弧度表示的均匀分布的投影角度。 |
|
通过给定的3D对象投射x射线。 |
|
将扇束数据转换为平行束数据。 |
|
将平行束数据转换为扇束数据。 |
|
添加高斯噪波。 |
|
添加泊松噪波。 |
|
添加盐和胡椒噪波。 |
|
添加焦点模糊。 |
- tomopy.sim.project.add_drift(tomo, amp=0.2, period=50, mean=1)[源代码]¶
添加照明漂移。
照明漂移是由物体旋转时的光束不稳定性引起的。
这种漂移是用正弦曲线模拟的。这改变了沿旋转维度的照明。垂直尺寸是恒定的。
- 参数:
tomo ( ndarray )--3D断层扫描数据。
amp ( float )-漂移的幅度。
period ( float )--漂移的周期。
- 返回:
ndarray --添加了Zingers的断层扫描数据。
- tomopy.sim.project.add_focal_spot_blur(tomo, spotsize)[源代码]¶
添加焦点模糊。
警告
尚未实施。
- 参数:
tomo ( ndarray )--3D断层扫描数据。
spotsize ( float )--圆形X射线源的焦点大小。
- tomopy.sim.project.add_gaussian(tomo, mean=0, std=None)[源代码]¶
添加高斯噪波。
- 参数:
tomo ( ndarray )--3D断层扫描数据。
mean ( float, optional )--高斯分布的平均值。
std ( float, optional )--高斯分布的标准差。
- 返回:
ndarray --添加高斯噪声后的三维层析数据。
- tomopy.sim.project.add_poisson(tomo)[源代码]¶
添加泊松噪波。
- 参数:
tomo ( ndarray )--3D断层扫描数据。
- 返回:
ndarray --添加泊松噪声后的三维层析数据。
- tomopy.sim.project.add_rings(tomo, std=0.05)[源代码]¶
添加戒指。
光环是由探测器上像素敏感度不一致引起的。
像素的灵敏度被建模为正态分布,平均灵敏度为1,并给出了标准差。
- 参数:
tomo ( ndarray )--3D断层扫描数据。
std ( float )--像素灵敏度的标准差
- 返回:
ndarray --添加了Zingers的断层扫描数据。
- tomopy.sim.project.add_salt_pepper(tomo, prob=0.01, val=None)[源代码]¶
添加盐和胡椒噪波。
- 参数:
tomo ( ndarray )--3D断层扫描数据。
prob ( float, optional )-像素的每个元素可能被盐和胡椒型噪声破坏的独立概率。
val ( float, optional )--要分配给损坏像素的值。
- 返回:
ndarray -添加盐和胡椒噪声后的三维层析数据。
- tomopy.sim.project.add_zingers(tomo, f=0.01, sat=65536)[源代码]¶
加入激动人心的声音。
抖动是由杂散X射线击中探测器并导致像素饱和引起的。
Zinger以给定的频率均匀地分布在数据集上。
- 参数:
tomo ( ndarray )--3D断层扫描数据。
f ( float )--属于Zinger的测量值的比例。
sat ( float )--像素饱和值。
- 返回:
ndarray --添加了Zingers的断层扫描数据。
- tomopy.sim.project.angles(nang, ang1=0.0, ang2=180.0)[源代码]¶
返回以弧度表示的均匀分布的投影角度。
- 参数:
nang ( int, optional )--投影数。
ang1 ( float, optional )--以度为单位的第一个投影角度。
ang2 ( float, optional )--最后一个投影角度,以度为单位。
- 返回:
array --投影角度
- tomopy.sim.project.fan_to_para(tomo, dist, geom)[源代码]¶
将扇束数据转换为平行束数据。
警告
尚未实施。
- 参数:
tomo ( ndarray )--3D断层扫描数据。
dist ( float )--扇束顶点到旋转中心的距离。
geom ( str )-扇形光束几何图形。“圆弧”或“直线”。
- 返回:
ndarray --转换后的三维层析数据。
- tomopy.sim.project.para_to_fan(tomo, dist, geom)[源代码]¶
将平行束数据转换为扇束数据。
警告
尚未实施。
- 参数:
tomo ( ndarray )--3D断层扫描数据。
dist ( float )--扇束顶点到旋转中心的距离。
geom ( str )-扇形光束几何图形。“圆弧”或“直线”。
- 返回:
ndarray --转换后的三维层析数据。
- tomopy.sim.project.project(obj, theta, center=None, emission=True, pad=True, sinogram_order=False, ncore=None, nchunk=None)[源代码]¶
通过给定的3D对象投射x射线。
- 参数:
obj ( ndarray )--体素化的3D对象。
theta ( array )--以弧度为单位的投影角度。
center ( array, optional )--旋转轴的位置。
emission ( bool, optional )--确定输出数据是发射类型还是传输类型。
pad ( bool, optional )--确定是否填充投影图像宽度。如果为True,则对象横截面的对角长度将用于投影图像宽度的输出大小。
sinogram_order ( bool, optional )--确定输出数据是正弦图形堆栈(True,y轴第一轴)还是射线照片堆栈(False,theta第一轴)。
ncore ( int, optional )--将分配给作业的核心数量。
nchunk ( int, optional )--每个核心的区块大小。
- 返回:
ndarray --三维断层扫描数据。
- tomopy.sim.project.project2(objx, objy, theta, center=None, emission=True, pad=True, sinogram_order=False, axis=0, ncore=None, nchunk=None)[源代码]¶
通过给定的3D对象投射x射线。
- 参数:
objx ( ndarray )-体素化3D对象的向量的(x,y)分量。
theta ( array )--以弧度为单位的投影角度。
center ( array, optional )--旋转轴的位置。
emission ( bool, optional )--确定输出数据是发射类型还是传输类型。
pad ( bool, optional )--确定是否填充投影图像宽度。如果为True,则对象横截面的对角长度将用于投影图像宽度的输出大小。
sinogram_order ( bool, optional )--确定输出数据是正弦图形堆栈(True,y轴第一轴)还是射线照片堆栈(False,theta第一轴)。
ncore ( int, optional )--将分配给作业的核心数量。
nchunk ( int, optional )--每个核心的区块大小。
- 返回:
ndarray --三维断层扫描数据。
- tomopy.sim.project.project3(objx, objy, objz, theta, center=None, emission=True, pad=True, sinogram_order=False, axis=0, ncore=None, nchunk=None)[源代码]¶
通过给定的3D对象投射x射线。
- 参数:
objx ( ndarray )-体素化3D对象的向量的(x,y)分量。
theta ( array )--以弧度为单位的投影角度。
center ( array, optional )--旋转轴的位置。
emission ( bool, optional )--确定输出数据是发射类型还是传输类型。
pad ( bool, optional )--确定是否填充投影图像宽度。如果为True,则对象横截面的对角长度将用于投影图像宽度的输出大小。
sinogram_order ( bool, optional )--确定输出数据是正弦图形堆栈(True,y轴第一轴)还是射线照片堆栈(False,theta第一轴)。
ncore ( int, optional )--将分配给作业的核心数量。
nchunk ( int, optional )--每个核心的区块大小。
- 返回:
ndarray --三维断层扫描数据。