{
  "source_image": {
    "path": "/images/aubervilliers-cernes/coupe.master.jpg",
    "sha256": "deacb26ac962b5ce9efeb2fffe9a22f65c6c2292bba4f00cfe988e8f9bd82725",
    "format": "JPEG",
    "dimensions_px": [
      1536,
      1152
    ],
    "exif_tag_ids": []
  },
  "workflow": "non-generative diagnostic contrast only",
  "software": {
    "python": "3.x",
    "Pillow": "12.3.0",
    "numpy": "2.3.5"
  },
  "variants": [
    {
      "method": "contraste_global_p01_p99",
      "path": "/images/aubervilliers-cernes/diagnostics/coupe.master-contraste_global_p01_p99.png",
      "sha256": "b78303dcb959d348422fbae6b643c2d553f337e5ccc68b42dbff2aac5be0fcf9",
      "role": "diagnostic_only",
      "operation": "Stretch Y-channel percentiles 1 and 99 to 0–255."
    },
    {
      "method": "CLAHE_grille8_clip2",
      "path": "/images/aubervilliers-cernes/diagnostics/coupe.master-CLAHE_grille8_clip2.png",
      "sha256": "a93ae35fb2c0b72c376b69fced9136fece951192f3a80a323346994e4595112d",
      "role": "diagnostic_only",
      "operation": "CLAHE on Y, 8×8 tiles, clip factor 2, bilinear LUT interpolation."
    },
    {
      "method": "CLAHE_grille8_clip4",
      "path": "/images/aubervilliers-cernes/diagnostics/coupe.master-CLAHE_grille8_clip4.png",
      "sha256": "02bbe107b1b7d8652bbaf4dc0e4c96f17045128232d960fefee2d5cf20435c22",
      "role": "diagnostic_only",
      "operation": "CLAHE on Y, 8×8 tiles, clip factor 4, bilinear LUT interpolation."
    }
  ],
  "limitations": "Derivatives may amplify texture, cracks, decay or artifacts. They do not establish wood identity, annuality, ring boundaries, counts or dates. A variant may make visible texture clearer or exaggerate cracks and surface irregularities; none was used to infer a ring count or date."
}
