Esempio n. 1
0
def get_qualities(layer):
    qualities = []

    with open(
            os.path.join('data', FOLDER_NAME, 'quality',
                         FILENAME.format(layer))) as f:
        psnrs = []
        ssims = []

        next(f)
        next(f)
        reader = csv.reader(f, delimiter='\t')
        for row in reader:
            if row[0] == "Avg:":
                if not math.isclose(float(row[PSNR]), avg(psnrs),
                                    abs_tol=0.01):
                    #                     abs_tol=1e-05):
                    #     print(float(row[PSNR]), avg(psnrs))
                    raise Exception(
                        "Wrong PSNR average for layer {}".format(layer))
                if not math.isclose(
                        float(row[SSIM]), avg(ssims), abs_tol=1e-05):
                    raise Exception(
                        "Wrong SSIM average for layer {}".format(layer))
            elif row[0] not in IGNORE_LINE_NAMES:
                psnrs.append(float(row[PSNR]))
                ssims.append(float(row[SSIM]))

    for i in range(0, len(psnrs), FRAMES_IN_SEG):
        psnr_subset = psnrs[i:i + FRAMES_IN_SEG]
        ssim_subset = ssims[i:i + FRAMES_IN_SEG]

        qualities.append(Quality(psnr_subset, ssim_subset))

    return qualities
Esempio n. 2
0
from common import Segment
from common import Quality
from roger_allocator import get_best_received_segment
from roger_allocator import average_quals
from roger_allocator import Allocator
import math


received_times = [[10, 100], [11, 110], [12, 120], [13, 130]]
segments = [
    [
        Segment(0, 0, 30, Quality([.1], [.01])),
        Segment(1, 0, 130, Quality([.11], [.011]))
    ],
    [
        Segment(0, 1, 40, Quality([.15], [.015])),
        Segment(1, 1, 140, Quality([.151], [.0151]))
    ],
    [
        Segment(0, 2, 50, Quality([.2], [.02])),
        Segment(1, 2, 150, Quality([.21], [.021]))
    ],
    [
        Segment(0, 3, 60, Quality([.35], [.035])),
        Segment(1, 3, 160, Quality([.351], [.0351]))
    ]
]


def test_get_best_received_segment():    
    assert (get_best_received_segment(