Skip to content
Snippets Groups Projects
Commit 6709038f authored by s204159's avatar s204159 :sunglasses: Committed by fima
Browse files

Gradio plot flicker fix

parent 503d7368
No related branches found
No related tags found
1 merge request!142Gradio plot flicker fix
......@@ -163,17 +163,31 @@ class Interface(BaseInterface):
# Visualization and results
with gr.Row():
def create_uniform_image(intensity=1):
"""
Generates a blank image with a single color.
Gradio `gr.Plot` components will flicker if there is no default value.
bug fix on gradio version 4.44.0
"""
pixels = np.zeros((100, 100, 3), dtype=np.uint8) + int(intensity * 255)
fig, ax = plt.subplots(figsize=(10, 10))
ax.imshow(pixels, interpolation="nearest")
# Adjustments
ax.axis("off")
fig.subplots_adjust(left=0, right=1, bottom=0, top=1)
return fig
# Z Slicer
with gr.Column(visible=False) as result_z_slicer:
zslice_plot = gr.Plot(label="Z slice")
zslice_plot = gr.Plot(label="Z slice", value=create_uniform_image(1))
zpos = gr.Slider(
minimum=0, maximum=1, value=0.5, step=0.01, label="Z position"
)
# Y Slicer
with gr.Column(visible=False) as result_y_slicer:
yslice_plot = gr.Plot(label="Y slice")
yslice_plot = gr.Plot(label="Y slice", value=create_uniform_image(1))
ypos = gr.Slider(
minimum=0, maximum=1, value=0.5, step=0.01, label="Y position"
......@@ -181,7 +195,7 @@ class Interface(BaseInterface):
# X Slicer
with gr.Column(visible=False) as result_x_slicer:
xslice_plot = gr.Plot(label="X slice")
xslice_plot = gr.Plot(label="X slice", value=create_uniform_image(1))
xpos = gr.Slider(
minimum=0, maximum=1, value=0.5, step=0.01, label="X position"
......
......@@ -164,29 +164,48 @@ class Interface(InterfaceWithExamples):
with gr.Column(scale=4):
def create_uniform_image(intensity=1):
"""
Generates a blank image with a single color.
Gradio `gr.Plot` components will flicker if there is no default value.
bug fix on gradio version 4.44.0
"""
pixels = np.zeros((100, 100, 3), dtype=np.uint8) + int(intensity * 255)
fig, ax = plt.subplots(figsize=(10, 10))
ax.imshow(pixels, interpolation="nearest")
# Adjustments
ax.axis("off")
fig.subplots_adjust(left=0, right=1, bottom=0, top=1)
return fig
with gr.Row():
input_vol = gr.Plot(
show_label=True,
label="Original",
visible=True,
value=create_uniform_image(),
)
binary_vol = gr.Plot(
show_label=True,
label="Binary",
visible=True,
value=create_uniform_image(),
)
output_vol = gr.Plot(
show_label=True,
label="Local thickness",
visible=True,
value=create_uniform_image(),
)
with gr.Row():
histogram = gr.Plot(
show_label=True,
label="Thickness histogram",
visible=True,
value=create_uniform_image(),
)
with gr.Row():
lt_output = gr.File(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment