def decorate(_cls): _cls.cls = cls def test_invertability(instance, sequence, correct): code = reduce(instance.cls.encoder(sequence)) decoder = instance.cls.decoder(code) frames = [x.copy() for x in decoder] for t, f in enumerate(frames): for index, value in np.ndenumerate(f): assert abs(int(value) - int(correct[t][index])) <= threshold #Add all invertability tests for name, sequence in sequences().items(): config = Config((64, 64), 10, 3, value=127, rate=0.2) np.random.seed(seed=0) correct_seq = [x.copy() for x in sequence(config)] seq = copy.deepcopy(correct_seq) def caller(seq, correct_seq): return lambda inst: test_invertability(inst, seq, correct_seq) setattr(_cls, f'test_invertability_{name}', caller(seq, correct_seq)) fn = lambda inst: test_invertability(inst, simple_seq(), simple_seq()) setattr(_cls, f'test_invertability_simple', fn) return _cls
def get_frame_iterator(args): seqs = sequence.sequences() sequence_config = synthetic.Config(args.res, args.fps, args.duration, value=args.value, rate=args.rate, val_range=args.range) return seqs[args.sequence](sequence_config)
def test_sequence_collection(): assert sequence.sequences()
import os import argparse import tempfile from pathlib import Path import event_compression.sequence as sequence import event_compression.sequence.synthetic as synthetic import event_compression.codec as codec from event_compression.scripts import util import pandas as pd import os, sys names = ["moving_edge", "single_color", "random_pixel", "checkers"] formats = ["aer", "caer", "raw"] codecs = codec.codecs() sequences = sequence.sequences() entropy_coder = sys.argv[1] def entropy_compress(path, out_path): command = f"{entropy_coder} {path} {out_path}" print(f"Running: {command}") os.system(command) def get_frame_iterator(name): sequence_config = synthetic.Config([32, 32], 30, 2, value=0,
import argparse import json import os from pathlib import Path from datetime import datetime from event_compression.codec import codecs from event_compression.sequence import sequences codecs = list(codecs().keys()) sequences = list(sequences().keys()) def get_parser(script_path): """ Instantiate a parser with arguments defined in standard location. **Arguments**: ``script_path``: path to script for which to instantiate parser. **Return**: Standard parser for script under ``script_path``. **Example**: In your script file (in src/scripts):: import util parser = util.get_parser(__file__)