TELEMED ArtUs RF Data Control Instructions

June 10, 2024
TELEMED

ArtUs RF Data Control

ArtUs RF Data Control

The native C++ SDK sample ArtUs RF Data Control should be used for the beamformed RF data capture, and recording into the data files. The sample allows to control few parameters of ultrasound scanner ArtUs and to define dimensions of RF data stream. For the explicit description of the sample we refer to [1]. The front panel of the demo sample is presented in the Fig. below. The RF window (11) defines the amount of RF data to be transferred and the relative position of the RF output window in the image frame (10). For the convenience in the user manual RF window data and the main acquisition parameters sometimes will be called sub-frame. The sample allows to record RF window data to the file (6). The front panel and main controls of ArtUs RF Data Control sample are presented below:

Fig. Front panel of ArtUs RF Data Control demo

Num Component Description
1 Main scanning controls Controls starts (Run) and stops

(Freeze) ultrasound scanning.
2| B mode controls| Allows to select scanning type (B Standard, B WideView, B Compound), to adjust scanning depth (Depth, mm), amplification of the image data (B Gain, %), power of transmitted ultrasound signal (B
Power, dB), focal depth (Focus), scanning frequency (Frequency), steering angle (Steering Angle) and lines density (Lines Density). There is an option to select scan direction (Change Scan Direction).
3| RF Data Source Point| RF data is received as an array of 16-bit integers. This option allows to select the point of the beamformer from which RF data will be received.
For ArtUs ultrasound scanner the following RF data types are available:
• Beamformer output (I, 16 bit),
• TFC (time-frequency control) filter output (I, 16 bit),
• Angle apodization output (I, 16 bit),
• Hilbert transform output (I+Q, 16 bit + 16 bit).
For the further details related to these data types we refer to [1].
4| RF window Position and Size| The position and size of RF window could be adjusted by the controls.
There is a trade-off between RF window size and scanning speed (fps).
5| RF Scan Line| These controls allow to select RF scanning line which will be displayed on screen.
6| Record RF data| RF data recording into (*.bin) file from the selected data source point and RF window (11). Preselected number of frames (N) is recorded into the file (default value – 100). The position and size of RF window can be adjusted by the controls. The file size could be controlled by observing indications of the counter (size in MB). There is an option to record single RF frame (button Record Single Frame) which could be selected from cine loop. The RF frames could be recorded by pressing Start/Stop radio buttons as well. Recording of RF data while scanning may result into reduced FPS (depends on the disk).
Note! There is a small number of randomly skipped frames in RF data records when the file is recorded directly to disc in real-time during scanning. It is recommended to save RF data from Cine
buffer after scanning when freeze button is pressed. Such writing ensures that all collected RF data will be recorded without missing frames and reduction of FPS.
7| Save/Load settings| Allows to save current scanning and RF window settings to file, which could be loaded and settings reset.
8| Cine| Cine loop options. Allows to play recorded sequence and to watch it frame by frame.
9| RF data plot| Displays the RF data of the single selected line (dashed yellow line superimposed on the B mode image marks the scanline position).
Controls (I Scale, Q Scale) allows to adjust the scale of shown RF signal.
The displayed RF signals are scaled by both axes in order to obtain well visible waveforms.
10| Main B mode imaging
window| Displays full grayscale B mode images and the superimposed boundary lines of adjustable RF window.
11| RF window| The contour (solid light blue lines) outlines the external boundaries of the RF window. The scanning line numbers and imaging depth are displayed close to the border.
12| Options| Options allows to adjust size of acquired Cine in MB. Maximum allowed size 1200 MB. Takes effect after software restart.
13| Two scanning
lines mode| This mode scans only two selected (Line1, Line2) scanning lines and allows to achieve much higher FPS.
14| FPS| There are FPS indicators B FPS: X / Y and RF FPS: X / Y where:
X – screen rendering speed, depends on PC performance
Y – true scanning speed

Structure of the RF data file

The collected RF data and the main acquisition parameters needed for off-line analysis and imaging could be recorded into binary files (*.bin). The filename contains acquisition time and date information, and the probe type code (HH.MM .SS_DD-MM-YYYY_probe code.bin, i.e. “16.34.00_27-102017_L18-10H30-A4.bin”). The ArtUs RF Data Control SDK allows to record the RF data files of unlimited size (limited only by the capacity of the HDD).
Each recorded RF data sub-frame contains header information and beamformed RF data from the corresponding RF window. The position and size of the window could be adjusted during scanning, and therefore the header of acquisition information is written to file for each sub-frame in a recorded sequence. Please note that smaller window size allows to achieve higher frame rates. The file structure for single sub-frame is defined as follows:

