Loading configuration from: /home/aaichert/nc_local/work/xray-epipolar-consistency/tools/config_standard_calc04.json
--- Step 1: Preprocessing & Baseline Normalization ---
Loading data from: /home/aaichert/nc_local/work/2026_PhD_seminar/geometry_excercises/input/waygate/
Image data will be converted to attenuation projections (-log(I/I0)).
Applying 1x1 binning...
Pre-computing global I0 as the maximum intensity across all projections...
Global I0 determined: 21376.0
Loading geometry and computing normalization...
Computed iso-center: [-1.39492382e-15 1.95490009e-16 -8.89325042e-17]
Estimated plane normal vector: [ 0.00000000e+00 -1.00000000e+00 1.11022302e-16]
Maximum distance delta from iso-center along normal: 4.392469301819801 mm
Calibration problem setup complete. Saved configuration to /home/aaichert/nc_local/work/2026_PhD_seminar/geometry_excercises/input/waygate/standard_calc04/processed/ecc.json
Preprocessing completed.
--- Step 2: Calibration Optimization ---
Loading binned images and setting up RadonIntermediate objects...
Initializing MetricRadonIntermediate...
=== Preflight System Analysis ===
Original Image Size (Before Binning): 1494 x 1256
Binned Image Size (After Binning): 1494 x 1256 (Factor: 1x)
Radon Intermediate Size (Alpha): 1533
Radon Intermediate Size (T): 1952
=================================
Preflight: Generating baseline cost matrix (cost_image.png)...
Preflight: Generating baseline geometry plot (geometry.svg)...
Geometry visualization saved to: /home/aaichert/nc_local/work/2026_PhD_seminar/geometry_excercises/input/waygate/standard_calc04/processed/geometry.svg
Generated dashboard HTML page: /home/aaichert/nc_local/work/2026_PhD_seminar/geometry_excercises/input/waygate/standard_calc04/processed/report_02_optimization.html
Preflight: Sweeping parameter detector_shift_u...
Preflight: Sweeping parameter detector_shift_v...
Preflight: Sweeping parameter detector_tilt...
Preflight: Sweeping parameter detector_slant...
Preflight: Sweeping parameter detector_skew...
Preflight: Sweeping parameter axis_tilt_x...
Preflight: Sweeping parameter axis_tilt_y...
Preflight: Sweeping parameter axis_offset_x...
Preflight: Sweeping parameter axis_offset_y...
Generated preflight dashboard HTML: /home/aaichert/nc_local/work/2026_PhD_seminar/geometry_excercises/input/waygate/standard_calc04/processed/report_01_preflight.html
--- Running Optimization Stage 1 (Powell) ---
Active parameters: ['detector_tilt', 'axis_offset_x', 'axis_offset_y']
Initial Cost before Stage 1: 1329.805298
Iteration 1 | Cost: 1190.554321 | Params: [ 0.06174837 -0.12287652 -0.07059423]
Iteration 2 | Cost: 1179.270020 | Params: [ 0.05986338 -0.09280746 -0.08482386]
Iteration 3 | Cost: 1178.219116 | Params: [ 0.05921521 -0.08015043 -0.09135454]
Iteration 4 | Cost: 1178.216919 | Params: [ 0.05917765 -0.07980217 -0.0916115 ]
Iteration 5 | Cost: 1178.218384 | Params: [ 0.05910685 -0.07980187 -0.09161182]
Stage 1 Complete. Final Cost: 1178.218384
--- Running Optimization Stage 2 (L-BFGS-B) ---
Active parameters: ['detector_tilt', 'detector_slant', 'detector_skew', 'axis_tilt_x', 'axis_tilt_y', 'axis_offset_x', 'axis_offset_y']
Initial Cost before Stage 2: 1178.218384
Iteration 1 | Cost: 1157.918945 | Params: [ 0.03755655 0.0209317 -0.0209317 0.01046585 0.01046585 -0.1051313
-0.10247116]
Iteration 2 | Cost: 923.023682 | Params: [ 0.08426766 0.13227017 0.00911641 -0.0053026 -0.01537658 0.00675379
-0.00889692]
Iteration 3 | Cost: 908.544678 | Params: [ 0.07064468 0.14830325 -0.00541375 -0.00134188 -0.00667397 0.00567031
0.00923902]
Iteration 4 | Cost: 904.813049 | Params: [ 0.06010855 0.14368079 -0.01541633 0.00197902 -0.00052609 -0.00445414
0.00465904]
Iteration 5 | Cost: 904.035706 | Params: [ 0.05748056 0.14587708 -0.01967927 0.00204947 0.00062372 0.00121191
-0.00027835]
Iteration 6 | Cost: 903.890198 | Params: [ 0.05705482 0.1449126 -0.02065707 0.00189915 0.00062345 0.00086967
0.00110096]
Iteration 7 | Cost: 903.875671 | Params: [ 0.05695373 0.14484548 -0.02116305 0.0018275 0.00036761 0.00068871
0.00127996]
Iteration 8 | Cost: 903.805908 | Params: [ 0.05712873 0.14480814 -0.02325729 0.00114389 -0.00147105 0.00036458
0.00150732]
Iteration 9 | Cost: 903.762207 | Params: [ 0.05701197 0.14483507 -0.02611295 0.000681 -0.00281535 0.0004628
0.00151276]
Iteration 10 | Cost: 903.753967 | Params: [ 0.0571882 0.14489651 -0.02678411 -0.00018787 -0.00293584 0.00053023
0.00127583]
Iteration 11 | Cost: 903.753906 | Params: [ 0.0571884 0.14489679 -0.02678381 -0.00018631 -0.00293574 0.00053036
0.00127616]
Iteration 12 | Cost: 903.753906 | Params: [ 0.0571884 0.14489679 -0.02678381 -0.00018631 -0.00293574 0.00053036
0.00127616]
Stage 2 Complete. Final Cost: 903.753906
Optimization Complete (Method: Powell + L-BFGS-B)!
Status: CONVERGENCE: RELATIVE REDUCTION OF F <= FACTR*EPSMCH
Final Cost: 903.753906
result.jac: [-2.38037109 -2.68554664 0.97656244 -3.02124 0.09155273 -0.24414061
-0.45776364]
Saved convergence curve to: /home/aaichert/nc_local/work/2026_PhD_seminar/geometry_excercises/input/waygate/standard_calc04/processed/plots/convergence_curve.png
Saved optimized parameters to: /home/aaichert/nc_local/work/xray-epipolar-consistency/tools/parameters_optimized_standard_calc04.json
Generating optimized outputs...
Post-opt: Sweeping parameter detector_shift_u...
Post-opt: Sweeping parameter detector_shift_v...
Post-opt: Sweeping parameter detector_tilt...
Post-opt: Sweeping parameter detector_slant...
Post-opt: Sweeping parameter detector_skew...
Post-opt: Sweeping parameter axis_tilt_x...
Post-opt: Sweeping parameter axis_tilt_y...
Post-opt: Sweeping parameter axis_offset_x...
Post-opt: Sweeping parameter axis_offset_y...
Generating 21 3D Sensitivity Sweeps post-optimization...
Post-opt 3D sweep: detector_tilt vs detector_slant...
Post-opt 3D sweep: detector_tilt vs detector_skew...
Post-opt 3D sweep: detector_tilt vs axis_tilt_x...
Post-opt 3D sweep: detector_tilt vs axis_tilt_y...
Post-opt 3D sweep: detector_tilt vs axis_offset_x...
Post-opt 3D sweep: detector_tilt vs axis_offset_y...
Post-opt 3D sweep: detector_slant vs detector_skew...
Post-opt 3D sweep: detector_slant vs axis_tilt_x...
Post-opt 3D sweep: detector_slant vs axis_tilt_y...
Post-opt 3D sweep: detector_slant vs axis_offset_x...
Post-opt 3D sweep: detector_slant vs axis_offset_y...
Post-opt 3D sweep: detector_skew vs axis_tilt_x...
Post-opt 3D sweep: detector_skew vs axis_tilt_y...
Post-opt 3D sweep: detector_skew vs axis_offset_x...
Post-opt 3D sweep: detector_skew vs axis_offset_y...
Post-opt 3D sweep: axis_tilt_x vs axis_tilt_y...
Post-opt 3D sweep: axis_tilt_x vs axis_offset_x...
Post-opt 3D sweep: axis_tilt_x vs axis_offset_y...
Post-opt 3D sweep: axis_tilt_y vs axis_offset_x...
Post-opt 3D sweep: axis_tilt_y vs axis_offset_y...
Post-opt 3D sweep: axis_offset_x vs axis_offset_y...
Saved optimized cost image to: /home/aaichert/nc_local/work/2026_PhD_seminar/geometry_excercises/input/waygate/standard_calc04/processed/cost_image_optimized.png
Saved optimized geometry visualization to: /home/aaichert/nc_local/work/2026_PhD_seminar/geometry_excercises/input/waygate/standard_calc04/processed/geometry_optimized.svg
Generated dashboard HTML page: /home/aaichert/nc_local/work/2026_PhD_seminar/geometry_excercises/input/waygate/standard_calc04/processed/report_02_optimization.html
--- Step 3: Export Optimized Matrices to OMPL ---
Exported 1500 optimized matrices to OMPL: /home/aaichert/nc_local/work/2026_PhD_seminar/geometry_excercises/input/waygate/standard_calc04/processed/geometry_optimized.ompl
Exported optimized geometry in pcproj format to: /home/aaichert/nc_local/work/2026_PhD_seminar/geometry_excercises/input/waygate/standard_calc04/processed/geometry_optimized.pcproj
==============================================
PIPELINE TIMING SUMMARY
==============================================
DTR Computation Time: 12.172 seconds
Time to Create All Plots: 101.606 seconds
- Pre-flight & Sweeps: 21.066 seconds
- Post-optimization: 80.540 seconds
Time to Optimize: 5.254 seconds
----------------------------------------------
Total Pipeline Execution: 125.848 seconds
==============================================
--- Pipeline Completed Successfully ---
ECC cost values evaluated at the end of each optimization iteration.
These plots project a 3D sphere of radius 20.0 mm onto two orthogonal detector views. The displacement shows how the calibration correction shifts and rotates the projection coordinates to establish epipolar consistency.
Projections shown: View 1 (Index 0) and View 8 (Index 7) with principal ray separation of 84.0°.
These sweeps show the behavior of the Epipolar Consistency cost when varying one parameter while holding all other parameters at their optimized values. The vertical dashed line indicates the optimized parameter value.
Use the dropdown selectors below to view the joint parameter dependency and the behavior of the Epipolar Consistency cost when varying two parameters simultaneously around their optimized values.
Please select two different parameters to visualize their joint dependency.