Skip to content

Commit aa40892

Browse files
Add version provenance to TIFF and NPZ output files
- Embed ppm_library version in TIFF ImageDescription tag - Include ppm_library_version in NPZ analysis result files Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 688543d commit aa40892

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

ppm_library/analysis/workflow.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
from scipy import ndimage
1414
from skimage import io, color
1515

16+
import ppm_library
1617
from ppm_library.calibration.radial import RadialCalibrator, RadialCalibrationResult
1718
from ppm_library.imaging.ppm_image import PPMImage, AngleMap
1819

@@ -81,6 +82,8 @@ def save(self, path: Union[str, Path]) -> None:
8182
cal_inv_intercept=np.array([self.calibration.inv_intercept]),
8283
cal_r_squared=np.array([self.calibration.r_squared]),
8384
cal_hue_offset=np.array([self.calibration.hue_offset]),
85+
# Provenance
86+
ppm_library_version=np.array([ppm_library.__version__]),
8487
)
8588

8689
def print_summary(self) -> None:

ppm_library/imaging/writer.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,15 @@
66
"""
77

88
import pathlib
9+
import platform
910
import shutil
1011
from typing import Optional, Dict
1112
import numpy as np
1213
import tifffile as tf
1314
import logging
1415

16+
import ppm_library
17+
1518
logger = logging.getLogger(__name__)
1619

1720

@@ -53,9 +56,16 @@ def ome_writer(
5356
if compression is not None:
5457
options["compression"] = compression.lower()
5558

59+
# Embed provenance in ImageDescription tag
60+
description = (
61+
f"ppm_library={ppm_library.__version__}"
62+
f" python={platform.python_version()}"
63+
)
64+
5665
tif.write(
5766
data,
5867
resolution=(1e4 / pixel_size_um, 1e4 / pixel_size_um),
68+
description=description,
5969
**options,
6070
)
6171

0 commit comments

Comments
 (0)