class.acquisition - moduleus/urx GitHub Wiki
Describes an ultrasound acquisition.
UAC | URX | Parameter | Datatype | Description |
---|---|---|---|---|
✓ | ✓ | authors | string | Authors of the data, semicolon-separated. Example: "Alice Foo;Bob Bar". |
✓ | ✓ | country_code | string | Country following ISO 3166-1 alpha-2. Example: "FR" for France. |
✓ | ✓ | description | string | User description. |
✓ | ✓ | excitations | Array of excitation | Array of unique excitations. Stored as a vector of shared pointers. |
✓ | initial_group | igroup | First group executed when the acquisition starts. Stored as a weak pointer from field groups or super_groups. |
|
✓ | ✓ | groups | Array of group | Array of unique groups. Stored as a vector of shared pointers. |
✓ | groups_data | Array of group_data | Recording of executed group. The order in the array does not have to follow the physical order of the execution. Field group_data.group_timestamp will be used.Stored as a vector of raw objets. |
|
✓ | hw_config | hw_config | Hardware configuration of the acquisition. Stored as a raw objet. |
|
✓ | ✓ | local_time | string | Time, in ISO 8601, at which the dataset was acquired. Example "2023-10-24T13:40:06.254Z". |
✓ | ✓ | probes | Array of probe | Array of probes used to transmit and receive. Each physical probe is represented by a different entry in this array. Stored as a vector of shared pointers. |
✓ | super_groups | Array of super_group | Array of super_group. Stored as a vector of shared pointers. |
|
✓ | ✓ | system | string | Name of the system used to acquire the dataset. |
✓ | timestamp | double | Start time of the acquisition, in [s]. Default NaN. The value is hardware dependent and should only be used as a reference value for other timestamps. | |
✓ | time_offset | double | Delay between the start of the acquisition and the execution of the initial_group, in [s]. | |
✓ | trigger_in | trigger_in | Optional acquisition trigger input. Stored as an optional objet. |
|
✓ | trigger_out | trigger_out | Optional acquisition trigger output. Stored as an optional objet. |
The SuperGroup class allows a serie a group to be repeated to create complex acquisitions. The IGroup class purpose is only to abstract the group and super_group under the same mother class.
The following diagram shows an example of acquisition with multiples groups:
The same group can be executed multiples times during an acquisition. Each time a group executes, it produces an entry in acquisition.group_data
. In this example, 4 group_data
are created as shown bellow. The field group_data.group
reference one of the unique group in acquisition.groups
. The field group_data.group_timestamp
gives the time at which the group_data started.
acquisition.group_data = [
{
group : "acquisition.groups[1]",
group_timestamp : 10
},
{
group : "acquisition.groups[2]",
group_timestamp : 20
},
{
group : "acquisition.groups[1]",
group_timestamp : 40
},
{
group : "acquisition.groups[3]",
group_timestamp : 50
}
]
The URX keep record of which group where executed and when.
dataset | excitation | group | group_data | hw_config | igroup | probe | trigger_in | trigger_out