o >g4@sVddlZddlZddlmZmZmZmZmZm Z m Z GdddZ de iZ ddiZ dS)N)dilationerosionopeningclosinggradienttop_hat bottom_hatc@s,eZdZeddZdZdZdZddZdS) Morphologyc Cs$ddgdfddddddfd iS) NrequiredIMAGE)erodedilateopencloserrrINTi)defaultminmaxstep)image operation kernel_size)srrG/home/comdoleger1/zen-flux-style-shape/comfy_extras/nodes_morphology.py INPUT_TYPESszMorphology.INPUT_TYPESr processzimage/postprocessingc Cstj}tj|||d}||dd}|dkr t||}nD|dkr*t||}n:|dkr4t ||}n0|dkr>t ||}n&|dkrHt ||}n|d krRt ||}n|d kr\t ||}ntd |d |tjdd}|fS) N)devicerr rrrrrrzInvalid operation ze for morphology. Must be one of 'erode', 'dilate', 'open', 'close', 'gradient', 'tophat', 'bottomhat')comfymodel_managementget_torch_devicetorchonestomovedimrrrrrrr ValueErrorintermediate_device) selfrrrr kernelZimage_koutputimg_outrrrrs(        zMorphology.processN) __name__ __module__ __qualname__ classmethodr RETURN_TYPESFUNCTIONCATEGORYrrrrrr s  r ZImageMorphology)r%Zcomfy.model_managementr"Zkornia.morphologyrrrrrrrr NODE_CLASS_MAPPINGSNODE_DISPLAY_NAME_MAPPINGSrrrrs$%