a
    Ad                     @   sN   d dl mZ d dlZd dlmZmZ d dlZd dl	m
Z
 G dd dejZdS )    )ImageN)scripts_postprocessingcodeformer_model)FormRowc                   @   s,   e Zd ZdZdZdd ZejdddZdS )	ScriptPostprocessingCodeFormer
CodeFormeri  c              	   C   s\   t  < tjddddddd}tjdddddd	d}W d    n1 sH0    Y  ||d
S )Ng              ?gMbP?CodeFormer visibilityr   Zextras_codeformer_visibility)minimummaximumsteplabelvalueelem_idz:CodeFormer weight (0 = maximum effect, 1 = minimum effect)Zextras_codeformer_weight)codeformer_visibilitycodeformer_weight)r   grSlider)selfr   r    r   I/var/www/html/stable-diffusion-webui/scripts/postprocessing_codeformer.pyui   s    4z!ScriptPostprocessingCodeFormer.ui)ppc                 C   sv   |dkrd S t jjtj|jtjd|d}t|}|dk rLt	|j||}||_t
|d|jd< t
|d|jd< d S )Nr   )dtype)wr      r	   zCodeFormer weight)r   
codeformerrestorenparrayimageuint8r   	fromarrayblendroundinfo)r   r   r   r   restored_imgresr   r   r   process   s    
z&ScriptPostprocessingCodeFormer.processN)	__name__
__module____qualname__nameorderr   r   PostprocessedImager(   r   r   r   r   r   
   s   
r   )PILr   numpyr   modulesr   r   gradior   Zmodules.ui_componentsr   ScriptPostprocessingr   r   r   r   r   <module>   s
   