BABY4
This commit is contained in:
parent
02238e9403
commit
4dd023a350
145
config/device/max-256-120,U=120,M=PWI,S=(256 6002).txt
Normal file
145
config/device/max-256-120,U=120,M=PWI,S=(256 6002).txt
Normal file
@ -0,0 +1,145 @@
|
||||
[Root]
|
||||
VersionDriverOEMPA=1.3.0.1
|
||||
CycleCount=1
|
||||
EnableFMC=1
|
||||
FMCElementStart=0
|
||||
FMCElementStop=255
|
||||
FMCElementStep=1
|
||||
DisableUSB3=1
|
||||
AscanBitSize=14Bits
|
||||
Enable256=0
|
||||
|
||||
SWEncoder1Resolution=1
|
||||
TriggerMode=Internal
|
||||
Encoder1A=DigitalInput01
|
||||
Encoder1B=DigitalInput02
|
||||
Encoder1Type=Quadrature4Edges
|
||||
RequestIO=OnCycleOnly
|
||||
|
||||
[Cycle:0]
|
||||
GainDigital=0.000000 dB
|
||||
BeamCorrection=0.0 dB
|
||||
Start=0.000000 us
|
||||
Range=120.000000 us
|
||||
TimeSlot=5003.800000 us
|
||||
PointFactor=2
|
||||
CompressionType=Decimation
|
||||
Rectification=Signed
|
||||
FilterIndex=0
|
||||
GainAnalog=40.000000 dB
|
||||
GateCount=0
|
||||
|
||||
[Cycle:0\Pulser]
|
||||
WedgeDelay=0.0 us
|
||||
Element.count=256
|
||||
Element_0=0;1;2;3;4;5;6;7
|
||||
Element_8=8;9;10;11;12;13;14;15
|
||||
Element_16=16;17;18;19;20;21;22;23
|
||||
Element_24=24;25;26;27;28;29;30;31
|
||||
Element_32=32;33;34;35;36;37;38;39
|
||||
Element_40=40;41;42;43;44;45;46;47
|
||||
Element_48=48;49;50;51;52;53;54;55
|
||||
Element_56=56;57;58;59;60;61;62;63
|
||||
Element_64=64;65;66;67;68;69;70;71
|
||||
Element_72=72;73;74;75;76;77;78;79
|
||||
Element_80=80;81;82;83;84;85;86;87
|
||||
Element_88=88;89;90;91;92;93;94;95
|
||||
Element_96=96;97;98;99;100;101;102;103
|
||||
Element_104=104;105;106;107;108;109;110;111
|
||||
Element_112=112;113;114;115;116;117;118;119
|
||||
Element_120=120;121;122;123;124;125;126;127
|
||||
Element_128=128;129;130;131;132;133;134;135
|
||||
Element_136=136;137;138;139;140;141;142;143
|
||||
Element_144=144;145;146;147;148;149;150;151
|
||||
Element_152=152;153;154;155;156;157;158;159
|
||||
Element_160=160;161;162;163;164;165;166;167
|
||||
Element_168=168;169;170;171;172;173;174;175
|
||||
Element_176=176;177;178;179;180;181;182;183
|
||||
Element_184=184;185;186;187;188;189;190;191
|
||||
Element_192=192;193;194;195;196;197;198;199
|
||||
Element_200=200;201;202;203;204;205;206;207
|
||||
Element_208=208;209;210;211;212;213;214;215
|
||||
Element_216=216;217;218;219;220;221;222;223
|
||||
Element_224=224;225;226;227;228;229;230;231
|
||||
Element_232=232;233;234;235;236;237;238;239
|
||||
Element_240=240;241;242;243;244;245;246;247
|
||||
Element_248=248;249;250;251;252;253;254;255
|
||||
Delay.count=256;1
|
||||
Delay_0=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_8=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_16=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_24=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_32=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_40=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_48=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_56=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_64=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_72=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_80=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_88=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_96=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_104=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_112=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_120=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_128=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_136=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_144=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_152=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_160=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_168=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_176=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_184=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_192=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_200=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_208=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_216=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_224=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_232=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_240=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Delay_248=0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000;0.000000 us
|
||||
Width.count=256
|
||||
Width_0=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_8=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_16=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_24=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_32=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_40=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_48=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_56=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_64=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_72=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_80=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_88=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_96=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_104=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_112=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_120=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_128=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_136=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_144=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_152=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_160=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_168=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_176=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_184=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_192=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_200=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_208=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_216=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_224=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_232=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_240=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
Width_248=0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000;0.100000 us
|
||||
|
||||
[Cycle:0\Receiver]
|
||||
WedgeDelay=0.0 us
|
||||
Element.count=1
|
||||
Element=0
|
||||
Focusing=Standard
|
||||
Delay.count=1;1
|
||||
Delay=0.0 us
|
||||
Gain.count=1
|
||||
Gain=0.0 dB
|
||||
FocalTimeOfFlight.count=1
|
||||
FocalTimeOfFlight=0.0 us
|
||||
|
||||
1
config/imaging/baby4.json
Normal file
1
config/imaging/baby4.json
Normal file
@ -0,0 +1 @@
|
||||
{"t_end": 2026, "t_start": 1714, "v2": 1524, "dct_center": 1086, "dct_bandwidth": 915, "f_rows": 6002, "beta": 40, "tgc": 0, "g1": 23, "g2": 27, "g3": 34, "g4": 24, "g5": 23, "g6": 30, "g7": 27, "g8": 51}
|
||||
@ -24,7 +24,7 @@ def gen_pwi(dist_mat: cp.ndarray, dev_cfg=DeviceConfig()):
|
||||
def pwi_(mat_in):
|
||||
return mat_in[col_idx, row_idx].sum(axis=2).T[:, :last_available_index]
|
||||
|
||||
return pwi_, row_idx
|
||||
return pwi_, row_idx, last_available_index
|
||||
|
||||
|
||||
class TFM:
|
||||
|
||||
@ -41,8 +41,8 @@ class SoftwareConfig:
|
||||
p.mkdir(exist_ok=True, parents=True)
|
||||
return p
|
||||
|
||||
video_height: int = 1920
|
||||
video_width: int = 1080
|
||||
video_height: int = 1080
|
||||
video_width: int = 960
|
||||
|
||||
live_ip: str = '11.6.1.71'
|
||||
live_push_port: int = 5555
|
||||
|
||||
@ -9,7 +9,7 @@ from flandre.beamformer.dist import direct_dist
|
||||
from flandre.config import C
|
||||
from flandre.nodes.Node import Node
|
||||
from flandre.utils.Config import DeviceConfig
|
||||
from flandre.utils.Msg import ImageArgMsg, Msg, BeamformerMsg, RfMatMsg, RfFrameMsg
|
||||
from flandre.utils.Msg import ImageArgMsg, Msg, BeamformerMsg, RfMatMsg, RfFrameMsg, MaxMsg
|
||||
from flandre.utils.RfMat import RfMat
|
||||
from flandre.utils.RfMeta import RfSequenceMeta
|
||||
|
||||
@ -40,16 +40,17 @@ class Beamformer(Node):
|
||||
.argrelextrema()
|
||||
.conv_guass(b=arg.beta * 0.01)
|
||||
.crop_center(arg.t_start, arg.t_end)
|
||||
.time_gain_compensation([
|
||||
( (1 - arg.g1 * (1.0 / 128))** 2),
|
||||
( (1 - arg.g2 * (1.0 / 128))** 2),
|
||||
( (1 - arg.g3 * (1.0 / 128))** 2),
|
||||
( (1 - arg.g4 * (1.0 / 128))** 2),
|
||||
( (1 - arg.g5 * (1.0 / 128))** 2),
|
||||
( (1 - arg.g6 * (1.0 / 128))** 2),
|
||||
( (1 - arg.g7 * (1.0 / 128))** 2),
|
||||
( (1 - arg.g8 * (1.0 / 128))** 2),
|
||||
])
|
||||
# .time_gain_compensation([
|
||||
# ( (1 - arg.g1 * (1.0 / 128))** 2),
|
||||
# ( (1 - arg.g2 * (1.0 / 128))** 2),
|
||||
# ( (1 - arg.g3 * (1.0 / 128))** 2),
|
||||
# ( (1 - arg.g4 * (1.0 / 128))** 2),
|
||||
# ( (1 - arg.g5 * (1.0 / 128))** 2),
|
||||
# ( (1 - arg.g6 * (1.0 / 128))** 2),
|
||||
# ( (1 - arg.g7 * (1.0 / 128))** 2),
|
||||
# ( (1 - arg.g8 * (1.0 / 128))** 2),
|
||||
# ])
|
||||
.time_gain_compensation_global((1 - arg.g8 * (1.0 / 128)) ** 2)
|
||||
.rotate90()
|
||||
.grey()
|
||||
.cpu()
|
||||
@ -62,7 +63,8 @@ class Beamformer(Node):
|
||||
|
||||
def loop(self):
|
||||
dc = DeviceConfig()
|
||||
pwi, _ = gen_pwi(direct_dist(dc), dc)
|
||||
pwi, _, mm = gen_pwi(direct_dist(dc), dc)
|
||||
self.send(MaxMsg(mm.item()))
|
||||
last_v2 = 5900
|
||||
last_f_rows = 0
|
||||
while True:
|
||||
@ -86,7 +88,8 @@ class Beamformer(Node):
|
||||
last_v2 = arg_msg.v2
|
||||
last_f_rows = arg_msg.f_rows
|
||||
dc = DeviceConfig(v2=arg_msg.v2, rows=arg_msg.f_rows)
|
||||
pwi, _ = gen_pwi(direct_dist(dc), dc)
|
||||
pwi, _, m = gen_pwi(direct_dist(dc), dc)
|
||||
self.send(MaxMsg(m.item()))
|
||||
try:
|
||||
if mat.seq_meta.mode == RfSequenceMeta.RfSequenceMode.PWI:
|
||||
self.process_pwi(mat, arg_msg, pwi)
|
||||
|
||||
@ -42,10 +42,10 @@ class ImageFFMPEG(Node):
|
||||
|
||||
'-pix_fmt', 'yuv420p',
|
||||
# '-vcodec', 'libx264',
|
||||
# '-b:v', '40M',
|
||||
'-b:v', '20M',
|
||||
'-f', 'flv',
|
||||
# 'rtmp://q1hyb.as/live/bscan',
|
||||
'rtmp://11.2.1.21/live/bscan',
|
||||
'rtmp://q1hyb.as/live/bscan',
|
||||
# 'rtmp://11.2.1.21/live/bscan',
|
||||
# '-f', 'mpegts',
|
||||
# 'srt://localhost:10080?streamid=#!::r=live/livestream,m=publish'
|
||||
],
|
||||
@ -72,5 +72,6 @@ class ImageFFMPEG(Node):
|
||||
lasttime = currenttime
|
||||
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
ImageFFMPEG()()
|
||||
|
||||
@ -20,7 +20,7 @@ from flandre.utils.Msg import KillMsg, Msg, ImageArgMsg, SeqIdMinMax, MoveAxisMs
|
||||
SetSeqMetaMsg, SetPlayMode, DeviceConnectedMsg, DeviceEnabledMsg, DeviceOnlineMsg, SetDeviceEnabledMsg, \
|
||||
SetDeviceConnectedMsg, DeviceConfigListMsg, SetDeviceConfigMsg, SetRecordMsg, RobotRtsiMsg, RecordFrameMsg, \
|
||||
SeqIdList, SetWindowVisibleMsg, SetSidMsg, ImagingConfigNameListMsg, DeviceZero, DeviceSwitchMsg, \
|
||||
SetDeviceSwitchMsg, SeqMetaMsg, RefreshDeviceMsg
|
||||
SetDeviceSwitchMsg, SeqMetaMsg, RefreshDeviceMsg, MaxMsg
|
||||
from flandre.utils.RfMeta import RfSequenceMeta
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@ -341,19 +341,24 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
else:
|
||||
QMessageBox.warning(None, 'hint', 'Commit is empty!!')
|
||||
|
||||
def update_max(self, m):
|
||||
def update_max_2(self, m):
|
||||
self.s_t_start.setMaximum(m)
|
||||
self.s_t_end.setMaximum(m)
|
||||
self.s_dct_center.setMaximum(m)
|
||||
self.s_dct_bandwidth.setMaximum(m)
|
||||
self.s_f_rows.setMaximum(m)
|
||||
|
||||
|
||||
self.sp_crop_center.setMaximum(m)
|
||||
self.sp_crop_width.setMaximum(m)
|
||||
self.sp_dct_center.setMaximum(m)
|
||||
self.sp_dct_bandwidth.setMaximum(m)
|
||||
|
||||
|
||||
def update_max(self, m):
|
||||
self.s_f_rows.setMaximum(m)
|
||||
self.sp_f_rows.setMaximum(m)
|
||||
|
||||
self.s_dct_center.setMaximum(m)
|
||||
self.s_dct_bandwidth.setMaximum(m)
|
||||
|
||||
self.sp_dct_center.setMaximum(m)
|
||||
self.sp_dct_bandwidth.setMaximum(m)
|
||||
def on_zmq_event(self, msg: QByteArray):
|
||||
try:
|
||||
msg = Msg.decode_msg(msg.data())
|
||||
@ -463,7 +468,8 @@ class Adv(QMainWindow, Ui_MainWindow):
|
||||
self.ln_frx.display(f"{msg.force[3] / 100:.2f}")
|
||||
self.ln_fry.display(f"{msg.force[4] / 100:.2f}")
|
||||
self.ln_frz.display(f"{msg.force[5] / 100:.2f}")
|
||||
|
||||
elif isinstance(msg, MaxMsg):
|
||||
self.update_max_2(msg.value)
|
||||
elif isinstance(msg, RecordFrameMsg):
|
||||
|
||||
self.record_frame_cnt += 1
|
||||
@ -641,7 +647,7 @@ class MainUI(Node):
|
||||
PlaybackSeqListMsg, SetSeqMetaMsg, SeqIdList, SetWindowVisibleMsg, SetSidMsg,
|
||||
DeviceConnectedMsg, DeviceEnabledMsg, DeviceOnlineMsg, DeviceConfigListMsg,
|
||||
RobotRtsiMsg, DeviceSwitchMsg,
|
||||
RecordFrameMsg, SeqMetaMsg]
|
||||
RecordFrameMsg, SeqMetaMsg, MaxMsg]
|
||||
|
||||
def __init__(self, level=logging.INFO):
|
||||
super().__init__(level=level)
|
||||
|
||||
@ -8,14 +8,14 @@ from mido import Message
|
||||
from mido.backends.rtmidi import Input, Output
|
||||
|
||||
from flandre.nodes.Node import Node
|
||||
from flandre.utils.Msg import KillMsg, MidiMsg, Msg, ImageArgMsg, SetSeqMetaMsg, SetSidMsg
|
||||
from flandre.utils.Msg import KillMsg, MidiMsg, Msg, ImageArgMsg, SetSeqMetaMsg, SetSidMsg, MaxMsg
|
||||
from flandre.utils.RfMeta import RfSequenceMeta
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class Midi(Node):
|
||||
topics = [ImageArgMsg, SetSeqMetaMsg]
|
||||
topics = [ImageArgMsg, SetSeqMetaMsg, MaxMsg]
|
||||
|
||||
def __init__(self, level=logging.INFO):
|
||||
super(Midi, self).__init__(level=level)
|
||||
@ -71,6 +71,7 @@ class Midi(Node):
|
||||
self.isa.send(MidiMsg(type='note_on', note=d['note'], velocity=d['velocity']).encode_msg())
|
||||
case 'note_off':
|
||||
self.isa.send(MidiMsg(type='note_off', note=d['note'], velocity=d['velocity']).encode_msg())
|
||||
|
||||
def loop(self):
|
||||
isb = self.c.ctx.socket(zmq.PULL)
|
||||
isb.connect("inproc://midi")
|
||||
@ -108,9 +109,11 @@ class Midi(Node):
|
||||
case 2:
|
||||
self.arg.v2 = sorted((500, self.arg.v2 + msg.value * 10, 7000))[1]
|
||||
case 3:
|
||||
self.arg.dct_center = sorted((500, self.arg.dct_center + msg.value * 10, self.m_dct_center))[1]
|
||||
self.arg.dct_center = \
|
||||
sorted((500, self.arg.dct_center + msg.value * 10, self.m_dct_center))[1]
|
||||
case 4:
|
||||
self.arg.dct_bandwidth = sorted((500, self.arg.dct_bandwidth + msg.value * 10, self.m_dct_bandwidth))[1]
|
||||
self.arg.dct_bandwidth = \
|
||||
sorted((500, self.arg.dct_bandwidth + msg.value * 10, self.m_dct_bandwidth))[1]
|
||||
case 5:
|
||||
self.arg.f_rows = sorted((500, self.arg.f_rows + msg.value * 10, self.m_f_rows))[1]
|
||||
case 6:
|
||||
@ -135,8 +138,10 @@ class Midi(Node):
|
||||
elif isinstance(msg, SetSeqMetaMsg):
|
||||
seq_meta = RfSequenceMeta.from_name(msg.name)
|
||||
mmax_shape0 = max(seq_meta.shape)
|
||||
self.m_t_start = mmax_shape0
|
||||
self.m_t_end = mmax_shape0
|
||||
self.m_dct_center = mmax_shape0
|
||||
self.m_dct_bandwidth = mmax_shape0
|
||||
self.m_f_rows = mmax_shape0
|
||||
elif isinstance(msg, MaxMsg):
|
||||
mmax_shape0 = msg.value
|
||||
self.m_t_start = mmax_shape0
|
||||
self.m_t_end = mmax_shape0
|
||||
|
||||
@ -60,7 +60,7 @@ class Node:
|
||||
def __call__(self, *args, **kwargs):
|
||||
self.setup()
|
||||
if not self.broker:
|
||||
time.sleep(1)
|
||||
time.sleep(2)
|
||||
self.send(NodeOnlineMsg(self.__class__.__name__))
|
||||
# input('asdasd')
|
||||
msg = self.recv()
|
||||
|
||||
@ -482,9 +482,11 @@ class Ui_MainWindow(object):
|
||||
self.label_8.setObjectName("label_8")
|
||||
self.gridLayout_4.addWidget(self.label_8, 1, 0, 1, 1)
|
||||
self.sp_g6 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.sp_g6.setMaximum(127)
|
||||
self.sp_g6.setObjectName("sp_g6")
|
||||
self.gridLayout_4.addWidget(self.sp_g6, 6, 2, 1, 1)
|
||||
self.sp_g4 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.sp_g4.setMaximum(127)
|
||||
self.sp_g4.setObjectName("sp_g4")
|
||||
self.gridLayout_4.addWidget(self.sp_g4, 4, 2, 1, 1)
|
||||
self.s_g7 = QtWidgets.QSlider(parent=self.centralwidget)
|
||||
@ -492,12 +494,14 @@ class Ui_MainWindow(object):
|
||||
self.s_g7.setObjectName("s_g7")
|
||||
self.gridLayout_4.addWidget(self.s_g7, 7, 1, 1, 1)
|
||||
self.sp_g2 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.sp_g2.setMaximum(127)
|
||||
self.sp_g2.setObjectName("sp_g2")
|
||||
self.gridLayout_4.addWidget(self.sp_g2, 2, 2, 1, 1)
|
||||
self.label_10 = QtWidgets.QLabel(parent=self.centralwidget)
|
||||
self.label_10.setObjectName("label_10")
|
||||
self.gridLayout_4.addWidget(self.label_10, 3, 0, 1, 1)
|
||||
self.sp_g3 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.sp_g3.setMaximum(127)
|
||||
self.sp_g3.setObjectName("sp_g3")
|
||||
self.gridLayout_4.addWidget(self.sp_g3, 3, 2, 1, 1)
|
||||
self.s_g6 = QtWidgets.QSlider(parent=self.centralwidget)
|
||||
@ -516,12 +520,15 @@ class Ui_MainWindow(object):
|
||||
self.s_g4.setObjectName("s_g4")
|
||||
self.gridLayout_4.addWidget(self.s_g4, 4, 1, 1, 1)
|
||||
self.sp_g7 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.sp_g7.setMaximum(127)
|
||||
self.sp_g7.setObjectName("sp_g7")
|
||||
self.gridLayout_4.addWidget(self.sp_g7, 7, 2, 1, 1)
|
||||
self.sp_g1 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.sp_g1.setMaximum(127)
|
||||
self.sp_g1.setObjectName("sp_g1")
|
||||
self.gridLayout_4.addWidget(self.sp_g1, 1, 2, 1, 1)
|
||||
self.sp_g5 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.sp_g5.setMaximum(127)
|
||||
self.sp_g5.setObjectName("sp_g5")
|
||||
self.gridLayout_4.addWidget(self.sp_g5, 5, 2, 1, 1)
|
||||
self.s_g2 = QtWidgets.QSlider(parent=self.centralwidget)
|
||||
@ -540,6 +547,7 @@ class Ui_MainWindow(object):
|
||||
self.label_37.setObjectName("label_37")
|
||||
self.gridLayout_4.addWidget(self.label_37, 8, 0, 1, 1)
|
||||
self.sp_g8 = QtWidgets.QSpinBox(parent=self.centralwidget)
|
||||
self.sp_g8.setMaximum(127)
|
||||
self.sp_g8.setObjectName("sp_g8")
|
||||
self.gridLayout_4.addWidget(self.sp_g8, 8, 2, 1, 1)
|
||||
self.gridLayout.addLayout(self.gridLayout_4, 3, 1, 1, 1)
|
||||
|
||||
@ -931,10 +931,18 @@ border-radius: 7px;
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="2">
|
||||
<widget class="QSpinBox" name="sp_g6"/>
|
||||
<widget class="QSpinBox" name="sp_g6">
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="4" column="2">
|
||||
<widget class="QSpinBox" name="sp_g4"/>
|
||||
<widget class="QSpinBox" name="sp_g4">
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="1">
|
||||
<widget class="QSlider" name="s_g7">
|
||||
@ -944,7 +952,11 @@ border-radius: 7px;
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="2">
|
||||
<widget class="QSpinBox" name="sp_g2"/>
|
||||
<widget class="QSpinBox" name="sp_g2">
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QLabel" name="label_10">
|
||||
@ -954,7 +966,11 @@ border-radius: 7px;
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="2">
|
||||
<widget class="QSpinBox" name="sp_g3"/>
|
||||
<widget class="QSpinBox" name="sp_g3">
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="6" column="1">
|
||||
<widget class="QSlider" name="s_g6">
|
||||
@ -985,13 +1001,25 @@ border-radius: 7px;
|
||||
</widget>
|
||||
</item>
|
||||
<item row="7" column="2">
|
||||
<widget class="QSpinBox" name="sp_g7"/>
|
||||
<widget class="QSpinBox" name="sp_g7">
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="1" column="2">
|
||||
<widget class="QSpinBox" name="sp_g1"/>
|
||||
<widget class="QSpinBox" name="sp_g1">
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="5" column="2">
|
||||
<widget class="QSpinBox" name="sp_g5"/>
|
||||
<widget class="QSpinBox" name="sp_g5">
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="2" column="1">
|
||||
<widget class="QSlider" name="s_g2">
|
||||
@ -1022,7 +1050,11 @@ border-radius: 7px;
|
||||
</widget>
|
||||
</item>
|
||||
<item row="8" column="2">
|
||||
<widget class="QSpinBox" name="sp_g8"/>
|
||||
<widget class="QSpinBox" name="sp_g8">
|
||||
<property name="maximum">
|
||||
<number>127</number>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</item>
|
||||
|
||||
@ -19,6 +19,8 @@ class BG(Enum):
|
||||
NodeOnlineMsg = auto()
|
||||
KillMsg = auto()
|
||||
StrMsg = auto()
|
||||
IntMsg = auto()
|
||||
MaxMsg = auto()
|
||||
MoveAxisMsg = auto()
|
||||
ImageArgMsg = auto()
|
||||
SetSeqMetaMsg = auto()
|
||||
@ -145,6 +147,9 @@ class NodeOnlineMsg(Msg):
|
||||
class StrMsg(Msg):
|
||||
value: str = ''
|
||||
|
||||
@dataclasses.dataclass
|
||||
class IntMsg(Msg):
|
||||
value: int = 0
|
||||
|
||||
@dataclasses.dataclass
|
||||
class KeyPressMsg(StrMsg):
|
||||
@ -182,6 +187,8 @@ class DeviceConnectedMsg(BoolMsg):
|
||||
class DeviceOnlineMsg(BoolMsg):
|
||||
pass
|
||||
|
||||
class MaxMsg(IntMsg):
|
||||
pass
|
||||
|
||||
@dataclasses.dataclass
|
||||
class SetRecordMsg(Msg):
|
||||
|
||||
@ -384,6 +384,16 @@ class RfMat:
|
||||
ssss += block
|
||||
return self
|
||||
|
||||
def time_gain_compensation_global(self, scale: float):
|
||||
self.m = self.m.astype(np.float32)
|
||||
h = self.m.shape[-1]
|
||||
mmax = self.m.max()
|
||||
s2 = self.m
|
||||
new_max = mmax * scale
|
||||
s2[s2 > new_max] = new_max
|
||||
self.m = s2 * (mmax / new_max)
|
||||
return self
|
||||
|
||||
def time_gain_compensation_linear_max(self, scale: float, mmax: int | None = None, start: int = 0):
|
||||
if scale == 0:
|
||||
return self
|
||||
|
||||
Loading…
Reference in New Issue
Block a user