From 623b3fce5d73347b824285e2e25073f590609a4a Mon Sep 17 00:00:00 2001
From: Padraig Gleeson
Date: Fri, 13 Nov 2026 13:31:24 +0000
Subject: [PATCH] Update app to show neuroml
---
app.py | 48 +++++++++++++++++++++++++++++++++++-------------
1 file changed, 35 insertions(+), 13 deletions(-)
diff --git a/app.py b/app.py
index 0b5338d..90090fb 100644
--- a/app.py
+++ b/app.py
@@ -6,21 +6,30 @@
import pyvista as pv
import sys
-version = "v0.1.0"
+version = "v0.1.2"
st_mode = "-gui" not in sys.argv
-print("Starting OpenWorm 3D Viewer (%s)" % version)
+
+def print_(msg, print_it=True): # print_it=False when not verbose
+ if print_it:
+ pre = "Worm3DViewer >>> "
+ print("%s %s" % (pre, msg.replace("\n", "\n" + pre)))
+
+
+print_("Starting OpenWorm 3D Viewer (%s)" % version)
if st_mode:
import streamlit as st
+ print_("Streamlit mode detected...")
+
st.set_page_config(layout="wide")
from stpyvista.utils import start_xvfb
if "IS_XVFB_RUNNING" not in st.session_state:
- print("Starting XVFB...")
+ print_("Starting XVFB...")
start_xvfb()
st.session_state.IS_XVFB_RUNNING = True
@@ -38,34 +47,47 @@
plotter = pv.Plotter()
+adding_sibernetic_model = False
+adding_neuroml_model = True
+adding_virtualworm_muscles = True
+adding_virtualworm_neurons = False
spacing = 50
-"""
-add_sibernetic_model(
- plotter, swap_y_z=True, offset3d=(spacing, -50, -100), show_footprint=False
-)
-add_neuroml_model(
+
+if adding_sibernetic_model:
+ print_("Adding Sibernetic model...")
+ add_sibernetic_model(
+ plotter, swap_y_z=True, offset3d=(spacing, -50, -100), show_footprint=False
+ )
+
+if adding_neuroml_model:
+ print_("Adding NeuroML model...")
+ add_neuroml_model(
plotter,
"NeuroML2/c302_D_Full.net.nml",
somas_only=False,
factor=0.2,
rotate_x=-90,
) # at 0...
-"""
-add_virtualworm_muscles(plotter, translate=(-1 * spacing, 0, 0))
-# add_virtualworm_neurons(plotter, translate=(-1.8*spacing, 0, 0))
+if adding_virtualworm_muscles:
+ print_("Adding VirtualWorm muscles...")
+ add_virtualworm_muscles(plotter, translate=(-1 * spacing, 0, 0))
+
+if adding_virtualworm_neurons:
+ print_("Adding VirtualWorm neurons...")
+ add_virtualworm_neurons(plotter, translate=(-1.8 * spacing, 0, 0))
plotter.set_viewup([0, 10, 0])
-print("Created the scene...")
+print_("Created the scene...")
if st_mode:
##
if True:
- print("Pass a key to avoid re-rendering at each page change")
+ print_("Pass a key to avoid re-rendering at each page change")
from stpyvista import stpyvista
stpyvista(plotter, key="pv_cube")