"""Original aperture model, not measured nail data. Tested with Python 3.14, NumPy 2.3.5 and Matplotlib 3.10.7. Run from the image output directory; writes nail-aperture-transmission.png there. """ from pathlib import Path import matplotlib matplotlib.use("Agg") import matplotlib.pyplot as plt import numpy as np def transmission(aperture_radius, distance=10.0, direct=0.04, diffuse=0.08): """Coaxial circular aperture and a pointlike, constant-radiance emitter. Radius and distance have the same units. The direct component is assumed to be fully collected for every strictly positive radius shown. """ radius = np.asarray(aperture_radius) return direct + diffuse * radius**2 / (radius**2 + distance**2) def main(): fig, ax = plt.subplots(figsize=(7.2, 4.8), dpi=100, facecolor="white") ax.set_facecolor("white") radius = np.linspace(0.05, 30, 600) ax.plot(radius, 100 * transmission(radius), color="#215b9a", lw=2.4, label="Collected direct + diffuse light") ax.axhline(12, color="#728d42", ls="--", lw=1.6, label="Total transmitted fraction: 12%") ax.axhline(4, color="#b66d33", ls=":", lw=1.6, label="Fully collected direct component: 4%") for radius_value, label_position in [(5, (8, -30)), (10, (12, 9))]: value = 100 * float(transmission(radius_value)) ax.scatter([radius_value], [value], color="#215b9a", zorder=3) ax.annotate(f"a = {radius_value} mm: {value:g}%", (radius_value, value), xytext=label_position, textcoords="offset points", fontsize=9) ax.set(xlim=(0, 30), ylim=(0, 13), xlabel="Aperture radius a (mm)", ylabel="Fraction of incident power (%)", title="A wider aperture collects more diffuse transmission") ax.grid(alpha=0.17) ax.legend(loc="lower right", fontsize=8.5, framealpha=1) fig.text(0.5, 0.02, "Original model: distance 10 mm; constant diffuse radiance; direct beam fully accepted.\n" "The specimen is unchanged. No fluorescence, diffraction or finite emitter size is modeled.", ha="center", fontsize=8) fig.tight_layout(rect=(0, 0.075, 1, 1)) fig.savefig(Path("nail-aperture-transmission.png"), facecolor="white") plt.close(fig) if __name__ == "__main__": main()