From c455599e9e95fc401b872fa34032e3a50addd4bc Mon Sep 17 00:00:00 2001 From: blepping Date: Sat, 11 May 2024 08:08:35 -0600 Subject: [PATCH] More cleanups and fixes --- py/noise.py | 23 +++++++++++++++++++++-- py/noise_generation.py | 8 ++++---- 2 files changed, 25 insertions(+), 6 deletions(-) diff --git a/py/noise.py b/py/noise.py index a455fd2..b2f006d 100644 --- a/py/noise.py +++ b/py/noise.py @@ -210,9 +210,10 @@ class CompositeNoise(CustomNoiseItemBase): src_noise, normalize_dst, normalize_src, + normalize_result, mask, ): - super().__init( + super().__init__( factor, dst_noise=dst_noise.clone(), src_noise=src_noise.clone(), @@ -260,7 +261,7 @@ class CompositeNoise(CustomNoiseItemBase): return scale_noise( noise_dst.add_(noise_src), factor, - normalize=normalize_result, + normalized=normalize_result, ) return noise_sampler @@ -786,6 +787,24 @@ NOISE_SAMPLERS: dict[NoiseType, Callable] = { NoiseType.PYRAMID_OLD_AREA: NoiseSampler.simple( lambda x: pyramid_old_noise_like(x, upscale_mode="area"), ), + NoiseType.PYRAMID_DISCOUNT5: NoiseSampler.simple( + lambda x: pyramid_noise_like(x, discount=0.5), + ), + NoiseType.PYRAMID_MIX: NoiseSampler.simple( + lambda x: pyramid_noise_like(x, discount=0.6) + .mul_(0.2) + .add_(pyramid_noise_like(x, discount=0.6).mul_(-0.8)), + ), + NoiseType.PYRAMID_MIX_AREA: NoiseSampler.simple( + lambda x: pyramid_noise_like(x, discount=0.5, upscale_mode="area") + .mul_(0.2) + .add_(pyramid_noise_like(x, discount=0.5, upscale_mode="area").mul_(-0.8)), + ), + NoiseType.PYRAMID_MIX_BISLERP: NoiseSampler.simple( + lambda x: pyramid_noise_like(x, discount=0.5, upscale_mode="bislerp") + .mul_(0.2) + .add_(pyramid_noise_like(x, discount=0.5, upscale_mode="bislerp").mul_(-0.8)), + ), } diff --git a/py/noise_generation.py b/py/noise_generation.py index 418c3ac..578a669 100644 --- a/py/noise_generation.py +++ b/py/noise_generation.py @@ -21,6 +21,7 @@ class NoiseType(Enum): STUDENTT = auto() HIGHRES_PYRAMID = auto() PYRAMID = auto() + PYRAMID_MIX = auto() PINK = auto() LAPLACIAN = auto() POWER = auto() @@ -34,6 +35,9 @@ class NoiseType(Enum): PYRAMID_OLD_AREA = auto() PYRAMID_AREA = auto() HIGHRES_PYRAMID_AREA = auto() + PYRAMID_DISCOUNT5 = auto() + PYRAMID_MIX_BISLERP = auto() + PYRAMID_MIX_AREA = auto() @classmethod def get_names(cls, default=None, skip=None): @@ -376,10 +380,6 @@ def generate_1f_noise(tensor, alpha, k, generator=None): def pink_noise_like(x): return scale_noise(generate_1f_noise(x, 2.0, 1.0)).to(x.device) - # noise = generate_1f_noise(x, 2.0, 1.0) - # noise_mean = torch.mean(noise) - # noise_std = torch.std(noise) - # return noise.sub_(noise_mean).div_(noise_std).to(x.device) def laplacian_noise_like(x):