39 lines
1.3 KiB
Python
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)
|