from enum import Enum
from dataclasses import dataclass
from typing import Dict, List, Union
[docs]@dataclass
class FunctionParameter:
"""
Represents an input parameter to a segmenter function
"""
name: str
widget_type: WidgetType
data_type: str
min_value: Union[int, float] = None
max_value: Union[int, float] = None
increment: Union[int, float] = None
options: List[str] = None
[docs]@dataclass
class SegmenterFunction:
"""
Represents an aicssegmentation function.
Functions are the smallest executable entity in a workflow and directly map
to a python callable
"""
name: str
display_name: str
function: str
module: str
parameters: Dict[str, List[FunctionParameter]] = None