Source code for isimple.plugins.Volume_uL

import numpy as np

from isimple import get_logger, settings
from isimple.config import extend, ConfigType, Field

from isimple.maths.images import area_pixelsum

from isimple.video import MaskFunction, Feature, FeatureType, FeatureConfig


[docs]@extend(ConfigType) class Volume_uL_Config(FeatureConfig): h: float = Field(default=0.153, description='height (mm)')
[docs]@extend(FeatureType) class Volume_uL(MaskFunction): _label = "Volume" _unit = "µL" _description = "Volume ~ masked & filtered area multiplied by channel height" _config_class = Volume_uL_Config def _function(self, frame: np.ndarray) -> float: return self.pxsq2mmsq(area_pixelsum(frame)) * self.config.h