2.7 KiB
2.7 KiB
Documentation
- Class name: PixelKSampleHookCombine
- Category: image_processing
- Output node: False
- Repo Ref: https://github.com/ltdrdata/ComfyUI-Impact-Pack.git
PixelKSampleHookCombine 是一个节点,旨在将两个独立的钩子顺序应用于一系列图像处理操作。它协调钩子以特定顺序预处理、解码、放大和编码像素数据,确保图像操作任务的协同工作流程。
Input types
Required
- hook1
- 第一个要顺序应用的钩子。它在图像处理的初始阶段起着至关重要的作用,为后续操作奠定基础。
- Comfy dtype: PixelKSampleHook
- Python dtype: PixelKSampleHook
- hook2
- 第二个要顺序应用的钩子,它在第一个钩子应用后进一步细化图像处理流水线,提高整体输出质量。
- Comfy dtype: PixelKSampleHook
- Python dtype: PixelKSampleHook
Output types
- processed_pixels
- PixelKSampleHookCombine 节点的输出是将两个钩子应用于输入像素数据后的结果。它代表了所有处理步骤完成后图像的最终状态。
- Comfy dtype: COMBO[str, torch.Tensor]
- Python dtype: Union[str, torch.Tensor]
Usage tips
- Infra type: CPU
Source code
class PixelKSampleHookCombine(PixelKSampleHook):
hook1 = None
hook2 = None
def __init__(self, hook1, hook2):
super().__init__()
self.hook1 = hook1
self.hook2 = hook2
def set_steps(self, info):
self.hook1.set_steps(info)
self.hook2.set_steps(info)
def pre_decode(self, samples):
return self.hook2.pre_decode(self.hook1.pre_decode(samples))
def post_decode(self, pixels):
return self.hook2.post_decode(self.hook1.post_decode(pixels))
def post_upscale(self, pixels):
return self.hook2.post_upscale(self.hook1.post_upscale(pixels))
def post_encode(self, samples):
return self.hook2.post_encode(self.hook1.post_encode(samples))
def post_crop_region(self, w, h, item_bbox, crop_region):
crop_region = self.hook1.post_crop_region(w, h, item_bbox, crop_region)
return self.hook2.post_crop_region(w, h, item_bbox, crop_region)
def touch_scaled_size(self, w, h):
(w, h) = self.hook1.touch_scaled_size(w, h)
return self.hook2.touch_scaled_size(w, h)
def pre_ksample(self, model, seed, steps, cfg, sampler_name, scheduler, positive, negative, upscaled_latent, denoise):
(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, upscaled_latent, denoise) = self.hook1.pre_ksample(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, upscaled_latent, denoise)
return self.hook2.pre_ksample(model, seed, steps, cfg, sampler_name, scheduler, positive, negative, upscaled_latent, denoise)