用于cryoEM数据的通用Python类型和验证器。
项目描述
cryotypes
cryotypes
定义了一组简单、可扩展的数据结构,用于cryoEM数据的基本类型及其相关元数据
PoseSet
:一组粒子姿态,兼容2D和3D数据ProjectionModel
:一组投影模型(倾斜系列对齐)的参数Tomogram
:一个3D图像Micrograph
:一个2D图像
每个cryotype定义了一个experiment_id
属性,它被用作单个实验的唯一标识符。这可以用于,例如,将粒子与正确的倾斜系列和断层扫描相匹配。
图像
一个Image
是一个数据类,它包含一个简单的数据数组和一些元数据。
图像字段
字段 | 语义 |
---|---|
data |
图像数据(ZYX排序) |
experiment_id |
微图/倾斜系列的标识符 |
pixel_spacing |
各向同性的像素/体素间距 |
source |
此数据的源文件 |
stack |
数据是否代表一组2D图像 |
PoseSet
PoseSet
是一个数据类,包含一些字段,描述了一组粒子的位置、方向等。它可以用于2D和3D粒子的姿态。
PoseSet字段
字段 | 语义 |
---|---|
position |
粒子位置(x,y,z)以像素为单位 |
shift |
粒子位移(x,y,z)以像素为单位 |
orientation |
粒子方向 |
experiment_id |
微图/倾斜系列的标识符 |
pixel_spacing |
粒子位置各向同性的像素/体素间距 |
source |
此数据的源文件 |
位置
粒子位置是2D或3D图像中的坐标(对于2D,z被简单地设置为0)。第一个像素的中心被假定为原点 (0, 0, 0)
,粒子位置的单位是像素。
位移
粒子偏移以图像像素为单位,并添加到位置中,因此位置 + 偏移
是粒子在断层扫描中的位置。
取向
粒子取向存储为scipy.spatial.transform.Rotation
对象。这些转换应旋转参考的基础向量(按顺序xyz),使其在断层扫描中正确取向。
注意:这会产生旋转的基础向量顺序xyz,而图像中的维度通常是zyx!
投影模型
ProjectionModel
是一个具有投影模型参数特定列标题的pandas DataFrame
。这些信息共同构成“倾斜系列对齐”。
标题 | Python名称 | 语义 |
---|---|---|
rotation_x |
ROTATION_X | 样品围绕x轴的旋转 |
rotation_y |
ROTATION_Y | 样品围绕y轴的旋转 |
rotation_z |
ROTATION_Z | 样品围绕z轴的旋转 |
dx |
SHIFT_X | 样品在相机平面x维度的位移 |
dy |
SHIFT_Y | 粒子在相机平面y维度的位移 |
experiment_id |
EXPERIMENT_ID | 微图/倾斜系列的标识符 |
pixel_spacing |
PIXEL_SPACING | 位移的各向同性像素/体素间距 |
source |
SOURCE | 数据来源文件的引用 |
在显微镜参考系中,z轴是光束方向。通过rotation_x
、rotation_y
、rotation_z
在x轴、y轴、然后z轴上对外部旋转断层扫描,随后沿z轴(光束方向)投影,然后通过dx
和dy
在相机平面中移动2D图像,产生实验投影图像。
还提供了一个实用函数,用于从这些数据生成投影矩阵。这些投影矩阵可以用来从断层扫描中的3D位置计算倾斜图像中的2D位置。
from cryotypes.projectionmodel import projection_model_to_projection_matrices
projection_matrices = projection_model_to_projection_matrices(
df=projection_model, # ProjectionModel dataframe
tilt_image_center=(1919, 1355), # tilt-image rotation center (xy)
tomogram_dimensions=(3838, 3710, 2000) # dimensions of tomogram (xyz)
)
注意:这些投影矩阵仅适用于此函数中提供的维度断层扫描中的位置,并且必须为不同的断层扫描维度重新计算。
断层扫描
Tomogram
是一个遵循特定python Protocol
的断层扫描数据对象。协议指定以下属性
data
:一个类似数组的3D图像(numpy
、dask
等)experiment_id
:实验标识符pixel_spacing
:各向同性像素/体素间距
项目详细信息
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分布
构建分布
cryotypes-0.2.0.tar.gz的散列值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f793daa00d1ace96ac60dc38072b189aba1d737351b89de2ba5475c26f74a213 |
|
MD5 | 8ae1fa051082b21b33e14b72267d55d6 |
|
BLAKE2b-256 | 80e2ff4c9c9f165023ad8f3df18987cf3dfebaf1841baa46e9abd1af72a9f23b |
cryotypes-0.2.0-py2.py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2fc3896437e5f7c0a1a87bc7799df86d56df07e3b652d6a087d99a9445a104d8 |
|
MD5 | 3c145be86a2f246c279b115f8570ec8f |
|
BLAKE2b-256 | 3ced105d851629561f1d1b109d1d73bddc549caa00e90f1b836fb509cc82cb35 |