added SharpenFilterLatent
This commit is contained in:
@@ -783,6 +783,40 @@ class AdainFilterLatent:
|
||||
latents_copy["samples"] = torch.lerp(latents["samples"], t, factor)
|
||||
return (latents_copy,)
|
||||
|
||||
class SharpenFilterLatent:
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
def INPUT_TYPES(s):
|
||||
return {
|
||||
"required": {
|
||||
"latents": ("LATENT", ),
|
||||
"filter_size": ("INT", {"default": 1, "min": 1, "max": 128}),
|
||||
"factor": ("FLOAT", {"default": 1.0, "min": -100.0, "max": 100.0, "step": 0.01, "round": 0.01}),
|
||||
},
|
||||
}
|
||||
|
||||
RETURN_TYPES = ("LATENT",)
|
||||
FUNCTION = "filter_latent"
|
||||
|
||||
CATEGORY = "latent/filters"
|
||||
|
||||
def filter_latent(self, latents, filter_size, factor):
|
||||
latents_copy = copy.deepcopy(latents)
|
||||
t = latents_copy["samples"].movedim(1, -1) # [B x C x H x W] -> [B x H x W x C]
|
||||
|
||||
d = filter_size * 2 + 1
|
||||
t_blurred = cv_blur_tensor(t, d, d)
|
||||
|
||||
t = t - t_blurred
|
||||
t = t * factor
|
||||
t = t + t_blurred
|
||||
|
||||
t = t.movedim(-1, 1) # [B x H x W x C] -> [B x C x H x W]
|
||||
latents_copy["samples"] = t
|
||||
return (latents_copy,)
|
||||
|
||||
class AdainImage:
|
||||
def __init__(self):
|
||||
pass
|
||||
@@ -1673,6 +1707,7 @@ NODE_CLASS_MAPPINGS = {
|
||||
"InstructPixToPixConditioningAdvanced": InstructPixToPixConditioningAdvanced,
|
||||
"LatentNormalizeShuffle": LatentNormalizeShuffle,
|
||||
"PrintSigmas": PrintSigmas,
|
||||
"SharpenFilterLatent": SharpenFilterLatent,
|
||||
}
|
||||
|
||||
NODE_DISPLAY_NAME_MAPPINGS = {
|
||||
@@ -1714,4 +1749,5 @@ NODE_DISPLAY_NAME_MAPPINGS = {
|
||||
"InstructPixToPixConditioningAdvanced": "InstructPixToPixConditioningAdvanced",
|
||||
"LatentNormalizeShuffle": "LatentNormalizeShuffle",
|
||||
"PrintSigmas": "PrintSigmas",
|
||||
"SharpenFilterLatent": "Sharpen Filter (Latent)",
|
||||
}
|
||||
Reference in New Issue
Block a user