Contents of the
file| Data type| Number of elements
(bytes)| Description
---|---|---|---
RF file type| char| 1 (6 bytes)| RF file version is written only in the beginning of the file not before each frame
(currently RF0004).
number_of_frames| int32| 1 (4 bytes)| Number of RF frames recorded into file (!Note: if Record Multiple Frames
Start/Stop option is used during recording of RF data the field will be equal to 0).
header_size| int32| 1 (4 bytes)| Size of header in bytes
frame_size| int32| 1 (4 bytes)| Size of RF frame in bytes
source_ID| int32| 1 (4 bytes)| RF data source ID: 1 – Beamformer output, 2 – TFC filter output, 3 – Angle apodization output, 4 – Hilbert transform output
tx_frequency| int32| 1 (4 bytes)| US wave transmission frequency, in Hz.
frame_rate| int32| 1 (4 bytes)| The actual number of frames per second, since streaming started, depends on the
used scanning probe and size of RF window. Frame rate is multiplied by 100.
Length_of_RF_row| int32| 1 (4 bytes)| Number of RF signal samples in a single scanning row.
Number_of_RF_rows| int32| 1 (4 bytes)| Number of RF scanning lines in a predefined RF window.
Sampling_period_ns| int32| 1 (4 bytes)| Sampling period – defines the digitization resolution, in nanoseconds (ns). For the
ArtUs system – 25 ns ~ 40 MHz sampling for depths up to 8192 samples, and 50 ns (20 MHz) for number of samples >8192.
Sample_size| int32| 1 (4 bytes)| Number of BIT’s, at present 16/32 BIT for the RF data
start_depth| int32| 1 (4 bytes)| Scanning start depth in mm (offset for each beam) used for imaging of the scanning window in absolute coordinate system
Start_pointposition
and_orientation| int32| 3 × Number_of_RF_rows
(3 × Number_of_RF_rows
× 4 bytes)| Start position coordinates and orientation angle of each beam are originally recorded in triplets (beam_xi, beam_yi, anglei, where i-th scanning beam) for each scanning beam beginning from left side of the sector.
• angle – specifies the angle of the ultrasonic beam’s direction (in radians multiplied by 1000000).
The angle is given relative to the perpendicular to the center of the probe’s surface (angle = 0 for linear array probes); in case of compound scanning mode (B
compound) the parameter returns angle of beams for each compounded sub-frame (number of compounded sub-frames could be adjusted by Frames Num.
control);
• beam_x – start x coordinates of each beam, (in µm);
• beam_y – start y coordinates of each beam, (in µm).
time_stamps| uint32| Number_of_RF_rows
(Number_of_RF_rows × 4 bytes)| Time stamps for each ultrasound scanning line. Timestamp – time from the last start of scanning until the start of receiving of RFdata in present ultrasound line. One discrete of Timestamp = sampling period (25 ns for 40 MHz sampling clock of ArtUs).
| | | Maximum time for 32-bit timestamp is 28606043.625 µsec (28.605043625 sec),
after that timestamp counter begins count from zero. Timestamps are in samples.
---|---|---|---
frame| int16| Number_of_RF_rows × Length_of_RF_row
(Number_of_RF_rows × Length_of_RF_row × 2 bytes) for  source_ID=1, 2,
3; and 2 ×  Number_of_RF_rows
× Length_of_RF_row
(2 × Number_of_RF_rows
× Length_of_RF_row × 2 bytes) for  ource_ID=4|

Structure of the file:
Source_ID=1, 2, 3

Source_ID=4 (Hilbert transform output)

Known Issues

  • There is a small number of randomly skipped frames in RF data records when the file is recorded directly to disc in real-time during scanning. The recording itself during scanning may reduce FPS (depends on disc speed). If the exact moments of time are important, we recommend to check time stamps in RF data recordings. Overall, the missing frames are caused due to unpredictable behaviour of windows task scheduler which distributes resources for different processes such as B mode stream, RF data stream, writing to disc etc. We recommend to record RF data files after scanning from the Cine loop memory. There will be all frames without losses. The same proposal is valid for the other developments, since you can use SDK and retrieve RF data from Cine loop memory.
  • Artusrf_data_control tool indicates number of rendered frames per second. USGFW2 SDK architecture assumes that ultrasound data captured from beamformer hardware is stored into cineloop buffer with frame rate ultrasound scanning is performed. But rendering is performed with FPS that Windows OS allows to process. If system does not allow to render all frames stored in cineloop buffer because of ultrasound data processing calculations or because of Windows threads manager switch algorithm some frame in cineloop is skipped to save ultrasound streaming timings. It is a reason why you can to see FPS in artus_rf_control less than real scanning FPS. You can also to observe different FPS for B and RF data rendering because Windows threads switch manager decided to dedicate more time to one of (B or RF) processing threads.

References
[1] Echo Blaster 64, Echo Blaster 128, LS64, LS128, ClarUs, SmartUs, MicrUs and ArtUs Series Ultrasound Systems Ultrasonography for Windows II Software Development Kit (Usgfw2 SDK) Programmer’s Guide, (main sub-section – 4.9).

Revision History

Version Date Description of Revision Revision author
1.0.0 2-9-2019 Initial Release A. Sakalauskas
1.1.0 10-9-2019 Added option to record single RF frame A. Sakalauskas
1.2.0 30/12/2019 Added option to record predefined number of RF frames and
save file dialog window. Structure of the file was modified. A. Sakalauskas
1.3.0 22/04/2020 Added option to record I and Q components into RF data file

for Hilbert transform output; Changed display of RF window line numbers to start from 1; RF window movement step changed from 2 to 1.| A. Sakalauskas
1.4.0| 05-05-20| Added option to record time stamps for each scanning line into RF data file| A. Sakalauskas
1.4.1| 07-10-20| Added option to adjust Cine buffer size, two scanning lines mode.| V. Perlibakas
A.Sakalauskas
1.4.2| 18/01/2021| Fixed writing of beam coordinates and angles to RF file in compound mode.| A. Portniagin
V. Perlibakas
1.4.3| 12-04-21| Added section “Known issues”| A. Sakalauskas
1.4.4| 19/04/2021| B and RF mode FPS output changed from “Drawing FPS” to “Drawing FPS / Scanning FPS”| V.Perlibakas
1.4.5| 23/06/2021| Sampling period for higher depths (>8192 samples) automatically set to 50 ns.| A. Portniagin
A. Prysiazhniuk
1.4.6| 11-04-22| Fixed bug of writing number of frames field into a RF data file, RF file structure version RF0004 created.| V.Perlibakas
A.Sakalauskas

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals