More cleanups and fixes

This commit is contained in:
blepping
2024-05-11 08:08:35 -06:00
parent b950e1b051
commit c455599e9e
2 changed files with 25 additions and 6 deletions
+21 -2
View File
@@ -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)),
),
}
+4 -4
View File
@@ -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):