fullseye

lens_zmx_solves_roundtrip — OPTICS lenssolve op

使い方

解(solve)を .zmx に書き、読み戻し、もう一度書く: 不動点になるかを調べる(table)。

Writes system (None: a doublet with a thickness pickup, a curvature pickup with scale -1 and a paraxial-image solve) through lensfile, reads the text back, writes again and reads again. Curvature pickups (CURV c 4 source scale offset), thickness pickups (PZUP) and aspheric-coefficient pickups (PPAR) are written in the form real files show; the other kinds (the marginal / chief ray solves, F/#, concentric, aplanatic) have no form in the files this library has seen, so they are written as NOTE lines (FULLSEYE-SOLVE) that other programs ignore and the geometry stays the solved numbers. Returns {"text", "text_second", "fixed_point", "max_diff", "rules_before", "rules_after", "native", "as_note", "dropped_solves", "afocal"}; fixed_point means that the second write is text-identical to the first read-write and max_diff is the largest difference of any R / t / k / ap between the system and the twice-read one.

Example::

r = lens_zmx_solves_roundtrip(s)
assert r["fixed_point"] and r["max_diff"] < 1e-12

ファミリ共通の入力契約(fail-closed)

optics の全 op は入力を検証してから計算する(黙って通さない):

詳しい使い方ガイド

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(table を入力に取れる)

abcd_matrix · wavefront_stats · sfr_from_edge · paraxial_trace · seidel_coefficients · spot_stats · tolerance_analysis · wavefront_from_opd

同カテゴリ(lenssolve)

lens_apply_solves · lens_solve_set · lens_solve_clear · lens_solves_list · afocal_system · lens_afocal_report · lens_image_surface · lens_petzval_radius


Provenance: lenssolve.py — OPTICS operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.