Commit 5679b05f authored by norvell's avatar norvell
Browse files

Merge branch 'main' into 'basop-ci-branch'

[BASOP CI] Add fixes for BASOP pages job and histogram summary

See merge request !1676
parents 3d7cdf03 9f4c783c
Loading
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -2233,7 +2233,7 @@ coverage-test-on-main-scheduled:
  &complexity-measurements-setup # create necessary environment
  - mkdir -p wmops/logs

  - job_id=$(python3 ci/get_id_of_last_job_occurence.py $CI_COMMIT_REF_NAME $CI_JOB_NAME $CI_PROJECT_ID --success_only)
  - job_id=$(python3 ci/get_id_of_last_job_occurence.py $CI_COMMIT_REF_NAME $CI_JOB_NAME $CI_PROJECT_ID)
  - echo $job_id
  - curl --request GET "https://forge.3gpp.org/rep/api/v4/projects/$CI_PROJECT_ID/jobs/$job_id/artifacts" --output artifacts.zip
  - unzip artifacts.zip || true # this may fail on first run, when there are no artifacts there and the zip file is actually just "404"-html
+9 −40
Original line number Diff line number Diff line
@@ -35,14 +35,11 @@ Comparing:
    <li><a href="{job_name}--merged_csv--{id_current}.csv">Merged csv data</a></li>
</ul>

{images_mld}

{images_diff}

{images_ssnr}


<br>
<h2><a href="summary_{job_name}.html">Summary page</a></h2>
<br>
<br>

<b>How is the table sorted?</b>
<ul>
    <li>Cases with result ERROR or invalid/missing values for the numerical measures are given first</li>
