Chakshu123's picture
Duplicate from Chakshu123/sketch-colorization-with-hint
443d045
raw
history blame
14.7 kB
from __future__ import annotations
import typing
from typing import Any, Callable, Tuple
import numpy as np
from PIL.Image import Image
from gradio import components
class TextArea(components.Textbox):
"""
Sets: lines=7
"""
is_template = True
def __init__(
self,
value: str | Callable | None = "",
*,
lines: int = 7,
max_lines: int = 20,
placeholder: str | None = None,
label: str | None = None,
show_label: bool = True,
interactive: bool | None = None,
visible: bool = True,
elem_id: str | None = None,
**kwargs,
):
super().__init__(
value=value,
lines=lines,
max_lines=max_lines,
placeholder=placeholder,
label=label,
show_label=show_label,
interactive=interactive,
visible=visible,
elem_id=elem_id,
**kwargs,
)
class Webcam(components.Image):
"""
Sets: source="webcam", interactive=True
"""
is_template = True
def __init__(
self,
value: str | Image | np.ndarray | None = None,
*,
shape: Tuple[int, int] | None = None,
image_mode: str = "RGB",
invert_colors: bool = False,
source: str = "webcam",
tool: str | None = None,
type: str = "numpy",
label: str | None = None,
show_label: bool = True,
interactive: bool | None = True,
visible: bool = True,
streaming: bool = False,
elem_id: str | None = None,
mirror_webcam: bool = True,
**kwargs,
):
super().__init__(
value=value,
shape=shape,
image_mode=image_mode,
invert_colors=invert_colors,
source=source,
tool=tool,
type=type,
label=label,
show_label=show_label,
interactive=interactive,
visible=visible,
streaming=streaming,
elem_id=elem_id,
mirror_webcam=mirror_webcam,
**kwargs,
)
class Sketchpad(components.Image):
"""
Sets: image_mode="L", source="canvas", shape=(28, 28), invert_colors=True, interactive=True
"""
is_template = True
def __init__(
self,
value: str | Image | np.ndarray | None = None,
*,
shape: Tuple[int, int] = (28, 28),
image_mode: str = "L",
invert_colors: bool = True,
source: str = "canvas",
tool: str | None = None,
type: str = "numpy",
label: str | None = None,
show_label: bool = True,
interactive: bool | None = True,
visible: bool = True,
streaming: bool = False,
elem_id: str | None = None,
mirror_webcam: bool = True,
**kwargs,
):
super().__init__(
value=value,
shape=shape,
image_mode=image_mode,
invert_colors=invert_colors,
source=source,
tool=tool,
type=type,
label=label,
show_label=show_label,
interactive=interactive,
visible=visible,
streaming=streaming,
elem_id=elem_id,
mirror_webcam=mirror_webcam,
**kwargs,
)
class Paint(components.Image):
"""
Sets: source="canvas", tool="color-sketch", interactive=True
"""
is_template = True
def __init__(
self,
value: str | Image | np.ndarray | None = None,
*,
shape: Tuple[int, int] | None = None,
image_mode: str = "RGB",
invert_colors: bool = False,
source: str = "canvas",
tool: str = "color-sketch",
type: str = "numpy",
label: str | None = None,
show_label: bool = True,
interactive: bool | None = True,
visible: bool = True,
streaming: bool = False,
elem_id: str | None = None,
mirror_webcam: bool = True,
**kwargs,
):
super().__init__(
value=value,
shape=shape,
image_mode=image_mode,
invert_colors=invert_colors,
source=source,
tool=tool,
type=type,
label=label,
show_label=show_label,
interactive=interactive,
visible=visible,
streaming=streaming,
elem_id=elem_id,
mirror_webcam=mirror_webcam,
**kwargs,
)
class ImageMask(components.Image):
"""
Sets: source="upload", tool="sketch", interactive=True
"""
is_template = True
def __init__(
self,
value: str | Image | np.ndarray | None = None,
*,
shape: Tuple[int, int] | None = None,
image_mode: str = "RGB",
invert_colors: bool = False,
source: str = "upload",
tool: str = "sketch",
type: str = "numpy",
label: str | None = None,
show_label: bool = True,
interactive: bool | None = True,
visible: bool = True,
streaming: bool = False,
elem_id: str | None = None,
mirror_webcam: bool = True,
**kwargs,
):
super().__init__(
value=value,
shape=shape,
image_mode=image_mode,
invert_colors=invert_colors,
source=source,
tool=tool,
type=type,
label=label,
show_label=show_label,
interactive=interactive,
visible=visible,
streaming=streaming,
elem_id=elem_id,
mirror_webcam=mirror_webcam,
**kwargs,
)
class ImagePaint(components.Image):
"""
Sets: source="upload", tool="color-sketch", interactive=True
"""
is_template = True
def __init__(
self,
value: str | Image | np.ndarray | None = None,
*,
shape: Tuple[int, int] | None = None,
image_mode: str = "RGB",
invert_colors: bool = False,
source: str = "upload",
tool: str = "color-sketch",
type: str = "numpy",
label: str | None = None,
show_label: bool = True,
interactive: bool | None = True,
visible: bool = True,
streaming: bool = False,
elem_id: str | None = None,
mirror_webcam: bool = True,
**kwargs,
):
super().__init__(
value=value,
shape=shape,
image_mode=image_mode,
invert_colors=invert_colors,
source=source,
tool=tool,
type=type,
label=label,
show_label=show_label,
interactive=interactive,
visible=visible,
streaming=streaming,
elem_id=elem_id,
mirror_webcam=mirror_webcam,
**kwargs,
)
class Pil(components.Image):
"""
Sets: type="pil"
"""
is_template = True
def __init__(
self,
value: str | Image | np.ndarray | None = None,
*,
shape: Tuple[int, int] | None = None,
image_mode: str = "RGB",
invert_colors: bool = False,
source: str = "upload",
tool: str | None = None,
type: str = "pil",
label: str | None = None,
show_label: bool = True,
interactive: bool | None = None,
visible: bool = True,
streaming: bool = False,
elem_id: str | None = None,
mirror_webcam: bool = True,
**kwargs,
):
super().__init__(
value=value,
shape=shape,
image_mode=image_mode,
invert_colors=invert_colors,
source=source,
tool=tool,
type=type,
label=label,
show_label=show_label,
interactive=interactive,
visible=visible,
streaming=streaming,
elem_id=elem_id,
mirror_webcam=mirror_webcam,
**kwargs,
)
class PlayableVideo(components.Video):
"""
Sets: format="mp4"
"""
is_template = True
def __init__(
self,
value: str | Callable | None = None,
*,
format: str | None = "mp4",
source: str = "upload",
label: str | None = None,
show_label: bool = True,
interactive: bool | None = None,
visible: bool = True,
elem_id: str | None = None,
mirror_webcam: bool = True,
include_audio: bool | None = None,
**kwargs,
):
super().__init__(
value=value,
format=format,
source=source,
label=label,
show_label=show_label,
interactive=interactive,
visible=visible,
elem_id=elem_id,
mirror_webcam=mirror_webcam,
include_audio=include_audio,
**kwargs,
)
class Microphone(components.Audio):
"""
Sets: source="microphone"
"""
is_template = True
def __init__(
self,
value: str | Tuple[int, np.ndarray] | Callable | None = None,
*,
source: str = "microphone",
type: str = "numpy",
label: str | None = None,
show_label: bool = True,
interactive: bool | None = None,
visible: bool = True,
streaming: bool = False,
elem_id: str | None = None,
**kwargs,
):
super().__init__(
value=value,
source=source,
type=type,
label=label,
show_label=show_label,
interactive=interactive,
visible=visible,
streaming=streaming,
elem_id=elem_id,
**kwargs,
)
class Files(components.File):
"""
Sets: file_count="multiple"
"""
is_template = True
def __init__(
self,
value: str | typing.List[str] | Callable | None = None,
*,
file_count: str = "multiple",
type: str = "file",
label: str | None = None,
show_label: bool = True,
interactive: bool | None = None,
visible: bool = True,
elem_id: str | None = None,
**kwargs,
):
super().__init__(
value=value,
file_count=file_count,
type=type,
label=label,
show_label=show_label,
interactive=interactive,
visible=visible,
elem_id=elem_id,
**kwargs,
)
class Numpy(components.Dataframe):
"""
Sets: type="numpy"
"""
is_template = True
def __init__(
self,
value: typing.List[typing.List[Any]] | Callable | None = None,
*,
headers: typing.List[str] | None = None,
row_count: int | Tuple[int, str] = (1, "dynamic"),
col_count: int | Tuple[int, str] | None = None,
datatype: str | typing.List[str] = "str",
type: str = "numpy",
max_rows: int | None = 20,
max_cols: int | None = None,
overflow_row_behaviour: str = "paginate",
label: str | None = None,
show_label: bool = True,
interactive: bool | None = None,
visible: bool = True,
elem_id: str | None = None,
wrap: bool = False,
**kwargs,
):
super().__init__(
value=value,
headers=headers,
row_count=row_count,
col_count=col_count,
datatype=datatype,
type=type,
max_rows=max_rows,
max_cols=max_cols,
overflow_row_behaviour=overflow_row_behaviour,
label=label,
show_label=show_label,
interactive=interactive,
visible=visible,
elem_id=elem_id,
wrap=wrap,
**kwargs,
)
class Matrix(components.Dataframe):
"""
Sets: type="array"
"""
is_template = True
def __init__(
self,
value: typing.List[typing.List[Any]] | Callable | None = None,
*,
headers: typing.List[str] | None = None,
row_count: int | Tuple[int, str] = (1, "dynamic"),
col_count: int | Tuple[int, str] | None = None,
datatype: str | typing.List[str] = "str",
type: str = "array",
max_rows: int | None = 20,
max_cols: int | None = None,
overflow_row_behaviour: str = "paginate",
label: str | None = None,
show_label: bool = True,
interactive: bool | None = None,
visible: bool = True,
elem_id: str | None = None,
wrap: bool = False,
**kwargs,
):
super().__init__(
value=value,
headers=headers,
row_count=row_count,
col_count=col_count,
datatype=datatype,
type=type,
max_rows=max_rows,
max_cols=max_cols,
overflow_row_behaviour=overflow_row_behaviour,
label=label,
show_label=show_label,
interactive=interactive,
visible=visible,
elem_id=elem_id,
wrap=wrap,
**kwargs,
)
class List(components.Dataframe):
"""
Sets: type="array", col_count=1
"""
is_template = True
def __init__(
self,
value: typing.List[typing.List[Any]] | Callable | None = None,
*,
headers: typing.List[str] | None = None,
row_count: int | Tuple[int, str] = (1, "dynamic"),
col_count: int | Tuple[int, str] = 1,
datatype: str | typing.List[str] = "str",
type: str = "array",
max_rows: int | None = 20,
max_cols: int | None = None,
overflow_row_behaviour: str = "paginate",
label: str | None = None,
show_label: bool = True,
interactive: bool | None = None,
visible: bool = True,
elem_id: str | None = None,
wrap: bool = False,
**kwargs,
):
super().__init__(
value=value,
headers=headers,
row_count=row_count,
col_count=col_count,
datatype=datatype,
type=type,
max_rows=max_rows,
max_cols=max_cols,
overflow_row_behaviour=overflow_row_behaviour,
label=label,
show_label=show_label,
interactive=interactive,
visible=visible,
elem_id=elem_id,
wrap=wrap,
**kwargs,
)
Mic = Microphone