[ PROMPT_NODE_26916 ]
数据访问与检索
[ SKILL_DOCUMENTATION ]
# 数据访问与检索
本参考指南涵盖了导航 OMERO 的层级数据结构以及检索对象的相关内容。
## OMERO 数据层级
### 标准层级
Project (项目)
└─ Dataset (数据集)
└─ Image (图像)
### 筛选层级
Screen (筛选)
└─ Plate (板)
└─ Well (孔)
└─ WellSample (孔样本)
└─ Image (图像)
## 列出对象
### 列出项目
python
# 列出当前用户的所有项目
for project in conn.listProjects():
print(f"项目: {project.getName()} (ID: {project.getId()})")
### 带过滤条件列出项目
python
# 获取当前用户和组
my_exp_id = conn.getUser().getId()
default_group_id = conn.getEventContext().groupId
# 带过滤器列出项目
for project in conn.getObjects("Project", opts={
'owner': my_exp_id, # 按所有者过滤
'group': default_group_id, # 按组过滤
'order_by': 'lower(obj.name)', # 按字母顺序排序
'limit': 10, # 结果限制
'offset': 0 # 分页偏移量
}):
print(f"项目: {project.getName()}")
### 列出数据集
python
# 列出所有数据集
for dataset in conn.getObjects("Dataset"):
print(f"数据集: {dataset.getName()} (ID: {dataset.getId()})")
# 列出孤立数据集(不属于任何项目)
for dataset in conn.getObjects("Dataset", opts={'orphaned': True}):
print(f"孤立数据集: {dataset.getName()}")
### 列出图像
python
# 列出所有图像
for image in conn.getObjects("Image"):
print(f"图像: {image.getName()} (ID: {image.getId()})")
# 列出特定数据集中的图像
dataset_id = 123
for image in conn.getObjects("Image", opts={'dataset': dataset_id}):
print(f"图像: {image.getName()}")
# 列出孤立图像
for image in conn.getObjects("Image", opts={'orphaned': True}):
print(f"孤立图像: {image.getName()}")
## 按 ID 检索对象
### 获取单个对象
python
# 按 ID 获取项目
project = conn.getObject("Project", project_id)
if project:
print(f"项目: {project.getName()}")
else:
print("未找到项目")
# 按 ID 获取数据集
dataset = conn.getObject("Dataset", dataset_id)
# 按 ID 获取图像
image = conn.getObject("Image", image_id)
### 按 ID 获取多个对象
python
# 一次获取多个项目
project_ids = [1, 2, 3, 4, 5]
projects = conn.getObjects("Project", project_ids)
for project in projects:
print(f"项目: {project.getName()}")
### 支持