add b2b
This commit is contained in:
parent
ca7415cc0c
commit
6973dc619f
@ -7,7 +7,8 @@ import zmq
|
||||
|
||||
from flandre.config import C
|
||||
from flandre.nodes.Node import Node
|
||||
from flandre.utils.Msg import BMMsg, ImageArgMsg, SetSeqMetaMsg, Msg, RfFrameWithMetaMsg, BeamformerMsg, RequestRfFrameMsg, \
|
||||
from flandre.utils.Msg import BMMsg, ImageArgMsg, SetSeqMetaMsg, Msg, RfFrameWithMetaMsg, BeamformerMsg, \
|
||||
RequestRfFrameMsg, \
|
||||
SeqMetaMsg
|
||||
from flandre.utils.RfFile import RfSequenceMeta
|
||||
from flandre.utils.RfMat import RfMat
|
||||
@ -20,12 +21,12 @@ class Beamformer(Node):
|
||||
|
||||
def __init__(self, level=logging.INFO):
|
||||
super(Beamformer, self).__init__(level=level)
|
||||
self.req_muxer_socket: zmq.Socket = None
|
||||
self.muxer_req_socket: zmq.Socket = None
|
||||
|
||||
def custom_setup(self):
|
||||
self.req_muxer_socket: zmq.Socket = self.c.ctx.socket(zmq.REQ)
|
||||
self.req_muxer_socket.connect('tcp://localhost:5560')
|
||||
self.c.poller.register(self.req_muxer_socket, zmq.POLLIN)
|
||||
self.muxer_req_socket: zmq.Socket = self.c.ctx.socket(zmq.REQ)
|
||||
self.muxer_req_socket.connect(C.muxer_rep_socket)
|
||||
self.c.poller.register(self.muxer_req_socket, zmq.POLLIN)
|
||||
|
||||
def process(self, data: RfMat, arg: ImageArgMsg):
|
||||
if data is None:
|
||||
@ -44,12 +45,12 @@ class Beamformer(Node):
|
||||
def loop(self):
|
||||
time.sleep(1)
|
||||
while True:
|
||||
self.req_muxer_socket.send(b'')
|
||||
self.muxer_req_socket.send(b'')
|
||||
r = dict(self.c.poller.poll())
|
||||
if self.c.sub in r:
|
||||
msg = self.recv()
|
||||
if self.req_muxer_socket in r:
|
||||
msg:BeamformerMsg = Msg.decode_msg(self.req_muxer_socket.recv())
|
||||
if self.muxer_req_socket in r:
|
||||
msg: BeamformerMsg = Msg.decode_msg(self.muxer_req_socket.recv())
|
||||
if msg.value == b'init':
|
||||
time.sleep(1)
|
||||
continue
|
||||
|
||||
@ -109,6 +109,8 @@ class RfFrameMeta(RfMeta):
|
||||
robot_force_pitch: Annotated[int, 'FRY'] = None
|
||||
robot_force_yal: Annotated[int, 'FRZ'] = None
|
||||
|
||||
blake2b: Annotated[str, 'B2B'] = None
|
||||
|
||||
|
||||
@dataclass
|
||||
class RfSequenceMeta(RfMeta):
|
||||
|
||||
@ -1,24 +1,34 @@
|
||||
import hashlib
|
||||
import json
|
||||
import shutil
|
||||
import subprocess
|
||||
from pathlib import Path
|
||||
import zipfile
|
||||
import zstd
|
||||
|
||||
import click
|
||||
|
||||
TEMP_FOLDER = Path('/mnt/16T/private_dataset/New Folder/temp')
|
||||
|
||||
|
||||
def folder_to_zip(folder: Path):
|
||||
shutil.rmtree(TEMP_FOLDER)
|
||||
TEMP_FOLDER.mkdir(parents=True, exist_ok=True)
|
||||
from flandre.utils.RfMeta import RfFrameMeta
|
||||
for i, file in enumerate(folder.glob('*')):
|
||||
file = Path(file)
|
||||
print(i, file, RfFrameMeta.from_path(file).json_str)
|
||||
|
||||
b2b = hashlib.blake2b(file.read_bytes(), digest_size=4).hexdigest()
|
||||
meta = RfFrameMeta.from_path(file)
|
||||
meta.blake2b = b2b
|
||||
print(i, b2b, file, meta.json_str)
|
||||
|
||||
|
||||
|
||||
src = file
|
||||
dst = TEMP_FOLDER / f'{i}.zst'
|
||||
dstj = TEMP_FOLDER / f'{i}.json'
|
||||
|
||||
dstj.write_text(RfFrameMeta.from_path(file).json_str)
|
||||
dstj.write_text(meta.json_str)
|
||||
|
||||
subprocess.run(['zstd', '-f', src, '-o', dst])
|
||||
subprocess.run(['zip', '-0', '-j', '-r', TEMP_FOLDER.parent / f'{folder.name}.zip', TEMP_FOLDER])
|
||||
@ -29,17 +39,19 @@ def zip_to_bytes(file: Path, name: int):
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
pass
|
||||
# cli()
|
||||
# folder_to_zip(Path('/mnt/16T/private_dataset/us/R1,U=30,M=PWI,S=(256 1502)'))
|
||||
# r = get(Path('/mnt/16T/private_dataset/New Folder/ST,U=60,M=FMC,S=(256 256 3002).zip'), 3)
|
||||
# print(r.__len__())
|
||||
# r = Path('/mnt/16T/private_dataset/New Folder/ST,U=60,M=FMC,S=(256 256 3002)/X=-204.bin').read_bytes()
|
||||
# print(r.__len__())
|
||||
p = Path('/mnt/16T/private_dataset/us/R1,U=30,M=PWI,S=(256 1502).zip')
|
||||
# p = Path('/mnt/16T/private_dataset/New Folder/R1,U=90,M=PWI,S=(256 4502)')
|
||||
# #
|
||||
archive = zipfile.ZipFile(p)
|
||||
for item in archive.infolist():
|
||||
print(int(Path(item.filename).stem))
|
||||
print()
|
||||
# archive = zipfile.ZipFile(p)
|
||||
# for item in archive.infolist():
|
||||
# print(int(Path(item.filename).stem))
|
||||
# print()
|
||||
# # imgfile = archive.open('img_01.png')
|
||||
# print(archive.filelist)
|
||||
# p2 = archive.open('X=20,Y=395.bin')
|
||||
|
||||
@ -1,4 +1,5 @@
|
||||
import dataclasses
|
||||
import hashlib
|
||||
import inspect
|
||||
import sys
|
||||
from enum import Enum
|
||||
@ -27,21 +28,22 @@ if __name__ == '__main__':
|
||||
# print(inspect.getmembers(ASD))
|
||||
# for f in dataclasses.fields(ASD):
|
||||
# print(f.name, f.type)
|
||||
p = Path('asd')
|
||||
pt = type(p)
|
||||
print(pt)
|
||||
print(pt.__name__)
|
||||
print(type(type(p)))
|
||||
match pt:
|
||||
case _x if isinstance(_x, PosixPath):
|
||||
print(-2)
|
||||
case type(__name__='PosixPath'):
|
||||
print(-1)
|
||||
case type():
|
||||
print(0)
|
||||
case Path():
|
||||
print(1)
|
||||
case PosixPath():
|
||||
print(3)
|
||||
case _:
|
||||
print(2)
|
||||
# p = Path('asd')
|
||||
# pt = type(p)
|
||||
# print(pt)
|
||||
# print(pt.__name__)
|
||||
# print(type(type(p)))
|
||||
# match pt:
|
||||
# case _x if isinstance(_x, PosixPath):
|
||||
# print(-2)
|
||||
# case type(__name__='PosixPath'):
|
||||
# print(-1)
|
||||
# case type():
|
||||
# print(0)
|
||||
# case Path():
|
||||
# print(1)
|
||||
# case PosixPath():
|
||||
# print(3)
|
||||
# case _:
|
||||
# print(2)
|
||||
print()
|
||||
|
||||
25
tool.py
Normal file
25
tool.py
Normal file
@ -0,0 +1,25 @@
|
||||
from pathlib import Path
|
||||
|
||||
import click
|
||||
|
||||
from flandre.utils.archive import folder_to_zip
|
||||
|
||||
|
||||
@click.group()
|
||||
def cli():
|
||||
pass
|
||||
|
||||
|
||||
@cli.command()
|
||||
@click.argument('folder')
|
||||
def f2z(folder):
|
||||
folder_to_zip(Path(folder))
|
||||
|
||||
|
||||
@cli.command()
|
||||
def dropdb():
|
||||
click.echo('Dropped the database')
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
cli()
|
||||
Loading…
Reference in New Issue
Block a user