OpenwaterHealth / OpenLIFU-python

focused ultrasound toolbox
GNU Affero General Public License v3.0
12 stars 2 forks source link

Implement the virtual fitting optimization metric #148

Open ltetrel opened 3 weeks ago

ltetrel commented 3 weeks ago

This issue follows https://github.com/OpenwaterHealth/OpenLIFU-python/issues/147, where only the minimal grid search approach is developed.

More specifically, we want to have a better definition for what a good position is:

  1. Ray trace between each element and the target a. Get the material properties along the ray (checking only for sinus/non sinus region is sufficient, but we can also use a fully segmented head) b. Determine if the element is blocked
  2. Calculate the number of blocked elements

Once the steering and number of blocked elements has been determined for each position, candidate positions whose steering is outside the valid steering range for the probe are excluded, and then the remaining points are filtered to those with the lowest decile of blocked elements. From those final candidates, the “optimized” position is then chosen as the one closest to the target.