Code, configs, charge LUTs, best.pth and evaluation records for each training run, the knife-edge / Siemens-star / XRF notebooks with outputs, and the overnight run reports. Epoch checkpoints, inference results and HTML exports stay local (see .gitignore). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
64 lines
2.3 KiB
YAML
64 lines
2.3 KiB
YAML
# GridBased frame generation -- 12 keV, MOENCH040 @150 V (WP1.2, stamp-reuse variant)
|
|
#
|
|
# Frames are composed from the existing noiseless single-photon MC stamps
|
|
# (McGeneration output). Charge superposition is linear, so pile-up frames can
|
|
# be assembled by summing stamps; detector noise is applied once per frame.
|
|
|
|
meta:
|
|
energy: 12 # keV, beam energy of the stamp library
|
|
sensor: Moench040
|
|
hv: 150 # V
|
|
pixel_size_um: 25
|
|
sensor_thickness_um: 650
|
|
|
|
stamps:
|
|
folder: /mnt/sls_det_storage/moench_data/MLXID/Samples/Simulation/Moench040
|
|
pattern: "12keV_Moench040_150V_{}.npz"
|
|
train_files: [0, 11] # inclusive index range -> 12 shards
|
|
val_files: [12, 13]
|
|
test_files: [14, 15]
|
|
|
|
frame:
|
|
size: 32 # training frame side (px). Fully-convolutional
|
|
# model => inference runs on full 400x400 frames.
|
|
margin: 4 # ring (px) over which photons are also thrown so
|
|
# that out-of-frame photons leak charge in
|
|
|
|
noise:
|
|
pixel_keV: 0.13 # per-pixel Gaussian, matches the iWoRiD study
|
|
common_mode_row_keV: 0.0 # WP1.3: switch on once measured
|
|
common_mode_col_keV: 0.0
|
|
|
|
edge_augmentation:
|
|
fraction: 0.08 # fraction of frames containing a sensor boundary
|
|
|
|
output:
|
|
folder: /mnt/sls_det_storage/moench_data/MLXID/Samples/GridBased/12keV_Moench040_150V
|
|
|
|
splits:
|
|
train:
|
|
frames_per_shard: 200_000 # 12 shards -> 2.4M frames, ~60M photons
|
|
occupancy: {mode: loguniform, min: 0.002, max: 0.10}
|
|
val:
|
|
frames_per_shard: 80_000
|
|
occupancy: {mode: loguniform, min: 0.002, max: 0.10}
|
|
test:
|
|
frames_per_shard: 80_000
|
|
occupancy: {mode: loguniform, min: 0.002, max: 0.10}
|
|
|
|
# fixed-occupancy sets, for scanning performance vs flux
|
|
eval_scan:
|
|
# 20 % and 50 % are far outside the 0.2-10 % training range on purpose:
|
|
# they are where the cluster chains stop working and the grid chain has to
|
|
# be shown extrapolating. Appended, never reordered -- the per-point seed
|
|
# is base_seed + 9000 + index, so inserting a point would reshuffle the
|
|
# existing ones.
|
|
occupancies: [0.005, 0.01, 0.02, 0.05, 0.10, 0.20, 0.50]
|
|
frames_each: 8_000
|
|
stamp_files: [14, 15]
|
|
edge_fraction: 0.0
|
|
|
|
runtime:
|
|
n_workers: 16
|
|
seed: 20260830
|