flandre/test/process_b.py
2025-05-08 00:25:52 +08:00

39 lines
1.3 KiB
Python

import cupy as cp
from flandre.beamformer.das import gen_pwi
from flandre.beamformer.dist import direct_dist
from flandre.utils.Config import DeviceConfig
from flandre.utils.Msg import ImageArgMsg
from flandre.utils.RfMat import RfMat
from flandre.utils.RfSequence import RfSequence
if __name__ == '__main__':
arg = ImageArgMsg(
sender='',
t_end=2900,
t_start=0,
v2=1524,
dct_center=1086,
dct_bandwidth=915,
f_rows=6002,
beta=40,
tgc=0,
g8=80
)
dc = DeviceConfig(v2=1540, rows=5999)
pwi, _, la = gen_pwi(direct_dist(dc, p=cp), dc)
seq = RfSequence('/run/media/lambda/b86dccdc-f134-464b-a310-6575ee9ae85c/us/baby789,S=(256 6002),M=PWI,U=120/')
for i, frame in enumerate(seq.frames):
data = RfMat.from_rf_frame(frame, device='gpu')
data = data.dct_center(arg.dct_center, arg.dct_bandwidth)
data = data.call(lambda m: m.astype(cp.int16))
data = data.call(pwi)
data = data.call(cp.asarray, order='C')
data = data.argrelextrema()
data = data.conv_guass(b=arg.beta * 0.01)
data = data.crop(arg.t_start, arg.t_end)
data = data.time_gain_compensation_global((1 - arg.g8 * (1.0 / 128)) ** 2)
data = data.rotate90()
data.png(f'/home/lambda/source/scarlet/flandre/@DS/test/{i}.png', pre=300)