mirror of
https://github.com/artegoser/image-pluser-webui.git
synced 2024-11-05 20:23:58 +03:00
feat: tabs system
This commit is contained in:
parent
5b33b2cd66
commit
ca3d0969bc
6 changed files with 92 additions and 47 deletions
73
app.py
73
app.py
|
@ -1,55 +1,34 @@
|
|||
import gradio as gr
|
||||
from processing.stacking import stacking
|
||||
import sys
|
||||
import importlib
|
||||
import pathlib
|
||||
import os
|
||||
import copy
|
||||
from tabs import tabs
|
||||
|
||||
tabs_dir = pathlib.Path(__file__).parent / "tabs"
|
||||
|
||||
|
||||
all_tabs = []
|
||||
tab = None
|
||||
for tab_name in tabs:
|
||||
old_path = copy.deepcopy(sys.path)
|
||||
sys.path = [os.path.join(tabs_dir, tab_name)] + sys.path
|
||||
try:
|
||||
if tab is None:
|
||||
tab = importlib.import_module(f"app")
|
||||
else:
|
||||
tab = importlib.reload(tab)
|
||||
all_tabs.append((tab_name, tab.app))
|
||||
|
||||
except Exception as e:
|
||||
print(f"Error loading tab: {e}")
|
||||
|
||||
with gr.Blocks() as app:
|
||||
with gr.Tab("Stacking"):
|
||||
gr.Markdown("Stacking images.")
|
||||
with gr.Row():
|
||||
with gr.Column():
|
||||
directory = gr.Text(
|
||||
placeholder="A directory with many images of the same size", lines=1, label="Directory")
|
||||
methods = gr.Dropdown(
|
||||
choices=["denoise", "startracks", "noise extractor", "untrack"], value="denoise", label="Method")
|
||||
submit = gr.Button("Submit")
|
||||
|
||||
with gr.Column():
|
||||
output = gr.Gallery()
|
||||
|
||||
submit.click(stacking, inputs=[
|
||||
directory, methods], outputs=[output])
|
||||
|
||||
with gr.Tab("Bulk processing"):
|
||||
gr.Markdown(
|
||||
"Mass processing of images one at a time and saving to video if needed. # **WIP, not working**")
|
||||
with gr.Row():
|
||||
with gr.Column():
|
||||
directory = gr.Text(
|
||||
placeholder="A directory with many images of the same size", lines=1, label="Directory")
|
||||
methods = gr.Dropdown(
|
||||
choices=["denoise", "startracks", "noise extractor", "untrack"], value="denoise", label="Method")
|
||||
submit = gr.Button("Submit")
|
||||
|
||||
with gr.Tab("Video to images"):
|
||||
gr.Markdown(
|
||||
"Convert video to images. # **WIP, not working**")
|
||||
with gr.Row():
|
||||
with gr.Column():
|
||||
video = gr.Video(label="Video")
|
||||
|
||||
format = gr.Radio(
|
||||
choices=["png", "jpg"], value="png", label="Format of image")
|
||||
submit = gr.Button("Submit")
|
||||
|
||||
with gr.Tab("Images to video"):
|
||||
gr.Markdown("Convert images to video. # **WIP, not working**")
|
||||
with gr.Row():
|
||||
with gr.Column():
|
||||
directory = gr.Text(
|
||||
placeholder="A directory with many images of the same size", lines=1, label="Directory")
|
||||
|
||||
fps = gr.Number(label="FPS")
|
||||
submit = gr.Button("Submit")
|
||||
for tab_name, tab in all_tabs:
|
||||
with gr.Tab(tab_name):
|
||||
tab.render()
|
||||
|
||||
|
||||
app.launch()
|
||||
|
|
13
tabs/Bulk processing/app.py
Normal file
13
tabs/Bulk processing/app.py
Normal file
|
@ -0,0 +1,13 @@
|
|||
import gradio as gr
|
||||
from processing.bulk import images_to_video
|
||||
|
||||
with gr.Blocks() as app:
|
||||
gr.Markdown(
|
||||
"Mass processing of images one at a time and saving to video if needed. # **WIP, not working**")
|
||||
with gr.Row():
|
||||
with gr.Column():
|
||||
directory = gr.Text(
|
||||
placeholder="A directory with many images of the same size", lines=1, label="Directory")
|
||||
methods = gr.Dropdown(
|
||||
choices=["denoise", "startracks", "noise extractor", "untrack"], value="denoise", label="Method")
|
||||
submit = gr.Button("Submit")
|
17
tabs/Images to video/app.py
Normal file
17
tabs/Images to video/app.py
Normal file
|
@ -0,0 +1,17 @@
|
|||
import gradio as gr
|
||||
from processing.bulk import images_to_video
|
||||
|
||||
with gr.Blocks() as app:
|
||||
gr.Markdown("Convert images to video. # **WIP, not working**")
|
||||
with gr.Row():
|
||||
with gr.Column():
|
||||
directory = gr.Text(
|
||||
placeholder="A directory with many images of the same size", lines=1, label="Directory")
|
||||
|
||||
fps = gr.Number(label="FPS")
|
||||
submit = gr.Button("Submit")
|
||||
|
||||
submit.click(
|
||||
fn=images_to_video,
|
||||
inputs=[directory, fps],
|
||||
)
|
18
tabs/Stacking/app.py
Normal file
18
tabs/Stacking/app.py
Normal file
|
@ -0,0 +1,18 @@
|
|||
import gradio as gr
|
||||
from processing.stacking import stacking
|
||||
|
||||
with gr.Blocks() as app:
|
||||
gr.Markdown("Stacking images.")
|
||||
with gr.Row():
|
||||
with gr.Column():
|
||||
directory = gr.Text(
|
||||
placeholder="A directory with many images of the same size", lines=1, label="Directory")
|
||||
methods = gr.Dropdown(
|
||||
choices=["denoise", "startracks", "noise extractor", "untrack"], value="denoise", label="Method")
|
||||
submit = gr.Button("Submit")
|
||||
|
||||
with gr.Column():
|
||||
output = gr.Gallery()
|
||||
|
||||
submit.click(stacking, inputs=[
|
||||
directory, methods], outputs=[output])
|
12
tabs/Video to images/app.py
Normal file
12
tabs/Video to images/app.py
Normal file
|
@ -0,0 +1,12 @@
|
|||
import gradio as gr
|
||||
|
||||
with gr.Blocks() as app:
|
||||
gr.Markdown(
|
||||
"Convert video to images. # **WIP, not working**")
|
||||
with gr.Row():
|
||||
with gr.Column():
|
||||
video = gr.Video(label="Video")
|
||||
|
||||
format = gr.Radio(
|
||||
choices=["png", "jpg"], value="png", label="Format of image")
|
||||
submit = gr.Button("Submit")
|
6
tabs/__init__.py
Normal file
6
tabs/__init__.py
Normal file
|
@ -0,0 +1,6 @@
|
|||
tabs = [
|
||||
"Stacking",
|
||||
"Bulk processing",
|
||||
"Images to video",
|
||||
"Video to images"
|
||||
]
|
Loading…
Reference in a new issue