HomeMedical Technology & Imaging PhysicsUltrasound Imaging

🔊 Ultrasound Imaging

Interactive pulse-echo ultrasound simulator. A transducer emits a pulse; echoes return from tissue boundaries with reflection coefficient R=((Z2−Z1)/(Z2+Z1))². Watch the A-mode trace and B-mode image build up. Adjust frequency, gain/TGC, depth and tissue presets.

Medical Technology & Imaging Physics3DAdvanced60 FPS
ultrasound ↗ Open standalone

About this simulation

This simulator models real pulse-echo physics: at every boundary between tissue layers of acoustic impedance Z = ρ·c, it computes the exact reflection coefficient R = ((Z₂−Z₁)/(Z₂+Z₁))², converts each echo's time-of-flight to depth via d = c·t/2 with c ≈ 1540 m/s, and attenuates the signal by roughly 0.5 dB/cm/MHz round-trip. The result feeds both an A-mode trace (raw echo amplitude vs depth) and an accumulating B-mode image (echo strength mapped to brightness across scan lines), letting you watch a real diagnostic image form column by column.

🔬 What it shows

How ultrasound "sees" inside the body without any optics: sound reflects at every point where acoustic impedance changes, and the returning echo timing and strength are enough to reconstruct a depth-resolved image of internal tissue boundaries.

🎮 How to use

Choose a Preset (Abdominal, Vascular, Bone shadowing, Fluid cyst) to load a realistic tissue stack, or adjust Frequency, Gain/TGC, and Display depth directly; switch Mode between A+B, A-mode, and B-mode; watch the readout for Wavelength, Axial resolution, Penetration depth, Echo depths, and the Strongest mismatch boundary.

💡 Did you know?

Bone has an acoustic impedance roughly 4-5× higher than soft tissue, so almost all sound energy reflects at the tissue-bone boundary — this is why bones cast a dark "acoustic shadow" on ultrasound images, hiding whatever lies directly behind them.

Frequently asked questions

What causes an ultrasound echo to form at all?

An echo forms whenever the sound pulse crosses a boundary between two materials with different acoustic impedance Z = ρ·c (density times speed of sound); the bigger the mismatch, the larger the fraction of the wave's energy that reflects back rather than continuing deeper.

How does the machine know how deep an echo came from?

It measures the round-trip time-of-flight of the echo and converts it to depth using d = c·t/2, where c is about 1540 m/s in soft tissue and the factor of 2 accounts for the sound travelling down to the boundary and back up to the transducer.

Why can't you just always use the highest frequency for the sharpest image?

Higher frequency does shorten the wavelength and improve axial resolution (roughly λ/2), but attenuation also increases with frequency, so high-frequency pulses lose too much energy to reach deep structures — which is why vascular probes near the surface run at 10-15 MHz while abdominal probes reach deeper organs at only 2-5 MHz.

Why does bone create a dark shadow behind it on the image?

Bone's acoustic impedance is so much higher than soft tissue that the reflection coefficient at the tissue-bone boundary is very large, reflecting almost all the incoming energy and leaving almost none to continue past the bone and image whatever tissue lies behind it.

What is Gain/TGC (time-gain compensation) for?

Because echoes from deeper structures have travelled further and lost more energy to attenuation, Gain/TGC boosts the displayed signal progressively with depth so that identical tissue boundaries appear equally bright regardless of how far down they are.

⚙ Under the hood

Pulse-echo B-mode ultrasound: watch echoes return from impedance boundaries, then trade frequency for resolution versus penetration depth.

Medical TechnologyUltrasoundPulse-EchoAcoustic ImpedanceB-mode

3D · Three.js / WebGL renderer · 60 FPS target · runs fully client-side, no install

What did you find?

Add reproduction steps (optional)