diff --git a/src/thd_json/projection/__init__.py b/src/thd_json/projection/__init__.py index 903f6594e0575d6b80fc663ad5d9b37d50b9478a..06c9b53ca01ff559bf7c521d87b9c6d2cf12825a 100644 --- a/src/thd_json/projection/__init__.py +++ b/src/thd_json/projection/__init__.py @@ -49,6 +49,7 @@ def get_projection_dict( image_dimensions_px: np.ndarray, pixel_pitch_mm: np.ndarray, header: JsonHeader | None = None, + focal_spot_orientation_quat: np.ndarray | None = None ): if header is None: header = generate_header() @@ -59,6 +60,7 @@ def get_projection_dict( detector_center_position_mm, detector_center_orientation_quat, header, + focal_spot_orientation_quat ) projection['detector'] = get_detector_dict(image_dimensions_px, pixel_pitch_mm) diff --git a/src/thd_json/projection_geometry/__init__.py b/src/thd_json/projection_geometry/__init__.py index f2e0f9f93076956f19359bc5a547bb942bb3e46f..de1571f72f7535c1c49d8064fbf4a3b304b1f565 100644 --- a/src/thd_json/projection_geometry/__init__.py +++ b/src/thd_json/projection_geometry/__init__.py @@ -45,6 +45,7 @@ def get_projection_geometry_dict( detector_center_position_mm: np.ndarray, detector_center_orientation_quat: np.ndarray, header: JsonHeader | None = None, + focal_spot_orientation_quat: np.ndarray | None = None ): if header is None: header = generate_header() @@ -59,6 +60,10 @@ def get_projection_geometry_dict( projection_geometry["detector_center_orientation_quat"] = quaternion_to_dict( detector_center_orientation_quat ) + if focal_spot_orientation_quat is not None: + projection_geometry["focal_spot_orientation_quat"] = quaternion_to_dict( + focal_spot_orientation_quat + ) projection_geometry["header"] = {"uuid": header.uuid}