automatic/modules/detailer.py

20 lines
552 B
Python

from abc import abstractmethod
from modules import shared
class Detailer: # abstract class used for postprocessing
def name(self):
return "None"
@abstractmethod
def restore(self, np_image):
return np_image
def detail(np_image, p=None): # postprocesses the image
detailers = [x for x in shared.detailers if x.name() == shared.opts.detailer_model or shared.opts.detailer_model is None]
if len(detailers) == 0:
return np_image
detailer: Detailer = detailers[0]
return detailer.restore(np_image, p)