One JAX program calculates the B-mode image from the scatterers. Each step of this program is differentiable. The optimizer calculates the gradient of an image metric for each system parameter. Then it changes the parameters to improve the metric. The parameters are the element pitch, the transmit and receive apodization, and the assumed speed of sound.
| METRIC | BEFORE | AFTER |
|---|
The plots show the exact value of each metric for each frame. ↑: a higher value is better. ↓: a lower value is better. Optimized: the objective contains this metric (as a smooth approximation). Held out: the optimizer does not use this metric. We only measure it.
In this sweep, the aperture stays at 38 mm. Only the element pitch changes. If the pitch is more than about 0.78 λ, the array samples the wavefield too coarsely. Then grating lobes move echoes from the surrounding tissue into the dark cysts. At a pitch of λ/2, the grating lobes go away. The resolution does not change, because the aperture does not change.
The pitch parameter in the optimizer is different. It keeps 128 elements. Thus the aperture decreases when the pitch decreases, and the optimizer must balance grating lobes against resolution.
Each frame is a full RF simulation of the same scatterers with a different array.
We optimized each parameter for gCNR on each of the 15 random phantoms. We used 40 iterations. Each parameter improves the phantom that we optimized it on. The important question is different: does the result also improve a phantom that the optimizer did not see?
The speckle brightness objective moves the transmit energy to a small number of elements. The brightness value increases. The cysts become less dark, and the gCNR decreases.
A strong SSIM anchor (3 or more) stops this. But then the weights almost do not change. Thus a heavier anchor does not solve the problem. The objective must be different.