@@ -122,7 +119,6 @@ def create_subpage(
    id_current: int,
    id_previous: int,
    job_name: str,
    histogram,
):
    merged_reports = merge_and_cleanup_mld_reports(
        csv_current, csv_previous, id_current, id_previous
@@ -145,32 +141,6 @@ def create_subpage(
    table_body = "\n".join(
        tr_from_row(row, id_current, id_previous) for row in merged_reports
    )
    if histogram:
        images_mld = (
            f"<h2>MLD summary {job_name}</h2>\n"
            + " ".join(
                [f"<img src=images/summary_{id_current}_MLD_{x}.png>" for x in FORMATS]
            )
            + f'\n<br><a href="images/summary_{id_current}_MLD.csv">summary_{id_current}_MLD.csv</a>'
        )
        images_ssnr = (
            f"<h2>MIN_SSNR summary {job_name}</h2>\n"
            + " ".join(
                [f"<img src=images/summary_{id_current}_SSNR_{x}.png>" for x in FORMATS]
            )
            + f'\n<br><a href="images/summary_{id_current}_SSNR.csv">summary_{id_current}_SSNR.csv</a>'
        )
        images_diff = (
            f"<h2>MAX ABS DIFFERENCE summary {job_name}</h2>\n"
            + " ".join(
                [f"<img src=images/summary_{id_current}_DIFF_{x}.png>" for x in FORMATS]
            )
            + f'\n<br><a href="images/summary_{id_current}_DIFF.csv">summary_{id_current}_DIFF.csv</a>'
        )
    else:
        images_mld = ""
        images_ssnr = ""
        images_diff = ""

    new_subpage = SUBPAGE_TMPL_CSS + SUBPAGE_TMPL_HTML.format(
        id_current=id_current,
@@ -179,9 +149,6 @@ def create_subpage(
        job_name=job_name,
        table_header_a=table_header_a,
        table_header_b=table_header_b,
        images_mld=images_mld,
        images_ssnr=images_ssnr,
        images_diff=images_diff,
    )
    with open(html_out, "w") as f:
        f.write(new_subpage)
@@ -331,7 +298,10 @@ def merge_tables(tbl1, tbl2, suffix1, suffix2, merge_key, other_keys):
            if row1[merge_key] == row2[merge_key]:
                new_row[merge_key] = row1[merge_key]
                for key in other_keys:
                    if key in row2: # In case key is missing, just insert a blank
                        new_row[f"{key}-{suffix2}"] = row2[key]
                    else:
                        new_row[f"{key}-{suffix2}"] = ""
                break

        merged.append(new_row)
@@ -339,6 +309,7 @@ def merge_tables(tbl1, tbl2, suffix1, suffix2, merge_key, other_keys):
    return merged



if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("html_out")
@@ -348,7 +319,6 @@ if __name__ == "__main__":
    parser.add_argument("id_current", type=int)
    parser.add_argument("id_previous", type=int)
    parser.add_argument("job_name")
    parser.add_argument("--histogram", action="store_true")
    args = parser.parse_args()

    create_subpage(
@@ -359,5 +329,4 @@ if __name__ == "__main__":
        args.id_current,
        args.id_previous,
        args.job_name,
        args.histogram,
    )
+55 −0
Original line number Diff line number Diff line
import argparse

from create_report_pages import SUBPAGE_TMPL_CSS, FORMATS

MEASURES = ["MLD","DIFF","SSNR"]

SUMMARY_PAGE_TMPL_HTML = """

<h1>Summary for job {job_name}, ID: {id_current}</h1>

{images}

"""

def create_summary_page(
    html_out,
    id_current: int,
    job_name: str,
):
    images = histogram_summary(job_name)

    new_summary_page = SUBPAGE_TMPL_CSS + SUMMARY_PAGE_TMPL_HTML.format(
        id_current=id_current,
        job_name=job_name,
        images=images,
    )
    with open(html_out, "w") as f:
        f.write(new_summary_page)

def histogram_summary(
    job_name:str,
    ):
    images = "<hr>"
    for m in MEASURES:
        images += (
            f"<h2>{m} summary {job_name}</h2>\n"
            + " ".join(
                [f"<img src=images_{job_name}/summary_{m}_{x}.png>" for x in FORMATS]
            )
            + f'\n<br><a href="images_{job_name}/summary_{m}.csv">summary_{m}.csv</a><hr>\n\n'
        )
    return images

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument("html_out")
    parser.add_argument("id_current", type=int)
    parser.add_argument("job_name")
    args = parser.parse_args()

    create_summary_page(
        args.html_out,
        args.id_current,
        args.job_name,
    )
+23 −18
Original line number Diff line number Diff line
@@ -1029,9 +1029,9 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g192 bit_error
../IVAS_dec 7_1_4 48 bit_error testv/stv1MASA2TC48c.wav_48000_48-48_7_1_4_FER5.tst

// MASA 1dir 2TC at 80 kbps, 48kHz in, 48kHz out, STEREO out
../IVAS_cod -masa 2 testv/stv1MASA2TC48c.met 80000 48 testv/stv1MASA2TC48c.wav bit
../IVAS_dec STEREO 48 bit testv/stv1MASA2TC48c.wav_80000_48-48_STEREO.tst
// MASA 1dir 2TC at 80 kbps, 32kHz in, 16kHz out, STEREO out
../IVAS_cod -masa 2 testv/stv1MASA2TC32c.met 80000 32 testv/stv1MASA2TC32c.wav bit
../IVAS_dec STEREO 16 bit testv/stv1MASA2TC32c.wav_80000_32-16_STEREO.tst

// MASA 1dir 2TC at 96 kbps, 48kHz in, 48kHz out, MONO out
../IVAS_cod -masa 2 testv/stv1MASA2TC48c.met 96000 48 testv/stv1MASA2TC48c.wav bit
@@ -1088,21 +1088,21 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
../IVAS_cod -masa 1 testv/stv1MASA1TC48c.met 13200 48 testv/stv1MASA1TC48c.wav bit
../IVAS_dec EXT 48 bit testv/stv1MASA1TC48c.wav_13200_48-48_EXT.tst

// MASA 1dir 2TC at 16.4 kbps, 48kHz in, 48kHz out, EXT out
../IVAS_cod -masa 2 testv/stv1MASA2TC48c.met 16400 48 testv/stv1MASA2TC48c.wav bit
../IVAS_dec EXT 48 bit testv/stv1MASA2TC48c.wav_16400_48-48_EXT.tst
// MASA 1dir 2TC at 16.4 kbps, 16kHz in, 48kHz out, EXT out
../IVAS_cod -masa 2 testv/stv1MASA2TC16c.met 16400 16 testv/stv1MASA2TC16c.wav bit
../IVAS_dec EXT 48 bit testv/stv1MASA2TC16c.wav_16400_16-48_EXT.tst

// MASA 2dir 1TC at 24.4 kbps, 48kHz in, 48kHz out, EXT out
// MASA 2dir 1TC at 24.4 kbps, 48kHz in, 32kHz out, EXT out
../IVAS_cod -masa 1 testv/stv2MASA1TC48c.met 24400 48 testv/stv2MASA1TC48c.wav bit
../IVAS_dec EXT 48 bit testv/stv2MASA1TC48c.wav_24400_48-48_EXT.tst
../IVAS_dec EXT 32 bit testv/stv2MASA1TC48c.wav_24400_48-32_EXT.tst

// MASA 2dir 2TC at 32 kbps, 48kHz in, 48kHz out, EXT out
../IVAS_cod -masa 2 testv/stv2MASA2TC48c.met 32000 48 testv/stv2MASA2TC48c.wav bit
../IVAS_dec EXT 48 bit testv/stv2MASA2TC48c.wav_32000_48-48_EXT.tst

// MASA 1dir 1TC at 48 kbps, 48kHz in, 48kHz out, EXT out
../IVAS_cod -masa 1 testv/stv1MASA1TC48c.met 48000 48 testv/stv1MASA1TC48c.wav bit
../IVAS_dec EXT 48 bit testv/stv1MASA1TC48c.wav_48000_48-48_EXT.tst
// MASA 1dir 1TC at 48 kbps, 32kHz in, 48kHz out, EXT out
../IVAS_cod -masa 1 testv/stv1MASA1TC32c.met 48000 32 testv/stv1MASA1TC32c.wav bit
../IVAS_dec EXT 48 bit testv/stv1MASA1TC32c.wav_48000_32-48_EXT.tst

// MASA 1dir 2TC at 64 kbps, 48kHz in, 48kHz out, EXT out
../IVAS_cod -masa 2 testv/stv1MASA2TC48c.met 64000 48 testv/stv1MASA2TC48c.wav bit
@@ -1116,9 +1116,9 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
../IVAS_cod -masa 2 testv/stv2MASA2TC48c.met 96000 48 testv/stv2MASA2TC48c.wav bit
../IVAS_dec EXT 48 bit testv/stv2MASA2TC48c.wav_96000_48-48_EXT.tst

// MASA 2dir 2TC at 128 kbps, 48kHz in, 48kHz out, EXT out
../IVAS_cod -masa 2 testv/stv2MASA2TC48c.met 128000 48 testv/stv2MASA2TC48c.wav bit
../IVAS_dec EXT 48 bit testv/stv2MASA2TC48c.wav_128000_48-48_EXT.tst
// MASA 1dir 2TC at 128 kbps, 48kHz in, 48kHz out, DTX on, EXT out
../IVAS_cod -dtx -masa 2 testv/stv1MASA2TC48n.met 128000 48 testv/stv1MASA2TC48n.wav bit
../IVAS_dec EXT 48 bit testv/stv1MASA2TC48n.wav_128000_48-48_DTX_EXT.tst

// MASA 2dir 2TC at 160 kbps, 48kHz in, 48kHz out, EXT out
../IVAS_cod -masa 2 testv/stv2MASA2TC48c.met 160000 48 testv/stv2MASA2TC48c.wav bit
@@ -1144,13 +1144,13 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
../IVAS_cod -dtx -masa 1 testv/stv1MASA1TC48n.met 13200 48 testv/stv1MASA1TC48n.wav bit
../IVAS_dec 7_1_4 48 bit testv/stv1MASA1TC48n.wav_13200_48-48_DTX_7_1_4.tst

// MASA 1dir 1TC at 24.4 kbps, 48kHz in, 48kHz out, DTX on, 5_1 out
// MASA 1dir 1TC at 24.4 kbps, 48kHz in, 48kHz out, DTX on, BINAURAL out
../IVAS_cod -dtx -masa 1 testv/stv1MASA1TC48n.met 24400 48 testv/stv1MASA1TC48n.wav bit
../IVAS_dec 5_1 48 bit testv/stv1MASA1TC48n.wav_24400_48-48_DTX_5_1.tst
../IVAS_dec BINAURAL 48 bit testv/stv1MASA1TC48n.wav_24400_48-48_DTX_BINAURAL.tst

// MASA 1dir 2TC at 16.4 kbps, 48kHz in, 48kHz out, DTX on, 7_1_4 out
// MASA 1dir 2TC at 16.4 kbps, 48kHz in, 48kHz out, DTX on, FOA out
../IVAS_cod -dtx -masa 2 testv/stv1MASA2TC48n.met 16400 48 testv/stv1MASA2TC48n.wav bit
../IVAS_dec 7_1_4 48 bit testv/stv1MASA2TC48n.wav_16400_48-48_DTX_7_1_4.tst
../IVAS_dec FOA 48 bit testv/stv1MASA2TC48n.wav_16400_48-48_DTX_FOA.tst

// MASA 1dir 2TC at 32.0 kbps, 48kHz in, 48kHz out, DTX on, 5_1 out
../IVAS_cod -dtx -masa 2 testv/stv1MASA2TC48n.met 32000 48 testv/stv1MASA2TC48n.wav bit
@@ -1196,6 +1196,11 @@ eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g1
../IVAS_cod -masa 2 testv/stv2MASA2TC48c.met ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/stv2MASA2TC48c.wav bit
../IVAS_dec BINAURAL 48 bit testv/stv2MASA2TC48c.wav_sw_48-48_BINAURAL.tst

// MASA 1dir 2TC bitrate switching from 13.2 kbps to 512 kbps, 48kHz in, 48kHz out, DTX on, BINAURAL out, random FER at 5%
../IVAS_cod -dtx -masa 2 testv/stv1MASA2TC48n.met ../scripts/switchPaths/sw_13k2_512k.bin 48 testv/stv1MASA2TC48n.wav bit
eid-xor -fer -vbr -bs g192 -ep g192 bit ../scripts/dly_error_profiles/ep_5pct.g192 bit_error
../IVAS_dec BINAURAL 48 bit_error testv/stv1MASA2TC48n.wav_sw_48-48_DTX_BINAURAL_FER5.tst



// Multi-channel 5_1 at 13.2 kbps, 48kHz in, 48kHz out
+76 −71

File changed.

Preview size limit exceeded, changes collapsed.

Loading