class.transmit_setup - moduleus/urx GitHub Wiki
Transmit event (active probe elements, waves, excitations, etc.).
UAC | URX | Parameter | Datatype | Description |
---|---|---|---|---|
✓ | ✓ | active_elements | Array of Array of uint32 | Indices of active probe.elements in transmit (start at index 0). The index of the first dimension correponds to the index in excitations . The second dimension stores the list of probe.elements indices subject to the excitation.Stored as a vector of vector of uint32. |
✓ | ✓ | delays | Array of double | Delays between the start of the transmit_setup and the begining of each excitation, in [s]. The n-th element of the array corresponds to the delay of the n-th excitation in excitations . |
✓ | ✓ | excitations | Array of references to excitation | List the excitation used to transmit the wave. Stored as a vector of weak pointers from field excitations of acquisition. |
✓ | hw_config | hw_config | Hardware configuration of the transmit_setup. Stored as a raw objet. |
|
✓ | ✓ | probe | Reference to probe | Reference to the probe within the array of probes in acquisition. Stored as a weak pointer from field probes of acquisition. |
✓ | ✓ | time_offset | double | Time from the start of the event to the start of the transmit_setup, in [s]. Default 0. |
✓ | ✓ | probe_transform | transform |
Probe transform in reference to the initial probe attitude defined in probe.transform .Stored as a raw objet. |
✓ | ✓ | wave | wave | Description of the wave. Stored as a raw objet. |
The following diagram shows the transmit_setup.time_offset
signification. The time_offset is expressed in reference to the start of the event:
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 byprobe.transform
in world reference frame. - Let
$T_2$ be the transmit setup transform defined bytransmit_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. probe.transform
, and
|
|
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)
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:
{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 delayed20ns
and applied on probe element{2}
" - "The excitation
ex1
is delayed40ns
and applied on probe element{3}
" - ...
The following example illustrates the use of the channel_mapping with CMUT RCA:
{width="70%" height="auto"}
transmit_setup : {
excitations : { ex0, ex1, ex1},
delays : { 10e-9, 40e-9, 60e-9},
active_elements : {{2, 3}, {2}, {3}}
}
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:
transmit_setup: {
excitations : { ex0, ex1, ex1, ex1, ex0},
delays : { 8, 15, 19, 13, 6},
active_elements : {{ 0}, {1}, {2}, {3}, {4}}
}