Skip to content

Commit

Permalink
feat: add gaussian multiply to mask filters
Browse files Browse the repository at this point in the history
  • Loading branch information
ssube committed Jan 15, 2023
1 parent f00f36b commit 40080ad
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 5 deletions.
15 changes: 14 additions & 1 deletion api/onnx_web/image.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,20 @@ def mask_filter_none(mask_image: Image, dims: Tuple[int, int], origin: Tuple[int
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.
'''
Expand Down
6 changes: 4 additions & 2 deletions api/onnx_web/serve.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,8 @@
from .image import (
expand_image,
# mask filters
mask_filter_gaussian,
mask_filter_gaussian_multiply,
mask_filter_gaussian_screen,
mask_filter_none,
# noise sources
noise_source_gaussian,
Expand Down Expand Up @@ -92,7 +93,8 @@
}
mask_filters = {
'none': mask_filter_none,
'gaussian': mask_filter_gaussian,
'gaussian-multiply': mask_filter_gaussian_multiply,
'gaussian-screen': mask_filter_gaussian_screen,
}


Expand Down
5 changes: 3 additions & 2 deletions gui/src/strings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ export const NOISE_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',
};

0 comments on commit 40080ad

Please sign in to comment.