beamformer.meta (3948B)
1 @Enumeration(DataKind [Int16 Int16Complex Float32 Float32Complex]) 2 @Enumeration(DecodeMode [None Hadamard]) 3 @Enumeration(RCAOrientation [None Rows Columns]) 4 @Enumeration(SamplingMode [2X 4X]) 5 6 @Table([name pretty_name fixed_transmits]) AcquisitionKind 7 { 8 [FORCES FORCES 1] 9 [UFORCES UFORCES 0] 10 [HERCULES HERCULES 1] 11 [RCA_VLS VLS 0] 12 [RCA_TPW TPW 0] 13 [UHERCULES UHERCULES 0] 14 [RACES RACES 1] 15 [EPIC_FORCES EPIC-FORCES 1] 16 [EPIC_UFORCES EPIC-UFORCES 0] 17 [EPIC_UHERCULES EPIC-UHERCULES 0] 18 [Flash Flash 0] 19 [HERO_PA HERO-PA 0] 20 } 21 22 @Table([name]) InterpolationMode 23 { 24 [Nearest] 25 [Linear] 26 [Cubic] 27 } 28 29 @Expand(AcquisitionKind) @Enumeration(AcquisitionKind `$(name)`) 30 @Expand(InterpolationMode) @Enumeration(InterpolationMode `$(name)`) 31 32 @Emit 33 { 34 `read_only global u8 beamformer_acquisition_kind_has_fixed_transmits[] = {` 35 @Expand(AcquisitionKind) ` $(fixed_transmits),` 36 `};` 37 } 38 39 @Emit 40 { 41 `read_only global s8 beamformer_acquisition_kind_strings[] = {` 42 @Expand(AcquisitionKind) ` s8_comp("$(pretty_name)"),` 43 `};` 44 } 45 46 @Emit 47 { 48 `read_only global s8 beamformer_interpolation_mode_strings[] = {` 49 @Expand(InterpolationMode) ` s8_comp("$(name)"),` 50 `};` 51 } 52 53 @ShaderGroup Compute 54 { 55 @Shader CudaDecode 56 @Shader CudaHilbert 57 58 @Shader(decode.glsl) Decode 59 { 60 @Enumeration(DataKind) 61 @Enumeration(DecodeMode) 62 @Flags([DilateOutput]) 63 64 @Bake 65 { 66 @BakeInt(DecodeMode decode_mode ) 67 @BakeInt(InputChannelStride input_channel_stride ) 68 @BakeInt(InputSampleStride input_sample_stride ) 69 @BakeInt(InputTransmitStride input_transmit_stride ) 70 @BakeInt(OutputChannelStride output_channel_stride ) 71 @BakeInt(OutputSampleStride output_sample_stride ) 72 @BakeInt(OutputTransmitStride output_transmit_stride) 73 @BakeInt(TransmitCount transmit_count ) 74 } 75 } 76 77 @Shader(filter.glsl) Filter 78 { 79 @Enumeration(DataKind) 80 @Enumeration(SamplingMode) 81 @Flags([ComplexFilter MapChannels]) 82 83 @Bake 84 { 85 @BakeInt(DecimationRate decimation_rate ) 86 @BakeInt(FilterLength filter_length ) 87 @BakeInt(InputChannelStride input_channel_stride ) 88 @BakeInt(InputSampleStride input_sample_stride ) 89 @BakeInt(InputTransmitStride input_transmit_stride ) 90 @BakeInt(OutputChannelStride output_channel_stride ) 91 @BakeInt(OutputSampleStride output_sample_stride ) 92 @BakeInt(OutputTransmitStride output_transmit_stride) 93 @BakeInt(SamplingMode sampling_mode ) 94 @BakeFloat(DemodulationFrequency demodulation_frequency) 95 @BakeFloat(SamplingFrequency sampling_frequency ) 96 } 97 98 @SubShader Demodulate 99 } 100 101 @Shader(das.glsl) DAS 102 { 103 @Enumeration(AcquisitionKind) 104 @Enumeration(DataKind) 105 @Enumeration(InterpolationMode) 106 @Enumeration(RCAOrientation) 107 @Flags([Fast Sparse CoherencyWeighting SingleFocus SingleOrientation]) 108 109 @Bake 110 { 111 @BakeInt(AcquisitionCount acquisition_count ) 112 @BakeInt(AcquisitionKind acquisition_kind ) 113 @BakeInt(ChannelCount channel_count ) 114 @BakeInt(InterpolationMode interpolation_mode ) 115 @BakeInt(SampleCount sample_count ) 116 @BakeInt(TransmitReceiveOrientation transmit_receive_orientation) 117 118 @BakeFloat(DemodulationFrequency demodulation_frequency) 119 @BakeFloat(FNumber f_number ) 120 @BakeFloat(FocusDepth focus_depth ) 121 @BakeFloat(SamplingFrequency sampling_frequency ) 122 @BakeFloat(SpeedOfSound speed_of_sound ) 123 @BakeFloat(TimeOffset time_offset ) 124 @BakeFloat(TransmitAngle transmit_angle ) 125 } 126 } 127 128 @Shader(min_max.glsl) MinMax 129 @Shader(sum.glsl) Sum 130 } 131 132 @ShaderGroup Render 133 { 134 @Shader(render_3d.frag.glsl) Render3D 135 }