Spaces:
Runtime error
Runtime error
import datasets | |
import random | |
import numpy | |
import json | |
import gradio | |
import matplotlib.pyplot # for colormap | |
import matplotlib.colors # for color conversion | |
vr = datasets.load_dataset("cmudrc/porous-microstructure-strain-fields", data_files=['variable_radius.zip'], split='train') | |
vn = datasets.load_dataset("cmudrc/porous-microstructure-strain-fields", data_files=['variable_number.zip'], split='train') | |
circle = datasets.load_dataset("cmudrc/porous-microstructure-strain-fields", data_files=['circle/circle_test.zip'], split="train[:10]") | |
crescent = datasets.load_dataset("cmudrc/porous-microstructure-strain-fields", data_files=['crescent/crescent_test.zip'], split="train[:10]") | |
peanut = datasets.load_dataset("cmudrc/porous-microstructure-strain-fields", data_files=['peanut/peanut_test.zip'], split="train[:10]") | |
ellipse = datasets.load_dataset("cmudrc/porous-microstructure-strain-fields", data_files=['ellipse/ellipse_test.zip'], split="train[:10]") | |
triangle = datasets.load_dataset("cmudrc/porous-microstructure-strain-fields", data_files=['triangle/triangle_test.zip'], split="train[:10]") | |
rectangle = datasets.load_dataset("cmudrc/porous-microstructure-strain-fields", data_files=['rectangle/rectangle_test.zip'], split="train[:10]") | |
shapes = { | |
"circle": circle, | |
"crescent": crescent, | |
"ellipse": ellipse, | |
"peanut": peanut, | |
"triangle": triangle, | |
"rectangle": rectangle, | |
} | |
def randomize(selection): | |
index = random.randint(0, 9) | |
mask = 255*numpy.array(json.loads(shapes[selection]['Defects'][index])) | |
v = numpy.array(json.loads(shapes[selection]['Strain'][index])) | |
print(v) | |
# Get the color map by name: | |
cm = matplotlib.pyplot.get_cmap('RdBu') | |
measure = max(v.max(), -v.min()) | |
print(measure) | |
output = (v / measure) | |
print(cm((numpy.multiply(output[:, :, 0], mask)+1.0)/2.0)) | |
return mask, cm((numpy.multiply(output[:, :, 0], mask/255.0)+1.0)/2.0), cm((numpy.multiply(output[:, :, 1], mask/255.0)+1.0)/2.0), cm((numpy.multiply(output[:, :, 2], mask/255.0)+1.0)/2.0) | |
with gradio.Blocks() as demo: | |
selection = gradio.Dropdown(["circle", "crescent", "ellipse", "peanut", "triangle", "rectangle"], label="Select defect shape") | |
with gradio.Row(): | |
with gradio.Column(label="Defects"): | |
mask = gradio.Image() | |
with gradio.Column(label="ε-xx"): | |
exx = gradio.Image() | |
with gradio.Row(): | |
with gradio.Column(): | |
eyy = gradio.Image(label="ε-yy") | |
with gradio.Column(): | |
exy = gradio.Image(label="ε-xy") | |
selection.change(fn=randomize, inputs=[selection], outputs=[mask, exx, eyy, exy]) | |
demo.launch(debug=True) |