engine#
- class AdjusterRunner(*, phase: Phase, active_sections: Iterable[str] | None, changed_keys: Iterable[tuple[str, ...]] | None, config: RunnerConfig = RunnerConfig(trace=True, trace_paths=('vasculature.binarization', 'vasculature.performance.binarization'), trace_sink=None), schema_registry: Any | None = None)[source]#
Bases:
objectOrchestrates adjuster selection, ordering, execution, patch aggregation, tracing, and (optionally) authority enforcement.
- Design goals:
keep run() readable
isolate tracing noise
isolate policy/enforcement hooks
keep behavior compatible with the prior run_adjusters() function
- run(*, view: Mapping[str, Any], ctx: AdjustmentContext) Dict[str, Any][source]#
- class RunnerConfig(trace: 'bool' = True, trace_paths: 'Tuple[str, ...]' = ('vasculature.binarization', 'vasculature.performance.binarization'), trace_sink: 'Optional[Callable[[str], None]]' = None)[source]#
Bases:
object- trace: bool = True#
- trace_paths: Tuple[str, ...] = ('vasculature.binarization', 'vasculature.performance.binarization')#
- trace_sink: Callable[[str], None] | None = None#
- inject_sm_view(sm, *, view: dict, section_name: str = 'sample')[source]#
Temporarily make sm.config read from view[section_name] instead of the coordinator. We swap the instance’s class to a dynamic subclass that only overrides the config property.
- run_adjusters(*, view: Mapping[str, Any], ctx: AdjustmentContext, phase: Phase = Phase.PRE_VALIDATE, active_sections: Iterable[str] | None = None, changed_keys: Iterable[tuple[str, ...]] | None = None, trace: bool = True, trace_paths: Iterable[str] | None = None, trace_sink: Callable[[str], None] | None = None, schema_registry: Any | None = None) Dict[str, Any][source]#
Wrapper over AdjusterRunner.