63 lines
2.0 KiB
Python
63 lines
2.0 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding:utf-8 -*-
|
|
#
|
|
###
|
|
|
|
from nodes import KSampler, VAEEncode, VAEEncodeTiled, VAEDecode, VAEDecodeTiled, ImageScaleBy
|
|
from comfy_extras.nodes_custom_sampler import *
|
|
|
|
|
|
from ...utils.log import *
|
|
|
|
class MS_Sampler:
|
|
|
|
@classmethod
|
|
def refine(self, image, upscale_method, vae, tile_size, model, seed, steps, cfg, sampler_name, scheduler, positive, negative, denoise):
|
|
|
|
inpainted = ImageScaleBy().upscale(image, upscale_method, 1.5)[0]
|
|
latent = VAEEncodeTiled().encode(vae, inpainted, tile_size, tile_size // 16)[0]
|
|
|
|
latent = KSampler().sample(
|
|
model,
|
|
seed,
|
|
steps,
|
|
cfg,
|
|
sampler_name,
|
|
scheduler,
|
|
positive,
|
|
negative,
|
|
latent,
|
|
denoise
|
|
)[0]
|
|
|
|
inpainted = VAEDecodeTiled().decode(vae, latent, tile_size, tile_size // 4)[0]
|
|
return ImageScaleBy().upscale(inpainted, upscale_method, (1/1.5))
|
|
|
|
def refine_custom(self, image, tiled, upscale_method, vae, tile_size, model, noise_seed, cfg, sampler, sigmas, positive, negative):
|
|
|
|
add_noise = True
|
|
upscale = ImageScaleBy().upscale(image, upscale_method, 1.5)[0]
|
|
|
|
if tiled == True:
|
|
latent_image = VAEEncodeTiled().encode(vae, upscale, tile_size, tile_size // 16)[0]
|
|
else:
|
|
latent_image = VAEEncode().encode(vae, upscale, tile_size)[0]
|
|
|
|
latent_image = SamplerCustom().sample(
|
|
model,
|
|
add_noise,
|
|
noise_seed,
|
|
cfg,
|
|
positive,
|
|
negative,
|
|
sampler,
|
|
sigmas,
|
|
latent_image
|
|
)[0]
|
|
|
|
if tiled == True:
|
|
output = VAEDecodeTiled().decode(vae, latent_image, tile_size, tile_size // 4)[0] # .unsqueeze(0)
|
|
else:
|
|
output = VAEDecode().decode(vae, latent_image, tile_size)[0]
|
|
|
|
return ImageScaleBy().upscale(output, upscale_method, (1/1.5)) |