Fully Automated In-Situ Experiments
Coordinate systems, devices, and imaging pipelines from a single control server. Start simple and grow into fully automated, multi-PC experiments when you're ready.
tescan = ImagingSystem("tescan-001", apiKey) kamm = DeformationSystem("kammWeis-001", kammApiKey) run = semphony.run("insitu_tensile_dic", resume=True) with run.session() as s: tescan.attach(s) kamm.attach(s) # Find the previously examined ROIs using ZNCC tescan.imaging.find_roi("sn_calibration_specimen", fov_um=50) tescan.imaging.autofocus(stigm=True, wd=True) tescan.imaging.find_roi("user_roi_1", fov_um=100) displ_increment_um = 25 for i in range(1, 10): kamm.inc(um=displ_increment_um, speed_um_per_s=10) tescan.imaging.find_roi("user_roi_1", fov_um=100) tescan.imaging.acquire() run.checkpoint("increment_acquired", {"increment_um": displ_increment_um * ..
# Capture BSE survey → find inclusions → zoom + EDS per particle bse_result = sem.imaging.acquire( AcquisitionConfig(mode="BSE", fov_um=200, resolution=(1024, 1024)), download=True) finder = InclusionFinder(bse_result, fov_um=200, stage=sem.stage.get_pos()) inclusions = finder.find() for i, inc in enumerate(inclusions): sem.stage.move_to(inc["x_mm"], inc["y_mm"]) sem.imaging.set_view_field(fov_um=20) eds.acquire_spectrum( EDSSpectrumConfig(target_path=f"inclusion_{i}.msa", time_sec=10), download=True)
Built for Real Labs
Designed by researchers, for researchers. Semphony bridges the gap between complex multi-device setups and reproducible experimental workflows.
Deep SDK Integration
Uses manufacturer SDKs whenever possible for deep integration, while still supporting GUI-based control when that's the only option.
Multi-Instrument Orchestration
Orchestrates experiments and imaging across SEMs, optical microscopes, deformation devices, and other instruments.
Scale at Your Pace
Lets you start simple and gradually increase complexity as your automation needs grow. No need to commit to full automation upfront.
Documentation
Everything you need to automate your experimental workflows, from quick-start guides to advanced customization.
Browse all docsGetting Started
Install Semphony and run your first automated experiment within a few hours, from lab prerequisites to a simple end-to-end workflow.
Experiment as Code
Python and MATLAB SDKs for describing complex experiment sequences and orchestration directly in code (public docs coming soon).
SDK Reference
Python and MATLAB SDKs for integrating custom device agents and lab equipment with Semphony (reference docs are under active development).
Device Drivers
Supported instruments and how to configure connections to your lab equipment.