1
0
Fork 0

feat: add gaussian multiply to mask filters

This commit is contained in:
Sean Sube 2023-01-15 14:04:54 -06:00
parent f00f36b5b1
commit 40080ad46b
3 changed files with 21 additions and 5 deletions

View File

@ -14,7 +14,20 @@ def mask_filter_none(mask_image: Image, dims: Tuple[int, int], origin: Tuple[int
return noise return noise
def mask_filter_gaussian(mask_image: Image, dims: Tuple[int, int], origin: Tuple[int, int], rounds=3) -> Image: def mask_filter_gaussian_multiply(mask_image: Image, dims: Tuple[int, int], origin: Tuple[int, int], rounds=3) -> Image:
'''
Gaussian blur with multiply, source image centered on white canvas.
'''
noise = mask_filter_none(mask_image, dims, origin)
for i in range(rounds):
blur = noise.filter(ImageFilter.GaussianBlur(5))
noise = ImageChops.multiply(noise, blur)
return noise
def mask_filter_gaussian_screen(mask_image: Image, dims: Tuple[int, int], origin: Tuple[int, int], rounds=3) -> Image:
''' '''
Gaussian blur, source image centered on white canvas. Gaussian blur, source image centered on white canvas.
''' '''

View File

@ -32,7 +32,8 @@ from typing import Any, Dict, Tuple, Union
from .image import ( from .image import (
expand_image, expand_image,
# mask filters # mask filters
mask_filter_gaussian, mask_filter_gaussian_multiply,
mask_filter_gaussian_screen,
mask_filter_none, mask_filter_none,
# noise sources # noise sources
noise_source_gaussian, noise_source_gaussian,
@ -92,7 +93,8 @@ noise_sources = {
} }
mask_filters = { mask_filters = {
'none': mask_filter_none, 'none': mask_filter_none,
'gaussian': mask_filter_gaussian, 'gaussian-multiply': mask_filter_gaussian_multiply,
'gaussian-screen': mask_filter_gaussian_screen,
} }

View File

@ -36,6 +36,7 @@ export const NOISE_LABELS: Record<string, string> = {
}; };
export const MASK_LABELS: Record<string, string> = { export const MASK_LABELS: Record<string, string> = {
gaussian: 'Gaussian Blur', 'none': 'None',
none: 'None', 'gaussian-multiply': 'Gaussian Multiply',
'gaussian-screen': 'Gaussian Screen',
}; };