urx.probe - moduleus/urx GitHub Wiki

Generic ultrasound probe formed by a collection of elements.

Parameters

Parameter Datatype Description
description string User description.
elements Array of element Array of elements in the probe.
element_geometries Array of element_geometry Array of unique element_geometry in the probe.
impulse_responses Array of impulse_response Array of unique electromechanical impulse responses of the elements in the probe.
transform transform Attitude of the probe in 3D space.
type probe_type Type of probe.

Notes

Note that the elements in element_geometry and impulse_response are referred by the fields inside each member in element, avoiding unnecessary replication of information.

Probe Type

If the probe.type is not UNDEFINED, then some assumptions can be made depending on the value of probe.type:

LINEAR probe

  • All probe.elements share the same element_geometry and impulse_response.
  • All probe.elements.transform.translation have $y=0$ and $z=0$.
  • All probe.elements.transform.translation have an equal x-spacing.
  • Elements in the array probe.elements are ordered from the most negative-x to the most positive-x.
  • The probe is centered on the origin of the : probe.elements(first).transform.translation.x == -probe.elements(last).transform.translation.x.

Example of linear probe

The next figure shows an example of a linear probe with 64 elements, the first and tenth elements are highlighted: linear_array_1

The probe.element_geometries contains a single geometry:

$$[(x_1, y_1, z_1), (x_2, y_2, z_2), ...] = \left[ (-0.00013, -0.003, 0), (0.00013, -0.003, 0), (0.00013, 0.003, 0), (-0.00013, 0.003, 0) \right]$$

The position of the i-th element, in probe.elements(i).transform.translation.x is:

$$x = \frac{pitch \times (n-1)}{2} + i \times pitch$$

CURVILINEAR probe

  • All probe.elements share the same element_geometry and impulse_response.
  • Elements in the array probe.elements are ordered from the most negative-x to the most positive-x.
  • The probe is centered: probe.elements(first).transform.translation.x == -probe.elements(last).transform.translation.x
  • Let $R$ be the radius of curvature of the curvilinear probe. The transform of the elements is defined by: $TODO$

curvilinear_array_1

MATRIX probe

  • All probe.elements share the same element_geometry and impulse_response.
  • All probe.elements.transform.translation have and $z=0$.
  • All probe.elements.transform.translation have an equal x-spacing: pitch_x = probe.element(i+1).transform.translation.x - probe.element(i).transform.translation.x.
  • All probe.elements.transform.translation have an equal y-spacing: pitch_y = probe.element(i+1).transform.translation.y - probe.element(i).transform.translation.y.
  • Elements in the array probe.elements are ordered from the most negative-x to the most positive-x, then from the most negative-y to the most positive-y.
  • The probe is centered on the origin in the x and y direction.

The next figure shows an example of a matrix probe, elements (1, 2, 20, 21) are highlighted to show the ordering regarding x and y axis:

matrix_array_1

SPARSE probe

  • All probe.elements share the same element_geometry and impulse_response.
  • All probe.elements.transform.translation have and $z=0$.

The following figures show example of sparse arrays:

sparse_array_1

sparse_array_2

RCA probe

Given an N-by-M RCA probe:

  • All probe.elements point to one of two possible element_geometry and impulse_response. The row's elements (resp. column's) can have a different element_geometry and impulse_response, but don't have to.
  • All probe.elements.transform.translation have $z=0$.
  • The probe is centered on the origin in the x and y direction.
  • All probe.elements.transform.rotation are null, ie $(0, 0, 0)$. Rows and columns elements are not $\pi/2$ rotation from one another, instead they have different element_geometry and transform.translation. Rows (resp. column's) elements have translation.x == 0 (resp. translation.y == 0).
  • Elements in the array probe.elements are ordered in the following manner:
    1. Elements with y=0, from negative-x to positive-x.
    2. Elements with x=0, from negative-y to positive-y.
    • When the number of elements in x (resp. y) direction is odd, the center element has its y (resp. x) coordinate equal to 0. Yet it is ordered in the probe.element array with its siblings, in order not to mix row's and column's elements.

The next figure shows an example of a RCA probe: rca_array_1

Other types of probes

Other types of probes can be defined using the special probe_type = UNDEFINED. For example the following probe does not fit any aforementioned types of probes:

annular_array

See Also

element | element_geometry | impulse_response | probe_type | receive_setup | transform | transmit_setup

⚠️ **GitHub.com Fallback** ⚠️