From 1531d80ec2dddd96b7c6d90acf800b4d1a1a05d8 Mon Sep 17 00:00:00 2001 From: Carter Francis Date: Thu, 24 Sep 2026 11:29:17 -0500 Subject: [PATCH 1/5] Add pydeserver --twin: serve frames from the de-twin digital twin `pydeserver --twin` hands the simulated server to de-twin's deapi face, so clients get realistic frames (detector model, references, a simulated column and specimen) instead of the built-in fake data. Remaining options go to the twin (--camera, --specimen, --soap-port, ...). de-twin is an optional `twin` extra (Python >= 3.10); without it the flag explains how to install it. --- CHANGES.rst | 4 ++ deapi/simulated_server/initialize_server.py | 29 +++++++- .../test_fake_server/test_twin_server.py | 66 +++++++++++++++++++ doc/help/pyDEServer.rst | 25 ++++++- pyproject.toml | 4 ++ 5 files changed, 126 insertions(+), 2 deletions(-) create mode 100644 deapi/tests/test_fake_server/test_twin_server.py diff --git a/CHANGES.rst b/CHANGES.rst index e643aa7f..9c6e0313 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -39,6 +39,10 @@ file by `towncrier `_ when a release is prepa ========= - Create a Result Class to handle Result + Histogram +Unreleased +========== +- ``pydeserver --twin`` serves frames from the `de-twin `_ digital twin instead of the built-in fake data (optional ``twin`` extra: ``pip install "deapi[twin]"``). + 5.3.beta0 ========= - Add support for binning in x/ y dimensions when returning a result (#19) diff --git a/deapi/simulated_server/initialize_server.py b/deapi/simulated_server/initialize_server.py index ce533217..093f90e1 100644 --- a/deapi/simulated_server/initialize_server.py +++ b/deapi/simulated_server/initialize_server.py @@ -28,13 +28,40 @@ def _recv_exact(conn, n): return buf +def serve_twin(port, twin_args=()): + """Serve frames rendered by the de-twin digital twin instead of the built-in fake data. + + Needs the optional ``twin`` extra (``pip install "deapi[twin]"``). ``twin_args`` are + passed to the twin's server, e.g. ``["--specimen", "Apoferritin in ice", "--camera", + "Celeritas", "--soap-port", "5002"]``; see ``python -m de_twin.faces.deapi_server --help``. + """ + try: + from de_twin.faces import deapi_server + except ImportError: + sys.stderr.write( + 'pydeserver --twin needs the digital twin: pip install "deapi[twin]"\n' + ) + return 2 + return deapi_server.main([str(port), *twin_args]) + + # Defining main function def main(port=13240): parser = argparse.ArgumentParser() parser.add_argument("--port", type=int, help="Port to listen on") - args, _ = parser.parse_known_args() + parser.add_argument( + "--twin", + action="store_true", + help='serve frames from the de-twin digital twin (pip install "deapi[twin]"); ' + "other options are passed to the twin, e.g. --specimen, --camera, --soap-port", + ) + args, rest = parser.parse_known_args() if args.port: port = args.port + if args.twin: + # the twin may call back into this loop (its --deapi-loop option): don't recurse + sys.argv = [a for a in sys.argv if a != "--twin"] + return serve_twin(port, [a for a in rest if not a.isdigit()]) HOST = "127.0.0.1" # Standard loopback interface address (localhost) PORT = port # Port to listen on (non-privileged ports are > 1023) diff --git a/deapi/tests/test_fake_server/test_twin_server.py b/deapi/tests/test_fake_server/test_twin_server.py new file mode 100644 index 00000000..e500fc61 --- /dev/null +++ b/deapi/tests/test_fake_server/test_twin_server.py @@ -0,0 +1,66 @@ +"""``pydeserver --twin``: the simulated server backed by the de-twin digital twin.""" + +import socket +import subprocess +import sys +import threading +import time + +import numpy as np +import pytest + +from deapi.client import Client +from deapi.simulated_server import initialize_server + + +def _free_port(): + with socket.socket() as s: + s.bind(("127.0.0.1", 0)) + return s.getsockname()[1] + + +def test_twin_flag_without_the_twin_installed_explains_how_to_get_it(monkeypatch, capsys): + monkeypatch.setitem(sys.modules, "de_twin", None) # import de_twin -> ImportError + monkeypatch.setitem(sys.modules, "de_twin.faces", None) + monkeypatch.setattr(sys, "argv", ["pydeserver", "--twin"]) + assert initialize_server.main(_free_port()) == 2 + assert 'pip install "deapi[twin]"' in capsys.readouterr().err + + +def test_twin_server_serves_twin_frames(): + pytest.importorskip("de_twin") + port = _free_port() + proc = subprocess.Popen( + [sys.executable, "-u", "-m", "deapi.simulated_server.initialize_server", str(port), + "--twin", "--camera", "DESim", "--specimen", "Dense Au on holey C"], + stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True, + ) + lines = [] + started = threading.Event() + + def read(): + for line in proc.stdout: + lines.append(line) + if "started" in line: + started.set() + + threading.Thread(target=read, daemon=True).start() + try: + assert started.wait(120), "".join(lines) + client = Client() + client.usingMmf = False + client.connect(port=port) + assert client["Sensor Size X (pixels)"] == 1024 # the twin's DESim model + client["Frame Count"] = 2 + client.start_acquisition(1) + deadline = time.time() + 60 + while client.acquiring and time.time() < deadline: + time.sleep(0.05) + image, *_ = client.get_result("singleframe_integrated") + assert image.shape == (1024, 1024) + assert np.asarray(image).std() > 0 # a rendered specimen, not a constant + assert client["Instrument Project Magnification"] # the twin's column metadata + client.disconnect() + finally: + proc.terminate() + proc.wait(10) diff --git a/doc/help/pyDEServer.rst b/doc/help/pyDEServer.rst index 3c49e8b6..57d0d0c8 100644 --- a/doc/help/pyDEServer.rst +++ b/doc/help/pyDEServer.rst @@ -62,4 +62,27 @@ The pyDEServer "Cheats" in a couple of ways: points of interest. This is implemented with the `BaseFakeData` class. Which implements a `__getitem__` method that returns the -data at the index in the navigation data. This can be used to return a single frame or a set of frames. \ No newline at end of file +data at the index in the navigation data. This can be used to return a single frame or a set of frames. +Realistic data from the digital twin +------------------------------------ + +For data that behaves like a real instrument, the pyDEServer can serve frames rendered by +`de-twin `_, a digital twin of a Direct Electron +camera on a TEM (column, specimen, in-situ holder and detector; Python 3.10+). Install the optional extra and +start the server with ``--twin``: + +.. code-block:: + + pip install "deapi[twin]" + pydeserver --port 13241 --twin --camera DE16 --specimen "Dense Au on holey C" + +Clients connect exactly as before (``client.usingMmf = False``). The twin supplies: + +* raw detector frames with dark offset, noise and gain structure, and references that + work like DE-Server's; +* images that follow the simulated column (stage, magnification, defocus); +* the ``Instrument ...`` metadata properties. + +Other options are passed to the twin. For example, ``--soap-port 5002`` also serves the +twin's microscope as a DE-TEM-Channel, and ``--seed``, ``--holder`` and ``--time-scale`` are +available too; see ``python -m de_twin.faces.deapi_server --help``. diff --git a/pyproject.toml b/pyproject.toml index 70a19de9..d3c9b81c 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -60,6 +60,10 @@ tests = [ service = [ "pyqt6", ] +# Serve frames from the de-twin digital twin: `pydeserver --twin` +twin = [ + "de-twin>=0.1.0; python_version >= '3.10'", +] doc = [ "sphinx", "pydata_sphinx_theme", From cb328f8660f8486c5fc3e2e7898f28eaf97f00fc Mon Sep 17 00:00:00 2001 From: Carter Francis Date: Thu, 24 Sep 2026 11:52:04 -0500 Subject: [PATCH 2/5] Format test_twin_server.py with black --- .../test_fake_server/test_twin_server.py | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/deapi/tests/test_fake_server/test_twin_server.py b/deapi/tests/test_fake_server/test_twin_server.py index e500fc61..b576405d 100644 --- a/deapi/tests/test_fake_server/test_twin_server.py +++ b/deapi/tests/test_fake_server/test_twin_server.py @@ -19,7 +19,9 @@ def _free_port(): return s.getsockname()[1] -def test_twin_flag_without_the_twin_installed_explains_how_to_get_it(monkeypatch, capsys): +def test_twin_flag_without_the_twin_installed_explains_how_to_get_it( + monkeypatch, capsys +): monkeypatch.setitem(sys.modules, "de_twin", None) # import de_twin -> ImportError monkeypatch.setitem(sys.modules, "de_twin.faces", None) monkeypatch.setattr(sys, "argv", ["pydeserver", "--twin"]) @@ -31,9 +33,21 @@ def test_twin_server_serves_twin_frames(): pytest.importorskip("de_twin") port = _free_port() proc = subprocess.Popen( - [sys.executable, "-u", "-m", "deapi.simulated_server.initialize_server", str(port), - "--twin", "--camera", "DESim", "--specimen", "Dense Au on holey C"], - stdout=subprocess.PIPE, stderr=subprocess.STDOUT, text=True, + [ + sys.executable, + "-u", + "-m", + "deapi.simulated_server.initialize_server", + str(port), + "--twin", + "--camera", + "DESim", + "--specimen", + "Dense Au on holey C", + ], + stdout=subprocess.PIPE, + stderr=subprocess.STDOUT, + text=True, ) lines = [] started = threading.Event() From c48d6e283eb189eb5fbe871f2a2f26d826fc4aad Mon Sep 17 00:00:00 2001 From: Carter Francis Date: Thu, 24 Sep 2026 13:12:42 -0500 Subject: [PATCH 3/5] Example: image holes on a grid with de_microscope and the digital twin Adds a gallery example that drives the microscope and the camera together: atlas at 2000x, find the holes in the holey carbon, move the stage to each one with de_microscope (the DE-TEM-Channel client) and image it at 8000x. It runs against `pydeserver --twin --soap-port 5002`; its output figure is included because the gallery does not execute it (de_microscope is not on PyPI). Also fixes --twin dropping every all-digit option (e.g. the value of --soap-port): only the leading positional port is removed now. --- deapi/simulated_server/initialize_server.py | 4 +- .../test_fake_server/test_twin_server.py | 16 ++ doc/_static/digital_twin_holes.png | Bin 0 -> 625577 bytes examples/digital_twin/README.rst | 6 + ...ging_holes_with_the_digital_twin_sgskip.py | 147 ++++++++++++++++++ 5 files changed, 172 insertions(+), 1 deletion(-) create mode 100644 doc/_static/digital_twin_holes.png create mode 100644 examples/digital_twin/README.rst create mode 100644 examples/digital_twin/imaging_holes_with_the_digital_twin_sgskip.py diff --git a/deapi/simulated_server/initialize_server.py b/deapi/simulated_server/initialize_server.py index 093f90e1..f9e3c858 100644 --- a/deapi/simulated_server/initialize_server.py +++ b/deapi/simulated_server/initialize_server.py @@ -61,7 +61,9 @@ def main(port=13240): if args.twin: # the twin may call back into this loop (its --deapi-loop option): don't recurse sys.argv = [a for a in sys.argv if a != "--twin"] - return serve_twin(port, [a for a in rest if not a.isdigit()]) + if rest and rest[0].isdigit(): # the positional port, already in ``port`` + rest = rest[1:] + return serve_twin(port, rest) HOST = "127.0.0.1" # Standard loopback interface address (localhost) PORT = port # Port to listen on (non-privileged ports are > 1023) diff --git a/deapi/tests/test_fake_server/test_twin_server.py b/deapi/tests/test_fake_server/test_twin_server.py index b576405d..eef9c9e3 100644 --- a/deapi/tests/test_fake_server/test_twin_server.py +++ b/deapi/tests/test_fake_server/test_twin_server.py @@ -78,3 +78,19 @@ def read(): finally: proc.terminate() proc.wait(10) + + +def test_twin_options_are_passed_through(monkeypatch): + seen = {} + monkeypatch.setattr( + initialize_server, + "serve_twin", + lambda port, args: seen.update(port=port, args=args), + ) + monkeypatch.setattr( + sys, + "argv", + ["pydeserver", "13241", "--twin", "--soap-port", "5002", "--camera", "DE16"], + ) + initialize_server.main(13241) + assert seen == {"port": 13241, "args": ["--soap-port", "5002", "--camera", "DE16"]} diff --git a/doc/_static/digital_twin_holes.png b/doc/_static/digital_twin_holes.png new file mode 100644 index 0000000000000000000000000000000000000000..cca569a57db2b465fa9dd7b059562ad1fe05ff8d GIT binary patch literal 625577 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�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