Source code for arthropod_describer.common.computations_scheduler

import dataclasses
import typing

import numpy as np

from arthropod_describer.common.label_image import RegionProperty
from arthropod_describer.common.photo import Photo
from arthropod_describer.common.plugin import PropertyComputation
from arthropod_describer.common.regions_cache import RegionsCache


[docs]class ComputationsScheduler: def __init__(self, props_by_regions: typing.Dict[int, typing.List[PropertyComputation]]): self.props_by_regions: typing.Dict[int, typing.List[PropertyComputation]] = props_by_regions self.regions_labels: typing.Set[int] = set(props_by_regions.keys())
[docs] def run(self, photo: Photo, label_name: str) -> typing.List[RegionProperty]: regions_cache = RegionsCache(self.regions_labels, photo, label_name) props: typing.List[RegionProperty] = [] for label, prop_comps in self.props_by_regions.items(): for prop_comp in prop_comps: pass