PorousMediaGAN / app.py
lmoss
added initial
a577b73
raw
history blame
1.76 kB
import streamlit as st
import streamlit.components.v1 as components
import pyvista as pv
from pyvista import examples
import numpy as np
from dcgan import DCGAN3D_G
import torch
import requests
url = "https://raw.githubusercontent.com/LukasMosser/PorousMediaGan/raw/master/checkpoints/berea/berea_generator_epoch_24.pth"
# If repo is private - we need to add a token in header:
resp = requests.get(url)
print(resp.status_code)
pv.set_plot_theme("document")
pl = pv.Plotter(shape=(1, 1),
window_size=(800, 800))
netG = DCGAN3D_G(64, 512, 1, 32, 1)
netG.load_state_dict(torch.load("./src/berea_generator_epoch_24.pth"))
z = torch.randn(1, 512, 5, 5, 5)
with torch.no_grad():
X = netG(z)
print(X.size())
print(X.min(), X.max())
st.image((X[0, 0, 32].numpy()+1)/2, output_format="png")
"""
data = examples.load_channels()
channels = data.threshold([0.9, 1.1])
print(channels)
bodies = channels.split_bodies()
# Now remove all bodies with a small volume
for key in bodies.keys():
b = bodies[key]
vol = b.volume
if vol < 1000.0:
del bodies[key]
continue
# Now lets add a volume array to all blocks
b.cell_data["TOTAL VOLUME"] = np.full(b.n_cells, vol)
for i, body in enumerate(bodies):
print(f"Body {i:02d} volume: {body.volume:.3f}")
pl.add_mesh(bodies)
pl.export_html('pyvista.html')
st.header("test html import")
view_width = 800
view_height = 800
HtmlFile = open("pyvista.html", 'r', encoding='utf-8')
source_code = HtmlFile.read()
components.html(source_code, width=view_width, height=view_height)
#snippet = embed.embed_snippet(views=view(reader.GetOutput()))
#html = embed.html_template.format(title="", snippet=snippet)
#components.html(html, width=view_width, height=view_height)"""