diff --git a/pyproject.toml b/pyproject.toml
index 67a3a5c7777a88a741c3b7904db462bcb587d5ba..8e80d5a1cd354e0ad209349a93e470faa5da5d28 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [project]
 name = "h5schemas"
-version = "0.1.18"
+version = "0.1.19"
 description = "Add your description here"
 readme = "README.md"
 authors = [
diff --git a/src/h5schemas/load_utilities/projection_geometry.py b/src/h5schemas/load_utilities/projection_geometry.py
new file mode 100644
index 0000000000000000000000000000000000000000..f4598071b51e743970b5c10bbee279441c5e6c8a
--- /dev/null
+++ b/src/h5schemas/load_utilities/projection_geometry.py
@@ -0,0 +1,37 @@
+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