feat(V&V): Zernike pipeline validation - synthetic WFE generator + round-trip validator
- generate_synthetic_wfe.py: Creates synthetic OPD surfaces from known Zernike coefficients - validate_zernike_roundtrip.py: Round-trip validation (generate → fit → compare) - validation_suite/: 18 test cases (single mode, multi-mode, noisy, edge cases) - All 18 test cases pass with 0.000 nm error (clean) and <0.3 nm (10nm noise) - M1 params: 1200mm dia, 135.75mm inner radius, 50 Noll modes Project: P-Zernike-Validation (GigaBIT M1) Requested by: Adyn Miles (StarSpec) for risk reduction before M2/M3 ordering
This commit is contained in:
31
tools/validation_suite/realistic_full_disk_truth.json
Normal file
31
tools/validation_suite/realistic_full_disk_truth.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"input_coefficients": {
|
||||
"5": 80.0,
|
||||
"6": 45.0,
|
||||
"7": 30.0,
|
||||
"8": 20.0,
|
||||
"9": 15.0,
|
||||
"11": 10.0,
|
||||
"13": 5.0,
|
||||
"16": 3.0,
|
||||
"22": 2.0
|
||||
},
|
||||
"coefficient_names": {
|
||||
"5": "Astigmatism 45\u00b0",
|
||||
"6": "Astigmatism 0\u00b0",
|
||||
"7": "Coma X",
|
||||
"8": "Coma Y",
|
||||
"9": "Trefoil X",
|
||||
"11": "Primary Spherical",
|
||||
"13": "2nd Astig Y",
|
||||
"16": "2nd Coma X",
|
||||
"22": "2nd Spherical"
|
||||
},
|
||||
"n_points": 124980,
|
||||
"diameter_mm": 1200.0,
|
||||
"rms_nm_clean": 40.21839241800354,
|
||||
"rms_nm_with_noise": 40.21839241800354,
|
||||
"noise_rms_nm": 0.0,
|
||||
"seed": 42,
|
||||
"inner_radius_mm": 0.0
|
||||
}
|
||||
Reference in New Issue
Block a user