1 from _typeshed import Self
2 from typing import Any, Callable, Iterable, Sequence, Tuple, Type
3 from typing_extensions import Literal
5 from .Image import Image
7 _FilterArgs = Tuple[Sequence[int], int, int, Sequence[int]]
9 # filter image parameters below are the C images, i.e. Image().im.
12 class MultibandFilter(Filter): ...
14 class BuiltinFilter(MultibandFilter):
15 def filter(self, image) -> Image: ...
17 class Kernel(BuiltinFilter):
19 filterargs: _FilterArgs
20 def __init__(self, size: Sequence[int], kernel: Sequence[int], scale: Any | None = ..., offset: int = ...) -> None: ...
22 class RankFilter(Filter):
26 def __init__(self, size: int, rank: int) -> None: ...
27 def filter(self, image) -> Image: ...
29 class MedianFilter(RankFilter):
33 def __init__(self, size: int = ...) -> None: ...
35 class MinFilter(RankFilter):
39 def __init__(self, size: int = ...) -> None: ...
41 class MaxFilter(RankFilter):
45 def __init__(self, size: int = ...) -> None: ...
47 class ModeFilter(Filter):
50 def __init__(self, size: int = ...) -> None: ...
51 def filter(self, image) -> Image: ...
53 class GaussianBlur(MultibandFilter):
56 def __init__(self, radius: float = ...) -> None: ...
57 def filter(self, image) -> Image: ...
59 class BoxBlur(MultibandFilter):
62 def __init__(self, radius: float) -> None: ...
63 def filter(self, image) -> Image: ...
65 class UnsharpMask(MultibandFilter):
70 def __init__(self, radius: float = ..., percent: int = ..., threshold: int = ...) -> None: ...
71 def filter(self, image) -> Image: ...
73 class BLUR(BuiltinFilter):
75 filterargs: _FilterArgs
77 class CONTOUR(BuiltinFilter):
79 filterargs: _FilterArgs
81 class DETAIL(BuiltinFilter):
83 filterargs: _FilterArgs
85 class EDGE_ENHANCE(BuiltinFilter):
87 filterargs: _FilterArgs
89 class EDGE_ENHANCE_MORE(BuiltinFilter):
91 filterargs: _FilterArgs
93 class EMBOSS(BuiltinFilter):
95 filterargs: _FilterArgs
97 class FIND_EDGES(BuiltinFilter):
99 filterargs: _FilterArgs
101 class SHARPEN(BuiltinFilter):
103 filterargs: _FilterArgs
105 class SMOOTH(BuiltinFilter):
107 filterargs: _FilterArgs
109 class SMOOTH_MORE(BuiltinFilter):
111 filterargs: _FilterArgs
113 class Color3DLUT(MultibandFilter):
120 self, size: int | Iterable[int], table, channels: int = ..., target_mode: str | None = ..., **kwargs
125 size: int | tuple[int, int, int],
126 callback: Callable[[float, float, float], Iterable[float]],
128 target_mode: str | None = ...,
132 callback: Callable[..., Iterable[float]],
133 with_normals: bool = ...,
134 channels: Literal[3, 4] | None = ...,
135 target_mode: Any | None = ...,
137 def filter(self, image) -> Image: ...