urx.transmit_setup - moduleus/urx GitHub Wiki

Transmit event (active probe elements, waves, excitations, etc.).

Parameters

Parameter Datatype Description
active_elements Array of Array of uint32 Indices of active probe.elements in transmit. The index of the first dimension correpond to the index in excitations. The second dimension stores the list of probe.elements indices subject to the excitation.
delays Array of double Delays between the start of the event and the begining of each excitation, in [s]. The n-th element of the array correspond to the delay of the n-th excitation in excitations.
excitations Array of references to excitation List the excitation used to transmit the wave.
probe Reference to probe Reference to the probe within the array of probes in acquisition.
time_offset double Time from the start of the event to the start of the transmit_setup, in [s]. Default 0.
transform transform Probe transform in reference to the initial probe attitude defined in probe.transform.
wave Reference to wave Reference to the wave in acquisition.

Notes

Time offset

The following diagram shows the transmit_setup.time_offset signification. The time_offset is expressed in reference to the start of the event:

urx.transmit_setup.time_offset

Probe transform

The transmit_setup.transform field defines the spatial transform of the ultrasound probe used for the transmit. The transmit_setup.transform is added to the initial transform of the probe defined by probe.transform:

  • Let $T_1$ be the initial probe transform defined by probe.transform in world reference frame.
  • Let $T_2$ be the transmit setup transform defined by transmit_setup.transform in probe reference frame.
  • The global transform, in the world reference frame, is $T_g = T_1 \circ T_2$

The following diagram represents an example of a transmit_setup.transform applied to a probe. $(X_0, Y_0, Z_0)$ is the world frame of reference, $(X_1,Y_1,Z_1)$ is the probe frame of reference after it's initial transform set by probe.transform, and $(X_2, Y_2, Z_2)$ is the probe frame of reference during the transmit_setup:

probe_transform.drawio.svg{width="450"}

probe.transform : {
    rotation : {-pi/2, 0, pi/2}, 
    translation:{-2, 0, 3}
}

transmit_setup.transform : {
    rotation : {0, 0, 0}, 
    translation:{0, -3, 0}
}

Delays, Excitations and Active Elements

The purpose of the fields excitations, delays and active_elements is to handle cases where:

  • the active elements used in transmit change between events
  • any multiplexing scheme
  • probe element subject to multiple excitation (ex: biasing + excitation)

Example 1 - LA

The following example shows a linear array transmitting a plane-wave on 5 elements. Note that element 2 and 6 are transmitting a different excitation than elements 3, 4 and 5:

diagram.transmit_setup_mapping.svg.drawio.svg{width="40%" height="auto"}

The fields excitations, delays and active_elements share the same indexing:

transmit_setup : {
    excitations :     {  ex0,   ex1,   ex1,   ex1,    ex0},
    delays :          {20e-9, 40e-9, 60e-9, 80e-9, 100e-9},
    active_elements : {  {2},   {3},   {4},   {5},     {6}}
}

The structure can be read as:

  • "The excitation ex0 is delayed 20ns and applied on probe element {2}"
  • "The excitation ex1 is delayed 40ns and applied on probe element {3}"
  • ...

Example 2 - CMUT RCA

The following example illustrates the use of the channel_mapping with CMUT RCA:

channel_mapping_rca.drawio.svg{width="70%" height="auto"}

transmit_setup : {
    excitations :     {   ex0,   ex1,   ex1},
    delays :          { 10e-9, 40e-9, 60e-9},
    active_elements : {{2, 3},   {2},    {3}}
}

Delays and Excitation

The array delays defines the time delay between the start of the transmit\setup and the start of the excitation. The index in delays is the same as the index in excitations. The following diagram shows an example for a focused wave:

urx.transmit_setup.delay

transmit_setup: {
    excitations :    { ex0, ex1, ex1, ex1, ex0},
    delays :         {   8,  15,  19,  13,   6},
    probe_elements : {{ 0}, {1}, {2}, {3}, {4}}
}

See Also

event | probe | transform | wave

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