This commit is contained in:
remilia 2025-04-16 00:46:47 +08:00
parent 7d10eba483
commit 9a4d7eca5d
8 changed files with 346 additions and 14 deletions

View File

@ -0,0 +1,152 @@
[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
SWEncoder1Resolution=1
TriggerMode=Internal
Encoder1A=DigitalInput01
Encoder1B=DigitalInput02
Encoder1Type=Quadrature4Edges
RequestIO=OnCycleOnly
[Cycle:0]
GainDigital=0.000000 dB
BeamCorrection=0.0 dB
Start=70.000000 us
Range=100.000000 us
TimeSlot=4239.900000 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

View 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=70.000000 us
Range=30.000000 us
TimeSlot=1321.600000 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/man.json Normal file
View File

@ -0,0 +1 @@
{"t_end": 5002, "t_start": 2513, "v2": 1524, "dct_center": 798, "dct_bandwidth": 857, "f_rows": 4939, "beta": 30}

View File

@ -35,17 +35,18 @@ class Beamformer(Node):
return
d2 = (data
# .dct(80, 1500)
# .dct_center(arg.dct_center, arg.dct_bandwidth)
# .call(lambda m: m.astype(cp.int16))
# .call(pwi)
# .call(cp.asarray, order='C')
# .argrelextrema()
# .conv_guass(b=arg.beta * 0.01)
# .crop_center(arg.t_start, arg.t_end)
.dct_center(arg.dct_center, arg.dct_bandwidth)
.call(lambda m: m.astype(cp.int16))
.call(pwi)
.call(cp.asarray, order='C')
.argrelextrema()
.conv_guass(b=arg.beta * 0.01)
.time_gain_compensation_linear_float(10)
.crop_center(arg.t_start, arg.t_end)
.rotate90()
.cpu()
.grey()
.call(cv2.cvtColor, cv2.COLOR_GRAY2RGB)
.cpu()
# .call(cv2.cvtColor, cv2.COLOR_GRAY2RGB)
# .pseudo_color()
)
# time.sleep(0.01)

View File

@ -68,8 +68,8 @@ class Adv(QMainWindow, Ui_MainWindow):
h = d2.h
qImg = QImage(
d2.__bytes__(),
w, h, 3 * w,
QImage.Format.Format_BGR888
w, h, 1 * w,
QImage.Format.Format_Grayscale8
)
self.g.setPixmap(QPixmap(qImg))
self.s.setSceneRect(0.0, 0.0, w, h)

View File

@ -80,8 +80,9 @@ class Muxer(Node):
# todo fixit driver no empty
self.rep_socket.send(BeamformerMsg(b'nop').encode_msg())
return
_, sequence_id, encoder = struct.unpack_from('=iqi', driver_data_raw)
_, _, sequence_id, encoder = struct.unpack_from('=iiii', driver_data_raw)
driver_data_body = driver_data_raw[4 + 8 + 4:]
# print(driver_data_body.__len__()/256/2)
data_msg = RfFrameWithMetaMsg(0, RfFrameMeta(
encoder=encoder, sequence_id=sequence_id
), driver_data_body)

View File

@ -334,6 +334,34 @@ class RfMat:
rm = cv(m, w, axis=axis)
return self.copy(rm)
def time_gain_compensation_linear_float(self, scale: float, start: int = 0):
h = self.m.shape[-1]
addend = self.p.zeros((1, h), dtype=self.p.float32)
addend[:, start:] = (self.p.arange(h - start) * scale) + 1
return self.copy(self.m * addend)
def time_gain_compensation_linear(self, scale: float, start: int = 0):
h = self.m.shape[-1]
addend = self.p.zeros((1, h), dtype=np.int64)
addend[:, start:] = self.p.arange(h - start) * scale
self.m += addend
return self
def time_gain_compensation_linear_max(self, scale: float, mmax: int | None = None, start: int = 0):
if scale == 0:
return self
if mmax is None:
mmax = self.m.max()
h = self.m.shape[-1]
self.m = self.m.astype(np.float64)
mmax_arr = self.p.zeros(h) + mmax
mmax_arr[start:] -= self.p.arange(h - start) * scale
for i in range(h):
# a[1, a[1, :] > 99] = 99
self.m[self.m[:, i] > mmax_arr[i], i] = mmax_arr[i]
self.m[:, i] *= (mmax / mmax_arr[i])
self.m[self.m > mmax] = mmax
self.m = self.m.astype(np.int64)
return self
if __name__ == '__main__':
cp.zeros((1, 2, 3)) + 1

View File

@ -19,7 +19,11 @@ if __name__ == '__main__':
while True:
req_driver_socket.send(struct.pack('i', magic) + struct.pack('i', cmd.value))
b = req_driver_socket.recv()
arr = np.frombuffer(b, dtype=np.int16, offset=4 + 8 + 4).reshape((256, 5002))
print(b[4:12])
print(struct.unpack('<I', b[8:12]))
offset = 4 + 8 + 4
# offset = 0
arr = np.frombuffer(b, dtype=np.int16, offset=offset).reshape((256, 5002))
cv2.imshow('test', arr)
cv2.waitKey(0)
cv2.waitKey(1)
# print(b.__len__())