{
  "schema_version": 1,
  "verified_records": {
    "decision-00/run/run.json": "62d426815fa9838f09d60aece276ea4da8e6720a2912fa0dcb006502cb7d6813",
    "decision-01/run/run.json": "4112bbf66cf173356eb5609ad993991fad4a3ff289f7febb7dda764c0b370b6b",
    "decision-02/run/run.json": "662dcbebb123c3164023740097436c7c123b75ee9f772a3c8e374ac1290d6003",
    "decision-03/run/run.json": "0627674fb9babdec9674d6d6015472b027d6839a33a3b7b72d7cfe1bceba4216",
    "decision-04/run/run.json": "328ef8bda7f3ded79537386be2938ba5534af440400182084b1d1473223aaab5",
    "decision-05/run/run.json": "9bdb3d6bded553ae8bdc1420bd981ef35aa88adb2ecfd3b8b978da1a68ef56cf",
    "decision-06/run/run.json": "87a26a37b884a0281e3bca88279f8f5a662d27176d6d8fecdf2c37f49af8d98d",
    "decision-07/run/run.json": "75c59c2d5331061352462bb59091774f4cc661acecfb60e36179b7626cc956bc",
    "fits/base-00/run.json": "9a6c9f86964659f407093f10c4dccb7996baa2b35aad2929f65fbfb7a71b58d0",
    "fits/base-01/run.json": "6d491bc6807ba4464301631f4d282d98ab4592eba8c568502c1c95d8bd4f2b35",
    "fits/base-02/run.json": "2cdae3fbae2affe55d05c5224e78a74e21111ea11de018d3d493c717e017f359",
    "fits/base-03/run.json": "66de91d696bac30195004170b9087bcb9cd04f75e71385ae306bddb2f008d447",
    "fits/base-04/run.json": "32dba856aa57d9097f2455fe47284df947f67bcff31315d50ab1edc4fe08831a",
    "fits/base-05/run.json": "015a2bd68f879921d8ab92a9e25a8b89a019b13026e33d7f6ac719f12243d302",
    "fits/base-06/run.json": "2e76c8abc6b972e06c15ecf528cab46604da6de29a3437e516c0a552b0aeffce",
    "fits/base-07/run.json": "6eda1a62954f69f76838624bb0d645a0af54fd6ca6f2d9b456be6e7a5a173582",
    "fits/near_parallel-00/run.json": "92949bc44cb9bd540990619c880dee5fd7efe39f7bc4e0540502b9b8b0a4768f",
    "fits/near_parallel-01/run.json": "60d9e6b3e6a3f6c1c8bbfb0b3b0757ae9340dfefd1c0cf33e7dcd0ca283559e1",
    "fits/near_parallel-02/run.json": "16fae99a380473f9e9c937a1ae78b28db6c59f406211107eb04a8329266ae9d2",
    "fits/near_parallel-03/run.json": "ef1b4bcbc2793c0af26ed00628a2716618fb10b643b90acbd7570d960e0a6f48",
    "fits/near_parallel-04/run.json": "ef1211f4c8519341665ada2a5eebf6c6755027cdbfd99550bb4f932e30314df7",
    "fits/near_parallel-05/run.json": "2bbe588339d877c291d65d22af85df27b1280993563b63a0300f05abe9170092",
    "fits/near_parallel-06/run.json": "f8b66d31520cbaa4a3423cbaa8ee7caa96a9480cc9cd0d236d481fd660387a81",
    "fits/near_parallel-07/run.json": "83b505c3300f3bd9c36e2d547dcfe1d74431b5f17074d8262b151e1f61c912c1",
    "fits/registration/run.json": "39db8c7823a933347114cde4205645960a296f222012108fa74c719de86bc5c1",
    "fits/selected-00/run.json": "78acd48ee214bef8eb90a44511571aec0f1c484cf58943c28ab020abb3ab79f0",
    "fits/selected-01/run.json": "b6cda94c6e2fe69d57e516d9b0d3204ccbc4437546ab22ef31f232a321a3c5d7",
    "fits/selected-02/run.json": "45816cbf5aa5e6345da9b081566e47faa3405e6de0dc37bace3efcea6c1992ca",
    "fits/selected-03/run.json": "a577ef09b19baca0d013187c990b72233642d68ad7619fe5621a81252cace850",
    "fits/selected-04/run.json": "09a6cf134238973d9f60ea06047e0b44f8312122cdd37218c58850cf9a0841c3",
    "fits/selected-05/run.json": "47491b415d60b5802c421b8bea08d416d78615427277139a83df619aa402002f",
    "fits/selected-06/run.json": "5de0ca0ef061c6c641ec6f83f13d2493e635a7bfda15f21a4a63a675bdb7839f",
    "fits/selected-07/run.json": "333e2c9b59d51f9365494a5f9c796123649a21c4c815aaa822475181d7593668",
    "run.json": "8817e6801b2d89abacd84a9b9725325e143745b21684ddc59365ff7f705e5928"
  },
  "verified_hash_count": 3237,
  "source_sha256": {
    "application-study/_final.py": "28af5afd0cc233ae2e4e2c8ed5cf56840e12b967406dbc6a92a2b5063046710b",
    "application-study/_study.py": "24c188cbd7f30b9748c39a926b6f836674ad0a3e18586e9809db8e6fb5744dbb",
    "application-study/batch.py": "bb07f24d367166aa6a96d6a9c6e9105d4316647c8cf9683e9b32fcbfa2a2e875",
    "application-study/diagnose_precision.py": "01d80cf3ec2c3a458141d40394459f5ea75774a49b62af183ff28eed5f25effc",
    "application-study/evaluate.py": "800bbc181efc681fa60296c7d00f7ab2bd7212faf1aaf83bcd202172e5595ee0",
    "application-study/evaluate_final.py": "1cb981ede0f0d4030972c497532e9f046ecc56f6e194614cb1dedecd738f1e9a",
    "application-study/generate.py": "6434161ce3edb4c54f0ab23457512cac8ff308b31c7193654a5b5dde79351506",
    "application-study/generate_final.py": "044a9eabed6b840b9b73bc324b13a8f92d3944a8c93dabc824240d4fe87c64df",
    "application-study/pilot.py": "84e8e64c31c6d3ab7a9b313c0e0588d19317e7fe8a039621ec5eeaa7f0b1ef82",
    "application-study/prepare.py": "93c59173be9dc2d25d54fb466ce0dba4d91313dc44ccd07e8a64a0692278b89a",
    "application-study/profile_case.py": "9a895d105308cdec03dc08ca2db36f478ea72cc233e5ef7b2eeb2827c217cf2c",
    "application-study/replay_registration.py": "0253830a5c9c00be076d037b9f9a38cd03efeab5623fa0dbb51791a8cec293b6",
    "application-study/run.py": "c7b5a96679a9174a04fbc9e8100dd8fd030a224fb175e346df40d8e9b1c06f6d",
    "configuration.json": "f8f18f9728049c4b3233036e48eda76b34ff9dd87890da0713aa36969502d671",
    "experiments/worked-applications/run.py": "3d0e6bc245376d0b1fb00dab72ce54860f11e7a0a1656b880ad5ca13a3d45111",
    "known-attenuation.npy": "473f2076730eb863eac365eb56cd40144c8b8fdbce8f8140179c0a5467d18ab6",
    "known.json": "0232ec867ca25aaad7af9cc7608474ba8a42101ab225ada0da4fba2e1681b024",
    "pyproject.toml": "6efe2a08e5249c29e43b979f6b51c71f5e7870184cfcf2513de16e0387b7a527",
    "python/dpt/__init__.py": "b49463cb2a38593fee96faf24fe072222bf9ea9c801b63b82f5638a7754517b5",
    "python/dpt/_gpu_preflight_kernel.py": "4b47f48d14c92a8ff2261dac7937601b68319374be01e616bf296467db4236ce",
    "python/dpt/_reductions.py": "71ba7100e41466896b037a37e44551af5a7ceee077dc09d86dca67b32ca136c5",
    "python/dpt/_runtime.py": "bd905bc89d8171f0c22e5ffa1590cb03853a7ecf79044d13a5abed392b762309",
    "python/dpt/autodiff.py": "17dbb27f75d43cf118a44d472213a21a315730e6bc5f74181acde09c1bef6227",
    "python/dpt/bootstrap.py": "13b58bb5c1703f6bed75c4b845dbe2d4c3b2a50141d637f4798145634ac7c03d",
    "python/dpt/contracts.py": "d0409166afbc85cc5677a885e3e7cd9e6e24e8502b060df341a50cd12917e2f6",
    "python/dpt/detector.py": "430e757429d7fec2206eefc4af72db4e903bb017c2ee798db191b3b9399ef246",
    "python/dpt/examples/__init__.py": "0b87c9cdde6d427bbbb074ec35a92ae09210c36480f1d98734e3fbec5d41794a",
    "python/dpt/examples/_common.py": "72610a3cddd86134e937751710084d7172759c136f0d624986cac5242dd03cee",
    "python/dpt/examples/acquisition_design.py": "0d5152172eefbf0c9efd3dce534f0f179b42ceddef7de806b4766a55205de795",
    "python/dpt/examples/reconstruction.py": "e6d9f55c17b2abbb3e9a6c091e692c9d4b8c34100355128807fd6c901193773e",
    "python/dpt/examples/registration.py": "4ac2635c0de25033ce65de630179eb9fc1811bef49a15fbe13dba416c5c22695",
    "python/dpt/experiments.py": "5ac4af4f49bac3ebaba708f92618b56872f2cc7c9840a4c1648a075e5f8304f0",
    "python/dpt/geometry.py": "05805b9249a60b9da31b9a2d5890c26c79c36fa8d42b3a33d47f735c9afce841",
    "python/dpt/gpu_check.py": "dfd2db8ae4032764dbdf674d00c4009f3afc0e49922e827027880bd0c3f35219",
    "python/dpt/kernels/__init__.py": "39a47d684c71e510c32884da609914747235ea704a14e64b45720d004d171bfc",
    "python/dpt/kernels/detector.py": "5ea6314bb2be68b06e574b03ba37f1608c237bf02332b32ae6290d3d053ecf26",
    "python/dpt/kernels/geometry.py": "290692a6b5b6d9ed05084fd90a544d4f0db34fb25dcf57b591a8c0aafeb816b8",
    "python/dpt/kernels/material_projection.py": "4042c29df85249eb917e96ac56b920d37e72e1fc39f70b78407c778ce704fc5f",
    "python/dpt/kernels/material_reconstruction.py": "01667ba63aab17850f33bc1c95d7dc7a48012735e5c9a0956c4da732eed0a251",
    "python/dpt/kernels/objectives.py": "79cda3818003b313ae435162cc8b8259286b7d8dc7a65aa88df39971d9b75837",
    "python/dpt/kernels/projection.py": "bc28e2ff01464773a7929da110f45b9d74c954684b843abc5f70573ced6f63d9",
    "python/dpt/kernels/projection_checks.py": "259644351f7dd21811d603175e4454e0e82ad5d6c782a88a7b830aad10b8e7d4",
    "python/dpt/kernels/random.py": "935786f1e720b46d5e6b8cd6e60f000306718c30dc2c288869d8156b87e48b63",
    "python/dpt/kernels/reductions.py": "7bef22d4288823eee6a71cbb9c71f934f81e511614e5858d59127ba47d624cd5",
    "python/dpt/kernels/spectral.py": "a5235bf2809758315b33605be4c05d8ad8d432465a947c4826a8968983fdf9d6",
    "python/dpt/kernels/transmission.py": "adfa3e500c96ba985f37545ead61c7cce5aa47cfe4792eb13d9c12d792147739",
    "python/dpt/material_projection.py": "fe257055b40cf23bf0aa0dac80d60ff8a7382ce29b993fab7afded9fe3f9ffd0",
    "python/dpt/material_reconstruction.py": "ef0891afd46db7cdcc0bb02ae8f296f6cc2db0c9ce5b2417fee44fa6b0d022c7",
    "python/dpt/materials.py": "d712892fbda5f87010a52f2261584924007bbf856e4afc7c1bfcbe29192be936",
    "python/dpt/objectives.py": "bf8e4ecdcb0883fcce16534f8c9799e4f1fe0ad0d3504376af4395f8741480e3",
    "python/dpt/projection.py": "1641dd708437045407b2808be3a9e286b6dcdd98496b13e3d6d71308e1293cc5",
    "python/dpt/recovery.py": "466f166e046a334d3eb9f5cabd9bea3ef6f7868e03e4072858ea28454895813b",
    "python/dpt/registration.py": "6b862676c158da63b04a11930682ee945eaf6c2ec2394a3791929230bd8ec32e",
    "python/dpt/spectral.py": "f55791e0d565a9bb365be426106026e857c3b3dc009ac30ce7ebe31f0c9ef535",
    "python/dpt/spectral_inputs.py": "c05a99dadbfdbb00e963a5f2871df6c8b8882fadd2f2c885ac98440378f51e74",
    "python/dpt/spectral_recovery.py": "9385f0bb91e522e3a4b9a797ba481861cbcba9ea677a4a18fb41fde331d583a5",
    "python/dpt/statistics.py": "c029b203ceae457b2a7308b6908a9360ce6e1218f8d19aea52aa4aac154c368f",
    "python/dpt/stochastic_models.py": "7577f29c7ce151258e162e79e29e6c6b32cfcd1095707226868d1ee610bf1fae",
    "python/dpt/stochastic_recovery.py": "65736264d79aae216fb492212fa878ee0b93d0026aab6b1cc1ac8e972463630c",
    "python/dpt/transmission.py": "5837deeeace08b277b2c0859254a41e413e6901dfbb9b8e8803076526b24ef68",
    "python/dpt/transport/__init__.py": "7294a47c31ccc49cbc4959ee957af06b87cb954334e9a9a955a2946ea9a7c5ec",
    "python/dpt/transport/_constants.py": "d05a25992b4a1214d7e624214d59f4d0c5ccca851e27acd0b730ddf87a6b06c0",
    "python/dpt/transport/derivatives.py": "1b6e523fa668c2ea8451ddd4f65fdc4116b2e46fc3a9a4e6a539b88cfad28112",
    "python/dpt/transport/estimators.py": "624b3d66f3a478db7fd4b6d2659c98f972f2d1c2a2b26afb69f0fba13e4071db",
    "python/dpt/transport/experiments.py": "1424143aaf5ca4e05c6acb252a28d1e7ba4bc3ace61516432ba5e18044ab1182",
    "python/dpt/transport/forward.py": "2f4572577fa639412f4e6d190eeaefa5ea5e42c0bc7354f3855d292c1c023da9",
    "python/dpt/transport/inverse.py": "808100ab4db1e9a17a5a8343126ce00b702dcb81569ba5ce9ca4364be62b3d1e",
    "python/dpt/transport/kernels.py": "2d47d20d38b03b837c673d96981bd4bb985bfe9ba88286bd28d29edf05744ad9",
    "python/dpt/transport/model.py": "9e51231410e17f8cc195065e8c17c073107c76535ccf7787b1190dc6aa765052",
    "python/dpt/transport/recovery_experiments.py": "cef6a7996c2729a263afc3327976394e7c0abafda0fb39bdfde125f90bc89eae",
    "python/dpt/transport/recovery_kernels.py": "e0c06daa9683c0746250cc6c46ccde759078298b8ddbf72d8a3609f43516858c",
    "python/dpt/transport/rng.py": "200ac1c50b6db76fead64e3d75cfed59c8099ca3d6aeba019243d911c20db4e9",
    "python/dpt/transport/source.py": "79d908bb5721e4084c00861052ede608a417af643a75edb96733d1178a788f29",
    "python/dpt/validation/__init__.py": "fc5a55cbf5e70192ca2345c4232659f4fa624814663ef1ce0ae28228935a0f73",
    "python/dpt/validation/autodiff.py": "92a9a6475a2e2c876087d0ab121fa9a6f83117732726e4c78041bf2d8ef6a249",
    "python/dpt/validation/book_illustrations.py": "40c1de218901a79e870c40c48755044fde6ddda5f383f7b0660d8b79569c1798",
    "python/dpt/validation/detector.py": "653959e4a641344d5af8d6bfeeb665f3e3de5580d43db0825919f201d59073da",
    "python/dpt/validation/identifiability.py": "160bcbf5fd3fd7b9d1807d1063deb01f092e9c660a153a4bb9b68344f6093115",
    "python/dpt/validation/objectives.py": "f9af635fe9201f4238982171b21939257efa808c06ee17f05007797ac111f493",
    "python/dpt/validation/projection.py": "8e9b382b86516d09261d6ca623f85ed66e25901c81b74def198e1c42485cb656",
    "python/dpt/validation/recovery.py": "befa482ccc8cafccb45f480d6067ca7184eea87e81645865e4355bba61c6b70d",
    "python/dpt/validation/spectral.py": "56f3f782738783b2f52a19616ca7b0d226208eb8ae4fac3c988ab3ce8813ab01",
    "python/dpt/validation/transmission.py": "4917333d260c37350d077a8629dc66cc5dd5ccd565f44f3296a70e981f0c5e34",
    "python/dpt/validation/transport.py": "2c5e396ffd01e79a1d95ae02aaef3ffd90cc232987686ea923c86945a7d5568c",
    "python/dpt/validation/transport_weighted.py": "fd9ff5723ed9f6a7de8f7309158332ba51117e1134ff37310866f2ed9f20344c",
    "python/dpt/volumes.py": "0f486f3451b3d19c35d40241af02d2a216812797a4555b49496fd4ff52807e4b",
    "uv.lock": "19130bcf32aad884cd30b21f1fa69708a1240c7e7ef3a5dd1c8eb49b484c2865"
  },
  "protocol": {
    "acceptance": {
      "gradient_tolerance": 0.001,
      "held_out_expected_error_poisson_sd_rms_max": 1.0,
      "maximum_probe_error_mm_max": 2.0,
      "paired_error_difference_t95_upper_max": 0.0,
      "paired_t_critical_7df": 2.364624251,
      "rms_probe_error_mm_max": 1.0,
      "rotation_error_degrees_max": 0.5,
      "selected_vs_fixed_mean_squared_task_error_ratio_max": 0.75,
      "stationary": true
    },
    "acquisition": {
      "base_and_candidate_open_beam_per_pixel": 1000.0,
      "base_view_degrees": 0.0,
      "candidate_angles_degrees": [
        5.0,
        30.0,
        60.0,
        90.0
      ],
      "fixed_view_degrees": 5.0,
      "maximum_precision_condition": 10000000000.0,
      "rank_relative_tolerance": 1e-10
    },
    "case": 2,
    "generating_local_se3_mm_rad": [
      1.5,
      -2.0,
      2.5,
      0.008,
      -0.012,
      0.018
    ],
    "geometry": {
      "coordinate_convention": "centred object frame; synthetic cone-beam geometry; no patient laterality certification",
      "detector_shape_hw": [
        128,
        128
      ],
      "detector_spacing_mm_uv": [
        8.0,
        8.0
      ],
      "rotation_axis_object": [
        0,
        0,
        1
      ],
      "source_detector_mm": 1200.0,
      "source_isocentre_mm": 800.0
    },
    "held_out_views_degrees": [
      45.0,
      135.0
    ],
    "known_attenuation_sha256": "473f2076730eb863eac365eb56cd40144c8b8fdbce8f8140179c0a5467d18ab6",
    "numerics": {
      "chart_rotation_radius_radians": 1.0,
      "chart_scales": [
        1.0,
        1.0,
        1.0,
        0.01,
        0.01,
        0.01
      ],
      "completion_policy": "Gradient tolerance unchanged; early relative-loss and step-size exits disabled because the main example must reach stationarity.",
      "fitting_samples_per_ray": 1024,
      "fitting_sampling_candidates": [
        512,
        1024
      ],
      "generation_integration": "midpoint",
      "generation_precision": "float64",
      "generation_samples_per_ray": 4096,
      "generation_sampling_candidates": [
        1024,
        2048,
        4096
      ],
      "independent_exact_rays_per_check": 24,
      "integration": "cell_gauss",
      "policy": {
        "armijo": 0.0001,
        "curvature": 0.9,
        "gradient_tolerance": 0.001,
        "line_search_evaluations": 32,
        "max_evaluations": 1500,
        "max_iterations": 300,
        "maximum_step": 16.0,
        "memory": 10,
        "minimum_step": 1e-14,
        "relative_loss_tolerance": 0.0,
        "step_tolerance": 0.0
      },
      "precision": "float64",
      "sampling_error_poisson_sd_max": 0.2,
      "sampling_error_poisson_sd_p95_max": 0.05,
      "sampling_gate_open_beam_per_pixel": 20000,
      "solve_soft_seconds": 180.0
    },
    "purpose": "Instructional CT-derived known-volume registration followed by choosing a second view. A near-parallel second view is the stated baseline; no claim of superiority over an optimally chosen fixed orthogonal view.",
    "randomness": {
      "candidate_counts_generated_after_ranking": true,
      "development_root_seed": 2026091400,
      "generator": "numpy.random.PCG64",
      "keys": [
        "root_seed",
        "role",
        "replicate",
        "angle_plus_180"
      ],
      "replicates": 8,
      "root_seed": 2026091401
    },
    "registration": {
      "open_beam_per_view": 10000.0,
      "views_degrees": [
        0.0,
        90.0
      ]
    },
    "schema_version": 1,
    "source_and_evaluation": "Known development anatomy is intentionally reused for teaching. New prospective simulated observations; all replicates retained. Generating transform and reserved views are not supplied to fitting or ranking.",
    "task_coordinates_mm": [
      -40.0,
      40.0
    ]
  },
  "input_sha256": "473f2076730eb863eac365eb56cd40144c8b8fdbce8f8140179c0a5467d18ab6",
  "curator_sha256": "1babaadc49ce1f391918ae600514fccae7f0c15f5752e6952fb02bd84443a36c",
  "source_rights": "CT-ORG case 2, Rister et al., DOI 10.7937/tcia.2019.tt7f4v7o, CC BY 3.0. Assigned water/bone 80 keV attenuation; xraylib 4.3.0 BSD-3-Clause notice accompanies the recipe.",
  "display": "Full detectors; fixed log10(1+counts) window [0,log10(10001)], origin lower; no interpolation or smoothing of measurements. All noise pairs retained.",
  "numerical_record_sha256": {
    "summary.json": "991f6093887c2f303c39cceafec9c721a550172196b3562ceaa873c1f284334c",
    "evaluation.json": "42728debe7a09bb54b43d6fd2551ec24cf8b9b1da150782848f99f0598bc68a9",
    "sampling.json": "c6c54a01f362cf34c27adc8d3689e4b4bc6a69701b72c7adad5fb02e0845c5a3"
  }
}
