142 lines
6.7 KiB
Markdown
142 lines
6.7 KiB
Markdown
# Documentation
|
|
- Class name: SeargeParameterProcessor
|
|
- Category: Searge/_deprecated_/UI
|
|
- Output node: False
|
|
- Repo Ref: https://github.com/jobunk/SeargeSDXL.git
|
|
|
|
该节点旨在处理和优化图像生成任务的输入参数,确保参数正确配置以实现期望的输出质量和风格。
|
|
|
|
# Input types
|
|
## Required
|
|
- inputs
|
|
- 输入参数至关重要,因为它提供了节点将处理和优化的初始参数集。它直接影响节点的操作和最终输出。
|
|
- Comfy dtype: Dict[str, Any]
|
|
- Python dtype: Dict[str, Any]
|
|
|
|
# Output types
|
|
- parameters
|
|
- 输出参数代表了处理过并优化的参数集,现在可以准备在图像生成过程的后续阶段使用。
|
|
- Comfy dtype: Dict[str, Any]
|
|
- Python dtype: Dict[str, Any]
|
|
|
|
# Usage tips
|
|
- Infra type: CPU
|
|
|
|
# Source code
|
|
```
|
|
class SeargeParameterProcessor:
|
|
REFINER_INTENSITY = ['hard', 'soft']
|
|
HRF_SEED_OFFSET = ['same', 'distinct']
|
|
STATES = ['disabled', 'enabled']
|
|
OPERATION_MODE = ['text to image', 'image to image', 'inpainting']
|
|
PROMPT_STYLE = ['simple', '3 prompts G+L-N', 'subject focus', 'style focus', 'weighted', 'overlay', 'subject - style', 'style - subject', 'style only', 'weighted - overlay', 'overlay - weighted']
|
|
STYLE_TEMPLATE = ['none', 'from preprocessor', 'test']
|
|
SAVE_TO = ['output folder', 'input folder']
|
|
|
|
@classmethod
|
|
def INPUT_TYPES(s):
|
|
return {'required': {'inputs': ('PARAMETER_INPUTS',)}}
|
|
RETURN_TYPES = ('PARAMETERS',)
|
|
RETURN_NAMES = ('parameters',)
|
|
FUNCTION = 'process'
|
|
CATEGORY = 'Searge/_deprecated_/UI'
|
|
|
|
def process(self, inputs):
|
|
if inputs is None:
|
|
parameters = {}
|
|
else:
|
|
parameters = inputs
|
|
if parameters['denoise'] is None:
|
|
parameters['denoise'] = 1.0
|
|
saturation = parameters['refiner_intensity']
|
|
if saturation is not None:
|
|
if saturation == SeargeParameterProcessor.REFINER_INTENSITY[1]:
|
|
parameters['noise_offset'] = 1
|
|
else:
|
|
parameters['noise_offset'] = 0
|
|
hires_fix = parameters['hires_fix']
|
|
if hires_fix is not None and hires_fix == SeargeParameterProcessor.STATES[0]:
|
|
parameters['hrf_steps'] = 0
|
|
hrf_saturation = parameters['hrf_intensity']
|
|
if hrf_saturation is not None:
|
|
if hrf_saturation == SeargeParameterProcessor.REFINER_INTENSITY[1]:
|
|
parameters['hrf_noise_offset'] = 1
|
|
else:
|
|
parameters['hrf_noise_offset'] = 0
|
|
seed_offset = parameters['hrf_seed_offset']
|
|
if seed_offset is not None:
|
|
seed = parameters['seed'] if parameters['seed'] is not None else 0
|
|
if seed_offset == SeargeParameterProcessor.HRF_SEED_OFFSET[1]:
|
|
parameters['hrf_seed'] = seed + 3
|
|
else:
|
|
parameters['hrf_seed'] = seed
|
|
style_template = parameters['style_template']
|
|
if style_template is not None:
|
|
if style_template == SeargeParameterProcessor.STYLE_TEMPLATE[1]:
|
|
pass
|
|
if style_template == SeargeParameterProcessor.STYLE_TEMPLATE[2]:
|
|
if parameters['noise_offset'] is not None:
|
|
parameters['noise_offset'] = 1 - parameters['hrf_noise_offset']
|
|
if parameters['hrf_noise_offset'] is not None:
|
|
parameters['hrf_noise_offset'] = 1 - parameters['hrf_noise_offset']
|
|
else:
|
|
pass
|
|
operation_mode = parameters['operation_mode']
|
|
if operation_mode is not None:
|
|
if operation_mode == SeargeParameterProcessor.OPERATION_MODE[1]:
|
|
parameters['operation_selector'] = 1
|
|
elif operation_mode == SeargeParameterProcessor.OPERATION_MODE[2]:
|
|
parameters['operation_selector'] = 2
|
|
else:
|
|
parameters['operation_selector'] = 0
|
|
parameters['denoise'] = 1.0
|
|
prompt_style = parameters['prompt_style']
|
|
if prompt_style is not None:
|
|
if prompt_style == SeargeParameterProcessor.PROMPT_STYLE[0]:
|
|
parameters['prompt_style_selector'] = 0
|
|
parameters['prompt_style_group'] = 0
|
|
main_prompt = parameters['main_prompt']
|
|
parameters['secondary_prompt'] = main_prompt
|
|
parameters['style_prompt'] = ''
|
|
parameters['negative_style'] = ''
|
|
elif prompt_style == SeargeParameterProcessor.PROMPT_STYLE[2]:
|
|
parameters['prompt_style_selector'] = 1
|
|
parameters['prompt_style_group'] = 0
|
|
elif prompt_style == SeargeParameterProcessor.PROMPT_STYLE[3]:
|
|
parameters['prompt_style_selector'] = 2
|
|
parameters['prompt_style_group'] = 0
|
|
elif prompt_style == SeargeParameterProcessor.PROMPT_STYLE[4]:
|
|
parameters['prompt_style_selector'] = 3
|
|
parameters['prompt_style_group'] = 0
|
|
elif prompt_style == SeargeParameterProcessor.PROMPT_STYLE[5]:
|
|
parameters['prompt_style_selector'] = 4
|
|
parameters['prompt_style_group'] = 0
|
|
elif prompt_style == SeargeParameterProcessor.PROMPT_STYLE[6]:
|
|
parameters['prompt_style_selector'] = 0
|
|
parameters['prompt_style_group'] = 1
|
|
elif prompt_style == SeargeParameterProcessor.PROMPT_STYLE[7]:
|
|
parameters['prompt_style_selector'] = 1
|
|
parameters['prompt_style_group'] = 1
|
|
elif prompt_style == SeargeParameterProcessor.PROMPT_STYLE[8]:
|
|
parameters['prompt_style_selector'] = 2
|
|
parameters['prompt_style_group'] = 1
|
|
elif prompt_style == SeargeParameterProcessor.PROMPT_STYLE[9]:
|
|
parameters['prompt_style_selector'] = 3
|
|
parameters['prompt_style_group'] = 1
|
|
elif prompt_style == SeargeParameterProcessor.PROMPT_STYLE[10]:
|
|
parameters['prompt_style_selector'] = 4
|
|
parameters['prompt_style_group'] = 1
|
|
else:
|
|
parameters['prompt_style_selector'] = 0
|
|
parameters['prompt_style_group'] = 0
|
|
parameters['style_prompt'] = ''
|
|
parameters['negative_style'] = ''
|
|
save_image = parameters['save_image']
|
|
if save_image is not None:
|
|
if save_image == SeargeParameterProcessor.STATES[0]:
|
|
parameters['save_upscaled_image'] = SeargeParameterProcessor.STATES[0]
|
|
parameters['hires_fix'] = SeargeParameterProcessor.STATES[0]
|
|
elif parameters['save_directory'] == SeargeParameterProcessor.SAVE_TO[1]:
|
|
parameters['hires_fix'] = SeargeParameterProcessor.STATES[1]
|
|
return (parameters,)
|
|
``` |