Skip to content
Snippets Groups Projects
Commit f1aaf509 authored by Simon Wittl's avatar Simon Wittl
Browse files

added extract projection geometry

parent 5e9350bf
No related branches found
No related tags found
No related merge requests found
[project]
name = "h5schemas"
version = "0.1.18"
version = "0.1.19"
description = "Add your description here"
readme = "README.md"
authors = [
......
from h5schemas.load_utilities.vectors import CommonVectors, extract_vector
from h5py import Group
import numpy as np
from typing import NamedTuple
class ProjectionGeometry(NamedTuple):
detector_center_position_mm: np.ndarray
detector_center_orientation_quat: np.ndarray
focal_spot_position_mm: np.ndarray
focal_spot_orientation_quat: np.ndarray
uuid: np.ndarray
timestamp: np.ndarray
def extract_projection_geometry(h5_group: Group, indices: slice) -> ProjectionGeometry:
detector_center_position_mm = extract_vector(h5_group['detector_center_position_mm'], indices, CommonVectors.XYZ)
detector_center_orientation_quat = extract_vector(h5_group['detector_center_orientation_quat'], indices, CommonVectors.QUAT)
focal_spot_position_mm = extract_vector(h5_group['focal_spot_position_mm'], indices, CommonVectors.XYZ)
focal_spot_orientation_quat = extract_vector(h5_group['focal_spot_orientation_quat'], indices, CommonVectors.QUAT)
uuid = h5_group['header']['uuid'][indices]
timestamp = h5_group['header']['timestamp'][indices]
return ProjectionGeometry(detector_center_position_mm, detector_center_orientation_quat, focal_spot_position_mm, focal_spot_orientation_quat, uuid, timestamp)
if __name__ == '__main__':
from h5py import File
test_file = File("./examples/projection_geometry.h5", "r")
proj_geom = extract_projection_geometry(test_file, slice(2))
print(proj_geom)
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment