Ejemplo n.º 1
0
    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
Ejemplo n.º 2
0
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)
Ejemplo n.º 3
0
def test_sequence_collection():
    assert sequence.sequences()
Ejemplo n.º 4
0
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,
Ejemplo n.º 5
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__)