render op• Data kinds: image2d → image2d
• Call: import fullseye as fs; fs.ledger.tonemap_reinhard(hdr, exposure: 'float' = 1.0, white: 'float | None' = None) -> 'np.ndarray' (implementation को सीधे call करना हो तो import render_tonemap; render_tonemap.tonemap_reinhard(hdr, exposure: 'float' = 1.0, white: 'float | None' = None) -> 'np.ndarray', registry से लेना हो तो ops3d.get("tonemap_reinhard"))
Reinhard tone map से HDR को [0, 1] के LDR में compress करता है। → float64, इनपुट जैसा shape।
exposure से गुणा किए गए x = hdr * exposure के लिए:
• white is None … मूल रूप x / (1 + x)। [0, ∞) को strictly monotonic increasing रूप से [0, 1) पर map करता है और कभी clip नहीं करता (पूरी सीमा में tonal क्रम सख्ती से बनाए रखता है)।
• white दिया हो … विस्तारित रूप x (1 + x/white²) / (1 + x)। white को ठीक 1.0 पर map करता है, और white से नीचे के मानों को अधिक range देता है (white से ऊपर के इनपुट 1 से अधिक होते हैं, इसलिए [0, 1] पर clip होते हैं)।
colour (H, W, C) को हर channel पर स्वतंत्र रूप से map किया जाता है। सरल clip min(x, 1) से अलग, मान > 1 वाले highlight क्षेत्र में भी monotonic tonal scale बना रहता है।
Args:
hdr: HDR image। (H, W) grayscale or (H, W, C) colour, radiance >= 0।
exposure: mapping से पहले गुणा किया जाने वाला exposure scale (positive)।
white: वैकल्पिक white-point (positive)। None हो तो मूल Reinhard (अनुशंसित; हर जगह monotonic)।
Returns:
[0, 1] की float64 LDR image (इनपुट जैसा shape)।
Raises:
ValueError: खाली/non-finite/negative radiance, non-positive exposure/white (fail-closed)।
• blender_interop — Blender के साथ उपयोग — shape बनाएँ, fullseye से मापें (सावधानियाँ: axes, units, ground truth)
• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।
• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।
• render_beauty — py -3.11 examples_3d/render_beauty.py
• render_tonemap — py -3.11 examples_3d/render_tonemap.py
image2d को input के रूप में लेते हैं)fuse_to_voxel · fit_poly_surface · eval_poly_surface · surface_form_error · background_flatten · polar_unwrap · fit_zernike · matcap_shade
render)project_points · render_point_depth · render_volume_projection · render_shaded · ambient_occlusion · cast_shadow · phong_shade · matcap_shade
*Provenance: render_tonemap.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.