ogl_beamforming

Ultrasound Beamforming Implemented with OpenGL
git clone anongit@rnpnr.xyz:ogl_beamforming.git
Log | Files | Refs | Feed | Submodules | LICENSE

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;