o
    i                     @   sl   d dl mZ d dlmZ d dlZd dlmZmZ d dl	Z	G dd dej
ZG dd deZd	efd
dZdS )    )canny)overrideN)ComfyExtensionioc                   @   s8   e Zd Zedd Zedd ZedejfddZdS )	Cannyc                 C   sV   t jddg dddt jdt jjdddd	dd
t jjdddd	dd
gt j gdS )Nr   )zedge detectionoutlinezcontour detectionzline artzimage/preprocessorszImage Toolsimagelow_thresholdg?g{Gz?gGz?)defaultminmaxstephigh_thresholdg?)node_iddisplay_namesearch_aliasescategoryessentials_categoryinputsoutputs)r   SchemaImageInputFloatOutput)cls r   6/mnt/c/Users/fbmor/ComfyUI/comfy_extras/nodes_canny.pydefine_schema
   s   

zCanny.define_schemac                 C   s   |  |||S N)execute)r   r   r	   r   r   r   r   detect_edge   s   zCanny.detect_edgereturnc                 C   sb   t |jtj tjddd||}|d jtj tj	 d
dddddd}t|S )N)devicedtype      )r   tocomfymodel_managementget_torch_devicetorchfloat32movedimintermediate_deviceintermediate_dtyperepeatr   
NodeOutput)r   r   r	   r   outputimg_outr   r   r   r       s   &2
zCanny.executeN)	__name__
__module____qualname__classmethodr   r!   r   r2   r    r   r   r   r   r   	   s    

r   c                   @   s(   e Zd Zedeeej  fddZdS )CannyExtensionr"   c                    s   t gS r   )r   )selfr   r   r   get_node_list'   s   zCannyExtension.get_node_listN)	r5   r6   r7   r   listtyper   	ComfyNoder;   r   r   r   r   r9   &   s    r9   r"   c                      s   t  S r   )r9   r   r   r   r   comfy_entrypoint,   s   r?   )kornia.filtersr   typing_extensionsr   comfy.model_managementr)   comfy_api.latestr   r   r,   r>   r   r9   r?   r   r   r   r   <module>   s    