beamformer_parameters.h (2004B)
1 /* See LICENSE for license details. */ 2 enum compute_shaders { 3 CS_CUDA_DECODE = 0, 4 CS_CUDA_HILBERT = 1, 5 CS_DEMOD = 2, 6 CS_HADAMARD = 3, 7 CS_HERCULES = 4, 8 CS_MIN_MAX = 5, 9 CS_UFORCES = 6, 10 CS_LAST 11 }; 12 13 /* NOTE: This struct follows the OpenGL std140 layout. DO NOT modify unless you have 14 * read and understood the rules, particulary with regards to _member alignment_ */ 15 typedef struct { 16 u16 channel_mapping[512]; /* Transducer Channel to Verasonics Channel */ 17 u32 uforces_channels[128]; /* Channels used for virtual UFORCES elements */ 18 f32 lpf_coefficients[64]; /* Low Pass Filter Cofficients */ 19 v4 xdc_origin; /* [m] Corner of transducer being treated as origin */ 20 v4 xdc_corner1; /* [m] Corner of transducer along first axis (arbitrary) */ 21 v4 xdc_corner2; /* [m] Corner of transducer along second axis (arbitrary) */ 22 uv4 dec_data_dim; /* Samples * Channels * Acquisitions; last element ignored */ 23 uv4 output_points; /* Width * Height * Depth; last element ignored */ 24 v4 output_min_coordinate; /* [m] Back-Top-Left corner of output region (w ignored) */ 25 v4 output_max_coordinate; /* [m] Front-Bottom-Right corner of output region (w ignored)*/ 26 uv2 rf_raw_dim; /* Raw Data Dimensions */ 27 u32 channel_offset; /* Offset into channel_mapping: 0 or 128 (rows or columns) */ 28 u32 lpf_order; /* Order of Low Pass Filter */ 29 f32 speed_of_sound; /* [m/s] */ 30 f32 sampling_frequency; /* [Hz] */ 31 f32 center_frequency; /* [Hz] */ 32 f32 focal_depth; /* [m] */ 33 f32 time_offset; /* pulse length correction time [s] */ 34 u32 uforces; /* mode is UFORCES (1) or FORCES (0) */ 35 f32 off_axis_pos; /* [m] Position on screen normal to beamform in 2D HERCULES */ 36 i32 beamform_plane; /* Plane to Beamform in 2D HERCULES */ 37 } BeamformerParameters;