CT System Calibration Dashboard (standard_calc04)

Calibration Parameters

detector_shift_u
0.000000
Fixed
detector_shift_v
0.000000
Fixed
detector_tilt
0.057188
Stage 1 & 2
detector_slant
0.144897
Stage 2
detector_skew
-0.026784
Stage 2
axis_tilt_x
-0.000186
Stage 2
axis_tilt_y
-0.002936
Stage 2
axis_offset_x
0.000530
Stage 1 & 2
axis_offset_y
0.001276
Stage 1 & 2

Console Execution Log

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 ---

Optimization Convergence History

ECC cost values evaluated at the end of each optimization iteration.

Convergence Curve

CT Scan Geometry (Normalized Space)

Geometry Visualization

Detector Point Projections (Calibration Shift Visualization)

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.

View 1 (Index 0)

Detector Drift View 1

View 8 (Index 7)

Detector Drift View 2

Projections shown: View 1 (Index 0) and View 8 (Index 7) with principal ray separation of 84.0°.

Post-Optimization Parameter Sensitivity Sweeps

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.

detector_shift_u Sweep (Optimized Base)

detector_shift_u Sweep Plot

detector_shift_v Sweep (Optimized Base)

detector_shift_v Sweep Plot

detector_tilt Sweep (Optimized Base)

detector_tilt Sweep Plot

detector_slant Sweep (Optimized Base)

detector_slant Sweep Plot

detector_skew Sweep (Optimized Base)

detector_skew Sweep Plot

axis_tilt_x Sweep (Optimized Base)

axis_tilt_x Sweep Plot

axis_tilt_y Sweep (Optimized Base)

axis_tilt_y Sweep Plot

axis_offset_x Sweep (Optimized Base)

axis_offset_x Sweep Plot

axis_offset_y Sweep (Optimized Base)

axis_offset_y Sweep Plot

Post-Optimization 3D Parameter Sensitivity Sweeps

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.

axis_offset_x vs axis_offset_y

axis_offset_x vs axis_offset_y 3D Sweep Plot

axis_tilt_x vs axis_offset_x

axis_tilt_x vs axis_offset_x 3D Sweep Plot

axis_tilt_x vs axis_offset_y

axis_tilt_x vs axis_offset_y 3D Sweep Plot

axis_tilt_x vs axis_tilt_y

axis_tilt_x vs axis_tilt_y 3D Sweep Plot

axis_tilt_y vs axis_offset_x

axis_tilt_y vs axis_offset_x 3D Sweep Plot

axis_tilt_y vs axis_offset_y

axis_tilt_y vs axis_offset_y 3D Sweep Plot

detector_skew vs axis_offset_x

detector_skew vs axis_offset_x 3D Sweep Plot

detector_skew vs axis_offset_y

detector_skew vs axis_offset_y 3D Sweep Plot

detector_skew vs axis_tilt_x

detector_skew vs axis_tilt_x 3D Sweep Plot

detector_skew vs axis_tilt_y

detector_skew vs axis_tilt_y 3D Sweep Plot

detector_slant vs axis_offset_x

detector_slant vs axis_offset_x 3D Sweep Plot

detector_slant vs axis_offset_y

detector_slant vs axis_offset_y 3D Sweep Plot

detector_slant vs axis_tilt_x

detector_slant vs axis_tilt_x 3D Sweep Plot

detector_slant vs axis_tilt_y

detector_slant vs axis_tilt_y 3D Sweep Plot

detector_slant vs detector_skew

detector_slant vs detector_skew 3D Sweep Plot

detector_tilt vs axis_offset_x

detector_tilt vs axis_offset_x 3D Sweep Plot

detector_tilt vs axis_offset_y

detector_tilt vs axis_offset_y 3D Sweep Plot

detector_tilt vs axis_tilt_x

detector_tilt vs axis_tilt_x 3D Sweep Plot

detector_tilt vs axis_tilt_y

detector_tilt vs axis_tilt_y 3D Sweep Plot

detector_tilt vs detector_skew

detector_tilt vs detector_skew 3D Sweep Plot

detector_tilt vs detector_slant

detector_tilt vs detector_slant 3D Sweep Plot

Same Parameter Selected

Please select two different parameters to visualize their joint dependency.