Skip to main content

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

Attributes

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)].

Back to top