Examples¶
Worked examples that progressively introduce eSDIva's features — from basic transducer geometry to pulse-echo imaging, brain-atlas integration and STL mesh simulation.
Run any example directly:
Output figures are controlled by examples/config.py. Set FIG_FOLDER to choose where images are saved and toggle SAVE_FIG (or set ESDIVA_SAVE_FIG=1) to switch between saving and interactive display.
Transducers & Emission¶
-
Every transducer type in one script: linear, convex, matrix arrays and all four circular mono-element geometries, plus a custom TUS helmet.
-
Monochromatic CW pressure fields for all four circular types: flat piston, concave bowl, cylindrical line-focus, and convex dome.
-
Focused field for a linear and matrix array rendered in 3-D with PyVista. Transducer geometry and pressure volume in one scene.
-
Pulsed diverging-wave emission with a virtual source behind the array. Animated GIF of the propagating wavefront.
-
Matrix-array plane wave steered off-axis; transient field animated in 3-D on two orthogonal planes with the transducer mesh.
Reception & Imaging¶
-
Point spread function of a focused single-element transducer; conventional vs PE-SDI backends agree to a fraction of a percent.
-
Single-line B-mode acquisition: focused transmit, all channels receive. Includes the
sim.show()3-D setup preview. -
Every TX element fires individually while all RX record — the dataset behind synthetic aperture and TFM imaging.
-
The classic Field II PSF phantom imaged line by line with
scan_focuslineand log-compressed to a B-mode image.
Attenuation & Safety Metrics¶
-
On-axis peak pressure and Ispta vs depth, with and without tissue attenuation — the quantities behind acoustic-output safety metrics.
-
Water vs brain tissue: causal power-law attenuation with Kramers–Kronig dispersion reshaping a 10 MHz focused beam.
Applications¶
-
Concave bowl with focal spot overlaid on a BrainGlobe mouse atlas. Anatomy, transducer, and pressure in one frame.
-
FUS targeting of motor and somatosensory regions. Atlas scaling by lambda–bregma distance and registration to the transducer frame.
-
Loading and visualising STL files of experimental components. Transforms, multiple objects in one scene, and custom lighting.
-
End-to-end: concave bowl transducer, pressure field, and petri-dish STL composed in a single PyVista 3-D scene.
-
Direct use of
subdivide_parametric_surfaceon an ellipsoidal cap. Patch distribution, coverage, and flat-patch accuracy. -
One-line MATLAB export →
from_fieldii_rect_data→ a native eSDIva transducer with the original delays and apodization. -
64-element spiral array assembled with
CustomTransducer, repositioned withtransform(), and visualised on 3-D plane slices. -
Pitch-catch: a second array tilted 30° with
transform()receives from an oblique angle. Setup previewed withsim.show(). -
make_phantomcyst phantom, piezo impulse response set, focused B-mode line-by-line withscan_focusline. -
Full pipeline: shared phantom, diverging-wave sequence, checkpointed
sequence_rfacquisition,das_volumeIQ compounding, honest metrics.
Prerequisites¶
| Examples | Requirements |
|---|---|
| 1–11, 16–21 | Core eSDIva installation |
| 12–13 | brainglobe-atlasapi (atlas data downloaded on first run) |
| 14–15 | Petri_dish.stl placed in examples/ |