ScreeningRequirementsScenario
Optimization scenarios · Implementation: mlsysim/engine/scenario_definitions/optimization.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
A screener’s release floors and device budget, with measured slices checked against the floor.
device supplies the power envelope; slice_sensitivity maps a test slice (all photos, one patient subgroup) to its measured sensitivity; a release passes only if every slice meets the floor. field_operating_point is an optional (specificity, sensitivity) pair for one threshold on field data.
Notes
Equation: a slice passes when its supplied sensitivity is at least sensitivity_floor.
Assumptions: Slice sensitivities are externally supplied evaluation values; power limits come from the device record.
Excludes: A clinical validation study, uncertainty intervals, and enforcement of specificity or memory through passes().
References
Derivation: a slice passes when its supplied sensitivity is at least sensitivity_floor. The individual properties state units and intermediate accounting; this class introduces no fitted coefficient.
Examples
The named scenario supplies illustrative inputs; the output is calculated.
>>> from mlsysim import Scenarios
>>> case = Scenarios.RetinopathyScreenerRequirements
>>> round(float(case.power_low.to('W').magnitude), 3)
7.0Attributes
| Name | Description |
|---|---|
| device | |
| failing_slices | Slice names below the supplied sensitivity floor; no new evaluation data are |
| field_operating_point | |
| memory_budget | |
| power_high | Upper device power-envelope quantity from the hardware specification. |
| power_low | Lower device power-envelope quantity from the hardware specification. |
| sensitivity_floor | |
| slice_sensitivity | |
| specificity_floor |
Methods
| Name | Description |
|---|---|
| passes | Whether the named slice’s supplied sensitivity meets the release floor; returns a |
passes
engine.scenario_types.ScreeningRequirementsScenario.passes(slice_name)Whether the named slice’s supplied sensitivity meets the release floor; returns a Boolean.
Equation: return slice_sensitivity[slice_name] >= sensitivity_floor.
sensitivity_floor
Type: float.
Declared default: required.
specificity_floor
Type: float.
Declared default: required.
memory_budget
Type: Quantity.
Declared default: required.
device
Type: HardwareNode.
Declared default: required.
slice_sensitivity
Type: Dict[str, float].
Declared default: {}.
field_operating_point
Type: Optional[Tuple[float, float]].
Declared default: None.
power_low
engine.scenario_types.ScreeningRequirementsScenario.power_low
Lower device power-envelope quantity from the hardware specification.
Equation: return device.tdp_min.
power_high
engine.scenario_types.ScreeningRequirementsScenario.power_high
Upper device power-envelope quantity from the hardware specification.
Equation: return device.tdp_max.
failing_slices
engine.scenario_types.ScreeningRequirementsScenario.failing_slices
Slice names below the supplied sensitivity floor; no new evaluation data are collected.
Equation: return [k for k in slice_sensitivity if not passes(k)].