All-enhancements-on sets, per probe and engine
Generated from arrayprobe_enhancements.registry, arrayprobe_enhancements.applicability and the per-probe restriction table the driver computes these sets with; never hand-typed. Rebuilt by the documentation build.
What a run gets when every enhancement in arrayprobe_enhancements is switched on, for each of four probes (2D-S, HVPS, CIP, PIP) on the UIOOPS v3.5 engine. SODA-2 is covered separately in §5 – it has no engine axis and no per-probe registry.
Probe applicability is not enforced anywhere in the resolver. arrayprobe_enhancements.applicability gates by engine only; the probe restrictions below are read off each module's own registry.py summary and the PROTECTIVE probetype table (registry.py:750-757), not measured by a runtime check. CIP and PIP are probetype 1, read from constants.IMGPROC_CONFIG (imgProc_sm.m:138-156).
See also Enhancements · Which enhancements apply to which engine · Enhancements by stage · Probes.
1. Module x probe matrix, per engine
Cell values: on (in the all-on set), refuses (state, see §4) (applicability.check raises NotApplicableToEngine; the one-line reason and file:line are in §4), n.a. (applicable but left out of default_set by name, see §4 – a cost/benefit exclusion, not a version refusal), **excluded (probe restriction, see Probe applicability above)** (the module does not apply to this probe's probetype; the code has no probe axis to enforce it).
engine = 3.5
| Module | 2D-S | HVPS | CIP | PIP |
|---|---|---|---|---|
analysis | on | on | on | on |
arco_export | on | on | on | on |
arm_export | on | on | on | on |
brown_francis_1995 | on | on | on | on |
cf_export | on | on | on | on |
diode_range_fix (its part) | refuses (variant-only, see §4) | refuses (variant-only, see §4) | refuses (variant-only, see §4) | refuses (variant-only, see §4) |
distance_rejection | on | on | on | on |
dmax_sensitivity (its part) | on | on | on | on |
effective_density | on | on | on | on |
field2006_shatter (its part) | on | on | on | on |
hole_edge_swap (its part) | on | on | on | on |
int16_double_fix (its part) | refuses (superseded-upstream, see §4) | refuses (superseded-upstream, see §4) | refuses (superseded-upstream, see §4) | refuses (superseded-upstream, see §4) |
int_arr_rollback_fix (its part) | excluded (probe restriction, see Probe applicability above) | excluded (probe restriction, see Probe applicability above) | on | on |
intarr_policy (its part) | on | on | on | on |
intarr_threshold_fix (its part) | refuses (variant-only, see §4) | refuses (variant-only, see §4) | refuses (variant-only, see §4) | refuses (variant-only, see §4) |
mask_presence_fix (its part) | refuses (variant-only, see §4) | refuses (variant-only, see §4) | refuses (variant-only, see §4) | refuses (variant-only, see §4) |
md_relations | on | on | on | on |
ml_accept_reject | on | on | on | on |
outoffocus (its part) | n.a. (excluded from default_set, see §4) | n.a. (excluded from default_set, see §4) | n.a. (excluded from default_set, see §4) | n.a. (excluded from default_set, see §4) |
overload_accounting_fix (its part) | on | on | excluded (probe restriction, see Probe applicability above) | excluded (probe restriction, see Probe applicability above) |
partial_image_habit (its part) | on | on | on | on |
particle_clustering (its part) | on | on | on | on |
particle_number_all_fix (its part) | excluded (probe restriction, see Probe applicability above) | excluded (probe restriction, see Probe applicability above) | excluded (probe restriction, see Probe applicability above) | excluded (probe restriction, see Probe applicability above) |
particle_time_glitch_fix (its part) | excluded (probe restriction, see Probe applicability above) | excluded (probe restriction, see Probe applicability above) | on | on |
particle_time_int8_fix (its part) | excluded (probe restriction, see Probe applicability above) | excluded (probe restriction, see Probe applicability above) | excluded (probe restriction, see Probe applicability above) | excluded (probe restriction, see Probe applicability above) |
pms_c6_routing_fix (its part) | excluded (probe restriction, see Probe applicability above) | excluded (probe restriction, see Probe applicability above) | on | on |
poisson_restore | on | on | on | on |
poisson_uncertainty | on | on | on | on |
probe_crossover | on | on | on | on |
probe_uncertainty | on | on | on | on |
published_dof (its part) | on | on | on | on |
reshape_fix (its part) | refuses (superseded-upstream, see §4) | refuses (superseded-upstream, see §4) | refuses (superseded-upstream, see §4) | refuses (superseded-upstream, see §4) |
rollover_fix (its part) | on | on | on | on |
spec_artefact_filter | on | excluded (probe restriction, see Probe applicability above) | excluded (probe restriction, see Probe applicability above) | excluded (probe restriction, see Probe applicability above) |
spot_edge_fix (its part) | on | on | on | on |
tas_grid_fix (its part) | excluded (probe restriction, see Probe applicability above) | excluded (probe restriction, see Probe applicability above) | on | on |
2. The literal all-on list, per (probe, engine)
default_set narrowed by the probe restrictions, sorted, each module linked as in §1.
3.5 / 2DS (24): analysis, arco_export, arm_export, brown_francis_1995, cf_export, distance_rejection, dmax_sensitivity (its part), effective_density, field2006_shatter (its part), hole_edge_swap (its part), intarr_policy (its part), md_relations, ml_accept_reject, overload_accounting_fix (its part), partial_image_habit (its part), particle_clustering (its part), poisson_restore, poisson_uncertainty, probe_crossover, probe_uncertainty, published_dof (its part), rollover_fix (its part), spec_artefact_filter, spot_edge_fix (its part)
3.5 / HVPS (23): analysis, arco_export, arm_export, brown_francis_1995, cf_export, distance_rejection, dmax_sensitivity (its part), effective_density, field2006_shatter (its part), hole_edge_swap (its part), intarr_policy (its part), md_relations, ml_accept_reject, overload_accounting_fix (its part), partial_image_habit (its part), particle_clustering (its part), poisson_restore, poisson_uncertainty, probe_crossover, probe_uncertainty, published_dof (its part), rollover_fix (its part), spot_edge_fix (its part)
3.5 / CIP (26): analysis, arco_export, arm_export, brown_francis_1995, cf_export, distance_rejection, dmax_sensitivity (its part), effective_density, field2006_shatter (its part), hole_edge_swap (its part), int_arr_rollback_fix (its part), intarr_policy (its part), md_relations, ml_accept_reject, partial_image_habit (its part), particle_clustering (its part), particle_time_glitch_fix (its part), pms_c6_routing_fix (its part), poisson_restore, poisson_uncertainty, probe_crossover, probe_uncertainty, published_dof (its part), rollover_fix (its part), spot_edge_fix (its part), tas_grid_fix (its part)
3.5 / PIP (26): analysis, arco_export, arm_export, brown_francis_1995, cf_export, distance_rejection, dmax_sensitivity (its part), effective_density, field2006_shatter (its part), hole_edge_swap (its part), int_arr_rollback_fix (its part), intarr_policy (its part), md_relations, ml_accept_reject, partial_image_habit (its part), particle_clustering (its part), particle_time_glitch_fix (its part), pms_c6_routing_fix (its part), poisson_restore, poisson_uncertainty, probe_crossover, probe_uncertainty, published_dof (its part), rollover_fix (its part), spot_edge_fix (its part), tas_grid_fix (its part)
3. Moves a number, or tooling / export / analysis
From all_on_sets.MOVES_A_NUMBER / TOOLING_ONLY – a correction to a written value or a derived diagnostic nothing in the port computes, against a lossless re-encode, a unit re-expression or a reference table.
Moves a number (29): analysis, diode_range_fix (its part), distance_rejection, dmax_sensitivity (its part), effective_density, field2006_shatter (its part), hole_edge_swap (its part), int16_double_fix (its part), int_arr_rollback_fix (its part), intarr_policy (its part), intarr_threshold_fix (its part), mask_presence_fix (its part), ml_accept_reject, outoffocus (its part), overload_accounting_fix (its part), partial_image_habit (its part), particle_clustering (its part), particle_number_all_fix (its part), particle_time_glitch_fix (its part), particle_time_int8_fix (its part), pms_c6_routing_fix (its part), poisson_restore, poisson_uncertainty, published_dof (its part), reshape_fix (its part), rollover_fix (its part), spec_artefact_filter, spot_edge_fix (its part), tas_grid_fix (its part)
Tooling / export / analysis (7): arco_export, arm_export, brown_francis_1995, cf_export, md_relations, probe_crossover, probe_uncertainty
4. Every module that refuses or is excluded on v3.5
Six rows: two superseded (the UIOOPS developers already fixed these in v3.5, so applying the correction again would double-correct), three variant-only (the construct exists in no stock UIOOPS release), and one excluded from default_set by name (applicable, but costly for little benefit).
| Module | State | v3.5 site | How established |
|---|---|---|---|
int16_double_fix (its part) | superseded | sizeDist.m:941-942 | already fixed in v3.5, established by reading the v3.5 source: im_width = double(netcdf.getVar(...)) – the cast moved to the read, dated Joe Finlon 02/13/19, which is the edit this project's upstream feedback suggested |
reshape_fix (its part) | superseded | sizeDist.m:2412, :2434 | already fixed in v3.5, established by reading the v3.5 source: all six variables now carry the transpose their neighbours had, same dated pass as the int16 x double cast fix. The classifier still calls this finding still-present, because a defect fixed by rewriting the code around it goes on matching – the reading wins |
diode_range_fix (its part) | variant-only | imgProc_sm.m:850 (guard only; no widening construct) | read against v3.5: the only surviving construct is the width guard (imgProc_sm.m:850, figsize(2)~=diodenum -> disp + return); no mask re-illumination/widening code (shadow_diode, c(:,...)='1') exists anywhere in the file – grepped for 'diodenum', 'figsize', 'shadow_diode' and neither the nine-argument imgProc_sm form nor masks.reilluminate's MATLAB counterpart is present. The widening this module corrects is on the mask-file path, which is FORK_ONLY per uiops.CATALOGUE and absent from stock v3.5 |
intarr_threshold_fix (its part) | variant-only | — | classifier: variant-only. The construct exists in no stock UIOOPS release – it describes a field campaign's modified UIOOPS, which is what produced the archived products. Absent from stock v3.5 rather than fixed in it |
mask_presence_fix (its part) | variant-only | imgProc_sm.m:1 (signature); no mask branch found | read against v3.5: imgProc_sm.m's signature (infile, outfile, probename, n, nEvery, projectname, iRectEllipse, iCalcAllDiodeStats, iQC, iNewHabit, varargin) carries no ninth-argument masks form, and grepping the whole file for 'exist(', 'maskfile', 'mask_file', 'reilluminate' and 'masks' returns nothing – the 9-arg mask branch this module corrects is FORK_ONLY per uiops.CATALOGUE and does not exist in stock v3.5 |
outoffocus (its part) | excluded from default_set | calculate_reject_unified.m:286-287 (part_z/size_factor lookups; handles.rej_hollow forced to 1 at :62, so the hollow block always runs under the stock v3.5 driver) | classifier: still-present in sizeDist.m |
5. SODA-2
SODA-2 has its own package, arrayprobe_soda2_enhancements, with a per-module registry. It differs from the UIOOPS registry on two axes: no engine matrix (SODA-2 has one source tree, so there is nothing for an applicability-shaped module to consult), and no archived-product lineage: SODA-2 has written no archived product for any probe, so its PROTECTIVE set (the corrections for data-destroying upstream defects) runs by default on every probe, per the protective-corrections rule, and a config opts out by name or with --protective off. Every other correction is opt-in, as on the UIOOPS side.
Every SODA-2 correction – the all-on set for SODA-2 on any probe:
aspr_nan_fix– opt-in, reachabilitylive, finding S2-dblank_roi_dof_fix– opt-in, reachabilityflagged, finding S4-vden_clamp_fix– opt-in, reachabilitylive, finding S2-fdilation_clamp_fix– default ON (protective), reachabilitylive, finding S4-zdouble_pi_fix– opt-in, reachabilitylive, finding S2-cempty_roi_diodegaps_fix– opt-in, reachabilityflagged, finding S5-hfillholes_int_labels– opt-in, reachabilitylatent, finding S4-uhk_probeid_columns– opt-in, reachabilityflagged, finding S5-klabel_blobs_int_count– opt-in, reachabilitylatent, finding S4-ylast_buffer_index_fix– default ON (protective), reachabilitylive, finding S4-ino_stuck_diode_fix– default ON (protective), reachabilitylive, finding S4-xpbp_inttime_consistent– opt-in, reachabilitylive, finding S6-ipbp_rejectionflag_ubyte– default ON (protective), reachabilitylive, finding S6-kpoisson_fill_guard– opt-in, reachabilitylive, finding S4-trejection_tally_fix– opt-in, reachabilitylive, finding S5-arollover_modulus_fix– opt-in, reachabilitylive, finding S4-nrun_diagnostics– opt-in, reachabilityflagged, finding S4-qsame_time_buffer_fix– default ON (protective), reachabilitylive, finding S4-ozero_area_return_fix– opt-in, reachabilityflagged, finding S3-e
No probe restriction is encoded for SODA-2 either; the port runs the SPEC chain (2D-S/HVPS) and the CIP route for SEA- and DMT-format files end to end, and every registered correction applies wherever its own consumes/entry point reaches, not narrowed by probe here.