from loguru import logger | |
import numpy as np | |
from iopaint.schema import RunPluginRequest | |
class BasePlugin: | |
name: str | |
support_gen_image: bool = False | |
support_gen_mask: bool = False | |
def __init__(self): | |
err_msg = self.check_dep() | |
if err_msg: | |
logger.error(err_msg) | |
exit(-1) | |
def gen_image(self, rgb_np_img, req: RunPluginRequest) -> np.ndarray: | |
# return RGBA np image or BGR np image | |
... | |
def gen_mask(self, rgb_np_img, req: RunPluginRequest) -> np.ndarray: | |
# return GRAY or BGR np image, 255 means foreground, 0 means background | |
... | |
def check_dep(self): | |
... | |
def switch_model(self, new_model_name: str): | |
... | |