From 259f925df3e72cef715d2173bd1a694f5d612b67 Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Thu, 25 Jun 2026 19:07:28 -0300 Subject: [PATCH 01/32] feat: Adds setup for code quality analysis and refactoring. --- extract_metrics_before_codecarbon.py | 63 + extract_metrics_before_pylint.py | 109 + extract_metrics_before_pytest.py | 70 + extract_metrics_before_radon.py | 209 + extract_score_before_pylint.py | 23 + metrics-before-codecarbon/emissions_antes.csv | 2 + metrics-before-pylint/pylint_antes.json | 12729 ++++++++++++ .../pylint_arquivos_criticos_antes.json | 421 + .../pylint_convention_antes.json | 4851 +++++ .../pylint_distribuicao_categorias_antes.json | 22 + metrics-before-pylint/pylint_error_antes.json | 2628 +++ metrics-before-pylint/pylint_fatal_antes.json | 1 + .../pylint_ranking_smells_antes.json | 82 + .../pylint_refactor_antes.json | 3941 ++++ metrics-before-pylint/pylint_score_antes.txt | 1 + .../pylint_warning_antes.json | 1315 ++ metrics-before-pytest/coverage_antes.json | 1 + metrics-before-pytest/coverage_antes.xml | 16232 ++++++++++++++++ metrics-before-pytest/pytest_antes.html | 1094 ++ metrics-before-pytest/pytest_antes.xml | 138 + metrics-before-radon/cc_antes.json | 14211 ++++++++++++++ metrics-before-radon/cc_por_arquivo_antes.csv | 59 + metrics-before-radon/cc_por_funcao_antes.csv | 747 + metrics-before-radon/hal_antes.json | 10309 ++++++++++ .../hal_por_arquivo_antes.csv | 81 + metrics-before-radon/hal_por_funcao_antes.csv | 636 + metrics-before-radon/mi_antes.json | 322 + metrics-before-radon/mi_por_arquivo_antes.csv | 81 + metrics-before-radon/raw_antes.json | 722 + .../raw_por_arquivo_e_total_antes.csv | 82 + 30 files changed, 71182 insertions(+) create mode 100644 extract_metrics_before_codecarbon.py create mode 100644 extract_metrics_before_pylint.py create mode 100644 extract_metrics_before_pytest.py create mode 100644 extract_metrics_before_radon.py create mode 100644 extract_score_before_pylint.py create mode 100644 metrics-before-codecarbon/emissions_antes.csv create mode 100644 metrics-before-pylint/pylint_antes.json create mode 100644 metrics-before-pylint/pylint_arquivos_criticos_antes.json create mode 100644 metrics-before-pylint/pylint_convention_antes.json create mode 100644 metrics-before-pylint/pylint_distribuicao_categorias_antes.json create mode 100644 metrics-before-pylint/pylint_error_antes.json create mode 100644 metrics-before-pylint/pylint_fatal_antes.json create mode 100644 metrics-before-pylint/pylint_ranking_smells_antes.json create mode 100644 metrics-before-pylint/pylint_refactor_antes.json create mode 100644 metrics-before-pylint/pylint_score_antes.txt create mode 100644 metrics-before-pylint/pylint_warning_antes.json create mode 100644 metrics-before-pytest/coverage_antes.json create mode 100644 metrics-before-pytest/coverage_antes.xml create mode 100644 metrics-before-pytest/pytest_antes.html create mode 100644 metrics-before-pytest/pytest_antes.xml create mode 100644 metrics-before-radon/cc_antes.json create mode 100644 metrics-before-radon/cc_por_arquivo_antes.csv create mode 100644 metrics-before-radon/cc_por_funcao_antes.csv create mode 100644 metrics-before-radon/hal_antes.json create mode 100644 metrics-before-radon/hal_por_arquivo_antes.csv create mode 100644 metrics-before-radon/hal_por_funcao_antes.csv create mode 100644 metrics-before-radon/mi_antes.json create mode 100644 metrics-before-radon/mi_por_arquivo_antes.csv create mode 100644 metrics-before-radon/raw_antes.json create mode 100644 metrics-before-radon/raw_por_arquivo_e_total_antes.csv diff --git a/extract_metrics_before_codecarbon.py b/extract_metrics_before_codecarbon.py new file mode 100644 index 0000000000..d4a9965a03 --- /dev/null +++ b/extract_metrics_before_codecarbon.py @@ -0,0 +1,63 @@ +from codecarbon import EmissionsTracker +import subprocess +import sys +import os + +# Configuração + +# Nome do projeto +PROJETO = "supervision" + +# Ponto de entrada do projeto (define como o Python vai executar o projeto). +SCRIPT = "-m" + +# Argumentos necessários para a execução do projeto. +# Se o projeto não precisar de argumentos, deixe vazio: ARGS = [] +ARGS = ["pytest"] + + +# Tempo máximo que o CodeCarbon vai aguardar a execução do projeto antes de encerrar a +# medição e salvar os resultados. +# None -> sem limite — o CodeCarbon aguarda o projeto terminar sozinho. +# Use para scripts e pipelines que executam e terminam naturalmente. +# +# 60 -> encerra após 60 segundos, mesmo que o projeto ainda esteja rodando. +# Use para servidores (Flask, FastAPI, Django) que ficam rodando continuamente e nunca terminariam sozinhos. +TIMEOUT = None + +# Não altere o nome dessa pasta, os relatórios vão ser salvos nela. +PASTA = "metrics-before-codecarbon" + +# Executa com medição +os.makedirs(PASTA, exist_ok=True) + +tracker = EmissionsTracker( + project_name=PROJETO, + measure_power_secs=1, + output_dir=PASTA, + output_file="emissions_antes.csv", + allow_multiple_runs=True, + log_level="error", +) + +print(f"Iniciando medição de emissões para: {PROJETO}") +print(f"Comando: python {SCRIPT} {' '.join(ARGS)}") +if TIMEOUT: + print(f"Timeout: {TIMEOUT} segundos") + +tracker.start() + +try: + resultado = subprocess.run([sys.executable, SCRIPT] + ARGS, timeout=TIMEOUT) + exit_code = resultado.returncode +except subprocess.TimeoutExpired: + print("Tempo de medição encerrado.") + exit_code = 0 + +emissions = tracker.stop() + +print(f"\nResultados:") +print(f" Exit code: {exit_code}") +print(f" COâ‚‚ emitido: {emissions * 1000:.6f} g COâ‚‚") +print(f" Arquivo salvo em: {os.path.join(PASTA, 'emissions.csv')}") +print("\nConcluído.") diff --git a/extract_metrics_before_pylint.py b/extract_metrics_before_pylint.py new file mode 100644 index 0000000000..492f8ba2a7 --- /dev/null +++ b/extract_metrics_before_pylint.py @@ -0,0 +1,109 @@ +import json +import os +import subprocess +import sys +from collections import defaultdict, Counter + +# Configuração +PROJETO = "./src" # diretório do código fonte +PASTA = "metrics-before-pylint" # Não altere o nome dessa pasta, os relatórios vão ser salvos nela. + +os.makedirs(PASTA, exist_ok=True) + +# Roda o Pylint +print(f"Rodando pylint em {PROJETO}...") + +resultado = subprocess.run( + ["pylint", PROJETO, "--output-format=json", "--score=y"], + capture_output=True, + text=True, + encoding="utf-8", +) + +# Salva o JSON bruto +caminho_json = os.path.join(PASTA, "pylint_antes.json") +with open(caminho_json, "w", encoding="utf-8") as f: + f.write(resultado.stdout) +print(f"JSON completo salvo em: {caminho_json}") + +# Processa mensagens +try: + mensagens = json.loads(resultado.stdout) +except json.JSONDecodeError: + print("Erro ao processar JSON do Pylint.") + sys.exit(1) + +if not mensagens: + print("Nenhuma mensagem encontrada.") + sys.exit(0) + +# Salva JSONs por categoria +por_tipo = defaultdict(list) +for msg in mensagens: + tipo = msg.get("type", "unknown") + por_tipo[tipo].append(msg) + +tipos_nomes = { + "convention": "pylint_convention_antes.json", + "refactor": "pylint_refactor_antes.json", + "warning": "pylint_warning_antes.json", + "error": "pylint_error_antes.json", + "fatal": "pylint_fatal_antes.json", +} + +for tipo, nome_arquivo in tipos_nomes.items(): + caminho = os.path.join(PASTA, nome_arquivo) + with open(caminho, "w", encoding="utf-8") as f: + json.dump(por_tipo.get(tipo, []), f, indent=2, ensure_ascii=False) + print(f"{len(por_tipo.get(tipo, [])):>5} mensagens → {caminho}") + +print(f"\nTotal: {len(mensagens)} mensagens encontradas.") + +# Ranking da da categoria refactor +mensagens_refactor = [msg for msg in mensagens if msg.get("type") == "refactor"] +contagem_simbolos = Counter(msg["symbol"] for msg in mensagens_refactor) +caminho_ranking = os.path.join(PASTA, "pylint_ranking_smells_antes.json") +with open(caminho_ranking, "w", encoding="utf-8") as f: + json.dump( + [{"simbolo": s, "ocorrencias": t} for s, t in contagem_simbolos.most_common()], + f, + indent=2, + ensure_ascii=False, + ) +print(f"Ranking de símbolos salvo em: {caminho_ranking}") + +# Arquivos com mais problemas +por_arquivo = defaultdict(lambda: defaultdict(int)) +for msg in mensagens: + path = msg.get("path", "desconhecido") + tipo = msg.get("type", "unknown") + por_arquivo[path][tipo] += 1 + por_arquivo[path]["total"] += 1 + +arquivos_ordenados = sorted( + [{"arquivo": path, **contagens} for path, contagens in por_arquivo.items()], + key=lambda x: x["total"], + reverse=True, +) +caminho_arquivos = os.path.join(PASTA, "pylint_arquivos_criticos_antes.json") +with open(caminho_arquivos, "w", encoding="utf-8") as f: + json.dump(arquivos_ordenados, f, indent=2, ensure_ascii=False) +print(f"Arquivos críticos salvo em: {caminho_arquivos}") + +# Distribuição por categoria +total = len(mensagens) +distribuicao = [ + { + "categoria": tipo, + "ocorrencias": len(msgs), + "percentual": round(len(msgs) / total * 100, 2), + } + for tipo, msgs in por_tipo.items() +] +distribuicao.sort(key=lambda x: x["ocorrencias"], reverse=True) +caminho_dist = os.path.join(PASTA, "pylint_distribuicao_categorias_antes.json") +with open(caminho_dist, "w", encoding="utf-8") as f: + json.dump(distribuicao, f, indent=2, ensure_ascii=False) +print(f"Distribuição por categoria salva em: {caminho_dist}") + +print("\nConcluído.") diff --git a/extract_metrics_before_pytest.py b/extract_metrics_before_pytest.py new file mode 100644 index 0000000000..24c3c6866d --- /dev/null +++ b/extract_metrics_before_pytest.py @@ -0,0 +1,70 @@ +import os +import subprocess +import sys +from pathlib import Path + +# Configuração, ajuste apenas se necessário. + +# Diretório raiz do projeto clonado, os testes vai começar a execução a petir dele. +PROJETO = "." + +# Diretório dos testes detectado automaticamente, mas pode forçar manualmente +# Exemplos: TESTES = "./tests" ou TESTES = "./test" +TESTES = None + +# Pasta onde os relatórios serão salvos (não altere) +PASTA = "metrics-before-pytest" + +# Detecção automática do diretório de testes +CANDIDATOS = ["tests", "test", "src/tests", "src/test"] + +if TESTES is None: + for candidato in CANDIDATOS: + if Path(candidato).exists(): + TESTES = candidato + break + +if TESTES is None: + print("Erro: diretório de testes não encontrado.") + print(f"Procurado em: {CANDIDATOS}") + print("Defina manualmente a variável TESTES no script.") + sys.exit(1) + +# Execução +os.makedirs(PASTA, exist_ok=True) + +print(f"Projeto : {os.path.abspath(PROJETO)}") +print(f"Testes : {TESTES}") +print(f"Relatórios em: {PASTA}/") +print() + +resultado = subprocess.run( + [ + sys.executable, + "-m", + "pytest", + TESTES, + "-v", + f"--junit-xml={os.path.join(PASTA, 'pytest_antes.xml')}", + f"--html={os.path.join(PASTA, 'pytest_antes.html')}", + "--self-contained-html", + f"--cov={PROJETO}", + "--cov-branch", + f"--cov-report=xml:{os.path.join(PASTA, 'coverage_antes.xml')}", + f"--cov-report=json:{os.path.join(PASTA, 'coverage_antes.json')}", + f"--cov-report=html:{os.path.join(PASTA, 'coverage_antes_html')}", + "--cov-report=term-missing", + ], + cwd=PROJETO, + text=True, + encoding="utf-8", +) + +print(f"\nExit code: {resultado.returncode}") +print(f"\nArquivos gerados em '{PASTA}':") +print(f" pytest_antes.xml → resultados dos testes em XML") +print(f" pytest_antes.html → relatório visual dos testes") +print(f" coverage_antes.xml → cobertura de código em XML") +print(f" coverage_antes.json → cobertura de código em JSON") +print(f" coverage_antes_html/ → relatório visual de cobertura") +print("\nConcluído.") diff --git a/extract_metrics_before_radon.py b/extract_metrics_before_radon.py new file mode 100644 index 0000000000..a03c057359 --- /dev/null +++ b/extract_metrics_before_radon.py @@ -0,0 +1,209 @@ +import csv +import json +import os +import subprocess + + +def normalizar_caminho(path): + return path.replace("\\", "/") + + +# Gera JSONs via Radon +def rodar_radon(comando): + resultado = subprocess.run( + comando, capture_output=True, text=True, encoding="utf-8" + ) + return json.loads(resultado.stdout) + + +print("Rodando radon cc...") +cc_data = rodar_radon(["radon", "cc", "./src", "-j"]) +print("Rodando radon mi...") +mi_data = rodar_radon(["radon", "mi", "./src", "-j"]) +print("Rodando radon hal...") +hal_data = rodar_radon(["radon", "hal", "./src", "-j"]) +print("Rodando radon raw...") +raw_data = rodar_radon(["radon", "raw", "./src", "-j"]) + +# Não altere o nome dessa pasta, os relatórios vão ser salvos nela. +pasta = "metrics-before-radon" +os.makedirs(pasta, exist_ok=True) + +with open(os.path.join(pasta, "cc_antes.json"), "w", encoding="utf-8") as f: + json.dump(cc_data, f, indent=2) +with open(os.path.join(pasta, "mi_antes.json"), "w", encoding="utf-8") as f: + json.dump(mi_data, f, indent=2) +with open(os.path.join(pasta, "hal_antes.json"), "w", encoding="utf-8") as f: + json.dump(hal_data, f, indent=2) +with open(os.path.join(pasta, "raw_antes.json"), "w", encoding="utf-8") as f: + json.dump(raw_data, f, indent=2) + +print("JSONs salvos.") + +HAL_FIELDS = [ + "h1", + "h2", + "N1", + "N2", + "vocabulary", + "length", + "calculated_length", + "volume", + "difficulty", + "effort", + "time", + "bugs", +] + +RAW_FIELDS = ["loc", "lloc", "sloc", "comments", "multi", "blank", "single_comments"] + +rows_cc = [] +rows_cc_arquivo = [] +rows_mi = [] +rows_hal_arquivo = [] +rows_hal_funcao = [] +rows_raw = [] + +# MI por arquivo +for arquivo, dados in mi_data.items(): + rows_mi.append( + { + "arquivo": normalizar_caminho(arquivo), + "mi": round(dados["mi"], 4), + "rank_mi": dados["rank"], + } + ) + + +# CC por função e por arquivo +def extrair_funcoes(blocos, arquivo): + resultado = [] + for bloco in blocos: + if bloco["type"] == "class": + continue + resultado.append( + { + "arquivo": normalizar_caminho(arquivo), + "tipo": bloco["type"], + "classe": bloco.get("classname") or "", + "nome": bloco["name"], + "rank_cc": bloco["rank"], + "complexity": bloco["complexity"], + "linha_ini": bloco["lineno"], + "linha_fim": bloco["endline"], + } + ) + if bloco.get("closures"): + resultado += extrair_funcoes(bloco["closures"], arquivo) + return resultado + + +vistas = set() + +for arquivo, blocos in cc_data.items(): + funcoes_arquivo = [] + for bloco in extrair_funcoes(blocos, arquivo): + chave = (bloco["arquivo"], bloco["nome"], bloco["linha_ini"]) + if chave in vistas: + continue + vistas.add(chave) + rows_cc.append(bloco) + funcoes_arquivo.append(bloco) + + if funcoes_arquivo: + complexidades = [f["complexity"] for f in funcoes_arquivo] + pior = max(funcoes_arquivo, key=lambda x: x["complexity"]) + rows_cc_arquivo.append( + { + "arquivo": normalizar_caminho(arquivo), + "funcoes": len(funcoes_arquivo), + "cc_media": round(sum(complexidades) / len(complexidades), 2), + "cc_max": max(complexidades), + "cc_soma": sum(complexidades), + "pior_rank": pior["rank_cc"], + "pior_classe": pior["classe"], + "pior_funcao": pior["nome"], + "pior_linha_ini": pior["linha_ini"], + } + ) + else: + rows_cc_arquivo.append( + { + "arquivo": normalizar_caminho(arquivo), + "funcoes": 0, + "cc_media": "", + "cc_max": "", + "cc_soma": "", + "pior_rank": "", + "pior_classe": "", + "pior_funcao": "", + "pior_linha_ini": "", + } + ) + +# Halstead por arquivo e por função +vistos_hal = set() + +for arquivo, dados in hal_data.items(): + arq_norm = normalizar_caminho(arquivo) + + t = dados["total"] + row = {"arquivo": arq_norm, "escopo": "arquivo", "nome": ""} + for field in HAL_FIELDS: + val = t.get(field, 0) or 0 + row[field] = round(val, 4) + rows_hal_arquivo.append(row) + + for nome_func, func_hal in dados.get("functions", {}).items(): + chave = (arq_norm, nome_func) + nome_final = nome_func + if chave in vistos_hal: + count = sum( + 1 for k in vistos_hal if k[0] == arq_norm and k[1].startswith(nome_func) + ) + nome_final = f"{nome_func}_{count}" + vistos_hal.add((arq_norm, nome_final)) + + row = {"arquivo": arq_norm, "escopo": "funcao", "nome": nome_final} + for field in HAL_FIELDS: + val = func_hal.get(field, 0) or 0 + row[field] = round(val, 4) + rows_hal_funcao.append(row) + +# Raw por arquivo e total +total_raw = {field: 0 for field in RAW_FIELDS} + +for arquivo, dados in raw_data.items(): + row = {"arquivo": normalizar_caminho(arquivo)} + for field in RAW_FIELDS: + val = dados.get(field, 0) or 0 + row[field] = val + total_raw[field] += val + rows_raw.append(row) + +rows_raw.append({"arquivo": "TOTAL", **total_raw}) + + +# Exporta CSVs +def salvar_csv(nome, linhas, ordenar_por=None): + if not linhas: + print(f"Sem dados para {nome}") + return + if ordenar_por: + linhas = sorted(linhas, key=lambda x: (x[ordenar_por] == "", x[ordenar_por])) + caminho = os.path.join(pasta, nome) + with open(caminho, "w", newline="", encoding="utf-8") as f: + writer = csv.DictWriter(f, fieldnames=linhas[0].keys()) + writer.writeheader() + writer.writerows(linhas) + print(f"{len(linhas):>5} linhas → {caminho}") + + +salvar_csv("mi_por_arquivo_antes.csv", rows_mi, ordenar_por="mi") +salvar_csv("cc_por_funcao_antes.csv", rows_cc, ordenar_por="complexity") +salvar_csv("cc_por_arquivo_antes.csv", rows_cc_arquivo, ordenar_por="cc_media") +salvar_csv("hal_por_arquivo_antes.csv", rows_hal_arquivo, ordenar_por="effort") +salvar_csv("hal_por_funcao_antes.csv", rows_hal_funcao) +salvar_csv("raw_por_arquivo_e_total_antes.csv", rows_raw, ordenar_por="sloc") + +print("\nConcluído.") diff --git a/extract_score_before_pylint.py b/extract_score_before_pylint.py new file mode 100644 index 0000000000..956b1fc5b6 --- /dev/null +++ b/extract_score_before_pylint.py @@ -0,0 +1,23 @@ +import subprocess +import os + +PROJETO = "./src" +PASTA = "metrics-before-pylint" + +os.makedirs(PASTA, exist_ok=True) + +resultado = subprocess.run( + ["pylint", PROJETO, "--score=y"], + capture_output=True, + text=True, + encoding="utf-8", +) + +caminho_score = os.path.join(PASTA, "pylint_score_antes.txt") +with open(caminho_score, "w", encoding="utf-8") as f: + for linha in resultado.stdout.splitlines(): + if "Your code has been rated at" in linha: + f.write(linha + "\n") + print(linha) + +print(f"Score salvo em: {caminho_score}") diff --git a/metrics-before-codecarbon/emissions_antes.csv b/metrics-before-codecarbon/emissions_antes.csv new file mode 100644 index 0000000000..aa911da432 --- /dev/null +++ b/metrics-before-codecarbon/emissions_antes.csv @@ -0,0 +1,2 @@ +timestamp,project_name,run_id,experiment_id,duration,emissions,emissions_rate,cpu_power,gpu_power,ram_power,cpu_energy,gpu_energy,ram_energy,energy_consumed,water_consumed,country_name,country_iso_code,region,cloud_provider,cloud_region,os,python_version,codecarbon_version,cpu_count,cpu_model,gpu_count,gpu_model,longitude,latitude,ram_total_size,tracking_mode,cpu_utilization_percent,gpu_utilization_percent,ram_utilization_percent,ram_used_gb,on_cloud,pue,wue +2026-06-25T14:37:10,supervision,e3fdd41c-7332-4157-a072-a44a4fdf0f64,5b0fa12a-3dd7-45bb-9766-cc326314d9f1,1.552282600000126,4.4246307305294394e-07,2.850402839359972e-07,5.4000003888000006,0.0,10.0,1.5778181636030323e-06,0.0,2.9211352777780225e-06,4.498953441381054e-06,0.0,Brazil,BRA,ceará,,,Windows-11-10.0.26200-SP0,3.14.0,3.2.8,16,AMD Ryzen 7 7735HS with Radeon Graphics,0,,-39.0159,-4.9702,5.691925048828125,machine,0,0,0,0,N,1.0,0.0 diff --git a/metrics-before-pylint/pylint_antes.json b/metrics-before-pylint/pylint_antes.json new file mode 100644 index 0000000000..f20110cb01 --- /dev/null +++ b/metrics-before-pylint/pylint_antes.json @@ -0,0 +1,12729 @@ +[ + { + "type": "convention", + "module": "supervision.config", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\config.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 9, + "column": 0, + "endLine": 33, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.annotators.core import BackgroundOverlayAnnotator, BlurAnnotator, BoxAnnotator, BoxCornerAnnotator, CircleAnnotator, ColorAnnotator, ComparisonAnnotator, CropAnnotator, DotAnnotator, EllipseAnnotator, HaloAnnotator, HeatMapAnnotator, IconAnnotator, LabelAnnotator, MaskAnnotator, OrientedBoxAnnotator, PercentageBarAnnotator, PixelateAnnotator, PolygonAnnotator, RichLabelAnnotator, RoundBoxAnnotator, TraceAnnotator, TriangleAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 34, + "column": 0, + "endLine": 39, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.annotators.utils import ColorLookup, hex_to_rgba, is_valid_hex, rgba_to_hex\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 40, + "column": 0, + "endLine": 40, + "endColumn": 59, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.classification.core import Classifications\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 41, + "column": 0, + "endLine": 45, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.dataset.core import BaseDataset, ClassificationDataset, DetectionDataset\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 46, + "column": 0, + "endLine": 46, + "endColumn": 73, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.dataset.formats.coco import get_coco_class_index_mapping\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 47, + "column": 0, + "endLine": 47, + "endColumn": 58, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.compact_mask import CompactMask\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 48, + "column": 0, + "endLine": 48, + "endColumn": 49, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.core import Detections\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 49, + "column": 0, + "endLine": 53, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.line_zone import LineZone, LineZoneAnnotator, LineZoneAnnotatorMulticlass\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 54, + "column": 0, + "endLine": 54, + "endColumn": 56, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.csv_sink import CSVSink\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 55, + "column": 0, + "endLine": 55, + "endColumn": 72, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.inference_slicer import InferenceSlicer\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 56, + "column": 0, + "endLine": 56, + "endColumn": 58, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.json_sink import JSONSink\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 57, + "column": 0, + "endLine": 57, + "endColumn": 86, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.polygon_zone import PolygonZone, PolygonZoneAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 58, + "column": 0, + "endLine": 58, + "endColumn": 67, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.smoother import DetectionsSmoother\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 59, + "column": 0, + "endLine": 66, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.boxes import clip_boxes, denormalize_boxes, move_boxes, pad_boxes, scale_boxes, xyxyxyxy_to_xyxy\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 67, + "column": 0, + "endLine": 81, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.converters import is_compressed_rle, mask_to_polygons, mask_to_rle, mask_to_xyxy, polygon_to_mask, polygon_to_xyxy, rle_to_mask, xcycwh_to_xyxy, xywh_to_xyxy, xyxy_to_mask, xyxy_to_polygons, xyxy_to_xcycarh, xyxy_to_xywh\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 82, + "column": 0, + "endLine": 96, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.iou_and_nms import OverlapFilter, OverlapMetric, box_iou, box_iou_batch, box_iou_batch_with_jaccard, box_non_max_merge, box_non_max_suppression, mask_iou_batch, mask_non_max_merge, mask_non_max_suppression, oriented_box_iou_batch, oriented_box_non_max_merge, oriented_box_non_max_suppression\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 97, + "column": 0, + "endLine": 103, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.masks import calculate_masks_centroids, contains_holes, contains_multiple_segments, filter_segments_by_distance, move_masks\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 104, + "column": 0, + "endLine": 107, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.polygons import approximate_polygon, filter_polygons_by_area\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 108, + "column": 0, + "endLine": 108, + "endColumn": 77, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.vlms import edit_distance, fuzzy_match_index\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 109, + "column": 0, + "endLine": 109, + "endColumn": 46, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.vlm import LMM, VLM\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 110, + "column": 0, + "endLine": 110, + "endColumn": 54, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.draw.color import Color, ColorPalette\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 111, + "column": 0, + "endLine": 121, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.draw.utils import calculate_optimal_line_thickness, calculate_optimal_text_scale, draw_filled_polygon, draw_filled_rectangle, draw_image, draw_line, draw_polygon, draw_rectangle, draw_text\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 122, + "column": 0, + "endLine": 122, + "endColumn": 59, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.geometry.core import Point, Position, Rect\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 123, + "column": 0, + "endLine": 123, + "endColumn": 57, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.geometry.utils import get_polygon_center\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 124, + "column": 0, + "endLine": 132, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.annotators import EdgeAnnotator, VertexAnnotator, VertexEllipseAnnotator, VertexEllipseAreaAnnotator, VertexEllipseHaloAnnotator, VertexEllipseOutlineAnnotator, VertexLabelAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 49, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.core import KeyPoints\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 134, + "column": 0, + "endLine": 134, + "endColumn": 79, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.metrics.detection import ConfusionMatrix, MeanAveragePrecision\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 135, + "column": 0, + "endLine": 135, + "endColumn": 59, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.tracker.byte_tracker.core import ByteTrack\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 136, + "column": 0, + "endLine": 136, + "endColumn": 69, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.conversion import cv2_to_pillow, pillow_to_cv2\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 137, + "column": 0, + "endLine": 137, + "endColumn": 61, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.file import list_files_with_extensions\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 138, + "column": 0, + "endLine": 148, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.image import ImageSink, crop_image, get_image_resolution_wh, grayscale_image, letterbox_image, overlay_image, resize_image, scale_image, tint_image\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 149, + "column": 0, + "endLine": 149, + "endColumn": 67, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.notebook import plot_image, plot_images_grid\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 150, + "column": 0, + "endLine": 156, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.video import FPSMonitor, VideoInfo, VideoSink, get_video_frames_generator, process_video\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.annotators.base", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.annotators.base", + "obj": "BaseAnnotator", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 19, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.annotators.base", + "obj": "BaseAnnotator.annotate", + "line": 9, + "column": 4, + "endLine": 9, + "endColumn": 16, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.annotators.base", + "obj": "BaseAnnotator", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 19, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (3294/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "", + "line": 80, + "column": 11, + "endLine": 80, + "endColumn": 35, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator", + "line": 83, + "column": 0, + "endLine": 83, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.__init__", + "line": 103, + "column": 4, + "endLine": 103, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.__init__", + "line": 103, + "column": 4, + "endLine": 103, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator", + "line": 83, + "column": 0, + "endLine": 83, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BoxAnnotator.annotate", + "line": 214, + "column": 4, + "endLine": 214, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BoxAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BoxAnnotator.annotate", + "line": 267, + "column": 12, + "endLine": 267, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BoxAnnotator", + "line": 190, + "column": 0, + "endLine": 190, + "endColumn": 18, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "OrientedBoxAnnotator.annotate", + "line": 301, + "column": 4, + "endLine": 301, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'OrientedBoxAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "OrientedBoxAnnotator.annotate", + "line": 359, + "column": 12, + "endLine": 359, + "endColumn": 28, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'drawContours' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "OrientedBoxAnnotator", + "line": 277, + "column": 0, + "endLine": 277, + "endColumn": 26, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_paint_masks_by_area", + "line": 365, + "column": 0, + "endLine": 365, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "MaskAnnotator.annotate", + "line": 451, + "column": 4, + "endLine": 451, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MaskAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "MaskAnnotator.annotate", + "line": 505, + "column": 8, + "endLine": 505, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "MaskAnnotator", + "line": 423, + "column": 0, + "endLine": 423, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "PolygonAnnotator.annotate", + "line": 539, + "column": 4, + "endLine": 539, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'PolygonAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PolygonAnnotator", + "line": 511, + "column": 0, + "endLine": 511, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator.annotate", + "line": 630, + "column": 4, + "endLine": 630, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'ColorAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator.annotate", + "line": 684, + "column": 12, + "endLine": 684, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator.annotate", + "line": 692, + "column": 8, + "endLine": 692, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator", + "line": 606, + "column": 0, + "endLine": 606, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 730, + "column": 4, + "endLine": 730, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'HaloAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 786, + "column": 23, + "endLine": 786, + "endColumn": 31, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'blur' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 788, + "column": 15, + "endLine": 788, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 788, + "column": 42, + "endLine": 788, + "endColumn": 60, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2GRAY' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator", + "line": 698, + "column": 0, + "endLine": 698, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator.annotate", + "line": 830, + "column": 4, + "endLine": 830, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'EllipseAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator.annotate", + "line": 885, + "column": 12, + "endLine": 885, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator.annotate", + "line": 894, + "column": 25, + "endLine": 894, + "endColumn": 35, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_4' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator", + "line": 800, + "column": 0, + "endLine": 800, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator.annotate", + "line": 926, + "column": 4, + "endLine": 926, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BoxCornerAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator.annotate", + "line": 983, + "column": 16, + "endLine": 983, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator.annotate", + "line": 988, + "column": 16, + "endLine": 988, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator", + "line": 899, + "column": 0, + "endLine": 899, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "CircleAnnotator.annotate", + "line": 1019, + "column": 4, + "endLine": 1019, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'CircleAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "CircleAnnotator.annotate", + "line": 1075, + "column": 12, + "endLine": 1075, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CircleAnnotator", + "line": 994, + "column": 0, + "endLine": 994, + "endColumn": 21, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.__init__", + "line": 1092, + "column": 4, + "endLine": 1092, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.__init__", + "line": 1092, + "column": 4, + "endLine": 1092, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.annotate", + "line": 1122, + "column": 4, + "endLine": 1122, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'DotAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.annotate", + "line": 1177, + "column": 12, + "endLine": 1177, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.annotate", + "line": 1187, + "column": 16, + "endLine": 1187, + "endColumn": 26, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "DotAnnotator", + "line": 1086, + "column": 0, + "endLine": 1086, + "endColumn": 18, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.__init__", + "line": 1202, + "column": 4, + "endLine": 1202, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (11/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.__init__", + "line": 1202, + "column": 4, + "endLine": 1202, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (11/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.annotate", + "line": 1252, + "column": 4, + "endLine": 1252, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'LabelAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._get_label_properties", + "line": 1333, + "column": 4, + "endLine": 1333, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._get_label_properties", + "line": 1354, + "column": 35, + "endLine": 1354, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1387, + "column": 4, + "endLine": 1387, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1437, + "column": 34, + "endLine": 1437, + "endColumn": 49, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1446, + "column": 30, + "endLine": 1446, + "endColumn": 45, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1456, + "column": 16, + "endLine": 1456, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1464, + "column": 29, + "endLine": 1464, + "endColumn": 40, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.draw_rounded_rectangle", + "line": 1470, + "column": 4, + "endLine": 1470, + "endColumn": 30, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.draw_rounded_rectangle", + "line": 1494, + "column": 12, + "endLine": 1494, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.draw_rounded_rectangle", + "line": 1502, + "column": 12, + "endLine": 1502, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator.__init__", + "line": 1518, + "column": 4, + "endLine": 1518, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (11/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator.__init__", + "line": 1518, + "column": 4, + "endLine": 1518, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (11/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator.annotate", + "line": 1569, + "column": 4, + "endLine": 1569, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'RichLabelAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator._get_label_properties", + "line": 1649, + "column": 4, + "endLine": 1649, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator._draw_labels", + "line": 1701, + "column": 4, + "endLine": 1701, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (23/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator", + "line": 1512, + "column": 0, + "endLine": 1512, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "IconAnnotator.annotate", + "line": 1812, + "column": 4, + "endLine": 1812, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'IconAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "IconAnnotator.annotate", + "line": 1880, + "column": 23, + "endLine": 1880, + "endColumn": 57, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for classmethod call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "IconAnnotator._load_icon", + "line": 1885, + "column": 15, + "endLine": 1885, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "IconAnnotator._load_icon", + "line": 1885, + "column": 37, + "endLine": 1885, + "endColumn": 57, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'IMREAD_UNCHANGED' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "IconAnnotator", + "line": 1788, + "column": 0, + "endLine": 1788, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BlurAnnotator.annotate", + "line": 1914, + "column": 4, + "endLine": 1914, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BlurAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BlurAnnotator.annotate", + "line": 1968, + "column": 18, + "endLine": 1968, + "endColumn": 26, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'blur' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BlurAnnotator", + "line": 1897, + "column": 0, + "endLine": 1897, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.__init__", + "line": 1985, + "column": 4, + "endLine": 1985, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.__init__", + "line": 1985, + "column": 4, + "endLine": 1985, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.annotate", + "line": 2017, + "column": 4, + "endLine": 2017, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'TraceAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.annotate", + "line": 2017, + "column": 4, + "endLine": 2017, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.annotate", + "line": 2109, + "column": 16, + "endLine": 2109, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'polylines' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator", + "line": 1974, + "column": 0, + "endLine": 1974, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.__init__", + "line": 2126, + "column": 4, + "endLine": 2126, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.__init__", + "line": 2126, + "column": 4, + "endLine": 2126, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2155, + "column": 4, + "endLine": 2155, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'HeatMapAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2206, + "column": 12, + "endLine": 2206, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2220, + "column": 19, + "endLine": 2220, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'blur' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2223, + "column": 15, + "endLine": 2223, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2223, + "column": 33, + "endLine": 2223, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_HSV2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2224, + "column": 15, + "endLine": 2224, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2224, + "column": 61, + "endLine": 2224, + "endColumn": 79, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_GRAY2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2225, + "column": 22, + "endLine": 2225, + "endColumn": 37, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator", + "line": 2119, + "column": 0, + "endLine": 2119, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2250, + "column": 4, + "endLine": 2250, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'PixelateAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2305, + "column": 42, + "endLine": 2305, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'mean' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2308, + "column": 42, + "endLine": 2308, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'mean' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2311, + "column": 28, + "endLine": 2311, + "endColumn": 38, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2314, + "column": 30, + "endLine": 2314, + "endColumn": 40, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2317, + "column": 30, + "endLine": 2317, + "endColumn": 47, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_NEAREST' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator", + "line": 2231, + "column": 0, + "endLine": 2231, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.__init__", + "line": 2331, + "column": 4, + "endLine": 2331, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.__init__", + "line": 2331, + "column": 4, + "endLine": 2331, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.annotate", + "line": 2364, + "column": 4, + "endLine": 2364, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'TriangleAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.annotate", + "line": 2427, + "column": 12, + "endLine": 2427, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.annotate", + "line": 2437, + "column": 16, + "endLine": 2437, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'polylines' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator", + "line": 2325, + "column": 0, + "endLine": 2325, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2480, + "column": 4, + "endLine": 2480, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'RoundBoxAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2480, + "column": 4, + "endLine": 2480, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2561, + "column": 16, + "endLine": 2561, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2572, + "column": 16, + "endLine": 2572, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator", + "line": 2447, + "column": 0, + "endLine": 2447, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.__init__", + "line": 2588, + "column": 4, + "endLine": 2588, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.__init__", + "line": 2588, + "column": 4, + "endLine": 2588, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.annotate", + "line": 2624, + "column": 4, + "endLine": 2624, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'PercentageBarAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.annotate", + "line": 2702, + "column": 12, + "endLine": 2702, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.annotate", + "line": 2712, + "column": 12, + "endLine": 2712, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2722, + "column": 4, + "endLine": 2722, + "endColumn": 36, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2728, + "column": 8, + "endLine": 2748, + "endColumn": 54, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2736, + "column": 13, + "endLine": 2736, + "endColumn": 79, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'position in (Position.CENTER, Position.CENTER_OF_MASS)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2722, + "column": 4, + "endLine": 2722, + "endColumn": 36, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (9/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2722, + "column": 4, + "endLine": 2722, + "endColumn": 36, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "inconsistent-return-statements", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "message-id": "R1710" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.validate_custom_values", + "line": 2783, + "column": 4, + "endLine": 2783, + "endColumn": 30, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2823, + "column": 4, + "endLine": 2823, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'CropAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2823, + "column": 4, + "endLine": 2823, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2884, + "column": 20, + "endLine": 2884, + "endColumn": 85, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'image' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2893, + "column": 12, + "endLine": 2893, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2904, + "column": 4, + "endLine": 2904, + "endColumn": 34, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2910, + "column": 8, + "endLine": 2942, + "endColumn": 78, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2924, + "column": 13, + "endLine": 2924, + "endColumn": 79, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'position in (Position.CENTER, Position.CENTER_OF_MASS)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2904, + "column": 4, + "endLine": 2904, + "endColumn": 34, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (9/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2904, + "column": 4, + "endLine": 2904, + "endColumn": 34, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "inconsistent-return-statements", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "message-id": "R1710" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BackgroundOverlayAnnotator.annotate", + "line": 2978, + "column": 4, + "endLine": 2978, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BackgroundOverlayAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BackgroundOverlayAnnotator.annotate", + "line": 3016, + "column": 8, + "endLine": 3016, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BackgroundOverlayAnnotator", + "line": 2945, + "column": 0, + "endLine": 2945, + "endColumn": 32, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator", + "line": 3032, + "column": 0, + "endLine": 3032, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator.__init__", + "line": 3043, + "column": 4, + "endLine": 3043, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator._draw_labels", + "line": 3226, + "column": 4, + "endLine": 3226, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator._draw_labels", + "line": 3256, + "column": 26, + "endLine": 3256, + "endColumn": 41, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator", + "line": 3032, + "column": 0, + "endLine": 3032, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "ColorLookup.list", + "line": 36, + "column": 4, + "endLine": 36, + "endColumn": 12, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "resolve_color_idx", + "line": 40, + "column": 0, + "endLine": 40, + "endColumn": 21, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_color_idx", + "line": 51, + "column": 4, + "endLine": 76, + "endColumn": 56, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 32, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 88, + "column": 4, + "endLine": 130, + "endColumn": 9, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 99, + "column": 9, + "endLine": 99, + "endColumn": 75, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'position in (Position.CENTER, Position.CENTER_OF_MASS)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 32, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (9/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 32, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "inconsistent-return-statements", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "message-id": "R1710" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "get_color_by_index", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 22, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "resolve_color", + "line": 139, + "column": 0, + "endLine": 139, + "endColumn": 17, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "validate_labels", + "line": 231, + "column": 0, + "endLine": 231, + "endColumn": 19, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "Trace", + "line": 332, + "column": 0, + "endLine": 332, + "endColumn": 11, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "Trace.put", + "line": 347, + "column": 4, + "endLine": 347, + "endColumn": 11, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "Trace.get", + "line": 377, + "column": 4, + "endLine": 377, + "endColumn": 11, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "rgba_to_hex", + "line": 427, + "column": 11, + "endLine": 427, + "endColumn": 38, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "consider-using-f-string", + "message": "Formatting a regular string which could be an f-string", + "message-id": "C0209" + }, + { + "type": "convention", + "module": "supervision.assets.downloader", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\downloader.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 28, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 29, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 30, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 31, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 32, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 33, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 34, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 35, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 36, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 37, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 38, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 39, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 62, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 63, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 64, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 65, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "Assets", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 12, + "path": "src\\supervision\\assets\\list.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "Assets.list", + "line": 19, + "column": 4, + "endLine": 19, + "endColumn": 12, + "path": "src\\supervision\\assets\\list.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.assets", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.classification.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\classification\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.classification.core", + "obj": "Classifications", + "line": 33, + "column": 0, + "endLine": 33, + "endColumn": 21, + "path": "src\\supervision\\classification\\core.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "BaseDataset", + "line": 41, + "column": 0, + "endLine": 41, + "endColumn": 17, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "BaseDataset.split", + "line": 47, + "column": 4, + "endLine": 47, + "endColumn": 13, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.dataset.core", + "obj": "DetectionDataset._get_image", + "line": 105, + "column": 16, + "endLine": 105, + "endColumn": 26, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge.is_in_memory", + "line": 280, + "column": 23, + "endLine": 280, + "endColumn": 48, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge.is_lazy", + "line": 283, + "column": 23, + "endLine": 283, + "endColumn": 48, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge", + "line": 285, + "column": 24, + "endLine": 285, + "endColumn": 80, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'all(is_in_memory(dataset) for dataset in dataset_list)'", + "message-id": "R1729" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge", + "line": 286, + "column": 19, + "endLine": 286, + "endColumn": 70, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'all(is_lazy(dataset) for dataset in dataset_list)'", + "message-id": "R1729" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge", + "line": 294, + "column": 36, + "endLine": 294, + "endColumn": 61, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_pascal_voc", + "line": 384, + "column": 21, + "endLine": 384, + "endColumn": 48, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_yolo", + "line": 504, + "column": 4, + "endLine": 504, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_yolo", + "line": 504, + "column": 4, + "endLine": 504, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_yolo", + "line": 552, + "column": 12, + "endLine": 552, + "endColumn": 27, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (warnings)", + "message-id": "C0415" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_coco", + "line": 626, + "column": 4, + "endLine": 626, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_coco", + "line": 626, + "column": 4, + "endLine": 626, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "error", + "module": "supervision.dataset.core", + "obj": "ClassificationDataset._get_image", + "line": 770, + "column": 16, + "endLine": 770, + "endColumn": 26, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.core", + "obj": "ClassificationDataset.as_folder_structure", + "line": 919, + "column": 12, + "endLine": 919, + "endColumn": 23, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imwrite' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "", + "line": 29, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "line-too-long", + "message": "Line too long (111/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "", + "line": 37, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "line-too-long", + "message": "Line too long (111/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "approximate_mask_with_polygons", + "line": 52, + "column": 0, + "endLine": 52, + "endColumn": 34, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "merge_class_lists", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 21, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "map_detections_class_id", + "line": 108, + "column": 0, + "endLine": 108, + "endColumn": 27, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 128, + "column": 0, + "endLine": 128, + "endColumn": 23, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 132, + "column": 25, + "endLine": 132, + "endColumn": 50, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 133, + "column": 20, + "endLine": 133, + "endColumn": 45, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "error", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 134, + "column": 12, + "endLine": 134, + "endColumn": 23, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imwrite' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "coco_categories_to_classes", + "line": 29, + "column": 0, + "endLine": 29, + "endColumn": 30, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "build_coco_class_index_mapping", + "line": 36, + "column": 0, + "endLine": 36, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "group_coco_annotations_by_image_id", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 38, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "coco_annotations_to_masks", + "line": 96, + "column": 0, + "endLine": 96, + "endColumn": 29, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "coco_annotations_to_detections", + "line": 193, + "column": 15, + "endLine": 195, + "endColumn": 9, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"iscrowd\": np.asarray(iscrowd, dtype=int), \"area\": np.asarray(area, dtype=float), ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 217, + "column": 0, + "endLine": 217, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 217, + "column": 0, + "endLine": 217, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 217, + "column": 0, + "endLine": 217, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 217, + "column": 0, + "endLine": 217, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-branches", + "message": "Too many branches (14/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "load_coco_annotations", + "line": 396, + "column": 0, + "endLine": 396, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "save_coco_annotations", + "line": 507, + "column": 0, + "endLine": 507, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "save_coco_annotations", + "line": 507, + "column": 0, + "endLine": 507, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "save_coco_annotations", + "line": 507, + "column": 0, + "endLine": 507, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "object_to_pascal_voc", + "line": 19, + "column": 0, + "endLine": 19, + "endColumn": 24, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_to_pascal_voc", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 28, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_to_pascal_voc", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 28, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_to_pascal_voc", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 28, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-locals", + "message": "Too many local variables (28/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "load_pascal_voc_annotations", + "line": 223, + "column": 16, + "endLine": 223, + "endColumn": 26, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_from_xml_obj", + "line": 235, + "column": 0, + "endLine": 235, + "endColumn": 27, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "parse_polygon_points", + "line": 339, + "column": 0, + "endLine": 339, + "endColumn": 24, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "", + "line": 252, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "line-too-long", + "message": "Line too long (124/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "_with_seg_mask", + "line": 67, + "column": 11, + "endLine": 67, + "endColumn": 57, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'any(len(line.split()) > 5 for line in lines)'", + "message-id": "R1729" + }, + { + "type": "warning", + "module": "supervision.dataset.formats.yolo", + "obj": "_extract_class_names.", + "line": 121, + "column": 43, + "endLine": 121, + "endColumn": 59, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "unnecessary-lambda", + "message": "Lambda may not be necessary", + "message-id": "W0108" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "yolo_annotations_to_detections", + "line": 138, + "column": 0, + "endLine": 138, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "yolo_annotations_to_detections", + "line": 138, + "column": 0, + "endLine": 138, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.dataset.formats.yolo", + "obj": "yolo_annotations_to_detections", + "line": 172, + "column": 19, + "endLine": 172, + "endColumn": 54, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for method call", + "message-id": "E1121" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "load_yolo_annotations", + "line": 187, + "column": 0, + "endLine": 187, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "object_to_yolo", + "line": 274, + "column": 0, + "endLine": 274, + "endColumn": 18, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "object_to_yolo", + "line": 274, + "column": 0, + "endLine": 274, + "endColumn": 18, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "object_to_yolo", + "line": 281, + "column": 4, + "endLine": 293, + "endColumn": 50, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "detections_to_yolo_annotations", + "line": 296, + "column": 0, + "endLine": 296, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "detections_to_yolo_annotations", + "line": 296, + "column": 0, + "endLine": 296, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "detections_to_yolo_annotations", + "line": 296, + "column": 0, + "endLine": 296, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "save_yolo_annotations", + "line": 422, + "column": 0, + "endLine": 422, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "save_yolo_annotations", + "line": 422, + "column": 0, + "endLine": 422, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "save_data_yaml", + "line": 474, + "column": 0, + "endLine": 474, + "endColumn": 18, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.compact_mask", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1306/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.detection.compact_mask", + "obj": "_resize_crop", + "line": 369, + "column": 4, + "endLine": 369, + "endColumn": 14, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (cv2)", + "message-id": "C0415" + }, + { + "type": "error", + "module": "supervision.detection.compact_mask", + "obj": "_resize_crop", + "line": 381, + "column": 14, + "endLine": 381, + "endColumn": 24, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.compact_mask", + "obj": "_resize_crop", + "line": 384, + "column": 22, + "endLine": 384, + "endColumn": 39, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_NEAREST' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.from_dense", + "line": 476, + "column": 4, + "endLine": 476, + "endColumn": 18, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 958, + "column": 22, + "endLine": 958, + "endColumn": 48, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _image_shape of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 960, + "column": 15, + "endLine": 960, + "endColumn": 30, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _image_shape of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 963, + "column": 40, + "endLine": 963, + "endColumn": 55, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _image_shape of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 971, + "column": 28, + "endLine": 971, + "endColumn": 36, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _rles of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 976, + "column": 13, + "endLine": 976, + "endColumn": 28, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _crop_shapes of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 979, + "column": 13, + "endLine": 979, + "endColumn": 24, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _offsets of a client class", + "message-id": "W0212" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.repack", + "line": 984, + "column": 4, + "endLine": 984, + "endColumn": 14, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.with_offset", + "line": 1067, + "column": 4, + "endLine": 1067, + "endColumn": 19, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (29/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.resize", + "line": 1192, + "column": 4, + "endLine": 1192, + "endColumn": 14, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (27/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.resize", + "line": 1233, + "column": 8, + "endLine": 1233, + "endColumn": 57, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (concurrent.futures.ThreadPoolExecutor)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 73, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (143/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 77, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (115/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 93, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (119/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 109, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (121/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 437, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (101/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 983, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 984, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 985, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 986, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 987, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 988, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 989, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 990, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 991, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1044, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (102/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1406, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (204/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1420, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (106/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1469, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1470, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1471, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1472, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1473, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1474, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1475, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1476, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1477, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1478, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1531, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (102/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1864, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (204/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1878, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (106/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 2580, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (119/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (2934/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.__iter__", + "line": 196, + "column": 8, + "endLine": 204, + "endColumn": 13, + "path": "src\\supervision\\detection\\core.py", + "symbol": "consider-using-enumerate", + "message": "Consider using enumerate instead of iterating with range and len", + "message-id": "C0200" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_transformers", + "line": 560, + "column": 8, + "endLine": 570, + "endColumn": 13, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_sam3", + "line": 718, + "column": 4, + "endLine": 718, + "endColumn": 17, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (23/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_sam3", + "line": 718, + "column": 4, + "endLine": 718, + "endColumn": 17, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-branches", + "message": "Too many branches (15/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_azure_analyze_image", + "line": 843, + "column": 4, + "endLine": 843, + "endColumn": 32, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.detection.core", + "obj": "Detections.from_lmm", + "line": 1447, + "column": 16, + "endLine": 1450, + "endColumn": 17, + "path": "src\\supervision\\detection\\core.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f\"Invalid LMM string '{lmm}'. Must be one of {[m.value for m in LMM]}\") from exc'", + "message-id": "W0707" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_vlm", + "line": 1461, + "column": 4, + "endLine": 1461, + "endColumn": 16, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (10/6)", + "message-id": "R0911" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2185, + "column": 19, + "endLine": 2185, + "endColumn": 43, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2187, + "column": 19, + "endLine": 2187, + "endColumn": 43, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2190, + "column": 25, + "endLine": 2190, + "endColumn": 49, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2195, + "column": 30, + "endLine": 2195, + "endColumn": 54, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.get_anchors_coordinates", + "line": 2236, + "column": 8, + "endLine": 2278, + "endColumn": 75, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.get_anchors_coordinates", + "line": 2217, + "column": 4, + "endLine": 2217, + "endColumn": 31, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (10/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections", + "line": 68, + "column": 0, + "endLine": 68, + "endColumn": 16, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-public-methods", + "message": "Too many public methods (26/20)", + "message-id": "R0904" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "_merge_detection_group", + "line": 2678, + "column": 0, + "endLine": 2678, + "endColumn": 26, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2815, + "column": 13, + "endLine": 2815, + "endColumn": 30, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'xyxy' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2817, + "column": 7, + "endLine": 2817, + "endColumn": 30, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2820, + "column": 15, + "endLine": 2820, + "endColumn": 38, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2825, + "column": 31, + "endLine": 2825, + "endColumn": 54, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2834, + "column": 7, + "endLine": 2834, + "endColumn": 24, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'mask' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2837, + "column": 36, + "endLine": 2837, + "endColumn": 53, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'mask' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2839, + "column": 7, + "endLine": 2839, + "endColumn": 30, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2841, + "column": 9, + "endLine": 2841, + "endColumn": 32, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2846, + "column": 31, + "endLine": 2846, + "endColumn": 52, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'metadata' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detections_objects", + "line": 2873, + "column": 19, + "endLine": 2873, + "endColumn": 29, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unsubscriptable-object", + "message": "Value 'detections' is unsubscriptable", + "message-id": "E1136" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detections_objects", + "line": 2874, + "column": 24, + "endLine": 2874, + "endColumn": 34, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unsubscriptable-object", + "message": "Value 'detections' is unsubscriptable", + "message-id": "E1136" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detections_objects", + "line": 2883, + "column": 23, + "endLine": 2883, + "endColumn": 84, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for classmethod call", + "message-id": "E1121" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "validate_fields_both_defined_or_none", + "line": 2931, + "column": 0, + "endLine": 2931, + "endColumn": 40, + "path": "src\\supervision\\detection\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "", + "line": 33, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "line-too-long", + "message": "Line too long (118/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZone", + "line": 26, + "column": 0, + "endLine": 26, + "endColumn": 14, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (8/7)", + "message-id": "R0902" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.in_count", + "line": 130, + "column": 4, + "endLine": 130, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.out_count", + "line": 134, + "column": 4, + "endLine": 134, + "endColumn": 17, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.in_count_per_class", + "line": 138, + "column": 4, + "endLine": 138, + "endColumn": 26, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.out_count_per_class", + "line": 142, + "column": 4, + "endLine": 142, + "endColumn": 27, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZone._update_class_id_to_name", + "line": 323, + "column": 24, + "endLine": 326, + "endColumn": 13, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "unnecessary-comprehension", + "message": "Unnecessary use of a comprehension, use dict(zip(detections.class_id, class_names)) instead.", + "message-id": "R1721" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator", + "line": 330, + "column": 0, + "endLine": 330, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator", + "line": 330, + "column": 0, + "endLine": 330, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (14/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.__init__", + "line": 331, + "column": 4, + "endLine": 331, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (14/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.__init__", + "line": 331, + "column": 4, + "endLine": 331, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (14/5)", + "message-id": "R0917" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 402, + "column": 8, + "endLine": 402, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 408, + "column": 21, + "endLine": 408, + "endColumn": 32, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 411, + "column": 8, + "endLine": 411, + "endColumn": 18, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 417, + "column": 21, + "endLine": 417, + "endColumn": 32, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 419, + "column": 8, + "endLine": 419, + "endColumn": 18, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 425, + "column": 21, + "endLine": 425, + "endColumn": 32, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._calculate_anchor_in_frame", + "line": 481, + "column": 4, + "endLine": 481, + "endColumn": 34, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_basic_label", + "line": 566, + "column": 25, + "endLine": 566, + "endColumn": 40, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_basic_label", + "line": 567, + "column": 18, + "endLine": 567, + "endColumn": 42, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_oriented_label", + "line": 623, + "column": 34, + "endLine": 623, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_oriented_label", + "line": 624, + "column": 18, + "endLine": 624, + "endColumn": 42, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_oriented_label", + "line": 635, + "column": 16, + "endLine": 635, + "endColumn": 63, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for classmethod call", + "message-id": "E1121" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 641, + "column": 4, + "endLine": 641, + "endColumn": 25, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 641, + "column": 4, + "endLine": 641, + "endColumn": 25, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 668, + "column": 34, + "endLine": 668, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 669, + "column": 18, + "endLine": 669, + "endColumn": 42, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 679, + "column": 36, + "endLine": 685, + "endColumn": 9, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"text\": text, \"text_anchor\": annotation_center, \"text_scale\": text_scale, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 702, + "column": 25, + "endLine": 702, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'flip' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 705, + "column": 26, + "endLine": 705, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getRotationMatrix2D' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 708, + "column": 21, + "endLine": 708, + "endColumn": 35, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'warpAffine' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator", + "line": 330, + "column": 0, + "endLine": 330, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass", + "line": 713, + "column": 0, + "endLine": 713, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass", + "line": 713, + "column": 0, + "endLine": 713, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.__init__", + "line": 714, + "column": 4, + "endLine": 714, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 769, + "column": 4, + "endLine": 769, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 817, + "column": 38, + "endLine": 817, + "endColumn": 53, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 818, + "column": 22, + "endLine": 818, + "endColumn": 46, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 855, + "column": 29, + "endLine": 855, + "endColumn": 44, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 856, + "column": 22, + "endLine": 856, + "endColumn": 46, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 862, + "column": 12, + "endLine": 862, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 866, + "column": 25, + "endLine": 866, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 870, + "column": 25, + "endLine": 870, + "endColumn": 36, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass", + "line": 713, + "column": 0, + "endLine": 713, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "", + "line": 437, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "line-too-long", + "message": "Line too long (172/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "LMM.list", + "line": 50, + "column": 4, + "endLine": 50, + "endColumn": 12, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "LMM.from_value", + "line": 54, + "column": 4, + "endLine": 54, + "endColumn": 18, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "LMM.from_value", + "line": 66, + "column": 16, + "endLine": 66, + "endColumn": 88, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "VLM.list", + "line": 97, + "column": 4, + "endLine": 97, + "endColumn": 12, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "VLM.from_value", + "line": 101, + "column": 4, + "endLine": 101, + "endColumn": 18, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "VLM.from_value", + "line": 109, + "column": 16, + "endLine": 109, + "endColumn": 88, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "_validate_vlm_parameters", + "line": 184, + "column": 12, + "endLine": 186, + "endColumn": 13, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid vlm value: {vlm}. Must be one of {[e.value for e in VLM]}') from exc'", + "message-id": "W0707" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "validate_vlm_parameters", + "line": 211, + "column": 0, + "endLine": 211, + "endColumn": 27, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "recover_truncated_qwen_2_5_vl_response", + "line": 301, + "column": 11, + "endLine": 301, + "endColumn": 20, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_qwen_2_5_vl", + "line": 305, + "column": 0, + "endLine": 305, + "endColumn": 20, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_deepseek_vl_2", + "line": 424, + "column": 0, + "endLine": 424, + "endColumn": 22, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (23/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_florence_2", + "line": 495, + "column": 0, + "endLine": 495, + "endColumn": 19, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_florence_2", + "line": 539, + "column": 19, + "endLine": 539, + "endColumn": 45, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for method call", + "message-id": "E1121" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_florence_2", + "line": 495, + "column": 0, + "endLine": 495, + "endColumn": 19, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (7/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_0", + "line": 591, + "column": 0, + "endLine": 591, + "endColumn": 26, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_0", + "line": 636, + "column": 21, + "endLine": 636, + "endColumn": 40, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "use-maxsplit-arg", + "message": "Use result.split('```', maxsplit=1)[0] instead", + "message-id": "C0207" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_0", + "line": 661, + "column": 11, + "endLine": 665, + "endColumn": 5, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'resolution_wh' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 678, + "column": 0, + "endLine": 678, + "endColumn": 26, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (34/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 727, + "column": 21, + "endLine": 727, + "endColumn": 40, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "use-maxsplit-arg", + "message": "Use result.split('```', maxsplit=1)[0] instead", + "message-id": "C0207" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 761, + "column": 24, + "endLine": 765, + "endColumn": 9, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'resolution_wh' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 783, + "column": 27, + "endLine": 783, + "endColumn": 36, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 755, + "column": 4, + "endLine": 811, + "endColumn": 34, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-nested-blocks", + "message": "Too many nested blocks (6/5)", + "message-id": "R1702" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 678, + "column": 0, + "endLine": 678, + "endColumn": 26, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-branches", + "message": "Too many branches (23/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 678, + "column": 0, + "endLine": 678, + "endColumn": 26, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-statements", + "message": "Too many statements (71/50)", + "message-id": "R0915" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_moondream", + "line": 914, + "column": 8, + "endLine": 917, + "endColumn": 9, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'resolution_wh' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "WriterProtocol", + "line": 27, + "column": 0, + "endLine": 27, + "endColumn": 20, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "WriterProtocol.writerow", + "line": 28, + "column": 4, + "endLine": 28, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.csv_sink", + "obj": "WriterProtocol", + "line": 27, + "column": 0, + "endLine": 27, + "endColumn": 20, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.open", + "line": 108, + "column": 20, + "endLine": 108, + "endColumn": 57, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.open", + "line": 108, + "column": 20, + "endLine": 108, + "endColumn": 57, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "consider-using-with", + "message": "Consider using 'with' for resource-allocating operations", + "message-id": "R1732" + }, + { + "type": "warning", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.append", + "line": 211, + "column": 12, + "endLine": 213, + "endColumn": 13, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.parse_field_names", + "line": 234, + "column": 4, + "endLine": 234, + "endColumn": 25, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer", + "line": 64, + "column": 0, + "endLine": 64, + "endColumn": 21, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (12/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.__init__", + "line": 143, + "column": 4, + "endLine": 143, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.__init__", + "line": 143, + "column": 4, + "endLine": 143, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (8/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.__call__", + "line": 178, + "column": 4, + "endLine": 178, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.__call__", + "line": 178, + "column": 4, + "endLine": 178, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-branches", + "message": "Too many branches (13/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._run_callback", + "line": 275, + "column": 4, + "endLine": 275, + "endColumn": 21, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._generate_offset", + "line": 389, + "column": 4, + "endLine": 389, + "endColumn": 24, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer", + "line": 64, + "column": 0, + "endLine": 64, + "endColumn": 21, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "convention", + "module": "supervision.detection.tools.json_sink", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\json_sink.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "warning", + "module": "supervision.detection.tools.json_sink", + "obj": "JSONSink.open", + "line": 82, + "column": 20, + "endLine": 82, + "endColumn": 45, + "path": "src\\supervision\\detection\\tools\\json_sink.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.json_sink", + "obj": "JSONSink.open", + "line": 82, + "column": 20, + "endLine": 82, + "endColumn": 45, + "path": "src\\supervision\\detection\\tools\\json_sink.py", + "symbol": "consider-using-with", + "message": "Consider using 'with' for resource-allocating operations", + "message-id": "R1732" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZone", + "line": 18, + "column": 0, + "endLine": 18, + "endColumn": 17, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator", + "line": 111, + "column": 0, + "endLine": 111, + "endColumn": 26, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (11/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.__init__", + "line": 131, + "column": 4, + "endLine": 131, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.__init__", + "line": 131, + "column": 4, + "endLine": 131, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "error", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.__init__", + "line": 150, + "column": 20, + "endLine": 150, + "endColumn": 44, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator", + "line": 111, + "column": 0, + "endLine": 111, + "endColumn": 26, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.update_with_detections", + "line": 117, + "column": 8, + "endLine": 121, + "endColumn": 87, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "consider-using-enumerate", + "message": "Consider using enumerate instead of iterating with range and len", + "message-id": "C0200" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.update_with_detections", + "line": 123, + "column": 8, + "endLine": 125, + "endColumn": 50, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "consider-using-dict-items", + "message": "Consider iterating with .items()", + "message-id": "C0206" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.update_with_detections", + "line": 128, + "column": 15, + "endLine": 128, + "endColumn": 62, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'all(d is None for d in self.tracks[track_id])'", + "message-id": "R1729" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.get_smoothed_detections", + "line": 166, + "column": 4, + "endLine": 166, + "endColumn": 31, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.transformers", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_detection_result", + "line": 35, + "column": 11, + "endLine": 40, + "endColumn": 5, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": detection_result['boxes'].cpu().detach().numpy(), \"confidence\": detection_result['scores'].cpu().detach().numpy(), ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v4_segmentation_result", + "line": 62, + "column": 4, + "endLine": 79, + "endColumn": 9, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v4_segmentation_result", + "line": 73, + "column": 15, + "endLine": 79, + "endColumn": 9, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": boxes if boxes is not None else mask_to_xyxy(masks), \"mask\": np.squeeze(masks, axis=1) if boxes is not None else masks, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v5_semantic_or_instance_segmentation_result", + "line": 139, + "column": 11, + "endLine": 145, + "endColumn": 5, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": mask_to_xyxy(masks), \"mask\": masks, \"confidence\": scores}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v4_panoptic_segmentation_result", + "line": 174, + "column": 11, + "endLine": 179, + "endColumn": 5, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": mask_to_xyxy(masks), \"mask\": masks, \"class_id\": class_ids, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v5_panoptic_segmentation_result", + "line": 204, + "column": 11, + "endLine": 204, + "endColumn": 84, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": mask_to_xyxy(masks), \"mask\": masks, \"class_id\": class_ids, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "convention", + "module": "supervision.detection.utils.boxes", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\boxes.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.detection.utils.boxes", + "obj": "denormalize_boxes", + "line": 156, + "column": 13, + "endLine": 156, + "endColumn": 22, + "path": "src\\supervision\\detection\\utils\\boxes.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.utils.boxes' has no 'copy' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.detection.utils.boxes", + "obj": "denormalize_boxes", + "line": 109, + "column": 4, + "endLine": 109, + "endColumn": 50, + "path": "src\\supervision\\detection\\utils\\boxes.py", + "symbol": "unused-argument", + "message": "Unused argument 'normalized_xyxy'", + "message-id": "W0613" + }, + { + "type": "convention", + "module": "supervision.detection.utils.converters", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "polygon_to_mask", + "line": 48, + "column": 4, + "endLine": 48, + "endColumn": 16, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "mask_to_polygons", + "line": 322, + "column": 18, + "endLine": 322, + "endColumn": 34, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'findContours' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "mask_to_polygons", + "line": 323, + "column": 31, + "endLine": 323, + "endColumn": 44, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'RETR_TREE' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "mask_to_polygons", + "line": 323, + "column": 46, + "endLine": 323, + "endColumn": 69, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CHAIN_APPROX_SIMPLE' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.detection.utils.internal", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.internal", + "obj": "extract_ultralytics_masks", + "line": 18, + "column": 0, + "endLine": 18, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.detection.utils.internal", + "obj": "extract_ultralytics_masks", + "line": 47, + "column": 19, + "endLine": 47, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.internal", + "obj": "process_roboflow_result", + "line": 54, + "column": 0, + "endLine": 54, + "endColumn": 27, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "too-many-locals", + "message": "Too many local variables (31/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.utils.internal", + "obj": "process_roboflow_result", + "line": 128, + "column": 27, + "endLine": 128, + "endColumn": 37, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.internal", + "obj": "process_roboflow_result", + "line": 131, + "column": 38, + "endLine": 131, + "endColumn": 55, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_NEAREST' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.internal", + "obj": "process_roboflow_result", + "line": 54, + "column": 0, + "endLine": 54, + "endColumn": 27, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "too-many-statements", + "message": "Too many statements (62/50)", + "message-id": "R0915" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.internal", + "obj": "merge_data", + "line": 241, + "column": 0, + "endLine": 241, + "endColumn": 14, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "too-many-branches", + "message": "Too many branches (13/12)", + "message-id": "R0912" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1453/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapFilter.list", + "line": 35, + "column": 4, + "endLine": 35, + "endColumn": 12, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapFilter.from_value", + "line": 39, + "column": 4, + "endLine": 39, + "endColumn": 18, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapFilter.from_value", + "line": 47, + "column": 16, + "endLine": 47, + "endColumn": 88, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapMetric.list", + "line": 71, + "column": 4, + "endLine": 71, + "endColumn": 12, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapMetric.from_value", + "line": 75, + "column": 4, + "endLine": 75, + "endColumn": 18, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapMetric.from_value", + "line": 83, + "column": 16, + "endLine": 83, + "endColumn": 88, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "box_iou", + "line": 90, + "column": 0, + "endLine": 90, + "endColumn": 11, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (21/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "box_iou_batch", + "line": 162, + "column": 0, + "endLine": 162, + "endColumn": 17, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 264, + "column": 0, + "endLine": 264, + "endColumn": 12, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 280, + "column": 4, + "endLine": 280, + "endColumn": 7, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"EPS\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 294, + "column": 4, + "endLine": 294, + "endColumn": 6, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"Aa\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 295, + "column": 4, + "endLine": 295, + "endColumn": 6, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"Ab\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 296, + "column": 4, + "endLine": 296, + "endColumn": 6, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"Ai\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_iou_batch", + "line": 426, + "column": 0, + "endLine": 426, + "endColumn": 26, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_iou_batch", + "line": 493, + "column": 8, + "endLine": 506, + "endColumn": 13, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "error", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_iou_batch", + "line": 545, + "column": 26, + "endLine": 545, + "endColumn": 51, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'intersectConvexConvex' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_iou_batch", + "line": 426, + "column": 0, + "endLine": 426, + "endColumn": 26, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-branches", + "message": "Too many branches (13/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "compact_mask_iou_batch", + "line": 569, + "column": 0, + "endLine": 569, + "endColumn": 26, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (43/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "mask_non_max_suppression", + "line": 837, + "column": 4, + "endLine": 837, + "endColumn": 23, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "unused-argument", + "message": "Unused argument 'mask_dimension'", + "message-id": "W0613" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_non_max_suppression", + "line": 1306, + "column": 8, + "endLine": 1319, + "endColumn": 13, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_non_max_merge", + "line": 1421, + "column": 8, + "endLine": 1434, + "endColumn": 13, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "convention", + "module": "supervision.detection.utils.masks", + "obj": "", + "line": 188, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "line-too-long", + "message": "Line too long (113/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.utils.masks", + "obj": "", + "line": 249, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "line-too-long", + "message": "Line too long (137/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.utils.masks", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "calculate_masks_centroids", + "line": 90, + "column": 0, + "endLine": 90, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_holes", + "line": 191, + "column": 19, + "endLine": 191, + "endColumn": 35, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'findContours' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_holes", + "line": 191, + "column": 48, + "endLine": 191, + "endColumn": 62, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'RETR_CCOMP' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_holes", + "line": 191, + "column": 64, + "endLine": 191, + "endColumn": 87, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CHAIN_APPROX_SIMPLE' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "contains_multiple_segments", + "line": 251, + "column": 7, + "endLine": 251, + "endColumn": 46, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'connectivity not in (4, 8)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_multiple_segments", + "line": 257, + "column": 26, + "endLine": 257, + "endColumn": 49, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'connectedComponents' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 291, + "column": 0, + "endLine": 291, + "endColumn": 31, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 384, + "column": 43, + "endLine": 384, + "endColumn": 75, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'connectedComponentsWithStats' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 391, + "column": 22, + "endLine": 391, + "endColumn": 38, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CC_STAT_AREA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 413, + "column": 29, + "endLine": 413, + "endColumn": 50, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'distanceTransform' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 413, + "column": 60, + "endLine": 413, + "endColumn": 71, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'DIST_L2' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 291, + "column": 0, + "endLine": 291, + "endColumn": 31, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "too-many-branches", + "message": "Too many branches (13/12)", + "message-id": "R0912" + }, + { + "type": "convention", + "module": "supervision.detection.utils.polygons", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\polygons.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.detection.utils.polygons", + "obj": "filter_polygons_by_area", + "line": 35, + "column": 12, + "endLine": 35, + "endColumn": 27, + "path": "src\\supervision\\detection\\utils\\polygons.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'contourArea' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.polygons", + "obj": "approximate_polygon", + "line": 109, + "column": 31, + "endLine": 109, + "endColumn": 47, + "path": "src\\supervision\\detection\\utils\\polygons.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'approxPolyDP' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.detection.utils.vlms", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\vlms.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.draw.base", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\draw\\base.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.draw.base", + "obj": "", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 9, + "path": "src\\supervision\\draw\\base.py", + "symbol": "invalid-name", + "message": "Type variable name \"ImageType\" doesn't conform to predefined naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.draw.color", + "obj": "Color.from_hex", + "line": 141, + "column": 8, + "endLine": 146, + "endColumn": 34, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.WHITE", + "line": 356, + "column": 4, + "endLine": 356, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.WHITE", + "line": 356, + "column": 4, + "endLine": 356, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"WHITE\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.WHITE", + "line": 356, + "column": 4, + "endLine": 356, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'WHITE' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLACK", + "line": 360, + "column": 4, + "endLine": 360, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLACK", + "line": 360, + "column": 4, + "endLine": 360, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"BLACK\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.BLACK", + "line": 360, + "column": 4, + "endLine": 360, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'BLACK' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREY", + "line": 364, + "column": 4, + "endLine": 364, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREY", + "line": 364, + "column": 4, + "endLine": 364, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"GREY\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.GREY", + "line": 364, + "column": 4, + "endLine": 364, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'GREY' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.RED", + "line": 368, + "column": 4, + "endLine": 368, + "endColumn": 11, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.RED", + "line": 368, + "column": 4, + "endLine": 368, + "endColumn": 11, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"RED\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.RED", + "line": 368, + "column": 4, + "endLine": 368, + "endColumn": 11, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'RED' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREEN", + "line": 372, + "column": 4, + "endLine": 372, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREEN", + "line": 372, + "column": 4, + "endLine": 372, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"GREEN\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.GREEN", + "line": 372, + "column": 4, + "endLine": 372, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'GREEN' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLUE", + "line": 376, + "column": 4, + "endLine": 376, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLUE", + "line": 376, + "column": 4, + "endLine": 376, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"BLUE\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.BLUE", + "line": 376, + "column": 4, + "endLine": 376, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'BLUE' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.YELLOW", + "line": 380, + "column": 4, + "endLine": 380, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.YELLOW", + "line": 380, + "column": 4, + "endLine": 380, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"YELLOW\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.YELLOW", + "line": 380, + "column": 4, + "endLine": 380, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'YELLOW' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.ROBOFLOW", + "line": 384, + "column": 4, + "endLine": 384, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.ROBOFLOW", + "line": 384, + "column": 4, + "endLine": 384, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"ROBOFLOW\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.ROBOFLOW", + "line": 384, + "column": 4, + "endLine": 384, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'ROBOFLOW' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette", + "line": 406, + "column": 0, + "endLine": 406, + "endColumn": 18, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.DEFAULT", + "line": 410, + "column": 4, + "endLine": 410, + "endColumn": 15, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"DEFAULT\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "ColorPalette.DEFAULT", + "line": 410, + "column": 4, + "endLine": 410, + "endColumn": 15, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'DEFAULT' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.ROBOFLOW", + "line": 431, + "column": 4, + "endLine": 431, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"ROBOFLOW\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "ColorPalette.ROBOFLOW", + "line": 431, + "column": 4, + "endLine": 431, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'ROBOFLOW' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.LEGACY", + "line": 452, + "column": 4, + "endLine": 452, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.LEGACY", + "line": 452, + "column": 4, + "endLine": 452, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"LEGACY\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "ColorPalette.LEGACY", + "line": 452, + "column": 4, + "endLine": 452, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'LEGACY' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_line", + "line": 34, + "column": 4, + "endLine": 34, + "endColumn": 12, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_rectangle", + "line": 62, + "column": 4, + "endLine": 62, + "endColumn": 17, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_rectangle", + "line": 91, + "column": 8, + "endLine": 91, + "endColumn": 21, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_rectangle", + "line": 100, + "column": 8, + "endLine": 100, + "endColumn": 21, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_rectangle", + "line": 107, + "column": 8, + "endLine": 107, + "endColumn": 23, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_rounded_rectangle", + "line": 148, + "column": 8, + "endLine": 148, + "endColumn": 21, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_rounded_rectangle", + "line": 156, + "column": 8, + "endLine": 156, + "endColumn": 18, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_polygon", + "line": 183, + "column": 4, + "endLine": 183, + "endColumn": 17, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'polylines' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_polygon", + "line": 207, + "column": 8, + "endLine": 207, + "endColumn": 20, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_polygon", + "line": 210, + "column": 8, + "endLine": 210, + "endColumn": 20, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_polygon", + "line": 211, + "column": 8, + "endLine": 211, + "endColumn": 23, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 218, + "column": 0, + "endLine": 218, + "endColumn": 13, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 218, + "column": 0, + "endLine": 218, + "endColumn": 13, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 226, + "column": 21, + "endLine": 226, + "endColumn": 45, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 267, + "column": 30, + "endLine": 267, + "endColumn": 45, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 288, + "column": 4, + "endLine": 288, + "endColumn": 15, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 296, + "column": 17, + "endLine": 296, + "endColumn": 28, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 328, + "column": 16, + "endLine": 328, + "endColumn": 26, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 328, + "column": 34, + "endLine": 328, + "endColumn": 54, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'IMREAD_UNCHANGED' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 348, + "column": 12, + "endLine": 348, + "endColumn": 22, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 355, + "column": 19, + "endLine": 355, + "endColumn": 38, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'convertScaleAbs' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 360, + "column": 18, + "endLine": 360, + "endColumn": 37, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'convertScaleAbs' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Position.list", + "line": 25, + "column": 4, + "endLine": 25, + "endColumn": 12, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.from_xyxy", + "line": 176, + "column": 4, + "endLine": 176, + "endColumn": 17, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.top_left", + "line": 181, + "column": 4, + "endLine": 181, + "endColumn": 16, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.bottom_right", + "line": 185, + "column": 4, + "endLine": 185, + "endColumn": 20, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.pad", + "line": 188, + "column": 4, + "endLine": 188, + "endColumn": 11, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.as_xyxy_int_tuple", + "line": 196, + "column": 4, + "endLine": 196, + "endColumn": 25, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\geometry\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.annotators import BaseKeyPointAnnotator, EdgeAnnotator, VertexAnnotator, VertexLabelAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused BaseKeyPointAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused EdgeAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused VertexAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused VertexLabelAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "convention", + "module": "supervision.keypoint.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\keypoint\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint.core", + "obj": "", + "line": 8, + "column": 0, + "endLine": 8, + "endColumn": 49, + "path": "src\\supervision\\keypoint\\core.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.core import KeyPoints\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "warning", + "module": "supervision.keypoint.core", + "obj": "", + "line": 8, + "column": 0, + "endLine": 8, + "endColumn": 49, + "path": "src\\supervision\\keypoint\\core.py", + "symbol": "unused-import", + "message": "Unused KeyPoints imported from supervision.key_points.core", + "message-id": "W0611" + }, + { + "type": "convention", + "module": "supervision.keypoint", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\keypoint\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint", + "obj": "", + "line": 8, + "column": 0, + "endLine": 12, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.annotators import EdgeAnnotator, VertexAnnotator, VertexLabelAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.keypoint", + "obj": "", + "line": 13, + "column": 0, + "endLine": 13, + "endColumn": 49, + "path": "src\\supervision\\keypoint\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.core import KeyPoints\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "BaseKeyPointAnnotator", + "line": 24, + "column": 0, + "endLine": 24, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "BaseKeyPointAnnotator.annotate", + "line": 26, + "column": 4, + "endLine": 26, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "BaseKeyPointAnnotator", + "line": 24, + "column": 0, + "endLine": 24, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexAnnotator.annotate", + "line": 100, + "column": 16, + "endLine": 100, + "endColumn": 26, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexAnnotator", + "line": 30, + "column": 0, + "endLine": 30, + "endColumn": 21, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "EdgeAnnotator.annotate", + "line": 250, + "column": 16, + "endLine": 250, + "endColumn": 24, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "EdgeAnnotator", + "line": 111, + "column": 0, + "endLine": 111, + "endColumn": 19, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "_BaseVertexEllipseAnnotator._iter_ellipse_params", + "line": 330, + "column": 4, + "endLine": 330, + "endColumn": 28, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "_BaseVertexEllipseAnnotator", + "line": 261, + "column": 0, + "endLine": 261, + "endColumn": 33, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator.annotate", + "line": 455, + "column": 16, + "endLine": 455, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator.annotate", + "line": 464, + "column": 29, + "endLine": 464, + "endColumn": 40, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator.annotate", + "line": 467, + "column": 8, + "endLine": 467, + "endColumn": 23, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator", + "line": 370, + "column": 0, + "endLine": 370, + "endColumn": 32, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseOutlineAnnotator.annotate", + "line": 553, + "column": 16, + "endLine": 553, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseOutlineAnnotator.annotate", + "line": 562, + "column": 29, + "endLine": 562, + "endColumn": 40, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseOutlineAnnotator", + "line": 471, + "column": 0, + "endLine": 471, + "endColumn": 35, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseHaloAnnotator.annotate", + "line": 606, + "column": 4, + "endLine": 606, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-locals", + "message": "Too many local variables (39/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseHaloAnnotator", + "line": 568, + "column": 0, + "endLine": 568, + "endColumn": 32, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.__init__", + "line": 709, + "column": 4, + "endLine": 709, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.__init__", + "line": 709, + "column": 4, + "endLine": 709, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 740, + "column": 4, + "endLine": 740, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 828, + "column": 15, + "endLine": 828, + "endColumn": 39, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 894, + "column": 12, + "endLine": 894, + "endColumn": 23, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 902, + "column": 25, + "endLine": 902, + "endColumn": 36, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.get_text_bounding_box", + "line": 908, + "column": 4, + "endLine": 908, + "endColumn": 29, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.get_text_bounding_box", + "line": 915, + "column": 25, + "endLine": 915, + "endColumn": 40, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 101, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (124/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 102, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (148/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 119, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (120/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 136, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (120/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 169, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (126/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 170, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (110/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 189, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (105/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 493, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (116/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 639, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (130/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 777, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (109/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1294/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 23, + "column": 0, + "endLine": 23, + "endColumn": 7, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "invalid-name", + "message": "Type alias name \"Index1D\" doesn't conform to predefined naming style", + "message-id": "C0103" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__init__", + "line": 245, + "column": 4, + "endLine": 245, + "endColumn": 16, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__init__", + "line": 245, + "column": 4, + "endLine": 245, + "endColumn": 16, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__iter__", + "line": 359, + "column": 8, + "endLine": 367, + "endColumn": 13, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "consider-using-enumerate", + "message": "Consider using enumerate instead of iterating with range and len", + "message-id": "C0200" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_mediapipe", + "line": 557, + "column": 24, + "endLine": 560, + "endColumn": 25, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "unnecessary-comprehension", + "message": "Unnecessary use of a comprehension, use list(mediapipe_results.pose_landmarks.landmark) instead.", + "message-id": "R1721" + }, + { + "type": "error", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_mediapipe", + "line": 573, + "column": 15, + "endLine": 573, + "endColumn": 22, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'results' before assignment", + "message-id": "E0606" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_detectron2", + "line": 727, + "column": 8, + "endLine": 743, + "endColumn": 30, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_transformers", + "line": 808, + "column": 8, + "endLine": 828, + "endColumn": 30, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "warning", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__getitem__", + "line": 999, + "column": 12, + "endLine": 999, + "endColumn": 59, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "unbalanced-tuple-unpacking", + "message": "Possible unbalanced tuple unpacking with sequence defined at line 104 of numpy.lib._index_tricks_impl: left side has 2 labels, right side has 0 values", + "message-id": "W0632" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__getitem__", + "line": 925, + "column": 4, + "endLine": 925, + "endColumn": 19, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-branches", + "message": "Too many branches (22/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__getitem__", + "line": 925, + "column": 4, + "endLine": 925, + "endColumn": 19, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-statements", + "message": "Too many statements (53/50)", + "message-id": "R0915" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.as_detections", + "line": 1224, + "column": 4, + "endLine": 1224, + "endColumn": 21, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.key_points.skeletons", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\skeletons.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (2646/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.key_points.skeletons", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\skeletons.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.key_points.skeletons", + "obj": "Skeleton", + "line": 6, + "column": 0, + "endLine": 6, + "endColumn": 14, + "path": "src\\supervision\\key_points\\skeletons.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.metrics.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.detection", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1120/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.metrics.detection", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.detection", + "obj": "validate_input_tensors", + "line": 192, + "column": 0, + "endLine": 192, + "endColumn": 26, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_detections", + "line": 238, + "column": 4, + "endLine": 238, + "endColumn": 23, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_detections", + "line": 238, + "column": 4, + "endLine": 238, + "endColumn": 23, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_tensors", + "line": 322, + "column": 4, + "endLine": 322, + "endColumn": 20, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_tensors", + "line": 322, + "column": 4, + "endLine": 322, + "endColumn": 20, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 414, + "column": 4, + "endLine": 414, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 414, + "column": 4, + "endLine": 414, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 414, + "column": 4, + "endLine": 414, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (36/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 414, + "column": 4, + "endLine": 414, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-branches", + "message": "Too many branches (16/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 414, + "column": 4, + "endLine": 414, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-statements", + "message": "Too many statements (51/50)", + "message-id": "R0915" + }, + { + "type": "warning", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 553, + "column": 29, + "endLine": 553, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "unused-variable", + "message": "Unused variable 'iou'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 553, + "column": 34, + "endLine": 553, + "endColumn": 45, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "unused-variable", + "message": "Unused variable 'class_match'", + "message-id": "W0612" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.plot", + "line": 660, + "column": 4, + "endLine": 660, + "endColumn": 12, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "MeanAveragePrecision._average_precisions_per_class", + "line": 1067, + "column": 4, + "endLine": 1067, + "endColumn": 37, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (21/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "warning", + "module": "supervision.metrics.f1_score", + "obj": "F1Score.update", + "line": 92, + "column": 4, + "endLine": 92, + "endColumn": 14, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'F1Score.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.f1_score", + "obj": "F1Score.update", + "line": 92, + "column": 4, + "endLine": 92, + "endColumn": 14, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'F1Score.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.f1_score", + "obj": "F1Score.compute", + "line": 123, + "column": 4, + "endLine": 123, + "endColumn": 15, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'F1Score.compute' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.metrics.f1_score", + "obj": "F1Score._compute_f1_for_classes", + "line": 312, + "column": 15, + "endLine": 312, + "endColumn": 24, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'f1_scores' before assignment", + "message-id": "E0606" + }, + { + "type": "refactor", + "module": "supervision.metrics.f1_score", + "obj": "F1Score._compute_confusion_matrix", + "line": 347, + "column": 4, + "endLine": 347, + "endColumn": 33, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult", + "line": 512, + "column": 0, + "endLine": 512, + "endColumn": 19, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.f1_50", + "line": 546, + "column": 4, + "endLine": 546, + "endColumn": 13, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.f1_75", + "line": 550, + "column": 4, + "endLine": 550, + "endColumn": 13, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.to_pandas", + "line": 638, + "column": 8, + "endLine": 638, + "endColumn": 27, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.plot", + "line": 709, + "column": 12, + "endLine": 709, + "endColumn": 15, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 731, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "superfluous-parens", + "message": "Unnecessary parens after 'not' keyword", + "message-id": "C0325" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1520/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult", + "line": 78, + "column": 4, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAP_scores\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult", + "line": 30, + "column": 0, + "endLine": 30, + "endColumn": 32, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.map50_95", + "line": 63, + "column": 8, + "endLine": 66, + "endColumn": 21, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.to_pandas", + "line": 153, + "column": 8, + "endLine": 153, + "endColumn": 27, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.plot", + "line": 233, + "column": 12, + "endLine": 233, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 266, + "column": 39, + "endLine": 266, + "endColumn": 45, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 267, + "column": 36, + "endLine": 267, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 268, + "column": 36, + "endLine": 268, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 269, + "column": 36, + "endLine": 269, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.empty", + "line": 281, + "column": 4, + "endLine": 281, + "endColumn": 13, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.load_predictions", + "line": 471, + "column": 48, + "endLine": 471, + "endColumn": 87, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "unnecessary-comprehension", + "message": "Unnecessary use of a comprehension, use list(self.dataset['images']) instead.", + "message-id": "R1721" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.load_predictions", + "line": 489, + "column": 8, + "endLine": 520, + "endColumn": 35, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 532, + "column": 6, + "endLine": 532, + "endColumn": 30, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "no-member", + "message": "Instance of 'finfo' has no 'eps' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluatorParameters", + "line": 546, + "column": 0, + "endLine": 546, + "endColumn": 29, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (0/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator", + "line": 584, + "column": 0, + "endLine": 584, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._evaluate_image", + "line": 700, + "column": 4, + "endLine": 700, + "endColumn": 23, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (29/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 825, + "column": 4, + "endLine": 825, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (70/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 895, + "column": 8, + "endLine": 992, + "endColumn": 25, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-nested-blocks", + "message": "Too many nested blocks (6/5)", + "message-id": "R1702" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 895, + "column": 8, + "endLine": 992, + "endColumn": 25, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-nested-blocks", + "message": "Too many nested blocks (6/5)", + "message-id": "R1702" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate.compute_average_precision", + "line": 1030, + "column": 12, + "endLine": 1030, + "endColumn": 22, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 1043, + "column": 8, + "endLine": 1043, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_all_sizes\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 1052, + "column": 8, + "endLine": 1052, + "endColumn": 24, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_small\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 1061, + "column": 8, + "endLine": 1061, + "endColumn": 25, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_medium\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 1070, + "column": 8, + "endLine": 1070, + "endColumn": 24, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_large\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 825, + "column": 4, + "endLine": 825, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-statements", + "message": "Too many statements (77/50)", + "message-id": "R0915" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._pycocotools_summarize._summarize", + "line": 1108, + "column": 12, + "endLine": 1108, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"iStr\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._pycocotools_summarize._summarize", + "line": 1109, + "column": 12, + "endLine": 1109, + "endColumn": 20, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"titleStr\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._pycocotools_summarize._summarize", + "line": 1110, + "column": 12, + "endLine": 1110, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"typeStr\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator", + "line": 584, + "column": 0, + "endLine": 584, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.update", + "line": 1295, + "column": 4, + "endLine": 1295, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'MeanAveragePrecision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.update", + "line": 1295, + "column": 4, + "endLine": 1295, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAveragePrecision.update' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision._prepare_targets", + "line": 1337, + "column": 4, + "endLine": 1337, + "endColumn": 24, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1450, + "column": 4, + "endLine": 1450, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAveragePrecision.compute' method", + "message-id": "W0221" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1475, + "column": 8, + "endLine": 1475, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"cocoEval\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1481, + "column": 8, + "endLine": 1481, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_small\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1490, + "column": 8, + "endLine": 1490, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_medium\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1499, + "column": 8, + "endLine": 1499, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_large\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1509, + "column": 8, + "endLine": 1509, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_result\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult", + "line": 31, + "column": 0, + "endLine": 31, + "endColumn": 29, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_1", + "line": 64, + "column": 4, + "endLine": 64, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_1", + "line": 64, + "column": 4, + "endLine": 64, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAR_at_1\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_10", + "line": 68, + "column": 4, + "endLine": 68, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_10", + "line": 68, + "column": 4, + "endLine": 68, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAR_at_10\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_100", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_100", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAR_at_100\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.to_pandas", + "line": 162, + "column": 8, + "endLine": 162, + "endColumn": 27, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.plot", + "line": 243, + "column": 12, + "endLine": 243, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall.update", + "line": 321, + "column": 4, + "endLine": 321, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'MeanAverageRecall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall.update", + "line": 321, + "column": 4, + "endLine": 321, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAverageRecall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall.compute", + "line": 352, + "column": 4, + "endLine": 352, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAverageRecall.compute' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall._compute", + "line": 381, + "column": 4, + "endLine": 381, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall._compute_confusion_matrix", + "line": 539, + "column": 4, + "endLine": 539, + "endColumn": 33, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "warning", + "module": "supervision.metrics.precision", + "obj": "Precision.update", + "line": 95, + "column": 4, + "endLine": 95, + "endColumn": 14, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'Precision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.precision", + "obj": "Precision.update", + "line": 95, + "column": 4, + "endLine": 95, + "endColumn": 14, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Precision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.precision", + "obj": "Precision.compute", + "line": 126, + "column": 4, + "endLine": 126, + "endColumn": 15, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Precision.compute' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.metrics.precision", + "obj": "Precision._compute_precision_for_classes", + "line": 317, + "column": 15, + "endLine": 317, + "endColumn": 31, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'precision_scores' before assignment", + "message-id": "E0606" + }, + { + "type": "refactor", + "module": "supervision.metrics.precision", + "obj": "Precision._compute_confusion_matrix", + "line": 351, + "column": 4, + "endLine": 351, + "endColumn": 33, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult", + "line": 521, + "column": 0, + "endLine": 521, + "endColumn": 21, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.precision_at_50", + "line": 555, + "column": 4, + "endLine": 555, + "endColumn": 23, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.precision_at_75", + "line": 559, + "column": 4, + "endLine": 559, + "endColumn": 23, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.to_pandas", + "line": 651, + "column": 8, + "endLine": 651, + "endColumn": 27, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.plot", + "line": 722, + "column": 12, + "endLine": 722, + "endColumn": 15, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall.update", + "line": 95, + "column": 4, + "endLine": 95, + "endColumn": 14, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'Recall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall.update", + "line": 95, + "column": 4, + "endLine": 95, + "endColumn": 14, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Recall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall.compute", + "line": 126, + "column": 4, + "endLine": 126, + "endColumn": 15, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Recall.compute' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall._compute_recall_for_classes", + "line": 273, + "column": 15, + "endLine": 273, + "endColumn": 28, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'recall_scores' before assignment", + "message-id": "E0606" + }, + { + "type": "refactor", + "module": "supervision.metrics.recall", + "obj": "Recall._compute_confusion_matrix", + "line": 307, + "column": 4, + "endLine": 307, + "endColumn": 33, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall._make_empty_content", + "line": 429, + "column": 8, + "endLine": 429, + "endColumn": 73, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "unreachable", + "message": "Unreachable code", + "message-id": "W0101" + }, + { + "type": "refactor", + "module": "supervision.metrics.recall", + "obj": "RecallResult", + "line": 479, + "column": 0, + "endLine": 479, + "endColumn": 18, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.recall_at_50", + "line": 511, + "column": 4, + "endLine": 511, + "endColumn": 20, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.recall_at_75", + "line": 515, + "column": 4, + "endLine": 515, + "endColumn": 20, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.to_pandas", + "line": 605, + "column": 8, + "endLine": 605, + "endColumn": 27, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.plot", + "line": 676, + "column": 12, + "endLine": 676, + "endColumn": 15, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_bbox_size_category", + "line": 119, + "column": 4, + "endLine": 119, + "endColumn": 6, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"SM\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_bbox_size_category", + "line": 119, + "column": 8, + "endLine": 119, + "endColumn": 10, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"LG\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_mask_size_category", + "line": 161, + "column": 4, + "endLine": 161, + "endColumn": 6, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"SM\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_mask_size_category", + "line": 161, + "column": 8, + "endLine": 161, + "endColumn": 10, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"LG\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_obb_size_category", + "line": 207, + "column": 4, + "endLine": 207, + "endColumn": 6, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"SM\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_obb_size_category", + "line": 207, + "column": 8, + "endLine": 207, + "endColumn": 10, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"LG\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 1, + "column": 0, + "endLine": 1, + "endColumn": 27, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 3, + "column": 8, + "endLine": 3, + "endColumn": 21, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "warning", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 5, + "column": 8, + "endLine": 9, + "endColumn": 9, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ImportError as exc' and 'raise ImportError(\"`metrics` extra is required to run the function. Run `uv pip install 'supervision[metrics]'` or `uv add supervision --extra metrics`.\") from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 3, + "column": 8, + "endLine": 3, + "endColumn": 21, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "unused-import", + "message": "Unused import pandas", + "message-id": "W0611" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "", + "line": 33, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "line-too-long", + "message": "Line too long (145/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack", + "line": 22, + "column": 0, + "endLine": 22, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (13/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_detections", + "line": 133, + "column": 8, + "endLine": 155, + "endColumn": 29, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 173, + "column": 4, + "endLine": 173, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (35/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 203, + "column": 12, + "endLine": 203, + "endColumn": 28, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 218, + "column": 8, + "endLine": 218, + "endColumn": 62, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 228, + "column": 8, + "endLine": 228, + "endColumn": 73, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 249, + "column": 8, + "endLine": 249, + "endColumn": 73, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 252, + "column": 12, + "endLine": 252, + "endColumn": 28, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 291, + "column": 8, + "endLine": 291, + "endColumn": 88, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 307, + "column": 8, + "endLine": 307, + "endColumn": 39, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 314, + "column": 8, + "endLine": 314, + "endColumn": 35, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 173, + "column": 4, + "endLine": 173, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-branches", + "message": "Too many branches (21/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 173, + "column": 4, + "endLine": 173, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-statements", + "message": "Too many statements (92/50)", + "message-id": "R0915" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "remove_duplicate_tracks", + "line": 383, + "column": 0, + "endLine": 383, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.kalman_filter", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "indices_to_matches", + "line": 15, + "column": 0, + "endLine": 15, + "endColumn": 22, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "linear_assignment", + "line": 27, + "column": 0, + "endLine": 27, + "endColumn": 21, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "iou_distance", + "line": 44, + "column": 0, + "endLine": 44, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "fuse_score", + "line": 65, + "column": 0, + "endLine": 65, + "endColumn": 14, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 12, + "column": 0, + "endLine": 12, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 13, + "column": 4, + "endLine": 13, + "endColumn": 7, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"New\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 14, + "column": 4, + "endLine": 14, + "endColumn": 11, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"Tracked\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 15, + "column": 4, + "endLine": 15, + "endColumn": 8, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"Lost\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 16, + "column": 4, + "endLine": 16, + "endColumn": 11, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"Removed\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack", + "line": 19, + "column": 0, + "endLine": 19, + "endColumn": 12, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack", + "line": 19, + "column": 0, + "endLine": 19, + "endColumn": 12, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (16/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.__init__", + "line": 20, + "column": 4, + "endLine": 20, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.__init__", + "line": 20, + "column": 4, + "endLine": 20, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.predict", + "line": 51, + "column": 4, + "endLine": 51, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 63, + "column": 4, + "endLine": 63, + "endColumn": 21, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.re_activate", + "line": 100, + "column": 4, + "endLine": 100, + "endColumn": 19, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.to_xyah", + "line": 170, + "column": 4, + "endLine": 170, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.tlbr_to_tlwh", + "line": 174, + "column": 4, + "endLine": 174, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.tlwh_to_tlbr", + "line": 180, + "column": 4, + "endLine": 180, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "IdCounter", + "line": 4, + "column": 0, + "endLine": 4, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "IdCounter.NO_ID", + "line": 36, + "column": 4, + "endLine": 36, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "IdCounter.NO_ID", + "line": 36, + "column": 4, + "endLine": 36, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "invalid-name", + "message": "Attribute name \"NO_ID\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "ensure_cv2_image_for_annotation", + "line": 48, + "column": 0, + "endLine": 48, + "endColumn": 35, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "ensure_pil_image_for_annotation", + "line": 110, + "column": 0, + "endLine": 110, + "endColumn": 35, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "ensure_cv2_image_for_processing", + "line": 121, + "column": 0, + "endLine": 121, + "endColumn": 35, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "pillow_to_cv2", + "line": 160, + "column": 12, + "endLine": 160, + "endColumn": 24, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "pillow_to_cv2", + "line": 160, + "column": 32, + "endLine": 160, + "endColumn": 49, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_RGB2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "cv2_to_pillow", + "line": 177, + "column": 12, + "endLine": 177, + "endColumn": 24, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "cv2_to_pillow", + "line": 177, + "column": 32, + "endLine": 177, + "endColumn": 49, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2RGB' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.utils.file", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\file.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.file", + "obj": "NumpyJsonEncoder", + "line": 11, + "column": 0, + "endLine": 11, + "endColumn": 22, + "path": "src\\supervision\\utils\\file.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "NumpyJsonEncoder.default", + "line": 12, + "column": 4, + "endLine": 12, + "endColumn": 15, + "path": "src\\supervision\\utils\\file.py", + "symbol": "arguments-renamed", + "message": "Parameter 'o' has been renamed to 'obj' in overriding 'NumpyJsonEncoder.default' method", + "message-id": "W0237" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "read_txt_file", + "line": 120, + "column": 9, + "endLine": 120, + "endColumn": 29, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "save_text_file", + "line": 137, + "column": 9, + "endLine": 137, + "endColumn": 34, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "read_json_file", + "line": 166, + "column": 9, + "endLine": 166, + "endColumn": 29, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "save_json_file", + "line": 182, + "column": 9, + "endLine": 182, + "endColumn": 34, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "read_yaml_file", + "line": 196, + "column": 9, + "endLine": 196, + "endColumn": 29, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "save_yaml_file", + "line": 210, + "column": 9, + "endLine": 210, + "endColumn": 34, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 75, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (125/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 133, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (127/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 191, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (129/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 253, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (135/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 390, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (125/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 428, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (135/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "scale_image", + "line": 142, + "column": 11, + "endLine": 142, + "endColumn": 21, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "scale_image", + "line": 142, + "column": 68, + "endLine": 142, + "endColumn": 84, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_LINEAR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "resize_image", + "line": 206, + "column": 11, + "endLine": 206, + "endColumn": 21, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "resize_image", + "line": 206, + "column": 68, + "endLine": 206, + "endColumn": 84, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_LINEAR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "letterbox_image", + "line": 265, + "column": 25, + "endLine": 265, + "endColumn": 43, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'copyMakeBorder' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "letterbox_image", + "line": 271, + "column": 8, + "endLine": 271, + "endColumn": 27, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'BORDER_CONSTANT' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 17, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (25/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 317, + "column": 32, + "endLine": 317, + "endColumn": 43, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'supervision.utils.image' has no 'shape' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 338, + "column": 25, + "endLine": 338, + "endColumn": 34, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'split' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 342, + "column": 24, + "endLine": 342, + "endColumn": 33, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'merge' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 344, + "column": 14, + "endLine": 344, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "unsubscriptable-object", + "message": "Value 'image' is unsubscriptable", + "message-id": "E1136" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 346, + "column": 8, + "endLine": 346, + "endColumn": 13, + "path": "src\\supervision\\utils\\image.py", + "symbol": "unsupported-assignment-operation", + "message": "'image' does not support item assignment", + "message-id": "E1137" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 348, + "column": 8, + "endLine": 348, + "endColumn": 13, + "path": "src\\supervision\\utils\\image.py", + "symbol": "unsupported-assignment-operation", + "message": "'image' does not support item assignment", + "message-id": "E1137" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "tint_image", + "line": 397, + "column": 4, + "endLine": 397, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 430, + "column": 17, + "endLine": 430, + "endColumn": 29, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 430, + "column": 37, + "endLine": 430, + "endColumn": 55, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2GRAY' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 431, + "column": 11, + "endLine": 431, + "endColumn": 23, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 431, + "column": 36, + "endLine": 431, + "endColumn": 54, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_GRAY2BGR' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "ImageSink", + "line": 481, + "column": 0, + "endLine": 481, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "ImageSink.save_image", + "line": 548, + "column": 8, + "endLine": 548, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imwrite' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 565, + "column": 0, + "endLine": 565, + "endColumn": 16, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (16/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 565, + "column": 0, + "endLine": 565, + "endColumn": 16, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (16/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 565, + "column": 0, + "endLine": 565, + "endColumn": 16, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 580, + "column": 28, + "endLine": 580, + "endColumn": 52, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_generate_tiles", + "line": 767, + "column": 0, + "endLine": 767, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (15/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_generate_tiles", + "line": 767, + "column": 0, + "endLine": 767, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (15/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_generate_tiles", + "line": 767, + "column": 0, + "endLine": 767, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_draw_texts", + "line": 816, + "column": 0, + "endLine": 816, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (10/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_draw_texts", + "line": 816, + "column": 0, + "endLine": 816, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (10/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_draw_texts", + "line": 816, + "column": 0, + "endLine": 816, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.utils.internal", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "SupervisionWarnings", + "line": 18, + "column": 4, + "endLine": 18, + "endColumn": 8, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unnecessary-pass", + "message": "Unnecessary pass statement", + "message-id": "W0107" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "format_warning", + "line": 24, + "column": 4, + "endLine": 24, + "endColumn": 17, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unused-argument", + "message": "Unused argument 'filename'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "format_warning", + "line": 25, + "column": 4, + "endLine": 25, + "endColumn": 15, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unused-argument", + "message": "Unused argument 'lineno'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "format_warning", + "line": 26, + "column": 4, + "endLine": 26, + "endColumn": 20, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unused-argument", + "message": "Unused argument 'line'", + "message-id": "W0613" + }, + { + "type": "convention", + "module": "supervision.utils.internal", + "obj": "classproperty", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 19, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "invalid-name", + "message": "Class name \"classproperty\" doesn't conform to PascalCase naming style", + "message-id": "C0103" + }, + { + "type": "refactor", + "module": "supervision.utils.internal", + "obj": "classproperty", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 19, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "convention", + "module": "supervision.utils.iterables", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\iterables.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.logger", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\logger.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.notebook", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_image", + "line": 44, + "column": 19, + "endLine": 44, + "endColumn": 31, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_image", + "line": 44, + "column": 39, + "endLine": 44, + "endColumn": 56, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2RGB' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_images_grid", + "line": 111, + "column": 26, + "endLine": 111, + "endColumn": 38, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_images_grid", + "line": 111, + "column": 52, + "endLine": 111, + "endColumn": 69, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2RGB' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 59, + "column": 4, + "endLine": 59, + "endColumn": 23, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 60, + "column": 16, + "endLine": 60, + "endColumn": 32, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoCapture' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 62, + "column": 12, + "endLine": 62, + "endColumn": 68, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 64, + "column": 30, + "endLine": 64, + "endColumn": 54, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_WIDTH' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 65, + "column": 31, + "endLine": 65, + "endColumn": 56, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_HEIGHT' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 66, + "column": 30, + "endLine": 66, + "endColumn": 46, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FPS' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 67, + "column": 37, + "endLine": 67, + "endColumn": 61, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_COUNT' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "VideoInfo.resolution_wh", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 21, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 107, + "column": 28, + "endLine": 107, + "endColumn": 50, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoWriter_fourcc' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 110, + "column": 28, + "endLine": 110, + "endColumn": 50, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoWriter_fourcc' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 111, + "column": 24, + "endLine": 111, + "endColumn": 39, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoWriter' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 107, + "column": 12, + "endLine": 107, + "endColumn": 25, + "path": "src\\supervision\\utils\\video.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute '__fourcc' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 110, + "column": 12, + "endLine": 110, + "endColumn": 25, + "path": "src\\supervision\\utils\\video.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute '__fourcc' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_mux_audio", + "line": 198, + "column": 11, + "endLine": 198, + "endColumn": 20, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_mux_audio", + "line": 162, + "column": 17, + "endLine": 187, + "endColumn": 9, + "path": "src\\supervision\\utils\\video.py", + "symbol": "subprocess-run-check", + "message": "'subprocess.run' used without explicitly defining the value for 'check'.", + "message-id": "W1510" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 210, + "column": 12, + "endLine": 210, + "endColumn": 28, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoCapture' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 212, + "column": 8, + "endLine": 212, + "endColumn": 65, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 213, + "column": 33, + "endLine": 213, + "endColumn": 57, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_COUNT' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 215, + "column": 8, + "endLine": 215, + "endColumn": 56, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 226, + "column": 18, + "endLine": 226, + "endColumn": 41, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_POS_FRAMES' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "process_video", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 17, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "process_video", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 17, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "process_video", + "line": 417, + "column": 23, + "endLine": 417, + "endColumn": 32, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "process_video", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 17, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-branches", + "message": "Too many branches (14/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "process_video", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 17, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-statements", + "message": "Too many statements (56/50)", + "message-id": "R0915" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_xyxy", + "line": 33, + "column": 0, + "endLine": 33, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_mask", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_class_id", + "line": 102, + "column": 0, + "endLine": 102, + "endColumn": 21, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_confidence", + "line": 125, + "column": 0, + "endLine": 125, + "endColumn": 23, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_key_point_confidence", + "line": 156, + "column": 0, + "endLine": 156, + "endColumn": 33, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_keypoint_confidence", + "line": 165, + "column": 0, + "endLine": 165, + "endColumn": 32, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_tracker_id", + "line": 187, + "column": 0, + "endLine": 187, + "endColumn": 23, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_data", + "line": 197, + "column": 12, + "endLine": 202, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_data", + "line": 212, + "column": 0, + "endLine": 212, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_xy", + "line": 232, + "column": 0, + "endLine": 232, + "endColumn": 15, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_detections_fields", + "line": 259, + "column": 0, + "endLine": 259, + "endColumn": 31, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_detections_fields", + "line": 259, + "column": 0, + "endLine": 259, + "endColumn": 31, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_detections_fields", + "line": 281, + "column": 0, + "endLine": 281, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_keypoints_fields", + "line": 292, + "column": 0, + "endLine": 292, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_keypoints_fields", + "line": 292, + "column": 0, + "endLine": 292, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_key_points_fields", + "line": 317, + "column": 0, + "endLine": 317, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_keypoints_fields", + "line": 328, + "column": 0, + "endLine": 328, + "endColumn": 29, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_resolution", + "line": 362, + "column": 0, + "endLine": 362, + "endColumn": 23, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[78:229]\n==supervision.metrics.precision:[81:232]\n self._metric_target = metric_target\n self.averaging_method = averaging_method\n\n self._predictions_list: list[Detections] = []\n self._targets_list: list[Detections] = []\n\n def reset(self) -> None:\n \"\"\"\n Reset the metric to its initial state, clearing all stored data.\n \"\"\"\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> Precision:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> PrecisionResult:\n \"\"\"\n Calculate the precision metric based on the stored predictions and ground-truth\n data, at different IoU thresholds.\n\n Returns:\n The precision metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> PrecisionResult:\n \"\"\"Build per-image stats tuples and delegate to class-level computation.\n\n Each stats tuple is ``(matches, confidence, class_ids, true_class_ids)``:\n - Both empty: skip (no information).\n - Targets empty, predictions present: all predictions are FPs; true_class_ids\n is ``zeros((0,))``.\n - Targets present: IoU matching produces ``matches`` array.\n \"\"\"\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n\n if len(targets) == 0 and len(predictions) > 0:\n # Only predictions are present (e.g. a background image); every\n # prediction is a false positive.\n if predictions.class_id is None or predictions.confidence is None:\n continue\n stats.append(\n (\n np.zeros(\n (len(predictions), iou_thresholds.size), dtype=np.bool_\n ),\n predictions.confidence,\n predictions.class_id,\n np.zeros((0,), dtype=np.int32),\n )\n )\n elif len(targets) > 0:\n if len(predictions) == 0:\n stats.append(\n (\n np.zeros((0, iou_thresholds.size), dtype=bool),\n np.zeros((0,), dtype=np.float32),\n np.zeros((0,), dtype=int),\n targets.class_id,\n )\n )\n\n else:\n if self._metric_target == MetricTarget.BOXES:\n iou = box_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.MASKS:\n iou = mask_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n iou = oriented_box_iou_batch(\n target_contents, prediction_contents\n )\n else:\n raise ValueError(\n \"Unsupported metric target for IoU calculation\"\n )\n\n matches = self._match_detection_batch(\n predictions.class_id\n if predictions.class_id is not None\n else np.array([]),\n targets.class_id\n if targets.class_id is not None\n else np.array([]),\n iou,\n iou_thresholds,\n )\n stats.append(\n (\n matches,\n predictions.confidence,\n predictions.class_id,\n targets.class_id,\n )\n )\n\n if not stats:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[435:511]\n==supervision.metrics.precision:[441:520]\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"\n new_detections = deepcopy(detections)\n if detections.is_empty() or size_category == ObjectSizeCategory.ANY:\n return new_detections\n\n sizes = get_detection_size_category(new_detections, self._metric_target)\n size_mask = sizes == size_category.value\n\n new_detections.xyxy = new_detections.xyxy[size_mask]\n if new_detections.mask is not None:\n new_detections.mask = new_detections.mask[size_mask]\n if new_detections.class_id is not None:\n new_detections.class_id = new_detections.class_id[size_mask]\n if new_detections.confidence is not None:\n new_detections.confidence = new_detections.confidence[size_mask]\n if new_detections.tracker_id is not None:\n new_detections.tracker_id = new_detections.tracker_id[size_mask]\n if new_detections.data is not None:\n for key, value in new_detections.data.items():\n new_detections.data[key] = np.array(value)[size_mask]\n\n return new_detections\n\n def _filter_predictions_and_targets_by_size(\n self,\n predictions_list: list[Detections],\n targets_list: list[Detections],\n size_category: ObjectSizeCategory,\n ) -> tuple[list[Detections], list[Detections]]:\n \"\"\"\n Filter predictions and targets by object size category.\n \"\"\"\n new_predictions_list = []\n new_targets_list = []\n for predictions, targets in zip(predictions_list, targets_list):\n new_predictions_list.append(\n self._filter_detections_by_size(predictions, size_category)\n )\n new_targets_list.append(\n self._filter_detections_by_size(targets, size_category)\n )\n return new_predictions_list, new_targets_list\n\n\n@dataclass", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[435:510]\n==supervision.metrics.mean_average_recall:[630:706]\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"\n new_detections = deepcopy(detections)\n if detections.is_empty() or size_category == ObjectSizeCategory.ANY:\n return new_detections\n\n sizes = get_detection_size_category(new_detections, self._metric_target)\n size_mask = sizes == size_category.value\n\n new_detections.xyxy = new_detections.xyxy[size_mask]\n if new_detections.mask is not None:\n new_detections.mask = new_detections.mask[size_mask]\n if new_detections.class_id is not None:\n new_detections.class_id = new_detections.class_id[size_mask]\n if new_detections.confidence is not None:\n new_detections.confidence = new_detections.confidence[size_mask]\n if new_detections.tracker_id is not None:\n new_detections.tracker_id = new_detections.tracker_id[size_mask]\n if new_detections.data is not None:\n for key, value in new_detections.data.items():\n new_detections.data[key] = np.array(value)[size_mask]\n\n return new_detections\n\n def _filter_predictions_and_targets_by_size(\n self,\n predictions_list: list[Detections],\n targets_list: list[Detections],\n size_category: ObjectSizeCategory,\n ) -> tuple[list[Detections], list[Detections]]:\n \"\"\"\n Filter predictions and targets by object size category.\n \"\"\"\n new_predictions_list = []\n new_targets_list = []\n for predictions, targets in zip(predictions_list, targets_list):\n new_predictions_list.append(\n self._filter_detections_by_size(predictions, size_category)\n )\n new_targets_list.append(\n self._filter_detections_by_size(targets, size_category)\n )\n return new_predictions_list, new_targets_list\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[320:400]\n==supervision.metrics.precision:[325:403]\n num_predictions, num_iou_levels = (\n predictions_classes.shape[0],\n iou_thresholds.shape[0],\n )\n correct = np.zeros((num_predictions, num_iou_levels), dtype=bool)\n correct_class = target_classes[:, None] == predictions_classes\n\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n result_correct: npt.NDArray[np.bool_] = correct\n return result_correct\n\n @staticmethod\n def _compute_confusion_matrix(\n sorted_matches: npt.NDArray[np.bool_],\n sorted_prediction_class_ids: npt.NDArray[np.int32],\n unique_classes: npt.NDArray[np.int32],\n class_counts: npt.NDArray[np.int32],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Compute the confusion matrix for each class and IoU threshold.\n\n Assumes the matches and prediction_class_ids are sorted by confidence\n in descending order.\n\n Args:\n sorted_matches: shape (P, Th), that is True\n if the prediction is a true positive at the given IoU threshold.\n sorted_prediction_class_ids: shape (P,), containing\n the class id for each prediction.\n unique_classes: shape (C,), containing the unique\n class ids.\n class_counts: shape (C,), containing the number\n of true instances for each class.\n\n Returns:\n shape (C, Th, 3), containing the true positives, false\n positives, and false negatives for each class and IoU threshold.\n \"\"\"\n\n num_thresholds = sorted_matches.shape[1]\n num_classes = unique_classes.shape[0]\n\n confusion_matrix: npt.NDArray[np.float64] = np.zeros(\n (num_classes, num_thresholds, 3), dtype=np.float64\n )\n for class_idx, class_id in enumerate(unique_classes):\n is_class = sorted_prediction_class_ids == class_id\n num_true = class_counts[class_idx]\n num_predictions = is_class.sum()\n\n if num_predictions == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.zeros(num_thresholds)\n false_negatives = np.full(num_thresholds, num_true)\n elif num_true == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.full(num_thresholds, num_predictions)\n false_negatives = np.zeros(num_thresholds)\n else:\n true_positives = sorted_matches[is_class].sum(0)\n false_positives = (1 - sorted_matches[is_class]).sum(0)\n false_negatives = num_true - true_positives\n confusion_matrix[class_idx] = np.stack(\n [true_positives, false_positives, false_negatives], axis=1\n )", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[185:229]\n==supervision.metrics.recall:[165:209]\n if len(predictions) == 0:\n stats.append(\n (\n np.zeros((0, iou_thresholds.size), dtype=bool),\n np.zeros((0,), dtype=np.float32),\n np.zeros((0,), dtype=int),\n targets.class_id,\n )\n )\n\n else:\n if self._metric_target == MetricTarget.BOXES:\n iou = box_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.MASKS:\n iou = mask_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n iou = oriented_box_iou_batch(\n target_contents, prediction_contents\n )\n else:\n raise ValueError(\n \"Unsupported metric target for IoU calculation\"\n )\n\n matches = self._match_detection_batch(\n predictions.class_id\n if predictions.class_id is not None\n else np.array([]),\n targets.class_id\n if targets.class_id is not None\n else np.array([]),\n iou,\n iou_thresholds,\n )\n stats.append(\n (\n matches,\n predictions.confidence,\n predictions.class_id,\n targets.class_id,\n )\n )\n\n if not stats:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[317:395]\n==supervision.metrics.recall:[91:169]\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> MeanAverageRecall:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> MeanAverageRecallResult:\n \"\"\"\n Calculate the Mean Average Recall metric based on the stored predictions\n and ground-truth, at different IoU thresholds and maximum detection counts.\n\n Returns:\n The Mean Average Recall metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> MeanAverageRecallResult:\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n\n if len(targets) > 0:\n if len(predictions) == 0:\n stats.append(\n (\n np.zeros((0, iou_thresholds.size), dtype=bool),", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[78:169]\n==supervision.metrics.recall:[81:164]\n self._metric_target = metric_target\n self.averaging_method = averaging_method\n\n self._predictions_list: list[Detections] = []\n self._targets_list: list[Detections] = []\n\n def reset(self) -> None:\n \"\"\"\n Reset the metric to its initial state, clearing all stored data.\n \"\"\"\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> Recall:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> RecallResult:\n \"\"\"\n Calculate the recall metric based on the stored predictions and ground-truth\n data, at different IoU thresholds.\n\n Returns:\n The recall metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> RecallResult:\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[504:587]\n==supervision.metrics.recall:[272:353]\n return recall_scores, recall_per_class, unique_classes\n\n @staticmethod\n def _match_detection_batch(\n predictions_classes: npt.NDArray[np.int32],\n target_classes: npt.NDArray[np.int32],\n iou: npt.NDArray[np.float32],\n iou_thresholds: npt.NDArray[np.float32],\n ) -> npt.NDArray[np.bool_]:\n num_predictions, num_iou_levels = (\n predictions_classes.shape[0],\n iou_thresholds.shape[0],\n )\n correct = np.zeros((num_predictions, num_iou_levels), dtype=bool)\n correct_class = target_classes[:, None] == predictions_classes\n\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n result_correct: npt.NDArray[np.bool_] = correct\n return result_correct\n\n @staticmethod\n def _compute_confusion_matrix(\n sorted_matches: npt.NDArray[np.bool_],\n sorted_prediction_class_ids: npt.NDArray[np.int32],\n unique_classes: npt.NDArray[np.int32],\n class_counts: npt.NDArray[np.int32],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Compute the confusion matrix for each class and IoU threshold.\n\n Assumes the matches and prediction_class_ids are sorted by confidence\n in descending order.\n\n Args:\n sorted_matches: shape (P, Th), that is True\n if the prediction is a true positive at the given IoU threshold.\n sorted_prediction_class_ids: shape (P,), containing\n the class id for each prediction.\n unique_classes: shape (C,), containing the unique\n class ids.\n class_counts: shape (C,), containing the number\n of true instances for each class.\n max_detections: The maximum number of detections to\n consider for each class. Extra detections are considered false\n positives. By default, all detections are considered.\n\n Returns:\n shape (C, Th, 3), containing the true positives, false\n positives, and false negatives for each class and IoU threshold.\n \"\"\"\n num_thresholds = sorted_matches.shape[1]\n num_classes = unique_classes.shape[0]\n\n confusion_matrix: npt.NDArray[np.float64] = np.zeros(\n (num_classes, num_thresholds, 3), dtype=np.float64\n )\n for class_idx, class_id in enumerate(unique_classes):\n is_class = sorted_prediction_class_ids == class_id\n num_true = class_counts[class_idx]\n num_predictions = is_class.sum()\n\n if num_predictions == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.zeros(num_thresholds)\n false_negatives = np.full(num_thresholds, num_true)\n elif num_true == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.full(num_thresholds, num_predictions)\n false_negatives = np.zeros(num_thresholds)\n else:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[320:393]\n==supervision.metrics.mean_average_recall:[513:587]\n num_predictions, num_iou_levels = (\n predictions_classes.shape[0],\n iou_thresholds.shape[0],\n )\n correct = np.zeros((num_predictions, num_iou_levels), dtype=bool)\n correct_class = target_classes[:, None] == predictions_classes\n\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n result_correct: npt.NDArray[np.bool_] = correct\n return result_correct\n\n @staticmethod\n def _compute_confusion_matrix(\n sorted_matches: npt.NDArray[np.bool_],\n sorted_prediction_class_ids: npt.NDArray[np.int32],\n unique_classes: npt.NDArray[np.int32],\n class_counts: npt.NDArray[np.int32],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Compute the confusion matrix for each class and IoU threshold.\n\n Assumes the matches and prediction_class_ids are sorted by confidence\n in descending order.\n\n Args:\n sorted_matches: shape (P, Th), that is True\n if the prediction is a true positive at the given IoU threshold.\n sorted_prediction_class_ids: shape (P,), containing\n the class id for each prediction.\n unique_classes: shape (C,), containing the unique\n class ids.\n class_counts: shape (C,), containing the number\n of true instances for each class.\n max_detections: The maximum number of detections to\n consider for each class. Extra detections are considered false\n positives. By default, all detections are considered.\n\n Returns:\n shape (C, Th, 3), containing the true positives, false\n positives, and false negatives for each class and IoU threshold.\n \"\"\"\n num_thresholds = sorted_matches.shape[1]\n num_classes = unique_classes.shape[0]\n\n confusion_matrix: npt.NDArray[np.float64] = np.zeros(\n (num_classes, num_thresholds, 3), dtype=np.float64\n )\n for class_idx, class_id in enumerate(unique_classes):\n is_class = sorted_prediction_class_ids == class_id\n num_true = class_counts[class_idx]\n num_predictions = is_class.sum()\n\n if num_predictions == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.zeros(num_thresholds)\n false_negatives = np.full(num_thresholds, num_true)\n elif num_true == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.full(num_thresholds, num_predictions)\n false_negatives = np.zeros(num_thresholds)\n else:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[88:169]\n==supervision.metrics.mean_average_recall:[317:390]\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> MeanAverageRecall:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> MeanAverageRecallResult:\n \"\"\"\n Calculate the Mean Average Recall metric based on the stored predictions\n and ground-truth, at different IoU thresholds and maximum detection counts.\n\n Returns:\n The Mean Average Recall metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> MeanAverageRecallResult:\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[461:511]\n==supervision.metrics.recall:[428:478]\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"\n new_detections = deepcopy(detections)\n if detections.is_empty() or size_category == ObjectSizeCategory.ANY:\n return new_detections\n\n sizes = get_detection_size_category(new_detections, self._metric_target)\n size_mask = sizes == size_category.value\n\n new_detections.xyxy = new_detections.xyxy[size_mask]\n if new_detections.mask is not None:\n new_detections.mask = new_detections.mask[size_mask]\n if new_detections.class_id is not None:\n new_detections.class_id = new_detections.class_id[size_mask]\n if new_detections.confidence is not None:\n new_detections.confidence = new_detections.confidence[size_mask]\n if new_detections.tracker_id is not None:\n new_detections.tracker_id = new_detections.tracker_id[size_mask]\n if new_detections.data is not None:\n for key, value in new_detections.data.items():\n new_detections.data[key] = np.array(value)[size_mask]\n\n return new_detections\n\n def _filter_predictions_and_targets_by_size(\n self,\n predictions_list: list[Detections],\n targets_list: list[Detections],\n size_category: ObjectSizeCategory,\n ) -> tuple[list[Detections], list[Detections]]:\n \"\"\"\n Filter predictions and targets by object size category.\n \"\"\"\n new_predictions_list = []\n new_targets_list = []\n for predictions, targets in zip(predictions_list, targets_list):\n new_predictions_list.append(\n self._filter_detections_by_size(predictions, size_category)\n )\n new_targets_list.append(\n self._filter_detections_by_size(targets, size_category)\n )\n return new_predictions_list, new_targets_list\n\n\n@dataclass", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[659:706]\n==supervision.metrics.recall:[428:477]\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"\n new_detections = deepcopy(detections)\n if detections.is_empty() or size_category == ObjectSizeCategory.ANY:\n return new_detections\n\n sizes = get_detection_size_category(new_detections, self._metric_target)\n size_mask = sizes == size_category.value\n\n new_detections.xyxy = new_detections.xyxy[size_mask]\n if new_detections.mask is not None:\n new_detections.mask = new_detections.mask[size_mask]\n if new_detections.class_id is not None:\n new_detections.class_id = new_detections.class_id[size_mask]\n if new_detections.confidence is not None:\n new_detections.confidence = new_detections.confidence[size_mask]\n if new_detections.tracker_id is not None:\n new_detections.tracker_id = new_detections.tracker_id[size_mask]\n if new_detections.data is not None:\n for key, value in new_detections.data.items():\n new_detections.data[key] = np.array(value)[size_mask]\n\n return new_detections\n\n def _filter_predictions_and_targets_by_size(\n self,\n predictions_list: list[Detections],\n targets_list: list[Detections],\n size_category: ObjectSizeCategory,\n ) -> tuple[list[Detections], list[Detections]]:\n \"\"\"\n Filter predictions and targets by object size category.\n \"\"\"\n new_predictions_list = []\n new_targets_list = []\n for predictions, targets in zip(predictions_list, targets_list):\n new_predictions_list.append(\n self._filter_detections_by_size(predictions, size_category)\n )\n new_targets_list.append(\n self._filter_detections_by_size(targets, size_category)\n )\n return new_predictions_list, new_targets_list\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[190:219]\n==supervision.metrics.mean_average_recall:[396:426]\n np.zeros((0,), dtype=int),\n targets.class_id,\n )\n )\n\n else:\n if self._metric_target == MetricTarget.BOXES:\n iou = box_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.MASKS:\n iou = mask_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n iou = oriented_box_iou_batch(\n target_contents, prediction_contents\n )\n else:\n raise ValueError(\n \"Unsupported metric target for IoU calculation\"\n )\n\n matches = self._match_detection_batch(\n predictions.class_id\n if predictions.class_id is not None\n else np.array([]),\n targets.class_id\n if targets.class_id is not None\n else np.array([]),\n iou,\n iou_thresholds,\n )", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[625:665]\n==supervision.metrics.recall:[392:428]\n result_recall: npt.NDArray[np.float64] = recall\n return result_recall\n\n def _detections_content(self, detections: Detections) -> npt.NDArray[Any]:\n \"\"\"Return boxes, masks or oriented bounding boxes from detections.\"\"\"\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[435:467]\n==supervision.metrics.recall:[397:428]\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[697:722]\n==supervision.metrics.precision:[710:735]\n f\"\\n(target: {self.metric_target.value},\"\n f\" averaging: {self.averaging_method.value})\"\n )\n ax.set_title(title, fontweight=\"bold\")\n\n x_positions = range(len(labels))\n bars = ax.bar(x_positions, values, color=colors, align=\"center\")\n\n ax.set_xticks(x_positions)\n ax.set_xticklabels(labels, rotation=45, ha=\"right\")\n\n for bar in bars:\n y_value = bar.get_height()\n ax.text(\n bar.get_x() + bar.get_width() / 2,\n y_value + 0.02,\n f\"{y_value:.2f}\",\n ha=\"center\",\n va=\"bottom\",\n )\n\n plt.rcParams[\"font.family\"] = \"sans-serif\"\n\n plt.tight_layout()\n plt.show()", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[132:164]\n==supervision.metrics.recall:[575:607]\n )\n if self.recall_per_class.size == 0:\n out_str += \" No results\\n\"\n for class_id, recall_of_class in zip(\n self.matched_classes, self.recall_per_class\n ):\n out_str += f\" {class_id}: {recall_of_class}\\n\"\n\n indent = \" \"\n if self.small_objects is not None:\n indented = indent + str(self.small_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nSmall objects:\\n{indented}\"\n if self.medium_objects is not None:\n indented = indent + str(self.medium_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nMedium objects:\\n{indented}\"\n if self.large_objects is not None:\n indented = indent + str(self.large_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nLarge objects:\\n{indented}\"\n\n return out_str\n\n def to_pandas(self) -> pd.DataFrame:\n \"\"\"\n Convert the result to a pandas DataFrame.\n\n Returns:\n The result as a DataFrame.\n \"\"\"\n ensure_pandas_installed()\n import pandas as pd\n\n pandas_data = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[699:722]\n==supervision.metrics.mean_average_recall:[233:258]\n )\n ax.set_title(title, fontweight=\"bold\")\n\n x_positions = range(len(labels))\n bars = ax.bar(x_positions, values, color=colors, align=\"center\")\n\n ax.set_xticks(x_positions)\n ax.set_xticklabels(labels, rotation=45, ha=\"right\")\n\n for bar in bars:\n y_value = bar.get_height()\n ax.text(\n bar.get_x() + bar.get_width() / 2,\n y_value + 0.02,\n f\"{y_value:.2f}\",\n ha=\"center\",\n va=\"bottom\",\n )\n\n plt.rcParams[\"font.family\"] = \"sans-serif\"\n\n plt.tight_layout()\n plt.show()", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.annotators.core:[1479:1497]\n==supervision.draw.utils:[133:151]\n border_radius = min(border_radius, min(width, height) // 2)\n\n rectangle_coordinates = [\n ((x1 + border_radius, y1), (x2 - border_radius, y2)),\n ((x1, y1 + border_radius), (x2, y2 - border_radius)),\n ]\n circle_centers = [\n (x1 + border_radius, y1 + border_radius),\n (x2 - border_radius, y1 + border_radius),\n (x1 + border_radius, y2 - border_radius),\n (x2 - border_radius, y2 - border_radius),\n ]\n\n for coordinates in rectangle_coordinates:\n cv2.rectangle(\n img=scene,\n pt1=coordinates[0],\n pt2=coordinates[1],", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[702:722]\n==supervision.metrics.mean_average_precision:[226:248]\n x_positions = range(len(labels))\n bars = ax.bar(x_positions, values, color=colors, align=\"center\")\n\n ax.set_xticks(x_positions)\n ax.set_xticklabels(labels, rotation=45, ha=\"right\")\n\n for bar in bars:\n y_value = bar.get_height()\n ax.text(\n bar.get_x() + bar.get_width() / 2,\n y_value + 0.02,\n f\"{y_value:.2f}\",\n ha=\"center\",\n va=\"bottom\",\n )\n\n plt.rcParams[\"font.family\"] = \"sans-serif\"\n\n plt.tight_layout()\n plt.show()", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[642:668]\n==supervision.metrics.mean_average_recall:[167:192]\n }\n\n if self.small_objects is not None:\n small_objects_df = self.small_objects.to_pandas()\n for key, value in small_objects_df.items():\n pandas_data[f\"small_objects_{key}\"] = value\n if self.medium_objects is not None:\n medium_objects_df = self.medium_objects.to_pandas()\n for key, value in medium_objects_df.items():\n pandas_data[f\"medium_objects_{key}\"] = value\n if self.large_objects is not None:\n large_objects_df = self.large_objects.to_pandas()\n for key, value in large_objects_df.items():\n pandas_data[f\"large_objects_{key}\"] = value\n\n return pd.DataFrame(pandas_data, index=[0])\n\n def plot(self) -> None:\n \"\"\"\n Plot the F1 results.\n\n ![example_plot](\n https://media.roboflow.com/supervision-docs/metrics/f1_plot_example.png\n ){ align=center width=\"800\" }\n \"\"\"\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.precision:[655:681]\n==supervision.metrics.recall:[609:635]\n }\n\n if self.small_objects is not None:\n small_objects_df = self.small_objects.to_pandas()\n for key, value in small_objects_df.items():\n pandas_data[f\"small_objects_{key}\"] = value\n if self.medium_objects is not None:\n medium_objects_df = self.medium_objects.to_pandas()\n for key, value in medium_objects_df.items():\n pandas_data[f\"medium_objects_{key}\"] = value\n if self.large_objects is not None:\n large_objects_df = self.large_objects.to_pandas()\n for key, value in large_objects_df.items():\n pandas_data[f\"large_objects_{key}\"] = value\n\n return pd.DataFrame(pandas_data, index=[0])\n\n def plot(self) -> None:\n \"\"\"\n Plot the recall results.\n\n ![example_plot](\n https://media.roboflow.com/supervision-docs/metrics/recall_plot_example.png\n ){ align=center width=\"800\" }\n \"\"\"\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[642:657]\n==supervision.metrics.mean_average_precision:[158:174]\n }\n\n if self.small_objects is not None:\n small_objects_df = self.small_objects.to_pandas()\n for key, value in small_objects_df.items():\n pandas_data[f\"small_objects_{key}\"] = value\n if self.medium_objects is not None:\n medium_objects_df = self.medium_objects.to_pandas()\n for key, value in medium_objects_df.items():\n pandas_data[f\"medium_objects_{key}\"] = value\n if self.large_objects is not None:\n large_objects_df = self.large_objects.to_pandas()\n for key, value in large_objects_df.items():\n pandas_data[f\"large_objects_{key}\"] = value\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[616:640]\n==supervision.metrics.mean_average_recall:[140:164]\n indent = \" \"\n if self.small_objects is not None:\n indented = indent + str(self.small_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nSmall objects:\\n{indented}\"\n if self.medium_objects is not None:\n indented = indent + str(self.medium_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nMedium objects:\\n{indented}\"\n if self.large_objects is not None:\n indented = indent + str(self.large_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nLarge objects:\\n{indented}\"\n\n return out_str\n\n def to_pandas(self) -> pd.DataFrame:\n \"\"\"\n Convert the result to a pandas DataFrame.\n\n Returns:\n The result as a DataFrame.\n \"\"\"\n ensure_pandas_installed()\n import pandas as pd\n\n pandas_data = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.precision:[629:653]\n==supervision.metrics.recall:[583:607]\n indent = \" \"\n if self.small_objects is not None:\n indented = indent + str(self.small_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nSmall objects:\\n{indented}\"\n if self.medium_objects is not None:\n indented = indent + str(self.medium_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nMedium objects:\\n{indented}\"\n if self.large_objects is not None:\n indented = indent + str(self.large_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nLarge objects:\\n{indented}\"\n\n return out_str\n\n def to_pandas(self) -> pd.DataFrame:\n \"\"\"\n Convert the result to a pandas DataFrame.\n\n Returns:\n The result as a DataFrame.\n \"\"\"\n ensure_pandas_installed()\n import pandas as pd\n\n pandas_data = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.detection.utils.iou_and_nms:[39:53]\n==supervision.detection.vlm:[58:72]\n if isinstance(value, cls):\n return value\n if isinstance(value, str):\n value = value.lower()\n try:\n return cls(value)\n except ValueError:\n raise ValueError(f\"Invalid value: {value}. Must be one of {cls.list()}\")\n raise ValueError(\n f\"Invalid value type: {type(value)}. Must be an instance of \"\n f\"{cls.__name__} or str.\"\n )\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[395:423]\n==supervision.metrics.mean_average_recall:[591:620]\n false_negatives = num_true - true_positives\n\n confusion_matrix[class_idx] = np.stack(\n [true_positives, false_positives, false_negatives], axis=1\n )\n\n result_confusion_matrix: npt.NDArray[np.float64] = confusion_matrix\n return result_confusion_matrix\n\n @staticmethod\n def _compute_recall(\n confusion_matrix: npt.NDArray[np.float64],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Broadcastable function, computing the recall from the confusion matrix.\n\n Args:\n confusion_matrix: shape (N, ..., 3), where the last dimension\n contains the true positives, false positives, and false negatives.\n\n Returns:\n shape (N, ...), containing the recall for each element.\n \"\"\"\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.detection:[1048:1062]\n==supervision.metrics.f1_score:[327:342]\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[88:117]\n==supervision.metrics.mean_average_precision:[1291:1320]\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> F1Score:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.detection.tools.csv_sink:[115:169]\n==supervision.detection.tools.json_sink:[118:172]\n self.file.close()\n\n @staticmethod\n def _slice_value(value: Any, i: int, n: int) -> Any:\n \"\"\"\n Return the i-th element when the value stores per-detection data.\n\n Dispatch rules:\n - np.ndarray with ndim == 0: return as-is for broadcasting\n - np.ndarray with ndim >= 1: return value[i]\n - list or tuple with len equal to n: return value[i]\n - any other type: return as-is for broadcasting\n\n Args:\n value: Custom-data field value.\n i: Zero-based detection index.\n n: Total number of detections.\n\n Returns:\n Element at position i if value is a per-detection sequence,\n otherwise value unchanged.\n \"\"\"\n if isinstance(value, np.ndarray):\n return value if value.ndim == 0 else value[i]\n if isinstance(value, (list, tuple)) and len(value) == n:\n return value[i]\n return value\n\n @staticmethod\n def parse_detection_data(\n detections: Detections, custom_data: dict[str, Any] | None = None\n ) -> list[dict[str, Any]]:\n \"\"\"\n Convert detections and optional custom data into per-detection rows.\n\n Builds one dictionary per detection containing bounding box coordinates,\n detection attributes, and any values from ``detections.data`` or\n ``custom_data``. List and tuple values in ``custom_data`` with length\n equal to ``len(detections.xyxy)`` are sliced one element per row; all\n other values are broadcast to every row.\n\n Args:\n detections: Detection data to serialize into row dictionaries.\n custom_data: Optional extra fields to include in each row.\n\n Returns:\n A list of dictionaries, one per detection, containing ``xyxy``\n coordinates, ``class_id``, ``confidence``, ``tracker_id``, and any\n values from ``detections.data`` or ``custom_data``.\n \"\"\"\n parsed_rows = []\n n = len(detections.xyxy)\n for i in range(n):\n row = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.dataset.formats.pascal_voc:[158:167]\n==supervision.dataset.formats.yolo:[397:406]\n if mask is not None:\n polygons = approximate_mask_with_polygons(\n mask=mask,\n min_image_area_percentage=min_image_area_percentage,\n max_image_area_percentage=max_image_area_percentage,\n approximation_percentage=approximation_percentage,\n )\n for polygon in polygons:\n xyxy = polygon_to_xyxy(polygon=polygon)", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.detection.utils.iou_and_nms:[79:128]\n==supervision.detection.vlm:[62:72]\n try:\n return cls(value)\n except ValueError:\n raise ValueError(f\"Invalid value: {value}. Must be one of {cls.list()}\")\n raise ValueError(\n f\"Invalid value type: {type(value)}. Must be an instance of \"\n f\"{cls.__name__} or str.\"\n )\n\n\ndef box_iou(\n box_true: list[float] | npt.NDArray[np.floating],\n box_detection: list[float] | npt.NDArray[np.floating],\n overlap_metric: OverlapMetric | str = OverlapMetric.IOU,\n) -> float:\n \"\"\"\n Compute overlap metric between two bounding boxes.\n\n Supports standard IOU (intersection-over-union) and IOS\n (intersection-over-smaller-area) metrics. Returns the overlap value in range\n `[0, 1]`.\n\n Args:\n box_true: Ground truth box in format\n `(x_min, y_min, x_max, y_max)`.\n box_detection: Detected box in format\n `(x_min, y_min, x_max, y_max)`.\n overlap_metric: Overlap type.\n Use `OverlapMetric.IOU` for IOU or\n `OverlapMetric.IOS` for IOS. Defaults to `OverlapMetric.IOU`.\n\n Returns:\n Overlap value between boxes in `[0, 1]`.\n\n Raises:\n ValueError: If `overlap_metric` is not IOU or IOS.\n\n Examples:\n ```pycon\n >>> import supervision as sv\n >>> box_true = [100, 100, 200, 200]\n >>> box_detection = [150, 150, 250, 250]\n >>> sv.box_iou(box_true, box_detection, overlap_metric=sv.OverlapMetric.IOU)\n 0.142857...\n >>> sv.box_iou(box_true, box_detection, overlap_metric=sv.OverlapMetric.IOS)\n 0.25\n\n ```\n \"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[614:623]\n==supervision.metrics.recall:[376:385]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]\n false_negatives = confusion_matrix[..., 2]\n\n denominator = true_positives + false_negatives", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.annotators.core:[1498:1505]\n==supervision.draw.utils:[152:159]\n thickness=-1,\n )\n for center in circle_centers:\n cv2.circle(\n img=scene,\n center=center,\n radius=border_radius,", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[234:242]\n==supervision.metrics.mean_average_recall:[446:454]\n iou_thresholds=iou_thresholds,\n matched_classes=np.array([], dtype=int),\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n concatenated_stats = [np.concatenate(items, 0) for items in zip(*stats)]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[417:424]\n==supervision.metrics.precision:[420:428]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]\n false_positives = confusion_matrix[..., 1]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.precision:[237:245]\n==supervision.metrics.recall:[214:222]\n iou_thresholds=iou_thresholds,\n matched_classes=np.array([], dtype=int),\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n concatenated_stats = [np.concatenate(items, 0) for items in zip(*stats)]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.annotators.utils:[99:105]\n==supervision.key_points.annotators:[921:935]\n return (\n center_x - text_w // 2,\n center_y - text_h // 2,\n center_x + text_w // 2,\n center_y + text_h // 2,\n )", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[251:274]\n==supervision.metrics.mean_average_recall:[463:481]\n iou_thresholds=iou_thresholds,\n matched_classes=unique_classes,\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n def _compute_f1_for_classes(\n self,\n matches: npt.NDArray[np.bool_],\n prediction_confidence: npt.NDArray[np.float32],\n prediction_class_ids: npt.NDArray[np.int32],\n true_class_ids: npt.NDArray[np.int32],\n ) -> tuple[\n npt.NDArray[np.float64],\n npt.NDArray[np.float64],\n npt.NDArray[np.int32],\n ]:\n \"\"\"Compute F1 scores from concatenated stats across all images.\n\n ``unique_classes`` is the union of GT and predicted classes so that\n predictions of classes absent from GT still count as false positives.\n \"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[251:293]\n==supervision.metrics.precision:[254:296]\n iou_thresholds=iou_thresholds,\n matched_classes=unique_classes,\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n def _compute_precision_for_classes(\n self,\n matches: npt.NDArray[np.bool_],\n prediction_confidence: npt.NDArray[np.float32],\n prediction_class_ids: npt.NDArray[np.int32],\n true_class_ids: npt.NDArray[np.int32],\n ) -> tuple[\n npt.NDArray[np.float64],\n npt.NDArray[np.float64],\n npt.NDArray[np.int32],\n ]:\n \"\"\"Compute precision scores from concatenated stats across all images.\n\n ``unique_classes`` is the union of GT and predicted classes so that\n predictions of classes absent from GT still count as false positives.\n \"\"\"\n sorted_indices = np.argsort(-prediction_confidence)\n matches = matches[sorted_indices]\n prediction_class_ids = prediction_class_ids[sorted_indices]\n # Predictions whose class never appears in the ground truth are still\n # false positives, so include those classes in the confusion matrix\n # (their true-instance count is zero).\n unique_classes = np.unique(\n np.concatenate((true_class_ids, prediction_class_ids))\n )\n true_classes, true_counts = np.unique(true_class_ids, return_counts=True)\n class_counts = np.zeros(unique_classes.shape[0], dtype=int)\n class_counts[np.searchsorted(unique_classes, true_classes)] = true_counts\n\n # Shape: PxTh,P,C,C -> CxThx3\n confusion_matrix = self._compute_confusion_matrix(\n matches, prediction_class_ids, unique_classes, class_counts\n )\n\n # Shape: CxThx3 -> CxTh", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[688:696]\n==supervision.metrics.precision:[701:709]\n colors += [LEGACY_COLOR_PALETTE[4]] * 2\n\n plt.rcParams[\"font.family\"] = \"monospace\"\n\n _, ax = plt.subplots(figsize=(10, 6))\n ax.set_ylim(0, 1)\n ax.set_ylabel(\"Value\", fontweight=\"bold\")\n title = (", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[251:280]\n==supervision.metrics.recall:[231:252]\n iou_thresholds=iou_thresholds,\n matched_classes=unique_classes,\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n def _compute_f1_for_classes(\n self,\n matches: npt.NDArray[np.bool_],\n prediction_confidence: npt.NDArray[np.float32],\n prediction_class_ids: npt.NDArray[np.int32],\n true_class_ids: npt.NDArray[np.int32],\n ) -> tuple[\n npt.NDArray[np.float64],\n npt.NDArray[np.float64],\n npt.NDArray[np.int32],\n ]:\n \"\"\"Compute F1 scores from concatenated stats across all images.\n\n ``unique_classes`` is the union of GT and predicted classes so that\n predictions of classes absent from GT still count as false positives.\n \"\"\"\n sorted_indices = np.argsort(-prediction_confidence)\n matches = matches[sorted_indices]\n prediction_class_ids = prediction_class_ids[sorted_indices]\n # Predictions whose class never appears in the ground truth are still\n # false positives, so include those classes in the confusion matrix\n # (their true-instance count is zero).", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[417:423]\n==supervision.metrics.recall:[376:382]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_precision:[216:224]\n==supervision.metrics.mean_average_recall:[223:231]\n ]\n colors += [LEGACY_COLOR_PALETTE[4]] * 3\n\n plt.rcParams[\"font.family\"] = \"monospace\"\n\n _, ax = plt.subplots(figsize=(10, 6))\n ax.set_ylim(0, 1)\n ax.set_ylabel(\"Value\", fontweight=\"bold\")", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[614:620]\n==supervision.metrics.precision:[420:426]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[690:696]\n==supervision.metrics.mean_average_recall:[226:232]\n plt.rcParams[\"font.family\"] = \"monospace\"\n\n _, ax = plt.subplots(figsize=(10, 6))\n ax.set_ylim(0, 1)\n ax.set_ylabel(\"Value\", fontweight=\"bold\")\n title = (", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "cyclic-import", + "message": "Cyclic import (supervision -> supervision.detection.tools.polygon_zone)", + "message-id": "R0401" + } +] diff --git a/metrics-before-pylint/pylint_arquivos_criticos_antes.json b/metrics-before-pylint/pylint_arquivos_criticos_antes.json new file mode 100644 index 0000000000..f2440c76af --- /dev/null +++ b/metrics-before-pylint/pylint_arquivos_criticos_antes.json @@ -0,0 +1,421 @@ +[ + { + "arquivo": "src\\supervision\\annotators\\core.py", + "convention": 6, + "total": 135, + "error": 50, + "refactor": 57, + "warning": 22 + }, + { + "arquivo": "src\\supervision\\validators\\__init__.py", + "convention": 14, + "total": 66, + "refactor": 52 + }, + { + "arquivo": "src\\supervision\\detection\\core.py", + "convention": 39, + "total": 61, + "refactor": 9, + "warning": 1, + "error": 12 + }, + { + "arquivo": "src\\supervision\\detection\\line_zone.py", + "convention": 8, + "total": 45, + "refactor": 14, + "error": 23 + }, + { + "arquivo": "src\\supervision\\metrics\\mean_average_precision.py", + "convention": 20, + "total": 41, + "refactor": 17, + "error": 1, + "warning": 3 + }, + { + "arquivo": "src\\supervision\\utils\\image.py", + "convention": 8, + "total": 37, + "error": 19, + "refactor": 10 + }, + { + "arquivo": "src\\supervision\\__init__.py", + "convention": 34, + "total": 34 + }, + { + "arquivo": "src\\supervision\\draw\\color.py", + "convention": 22, + "total": 34, + "refactor": 1, + "error": 11 + }, + { + "arquivo": "src\\supervision\\detection\\vlm.py", + "convention": 9, + "total": 27, + "warning": 5, + "refactor": 9, + "error": 4 + }, + { + "arquivo": "src\\supervision\\key_points\\annotators.py", + "convention": 4, + "total": 27, + "refactor": 12, + "error": 11 + }, + { + "arquivo": "src\\supervision\\utils\\video.py", + "convention": 3, + "total": 26, + "error": 11, + "warning": 8, + "refactor": 4 + }, + { + "arquivo": "src\\supervision\\key_points\\core.py", + "convention": 14, + "total": 24, + "refactor": 8, + "error": 1, + "warning": 1 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "convention": 10, + "total": 23, + "warning": 3, + "refactor": 9, + "error": 1 + }, + { + "arquivo": "src\\supervision\\draw\\utils.py", + "convention": 1, + "total": 23, + "error": 20, + "refactor": 2 + }, + { + "arquivo": "src\\supervision\\assets\\list.py", + "convention": 19, + "total": 19 + }, + { + "arquivo": "src\\supervision\\dataset\\core.py", + "convention": 4, + "total": 17, + "error": 3, + "warning": 4, + "refactor": 6 + }, + { + "arquivo": "src\\supervision\\dataset\\formats\\yolo.py", + "convention": 5, + "total": 17, + "refactor": 10, + "warning": 1, + "error": 1 + }, + { + "arquivo": "src\\supervision\\annotators\\utils.py", + "convention": 11, + "total": 16, + "refactor": 5 + }, + { + "arquivo": "src\\supervision\\metrics\\detection.py", + "convention": 3, + "total": 16, + "refactor": 11, + "warning": 2 + }, + { + "arquivo": "src\\supervision\\tracker\\byte_tracker\\core.py", + "convention": 3, + "total": 16, + "refactor": 5, + "warning": 8 + }, + { + "arquivo": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "convention": 13, + "total": 16, + "refactor": 3 + }, + { + "arquivo": "src\\supervision\\detection\\compact_mask.py", + "convention": 3, + "total": 15, + "error": 2, + "refactor": 4, + "warning": 6 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\masks.py", + "convention": 3, + "total": 15, + "refactor": 4, + "error": 8 + }, + { + "arquivo": "src\\supervision\\metrics\\mean_average_recall.py", + "convention": 9, + "total": 15, + "refactor": 3, + "warning": 3 + }, + { + "arquivo": "src\\supervision\\dataset\\formats\\coco.py", + "convention": 5, + "total": 14, + "refactor": 9 + }, + { + "arquivo": "src\\supervision\\metrics\\recall.py", + "convention": 5, + "total": 12, + "warning": 4, + "error": 1, + "refactor": 2 + }, + { + "arquivo": "src\\supervision\\metrics\\f1_score.py", + "convention": 5, + "total": 11, + "warning": 3, + "error": 1, + "refactor": 2 + }, + { + "arquivo": "src\\supervision\\metrics\\precision.py", + "convention": 5, + "total": 11, + "warning": 3, + "error": 1, + "refactor": 2 + }, + { + "arquivo": "src\\supervision\\dataset\\utils.py", + "convention": 7, + "total": 10, + "warning": 2, + "error": 1 + }, + { + "arquivo": "src\\supervision\\detection\\tools\\inference_slicer.py", + "convention": 1, + "total": 9, + "refactor": 8 + }, + { + "arquivo": "src\\supervision\\utils\\file.py", + "convention": 2, + "total": 9, + "warning": 7 + }, + { + "arquivo": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "convention": 2, + "total": 8, + "refactor": 5, + "error": 1 + }, + { + "arquivo": "src\\supervision\\detection\\tools\\csv_sink.py", + "convention": 4, + "total": 8, + "refactor": 2, + "warning": 2 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\internal.py", + "convention": 2, + "total": 8, + "error": 3, + "refactor": 3 + }, + { + "arquivo": "src\\supervision\\utils\\conversion.py", + "convention": 4, + "total": 8, + "error": 4 + }, + { + "arquivo": "src\\supervision\\detection\\tools\\polygon_zone.py", + "convention": 1, + "total": 7, + "refactor": 5, + "error": 1 + }, + { + "arquivo": "src\\supervision\\detection\\tools\\transformers.py", + "convention": 1, + "total": 7, + "refactor": 6 + }, + { + "arquivo": "src\\supervision\\geometry\\core.py", + "convention": 7, + "total": 7 + }, + { + "arquivo": "src\\supervision\\metrics\\utils\\object_size.py", + "convention": 7, + "total": 7 + }, + { + "arquivo": "src\\supervision\\utils\\internal.py", + "convention": 2, + "total": 7, + "warning": 4, + "refactor": 1 + }, + { + "arquivo": "src\\supervision\\keypoint\\annotators.py", + "convention": 2, + "total": 6, + "warning": 4 + }, + { + "arquivo": "src\\supervision\\detection\\tools\\smoother.py", + "convention": 4, + "total": 5, + "refactor": 1 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\converters.py", + "convention": 1, + "total": 5, + "error": 4 + }, + { + "arquivo": "src\\supervision\\metrics\\utils\\utils.py", + "convention": 3, + "total": 5, + "warning": 2 + }, + { + "arquivo": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "convention": 5, + "total": 5 + }, + { + "arquivo": "src\\supervision\\utils\\notebook.py", + "convention": 1, + "total": 5, + "error": 4 + }, + { + "arquivo": "src\\supervision\\annotators\\base.py", + "convention": 3, + "total": 4, + "refactor": 1 + }, + { + "arquivo": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "convention": 4, + "total": 4 + }, + { + "arquivo": "src\\supervision\\detection\\tools\\json_sink.py", + "convention": 1, + "total": 3, + "warning": 1, + "refactor": 1 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\boxes.py", + "convention": 1, + "total": 3, + "error": 1, + "warning": 1 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\polygons.py", + "convention": 1, + "total": 3, + "error": 2 + }, + { + "arquivo": "src\\supervision\\keypoint\\core.py", + "convention": 2, + "total": 3, + "warning": 1 + }, + { + "arquivo": "src\\supervision\\keypoint\\__init__.py", + "convention": 3, + "total": 3 + }, + { + "arquivo": "src\\supervision\\key_points\\skeletons.py", + "convention": 3, + "total": 3 + }, + { + "arquivo": "src\\supervision\\classification\\core.py", + "convention": 2, + "total": 2 + }, + { + "arquivo": "src\\supervision\\draw\\base.py", + "convention": 2, + "total": 2 + }, + { + "arquivo": "src\\supervision\\config.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\assets\\downloader.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\assets\\__init__.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\vlms.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\geometry\\utils.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\metrics\\core.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\metrics\\__init__.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\utils\\iterables.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\utils\\logger.py", + "convention": 1, + "total": 1 + } +] \ No newline at end of file diff --git a/metrics-before-pylint/pylint_convention_antes.json b/metrics-before-pylint/pylint_convention_antes.json new file mode 100644 index 0000000000..af3fa60460 --- /dev/null +++ b/metrics-before-pylint/pylint_convention_antes.json @@ -0,0 +1,4851 @@ +[ + { + "type": "convention", + "module": "supervision.config", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\config.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 9, + "column": 0, + "endLine": 33, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.annotators.core import BackgroundOverlayAnnotator, BlurAnnotator, BoxAnnotator, BoxCornerAnnotator, CircleAnnotator, ColorAnnotator, ComparisonAnnotator, CropAnnotator, DotAnnotator, EllipseAnnotator, HaloAnnotator, HeatMapAnnotator, IconAnnotator, LabelAnnotator, MaskAnnotator, OrientedBoxAnnotator, PercentageBarAnnotator, PixelateAnnotator, PolygonAnnotator, RichLabelAnnotator, RoundBoxAnnotator, TraceAnnotator, TriangleAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 34, + "column": 0, + "endLine": 39, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.annotators.utils import ColorLookup, hex_to_rgba, is_valid_hex, rgba_to_hex\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 40, + "column": 0, + "endLine": 40, + "endColumn": 59, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.classification.core import Classifications\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 41, + "column": 0, + "endLine": 45, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.dataset.core import BaseDataset, ClassificationDataset, DetectionDataset\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 46, + "column": 0, + "endLine": 46, + "endColumn": 73, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.dataset.formats.coco import get_coco_class_index_mapping\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 47, + "column": 0, + "endLine": 47, + "endColumn": 58, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.compact_mask import CompactMask\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 48, + "column": 0, + "endLine": 48, + "endColumn": 49, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.core import Detections\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 49, + "column": 0, + "endLine": 53, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.line_zone import LineZone, LineZoneAnnotator, LineZoneAnnotatorMulticlass\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 54, + "column": 0, + "endLine": 54, + "endColumn": 56, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.csv_sink import CSVSink\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 55, + "column": 0, + "endLine": 55, + "endColumn": 72, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.inference_slicer import InferenceSlicer\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 56, + "column": 0, + "endLine": 56, + "endColumn": 58, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.json_sink import JSONSink\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 57, + "column": 0, + "endLine": 57, + "endColumn": 86, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.polygon_zone import PolygonZone, PolygonZoneAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 58, + "column": 0, + "endLine": 58, + "endColumn": 67, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.smoother import DetectionsSmoother\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 59, + "column": 0, + "endLine": 66, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.boxes import clip_boxes, denormalize_boxes, move_boxes, pad_boxes, scale_boxes, xyxyxyxy_to_xyxy\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 67, + "column": 0, + "endLine": 81, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.converters import is_compressed_rle, mask_to_polygons, mask_to_rle, mask_to_xyxy, polygon_to_mask, polygon_to_xyxy, rle_to_mask, xcycwh_to_xyxy, xywh_to_xyxy, xyxy_to_mask, xyxy_to_polygons, xyxy_to_xcycarh, xyxy_to_xywh\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 82, + "column": 0, + "endLine": 96, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.iou_and_nms import OverlapFilter, OverlapMetric, box_iou, box_iou_batch, box_iou_batch_with_jaccard, box_non_max_merge, box_non_max_suppression, mask_iou_batch, mask_non_max_merge, mask_non_max_suppression, oriented_box_iou_batch, oriented_box_non_max_merge, oriented_box_non_max_suppression\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 97, + "column": 0, + "endLine": 103, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.masks import calculate_masks_centroids, contains_holes, contains_multiple_segments, filter_segments_by_distance, move_masks\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 104, + "column": 0, + "endLine": 107, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.polygons import approximate_polygon, filter_polygons_by_area\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 108, + "column": 0, + "endLine": 108, + "endColumn": 77, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.vlms import edit_distance, fuzzy_match_index\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 109, + "column": 0, + "endLine": 109, + "endColumn": 46, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.vlm import LMM, VLM\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 110, + "column": 0, + "endLine": 110, + "endColumn": 54, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.draw.color import Color, ColorPalette\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 111, + "column": 0, + "endLine": 121, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.draw.utils import calculate_optimal_line_thickness, calculate_optimal_text_scale, draw_filled_polygon, draw_filled_rectangle, draw_image, draw_line, draw_polygon, draw_rectangle, draw_text\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 122, + "column": 0, + "endLine": 122, + "endColumn": 59, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.geometry.core import Point, Position, Rect\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 123, + "column": 0, + "endLine": 123, + "endColumn": 57, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.geometry.utils import get_polygon_center\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 124, + "column": 0, + "endLine": 132, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.annotators import EdgeAnnotator, VertexAnnotator, VertexEllipseAnnotator, VertexEllipseAreaAnnotator, VertexEllipseHaloAnnotator, VertexEllipseOutlineAnnotator, VertexLabelAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 49, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.core import KeyPoints\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 134, + "column": 0, + "endLine": 134, + "endColumn": 79, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.metrics.detection import ConfusionMatrix, MeanAveragePrecision\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 135, + "column": 0, + "endLine": 135, + "endColumn": 59, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.tracker.byte_tracker.core import ByteTrack\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 136, + "column": 0, + "endLine": 136, + "endColumn": 69, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.conversion import cv2_to_pillow, pillow_to_cv2\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 137, + "column": 0, + "endLine": 137, + "endColumn": 61, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.file import list_files_with_extensions\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 138, + "column": 0, + "endLine": 148, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.image import ImageSink, crop_image, get_image_resolution_wh, grayscale_image, letterbox_image, overlay_image, resize_image, scale_image, tint_image\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 149, + "column": 0, + "endLine": 149, + "endColumn": 67, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.notebook import plot_image, plot_images_grid\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 150, + "column": 0, + "endLine": 156, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.video import FPSMonitor, VideoInfo, VideoSink, get_video_frames_generator, process_video\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.annotators.base", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.annotators.base", + "obj": "BaseAnnotator", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 19, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.annotators.base", + "obj": "BaseAnnotator.annotate", + "line": 9, + "column": 4, + "endLine": 9, + "endColumn": 16, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (3294/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.draw_rounded_rectangle", + "line": 1470, + "column": 4, + "endLine": 1470, + "endColumn": 30, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2722, + "column": 4, + "endLine": 2722, + "endColumn": 36, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.validate_custom_values", + "line": 2783, + "column": 4, + "endLine": 2783, + "endColumn": 30, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2904, + "column": 4, + "endLine": 2904, + "endColumn": 34, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "ColorLookup.list", + "line": 36, + "column": 4, + "endLine": 36, + "endColumn": 12, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "resolve_color_idx", + "line": 40, + "column": 0, + "endLine": 40, + "endColumn": 21, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 32, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "get_color_by_index", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 22, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "resolve_color", + "line": 139, + "column": 0, + "endLine": 139, + "endColumn": 17, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "validate_labels", + "line": 231, + "column": 0, + "endLine": 231, + "endColumn": 19, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "Trace", + "line": 332, + "column": 0, + "endLine": 332, + "endColumn": 11, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "Trace.put", + "line": 347, + "column": 4, + "endLine": 347, + "endColumn": 11, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "Trace.get", + "line": 377, + "column": 4, + "endLine": 377, + "endColumn": 11, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "rgba_to_hex", + "line": 427, + "column": 11, + "endLine": 427, + "endColumn": 38, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "consider-using-f-string", + "message": "Formatting a regular string which could be an f-string", + "message-id": "C0209" + }, + { + "type": "convention", + "module": "supervision.assets.downloader", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\downloader.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 28, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 29, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 30, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 31, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 32, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 33, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 34, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 35, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 36, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 37, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 38, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 39, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 62, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 63, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 64, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 65, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "Assets", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 12, + "path": "src\\supervision\\assets\\list.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "Assets.list", + "line": 19, + "column": 4, + "endLine": 19, + "endColumn": 12, + "path": "src\\supervision\\assets\\list.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.assets", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.classification.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\classification\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.classification.core", + "obj": "Classifications", + "line": 33, + "column": 0, + "endLine": 33, + "endColumn": 21, + "path": "src\\supervision\\classification\\core.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "BaseDataset", + "line": 41, + "column": 0, + "endLine": 41, + "endColumn": 17, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "BaseDataset.split", + "line": 47, + "column": 4, + "endLine": 47, + "endColumn": 13, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_yolo", + "line": 552, + "column": 12, + "endLine": 552, + "endColumn": 27, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (warnings)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "", + "line": 29, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "line-too-long", + "message": "Line too long (111/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "", + "line": 37, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "line-too-long", + "message": "Line too long (111/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "approximate_mask_with_polygons", + "line": 52, + "column": 0, + "endLine": 52, + "endColumn": 34, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "merge_class_lists", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 21, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "map_detections_class_id", + "line": 108, + "column": 0, + "endLine": 108, + "endColumn": 27, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 128, + "column": 0, + "endLine": 128, + "endColumn": 23, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "coco_categories_to_classes", + "line": 29, + "column": 0, + "endLine": 29, + "endColumn": 30, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "build_coco_class_index_mapping", + "line": 36, + "column": 0, + "endLine": 36, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "group_coco_annotations_by_image_id", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 38, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "coco_annotations_to_masks", + "line": 96, + "column": 0, + "endLine": 96, + "endColumn": 29, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "parse_polygon_points", + "line": 339, + "column": 0, + "endLine": 339, + "endColumn": 24, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "", + "line": 252, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "line-too-long", + "message": "Line too long (124/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "yolo_annotations_to_detections", + "line": 138, + "column": 0, + "endLine": 138, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "object_to_yolo", + "line": 274, + "column": 0, + "endLine": 274, + "endColumn": 18, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "save_data_yaml", + "line": 474, + "column": 0, + "endLine": 474, + "endColumn": 18, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.compact_mask", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1306/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.detection.compact_mask", + "obj": "_resize_crop", + "line": 369, + "column": 4, + "endLine": 369, + "endColumn": 14, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (cv2)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.resize", + "line": 1233, + "column": 8, + "endLine": 1233, + "endColumn": 57, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (concurrent.futures.ThreadPoolExecutor)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 73, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (143/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 77, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (115/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 93, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (119/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 109, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (121/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 437, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (101/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 983, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 984, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 985, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 986, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 987, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 988, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 989, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 990, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 991, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1044, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (102/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1406, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (204/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1420, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (106/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1469, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1470, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1471, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1472, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1473, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1474, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1475, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1476, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1477, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1478, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1531, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (102/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1864, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (204/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1878, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (106/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 2580, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (119/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (2934/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.__iter__", + "line": 196, + "column": 8, + "endLine": 204, + "endColumn": 13, + "path": "src\\supervision\\detection\\core.py", + "symbol": "consider-using-enumerate", + "message": "Consider using enumerate instead of iterating with range and len", + "message-id": "C0200" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2185, + "column": 19, + "endLine": 2185, + "endColumn": 43, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2187, + "column": 19, + "endLine": 2187, + "endColumn": 43, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2190, + "column": 25, + "endLine": 2190, + "endColumn": 49, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2195, + "column": 30, + "endLine": 2195, + "endColumn": 54, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "validate_fields_both_defined_or_none", + "line": 2931, + "column": 0, + "endLine": 2931, + "endColumn": 40, + "path": "src\\supervision\\detection\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "", + "line": 33, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "line-too-long", + "message": "Line too long (118/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.in_count", + "line": 130, + "column": 4, + "endLine": 130, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.out_count", + "line": 134, + "column": 4, + "endLine": 134, + "endColumn": 17, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.in_count_per_class", + "line": 138, + "column": 4, + "endLine": 138, + "endColumn": 26, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.out_count_per_class", + "line": 142, + "column": 4, + "endLine": 142, + "endColumn": 27, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator", + "line": 330, + "column": 0, + "endLine": 330, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass", + "line": 713, + "column": 0, + "endLine": 713, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "", + "line": 437, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "line-too-long", + "message": "Line too long (172/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "LMM.list", + "line": 50, + "column": 4, + "endLine": 50, + "endColumn": 12, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "LMM.from_value", + "line": 54, + "column": 4, + "endLine": 54, + "endColumn": 18, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "VLM.list", + "line": 97, + "column": 4, + "endLine": 97, + "endColumn": 12, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "VLM.from_value", + "line": 101, + "column": 4, + "endLine": 101, + "endColumn": 18, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "validate_vlm_parameters", + "line": 211, + "column": 0, + "endLine": 211, + "endColumn": 27, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_0", + "line": 636, + "column": 21, + "endLine": 636, + "endColumn": 40, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "use-maxsplit-arg", + "message": "Use result.split('```', maxsplit=1)[0] instead", + "message-id": "C0207" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 727, + "column": 21, + "endLine": 727, + "endColumn": 40, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "use-maxsplit-arg", + "message": "Use result.split('```', maxsplit=1)[0] instead", + "message-id": "C0207" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "WriterProtocol", + "line": 27, + "column": 0, + "endLine": 27, + "endColumn": 20, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "WriterProtocol.writerow", + "line": 28, + "column": 4, + "endLine": 28, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.parse_field_names", + "line": 234, + "column": 4, + "endLine": 234, + "endColumn": 25, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.json_sink", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\json_sink.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.update_with_detections", + "line": 117, + "column": 8, + "endLine": 121, + "endColumn": 87, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "consider-using-enumerate", + "message": "Consider using enumerate instead of iterating with range and len", + "message-id": "C0200" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.update_with_detections", + "line": 123, + "column": 8, + "endLine": 125, + "endColumn": 50, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "consider-using-dict-items", + "message": "Consider iterating with .items()", + "message-id": "C0206" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.get_smoothed_detections", + "line": 166, + "column": 4, + "endLine": 166, + "endColumn": 31, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.transformers", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.boxes", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\boxes.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.converters", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.internal", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.internal", + "obj": "extract_ultralytics_masks", + "line": 18, + "column": 0, + "endLine": 18, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1453/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapFilter.list", + "line": 35, + "column": 4, + "endLine": 35, + "endColumn": 12, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapFilter.from_value", + "line": 39, + "column": 4, + "endLine": 39, + "endColumn": 18, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapMetric.list", + "line": 71, + "column": 4, + "endLine": 71, + "endColumn": 12, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapMetric.from_value", + "line": 75, + "column": 4, + "endLine": 75, + "endColumn": 18, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 280, + "column": 4, + "endLine": 280, + "endColumn": 7, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"EPS\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 294, + "column": 4, + "endLine": 294, + "endColumn": 6, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"Aa\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 295, + "column": 4, + "endLine": 295, + "endColumn": 6, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"Ab\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 296, + "column": 4, + "endLine": 296, + "endColumn": 6, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"Ai\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.masks", + "obj": "", + "line": 188, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "line-too-long", + "message": "Line too long (113/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.utils.masks", + "obj": "", + "line": 249, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "line-too-long", + "message": "Line too long (137/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.utils.masks", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.polygons", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\polygons.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.vlms", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\vlms.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.draw.base", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\draw\\base.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.draw.base", + "obj": "", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 9, + "path": "src\\supervision\\draw\\base.py", + "symbol": "invalid-name", + "message": "Type variable name \"ImageType\" doesn't conform to predefined naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.WHITE", + "line": 356, + "column": 4, + "endLine": 356, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.WHITE", + "line": 356, + "column": 4, + "endLine": 356, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"WHITE\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLACK", + "line": 360, + "column": 4, + "endLine": 360, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLACK", + "line": 360, + "column": 4, + "endLine": 360, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"BLACK\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREY", + "line": 364, + "column": 4, + "endLine": 364, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREY", + "line": 364, + "column": 4, + "endLine": 364, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"GREY\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.RED", + "line": 368, + "column": 4, + "endLine": 368, + "endColumn": 11, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.RED", + "line": 368, + "column": 4, + "endLine": 368, + "endColumn": 11, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"RED\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREEN", + "line": 372, + "column": 4, + "endLine": 372, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREEN", + "line": 372, + "column": 4, + "endLine": 372, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"GREEN\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLUE", + "line": 376, + "column": 4, + "endLine": 376, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLUE", + "line": 376, + "column": 4, + "endLine": 376, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"BLUE\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.YELLOW", + "line": 380, + "column": 4, + "endLine": 380, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.YELLOW", + "line": 380, + "column": 4, + "endLine": 380, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"YELLOW\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.ROBOFLOW", + "line": 384, + "column": 4, + "endLine": 384, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.ROBOFLOW", + "line": 384, + "column": 4, + "endLine": 384, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"ROBOFLOW\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette", + "line": 406, + "column": 0, + "endLine": 406, + "endColumn": 18, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.DEFAULT", + "line": 410, + "column": 4, + "endLine": 410, + "endColumn": 15, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"DEFAULT\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.ROBOFLOW", + "line": 431, + "column": 4, + "endLine": 431, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"ROBOFLOW\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.LEGACY", + "line": 452, + "column": 4, + "endLine": 452, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.LEGACY", + "line": 452, + "column": 4, + "endLine": 452, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"LEGACY\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Position.list", + "line": 25, + "column": 4, + "endLine": 25, + "endColumn": 12, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.from_xyxy", + "line": 176, + "column": 4, + "endLine": 176, + "endColumn": 17, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.top_left", + "line": 181, + "column": 4, + "endLine": 181, + "endColumn": 16, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.bottom_right", + "line": 185, + "column": 4, + "endLine": 185, + "endColumn": 20, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.pad", + "line": 188, + "column": 4, + "endLine": 188, + "endColumn": 11, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.as_xyxy_int_tuple", + "line": 196, + "column": 4, + "endLine": 196, + "endColumn": 25, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\geometry\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.annotators import BaseKeyPointAnnotator, EdgeAnnotator, VertexAnnotator, VertexLabelAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.keypoint.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\keypoint\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint.core", + "obj": "", + "line": 8, + "column": 0, + "endLine": 8, + "endColumn": 49, + "path": "src\\supervision\\keypoint\\core.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.core import KeyPoints\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.keypoint", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\keypoint\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint", + "obj": "", + "line": 8, + "column": 0, + "endLine": 12, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.annotators import EdgeAnnotator, VertexAnnotator, VertexLabelAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.keypoint", + "obj": "", + "line": 13, + "column": 0, + "endLine": 13, + "endColumn": 49, + "path": "src\\supervision\\keypoint\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.core import KeyPoints\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "BaseKeyPointAnnotator", + "line": 24, + "column": 0, + "endLine": 24, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "BaseKeyPointAnnotator.annotate", + "line": 26, + "column": 4, + "endLine": 26, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.get_text_bounding_box", + "line": 908, + "column": 4, + "endLine": 908, + "endColumn": 29, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 101, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (124/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 102, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (148/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 119, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (120/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 136, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (120/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 169, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (126/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 170, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (110/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 189, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (105/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 493, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (116/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 639, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (130/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 777, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (109/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1294/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 23, + "column": 0, + "endLine": 23, + "endColumn": 7, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "invalid-name", + "message": "Type alias name \"Index1D\" doesn't conform to predefined naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__iter__", + "line": 359, + "column": 8, + "endLine": 367, + "endColumn": 13, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "consider-using-enumerate", + "message": "Consider using enumerate instead of iterating with range and len", + "message-id": "C0200" + }, + { + "type": "convention", + "module": "supervision.key_points.skeletons", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\skeletons.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (2646/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.key_points.skeletons", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\skeletons.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.key_points.skeletons", + "obj": "Skeleton", + "line": 6, + "column": 0, + "endLine": 6, + "endColumn": 14, + "path": "src\\supervision\\key_points\\skeletons.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.metrics.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.detection", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1120/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.metrics.detection", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.detection", + "obj": "validate_input_tensors", + "line": 192, + "column": 0, + "endLine": 192, + "endColumn": 26, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.f1_50", + "line": 546, + "column": 4, + "endLine": 546, + "endColumn": 13, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.f1_75", + "line": 550, + "column": 4, + "endLine": 550, + "endColumn": 13, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.to_pandas", + "line": 638, + "column": 8, + "endLine": 638, + "endColumn": 27, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.plot", + "line": 709, + "column": 12, + "endLine": 709, + "endColumn": 15, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 731, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "superfluous-parens", + "message": "Unnecessary parens after 'not' keyword", + "message-id": "C0325" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1520/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult", + "line": 78, + "column": 4, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAP_scores\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.to_pandas", + "line": 153, + "column": 8, + "endLine": 153, + "endColumn": 27, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.plot", + "line": 233, + "column": 12, + "endLine": 233, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.empty", + "line": 281, + "column": 4, + "endLine": 281, + "endColumn": 13, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate.compute_average_precision", + "line": 1030, + "column": 12, + "endLine": 1030, + "endColumn": 22, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 1043, + "column": 8, + "endLine": 1043, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_all_sizes\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 1052, + "column": 8, + "endLine": 1052, + "endColumn": 24, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_small\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 1061, + "column": 8, + "endLine": 1061, + "endColumn": 25, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_medium\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 1070, + "column": 8, + "endLine": 1070, + "endColumn": 24, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_large\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._pycocotools_summarize._summarize", + "line": 1108, + "column": 12, + "endLine": 1108, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"iStr\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._pycocotools_summarize._summarize", + "line": 1109, + "column": 12, + "endLine": 1109, + "endColumn": 20, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"titleStr\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._pycocotools_summarize._summarize", + "line": 1110, + "column": 12, + "endLine": 1110, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"typeStr\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1475, + "column": 8, + "endLine": 1475, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"cocoEval\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1481, + "column": 8, + "endLine": 1481, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_small\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1490, + "column": 8, + "endLine": 1490, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_medium\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1499, + "column": 8, + "endLine": 1499, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_large\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1509, + "column": 8, + "endLine": 1509, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_result\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_1", + "line": 64, + "column": 4, + "endLine": 64, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_1", + "line": 64, + "column": 4, + "endLine": 64, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAR_at_1\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_10", + "line": 68, + "column": 4, + "endLine": 68, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_10", + "line": 68, + "column": 4, + "endLine": 68, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAR_at_10\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_100", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_100", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAR_at_100\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.to_pandas", + "line": 162, + "column": 8, + "endLine": 162, + "endColumn": 27, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.plot", + "line": 243, + "column": 12, + "endLine": 243, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.precision_at_50", + "line": 555, + "column": 4, + "endLine": 555, + "endColumn": 23, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.precision_at_75", + "line": 559, + "column": 4, + "endLine": 559, + "endColumn": 23, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.to_pandas", + "line": 651, + "column": 8, + "endLine": 651, + "endColumn": 27, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.plot", + "line": 722, + "column": 12, + "endLine": 722, + "endColumn": 15, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.recall_at_50", + "line": 511, + "column": 4, + "endLine": 511, + "endColumn": 20, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.recall_at_75", + "line": 515, + "column": 4, + "endLine": 515, + "endColumn": 20, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.to_pandas", + "line": 605, + "column": 8, + "endLine": 605, + "endColumn": 27, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.plot", + "line": 676, + "column": 12, + "endLine": 676, + "endColumn": 15, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_bbox_size_category", + "line": 119, + "column": 4, + "endLine": 119, + "endColumn": 6, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"SM\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_bbox_size_category", + "line": 119, + "column": 8, + "endLine": 119, + "endColumn": 10, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"LG\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_mask_size_category", + "line": 161, + "column": 4, + "endLine": 161, + "endColumn": 6, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"SM\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_mask_size_category", + "line": 161, + "column": 8, + "endLine": 161, + "endColumn": 10, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"LG\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_obb_size_category", + "line": 207, + "column": 4, + "endLine": 207, + "endColumn": 6, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"SM\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_obb_size_category", + "line": 207, + "column": 8, + "endLine": 207, + "endColumn": 10, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"LG\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 1, + "column": 0, + "endLine": 1, + "endColumn": 27, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 3, + "column": 8, + "endLine": 3, + "endColumn": 21, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "", + "line": 33, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "line-too-long", + "message": "Line too long (145/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "remove_duplicate_tracks", + "line": 383, + "column": 0, + "endLine": 383, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.kalman_filter", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "indices_to_matches", + "line": 15, + "column": 0, + "endLine": 15, + "endColumn": 22, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "linear_assignment", + "line": 27, + "column": 0, + "endLine": 27, + "endColumn": 21, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "iou_distance", + "line": 44, + "column": 0, + "endLine": 44, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "fuse_score", + "line": 65, + "column": 0, + "endLine": 65, + "endColumn": 14, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 12, + "column": 0, + "endLine": 12, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 13, + "column": 4, + "endLine": 13, + "endColumn": 7, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"New\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 14, + "column": 4, + "endLine": 14, + "endColumn": 11, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"Tracked\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 15, + "column": 4, + "endLine": 15, + "endColumn": 8, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"Lost\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 16, + "column": 4, + "endLine": 16, + "endColumn": 11, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"Removed\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack", + "line": 19, + "column": 0, + "endLine": 19, + "endColumn": 12, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.predict", + "line": 51, + "column": 4, + "endLine": 51, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 63, + "column": 4, + "endLine": 63, + "endColumn": 21, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.re_activate", + "line": 100, + "column": 4, + "endLine": 100, + "endColumn": 19, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.to_xyah", + "line": 170, + "column": 4, + "endLine": 170, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.tlbr_to_tlwh", + "line": 174, + "column": 4, + "endLine": 174, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.tlwh_to_tlbr", + "line": 180, + "column": 4, + "endLine": 180, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "IdCounter", + "line": 4, + "column": 0, + "endLine": 4, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "IdCounter.NO_ID", + "line": 36, + "column": 4, + "endLine": 36, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "IdCounter.NO_ID", + "line": 36, + "column": 4, + "endLine": 36, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "invalid-name", + "message": "Attribute name \"NO_ID\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "ensure_cv2_image_for_annotation", + "line": 48, + "column": 0, + "endLine": 48, + "endColumn": 35, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "ensure_pil_image_for_annotation", + "line": 110, + "column": 0, + "endLine": 110, + "endColumn": 35, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "ensure_cv2_image_for_processing", + "line": 121, + "column": 0, + "endLine": 121, + "endColumn": 35, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.utils.file", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\file.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.file", + "obj": "NumpyJsonEncoder", + "line": 11, + "column": 0, + "endLine": 11, + "endColumn": 22, + "path": "src\\supervision\\utils\\file.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 75, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (125/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 133, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (127/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 191, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (129/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 253, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (135/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 390, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (125/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 428, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (135/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "ImageSink", + "line": 481, + "column": 0, + "endLine": 481, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.utils.internal", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.internal", + "obj": "classproperty", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 19, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "invalid-name", + "message": "Class name \"classproperty\" doesn't conform to PascalCase naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.utils.iterables", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\iterables.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.logger", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\logger.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.notebook", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 59, + "column": 4, + "endLine": 59, + "endColumn": 23, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "VideoInfo.resolution_wh", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 21, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_xyxy", + "line": 33, + "column": 0, + "endLine": 33, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_mask", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_class_id", + "line": 102, + "column": 0, + "endLine": 102, + "endColumn": 21, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_confidence", + "line": 125, + "column": 0, + "endLine": 125, + "endColumn": 23, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_key_point_confidence", + "line": 156, + "column": 0, + "endLine": 156, + "endColumn": 33, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_keypoint_confidence", + "line": 165, + "column": 0, + "endLine": 165, + "endColumn": 32, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_tracker_id", + "line": 187, + "column": 0, + "endLine": 187, + "endColumn": 23, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_data", + "line": 212, + "column": 0, + "endLine": 212, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_xy", + "line": 232, + "column": 0, + "endLine": 232, + "endColumn": 15, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_detections_fields", + "line": 281, + "column": 0, + "endLine": 281, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_key_points_fields", + "line": 317, + "column": 0, + "endLine": 317, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_keypoints_fields", + "line": 328, + "column": 0, + "endLine": 328, + "endColumn": 29, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_resolution", + "line": 362, + "column": 0, + "endLine": 362, + "endColumn": 23, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + } +] \ No newline at end of file diff --git a/metrics-before-pylint/pylint_distribuicao_categorias_antes.json b/metrics-before-pylint/pylint_distribuicao_categorias_antes.json new file mode 100644 index 0000000000..225e6110ac --- /dev/null +++ b/metrics-before-pylint/pylint_distribuicao_categorias_antes.json @@ -0,0 +1,22 @@ +[ + { + "categoria": "convention", + "ocorrencias": 373, + "percentual": 38.1 + }, + { + "categoria": "refactor", + "ocorrencias": 303, + "percentual": 30.95 + }, + { + "categoria": "error", + "ocorrencias": 202, + "percentual": 20.63 + }, + { + "categoria": "warning", + "ocorrencias": 101, + "percentual": 10.32 + } +] \ No newline at end of file diff --git a/metrics-before-pylint/pylint_error_antes.json b/metrics-before-pylint/pylint_error_antes.json new file mode 100644 index 0000000000..43762072bf --- /dev/null +++ b/metrics-before-pylint/pylint_error_antes.json @@ -0,0 +1,2628 @@ +[ + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "", + "line": 80, + "column": 11, + "endLine": 80, + "endColumn": 35, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BoxAnnotator.annotate", + "line": 267, + "column": 12, + "endLine": 267, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "OrientedBoxAnnotator.annotate", + "line": 359, + "column": 12, + "endLine": 359, + "endColumn": 28, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'drawContours' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "MaskAnnotator.annotate", + "line": 505, + "column": 8, + "endLine": 505, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator.annotate", + "line": 684, + "column": 12, + "endLine": 684, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator.annotate", + "line": 692, + "column": 8, + "endLine": 692, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 786, + "column": 23, + "endLine": 786, + "endColumn": 31, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'blur' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 788, + "column": 15, + "endLine": 788, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 788, + "column": 42, + "endLine": 788, + "endColumn": 60, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2GRAY' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator.annotate", + "line": 885, + "column": 12, + "endLine": 885, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator.annotate", + "line": 894, + "column": 25, + "endLine": 894, + "endColumn": 35, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_4' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator.annotate", + "line": 983, + "column": 16, + "endLine": 983, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator.annotate", + "line": 988, + "column": 16, + "endLine": 988, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "CircleAnnotator.annotate", + "line": 1075, + "column": 12, + "endLine": 1075, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.annotate", + "line": 1177, + "column": 12, + "endLine": 1177, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.annotate", + "line": 1187, + "column": 16, + "endLine": 1187, + "endColumn": 26, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._get_label_properties", + "line": 1354, + "column": 35, + "endLine": 1354, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1437, + "column": 34, + "endLine": 1437, + "endColumn": 49, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1446, + "column": 30, + "endLine": 1446, + "endColumn": 45, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1456, + "column": 16, + "endLine": 1456, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1464, + "column": 29, + "endLine": 1464, + "endColumn": 40, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.draw_rounded_rectangle", + "line": 1494, + "column": 12, + "endLine": 1494, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.draw_rounded_rectangle", + "line": 1502, + "column": 12, + "endLine": 1502, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "IconAnnotator.annotate", + "line": 1880, + "column": 23, + "endLine": 1880, + "endColumn": 57, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for classmethod call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "IconAnnotator._load_icon", + "line": 1885, + "column": 15, + "endLine": 1885, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "IconAnnotator._load_icon", + "line": 1885, + "column": 37, + "endLine": 1885, + "endColumn": 57, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'IMREAD_UNCHANGED' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BlurAnnotator.annotate", + "line": 1968, + "column": 18, + "endLine": 1968, + "endColumn": 26, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'blur' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.annotate", + "line": 2109, + "column": 16, + "endLine": 2109, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'polylines' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2206, + "column": 12, + "endLine": 2206, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2220, + "column": 19, + "endLine": 2220, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'blur' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2223, + "column": 15, + "endLine": 2223, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2223, + "column": 33, + "endLine": 2223, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_HSV2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2224, + "column": 15, + "endLine": 2224, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2224, + "column": 61, + "endLine": 2224, + "endColumn": 79, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_GRAY2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2225, + "column": 22, + "endLine": 2225, + "endColumn": 37, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2305, + "column": 42, + "endLine": 2305, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'mean' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2308, + "column": 42, + "endLine": 2308, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'mean' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2311, + "column": 28, + "endLine": 2311, + "endColumn": 38, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2314, + "column": 30, + "endLine": 2314, + "endColumn": 40, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2317, + "column": 30, + "endLine": 2317, + "endColumn": 47, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_NEAREST' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.annotate", + "line": 2427, + "column": 12, + "endLine": 2427, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.annotate", + "line": 2437, + "column": 16, + "endLine": 2437, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'polylines' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2561, + "column": 16, + "endLine": 2561, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2572, + "column": 16, + "endLine": 2572, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.annotate", + "line": 2702, + "column": 12, + "endLine": 2702, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.annotate", + "line": 2712, + "column": 12, + "endLine": 2712, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2884, + "column": 20, + "endLine": 2884, + "endColumn": 85, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'image' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2893, + "column": 12, + "endLine": 2893, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BackgroundOverlayAnnotator.annotate", + "line": 3016, + "column": 8, + "endLine": 3016, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator._draw_labels", + "line": 3256, + "column": 26, + "endLine": 3256, + "endColumn": 41, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.core", + "obj": "DetectionDataset._get_image", + "line": 105, + "column": 16, + "endLine": 105, + "endColumn": 26, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.core", + "obj": "ClassificationDataset._get_image", + "line": 770, + "column": 16, + "endLine": 770, + "endColumn": 26, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.core", + "obj": "ClassificationDataset.as_folder_structure", + "line": 919, + "column": 12, + "endLine": 919, + "endColumn": 23, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imwrite' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 134, + "column": 12, + "endLine": 134, + "endColumn": 23, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imwrite' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "load_pascal_voc_annotations", + "line": 223, + "column": 16, + "endLine": 223, + "endColumn": 26, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.formats.yolo", + "obj": "yolo_annotations_to_detections", + "line": 172, + "column": 19, + "endLine": 172, + "endColumn": 54, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for method call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.detection.compact_mask", + "obj": "_resize_crop", + "line": 381, + "column": 14, + "endLine": 381, + "endColumn": 24, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.compact_mask", + "obj": "_resize_crop", + "line": 384, + "column": 22, + "endLine": 384, + "endColumn": 39, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_NEAREST' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2815, + "column": 13, + "endLine": 2815, + "endColumn": 30, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'xyxy' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2817, + "column": 7, + "endLine": 2817, + "endColumn": 30, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2820, + "column": 15, + "endLine": 2820, + "endColumn": 38, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2825, + "column": 31, + "endLine": 2825, + "endColumn": 54, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2834, + "column": 7, + "endLine": 2834, + "endColumn": 24, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'mask' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2837, + "column": 36, + "endLine": 2837, + "endColumn": 53, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'mask' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2839, + "column": 7, + "endLine": 2839, + "endColumn": 30, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2841, + "column": 9, + "endLine": 2841, + "endColumn": 32, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2846, + "column": 31, + "endLine": 2846, + "endColumn": 52, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'metadata' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detections_objects", + "line": 2873, + "column": 19, + "endLine": 2873, + "endColumn": 29, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unsubscriptable-object", + "message": "Value 'detections' is unsubscriptable", + "message-id": "E1136" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detections_objects", + "line": 2874, + "column": 24, + "endLine": 2874, + "endColumn": 34, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unsubscriptable-object", + "message": "Value 'detections' is unsubscriptable", + "message-id": "E1136" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detections_objects", + "line": 2883, + "column": 23, + "endLine": 2883, + "endColumn": 84, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for classmethod call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 402, + "column": 8, + "endLine": 402, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 408, + "column": 21, + "endLine": 408, + "endColumn": 32, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 411, + "column": 8, + "endLine": 411, + "endColumn": 18, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 417, + "column": 21, + "endLine": 417, + "endColumn": 32, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 419, + "column": 8, + "endLine": 419, + "endColumn": 18, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 425, + "column": 21, + "endLine": 425, + "endColumn": 32, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_basic_label", + "line": 566, + "column": 25, + "endLine": 566, + "endColumn": 40, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_basic_label", + "line": 567, + "column": 18, + "endLine": 567, + "endColumn": 42, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_oriented_label", + "line": 623, + "column": 34, + "endLine": 623, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_oriented_label", + "line": 624, + "column": 18, + "endLine": 624, + "endColumn": 42, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_oriented_label", + "line": 635, + "column": 16, + "endLine": 635, + "endColumn": 63, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for classmethod call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 668, + "column": 34, + "endLine": 668, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 669, + "column": 18, + "endLine": 669, + "endColumn": 42, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 702, + "column": 25, + "endLine": 702, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'flip' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 705, + "column": 26, + "endLine": 705, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getRotationMatrix2D' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 708, + "column": 21, + "endLine": 708, + "endColumn": 35, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'warpAffine' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 817, + "column": 38, + "endLine": 817, + "endColumn": 53, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 818, + "column": 22, + "endLine": 818, + "endColumn": 46, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 855, + "column": 29, + "endLine": 855, + "endColumn": 44, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 856, + "column": 22, + "endLine": 856, + "endColumn": 46, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 862, + "column": 12, + "endLine": 862, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 866, + "column": 25, + "endLine": 866, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 870, + "column": 25, + "endLine": 870, + "endColumn": 36, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_florence_2", + "line": 539, + "column": 19, + "endLine": 539, + "endColumn": 45, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for method call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_0", + "line": 661, + "column": 11, + "endLine": 665, + "endColumn": 5, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'resolution_wh' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 761, + "column": 24, + "endLine": 765, + "endColumn": 9, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'resolution_wh' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_moondream", + "line": 914, + "column": 8, + "endLine": 917, + "endColumn": 9, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'resolution_wh' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "error", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.__init__", + "line": 150, + "column": 20, + "endLine": 150, + "endColumn": 44, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.boxes", + "obj": "denormalize_boxes", + "line": 156, + "column": 13, + "endLine": 156, + "endColumn": 22, + "path": "src\\supervision\\detection\\utils\\boxes.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.utils.boxes' has no 'copy' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "polygon_to_mask", + "line": 48, + "column": 4, + "endLine": 48, + "endColumn": 16, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "mask_to_polygons", + "line": 322, + "column": 18, + "endLine": 322, + "endColumn": 34, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'findContours' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "mask_to_polygons", + "line": 323, + "column": 31, + "endLine": 323, + "endColumn": 44, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'RETR_TREE' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "mask_to_polygons", + "line": 323, + "column": 46, + "endLine": 323, + "endColumn": 69, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CHAIN_APPROX_SIMPLE' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.internal", + "obj": "extract_ultralytics_masks", + "line": 47, + "column": 19, + "endLine": 47, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.internal", + "obj": "process_roboflow_result", + "line": 128, + "column": 27, + "endLine": 128, + "endColumn": 37, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.internal", + "obj": "process_roboflow_result", + "line": 131, + "column": 38, + "endLine": 131, + "endColumn": 55, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_NEAREST' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_iou_batch", + "line": 545, + "column": 26, + "endLine": 545, + "endColumn": 51, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'intersectConvexConvex' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_holes", + "line": 191, + "column": 19, + "endLine": 191, + "endColumn": 35, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'findContours' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_holes", + "line": 191, + "column": 48, + "endLine": 191, + "endColumn": 62, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'RETR_CCOMP' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_holes", + "line": 191, + "column": 64, + "endLine": 191, + "endColumn": 87, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CHAIN_APPROX_SIMPLE' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_multiple_segments", + "line": 257, + "column": 26, + "endLine": 257, + "endColumn": 49, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'connectedComponents' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 384, + "column": 43, + "endLine": 384, + "endColumn": 75, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'connectedComponentsWithStats' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 391, + "column": 22, + "endLine": 391, + "endColumn": 38, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CC_STAT_AREA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 413, + "column": 29, + "endLine": 413, + "endColumn": 50, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'distanceTransform' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 413, + "column": 60, + "endLine": 413, + "endColumn": 71, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'DIST_L2' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.polygons", + "obj": "filter_polygons_by_area", + "line": 35, + "column": 12, + "endLine": 35, + "endColumn": 27, + "path": "src\\supervision\\detection\\utils\\polygons.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'contourArea' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.polygons", + "obj": "approximate_polygon", + "line": 109, + "column": 31, + "endLine": 109, + "endColumn": 47, + "path": "src\\supervision\\detection\\utils\\polygons.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'approxPolyDP' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.WHITE", + "line": 356, + "column": 4, + "endLine": 356, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'WHITE' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.BLACK", + "line": 360, + "column": 4, + "endLine": 360, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'BLACK' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.GREY", + "line": 364, + "column": 4, + "endLine": 364, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'GREY' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.RED", + "line": 368, + "column": 4, + "endLine": 368, + "endColumn": 11, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'RED' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.GREEN", + "line": 372, + "column": 4, + "endLine": 372, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'GREEN' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.BLUE", + "line": 376, + "column": 4, + "endLine": 376, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'BLUE' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.YELLOW", + "line": 380, + "column": 4, + "endLine": 380, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'YELLOW' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.ROBOFLOW", + "line": 384, + "column": 4, + "endLine": 384, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'ROBOFLOW' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "ColorPalette.DEFAULT", + "line": 410, + "column": 4, + "endLine": 410, + "endColumn": 15, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'DEFAULT' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "ColorPalette.ROBOFLOW", + "line": 431, + "column": 4, + "endLine": 431, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'ROBOFLOW' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "ColorPalette.LEGACY", + "line": 452, + "column": 4, + "endLine": 452, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'LEGACY' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_line", + "line": 34, + "column": 4, + "endLine": 34, + "endColumn": 12, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_rectangle", + "line": 62, + "column": 4, + "endLine": 62, + "endColumn": 17, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_rectangle", + "line": 91, + "column": 8, + "endLine": 91, + "endColumn": 21, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_rectangle", + "line": 100, + "column": 8, + "endLine": 100, + "endColumn": 21, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_rectangle", + "line": 107, + "column": 8, + "endLine": 107, + "endColumn": 23, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_rounded_rectangle", + "line": 148, + "column": 8, + "endLine": 148, + "endColumn": 21, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_rounded_rectangle", + "line": 156, + "column": 8, + "endLine": 156, + "endColumn": 18, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_polygon", + "line": 183, + "column": 4, + "endLine": 183, + "endColumn": 17, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'polylines' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_polygon", + "line": 207, + "column": 8, + "endLine": 207, + "endColumn": 20, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_polygon", + "line": 210, + "column": 8, + "endLine": 210, + "endColumn": 20, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_polygon", + "line": 211, + "column": 8, + "endLine": 211, + "endColumn": 23, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 226, + "column": 21, + "endLine": 226, + "endColumn": 45, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 267, + "column": 30, + "endLine": 267, + "endColumn": 45, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 288, + "column": 4, + "endLine": 288, + "endColumn": 15, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 296, + "column": 17, + "endLine": 296, + "endColumn": 28, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 328, + "column": 16, + "endLine": 328, + "endColumn": 26, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 328, + "column": 34, + "endLine": 328, + "endColumn": 54, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'IMREAD_UNCHANGED' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 348, + "column": 12, + "endLine": 348, + "endColumn": 22, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 355, + "column": 19, + "endLine": 355, + "endColumn": 38, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'convertScaleAbs' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 360, + "column": 18, + "endLine": 360, + "endColumn": 37, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'convertScaleAbs' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexAnnotator.annotate", + "line": 100, + "column": 16, + "endLine": 100, + "endColumn": 26, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "EdgeAnnotator.annotate", + "line": 250, + "column": 16, + "endLine": 250, + "endColumn": 24, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator.annotate", + "line": 455, + "column": 16, + "endLine": 455, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator.annotate", + "line": 464, + "column": 29, + "endLine": 464, + "endColumn": 40, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator.annotate", + "line": 467, + "column": 8, + "endLine": 467, + "endColumn": 23, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseOutlineAnnotator.annotate", + "line": 553, + "column": 16, + "endLine": 553, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseOutlineAnnotator.annotate", + "line": 562, + "column": 29, + "endLine": 562, + "endColumn": 40, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 828, + "column": 15, + "endLine": 828, + "endColumn": 39, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 894, + "column": 12, + "endLine": 894, + "endColumn": 23, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 902, + "column": 25, + "endLine": 902, + "endColumn": 36, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.get_text_bounding_box", + "line": 915, + "column": 25, + "endLine": 915, + "endColumn": 40, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_mediapipe", + "line": 573, + "column": 15, + "endLine": 573, + "endColumn": 22, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'results' before assignment", + "message-id": "E0606" + }, + { + "type": "error", + "module": "supervision.metrics.f1_score", + "obj": "F1Score._compute_f1_for_classes", + "line": 312, + "column": 15, + "endLine": 312, + "endColumn": 24, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'f1_scores' before assignment", + "message-id": "E0606" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 532, + "column": 6, + "endLine": 532, + "endColumn": 30, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "no-member", + "message": "Instance of 'finfo' has no 'eps' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.precision", + "obj": "Precision._compute_precision_for_classes", + "line": 317, + "column": 15, + "endLine": 317, + "endColumn": 31, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'precision_scores' before assignment", + "message-id": "E0606" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall._compute_recall_for_classes", + "line": 273, + "column": 15, + "endLine": 273, + "endColumn": 28, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'recall_scores' before assignment", + "message-id": "E0606" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "pillow_to_cv2", + "line": 160, + "column": 12, + "endLine": 160, + "endColumn": 24, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "pillow_to_cv2", + "line": 160, + "column": 32, + "endLine": 160, + "endColumn": 49, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_RGB2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "cv2_to_pillow", + "line": 177, + "column": 12, + "endLine": 177, + "endColumn": 24, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "cv2_to_pillow", + "line": 177, + "column": 32, + "endLine": 177, + "endColumn": 49, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2RGB' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "scale_image", + "line": 142, + "column": 11, + "endLine": 142, + "endColumn": 21, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "scale_image", + "line": 142, + "column": 68, + "endLine": 142, + "endColumn": 84, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_LINEAR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "resize_image", + "line": 206, + "column": 11, + "endLine": 206, + "endColumn": 21, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "resize_image", + "line": 206, + "column": 68, + "endLine": 206, + "endColumn": 84, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_LINEAR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "letterbox_image", + "line": 265, + "column": 25, + "endLine": 265, + "endColumn": 43, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'copyMakeBorder' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "letterbox_image", + "line": 271, + "column": 8, + "endLine": 271, + "endColumn": 27, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'BORDER_CONSTANT' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 317, + "column": 32, + "endLine": 317, + "endColumn": 43, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'supervision.utils.image' has no 'shape' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 338, + "column": 25, + "endLine": 338, + "endColumn": 34, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'split' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 342, + "column": 24, + "endLine": 342, + "endColumn": 33, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'merge' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 344, + "column": 14, + "endLine": 344, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "unsubscriptable-object", + "message": "Value 'image' is unsubscriptable", + "message-id": "E1136" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 346, + "column": 8, + "endLine": 346, + "endColumn": 13, + "path": "src\\supervision\\utils\\image.py", + "symbol": "unsupported-assignment-operation", + "message": "'image' does not support item assignment", + "message-id": "E1137" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 348, + "column": 8, + "endLine": 348, + "endColumn": 13, + "path": "src\\supervision\\utils\\image.py", + "symbol": "unsupported-assignment-operation", + "message": "'image' does not support item assignment", + "message-id": "E1137" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "tint_image", + "line": 397, + "column": 4, + "endLine": 397, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 430, + "column": 17, + "endLine": 430, + "endColumn": 29, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 430, + "column": 37, + "endLine": 430, + "endColumn": 55, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2GRAY' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 431, + "column": 11, + "endLine": 431, + "endColumn": 23, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 431, + "column": 36, + "endLine": 431, + "endColumn": 54, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_GRAY2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "ImageSink.save_image", + "line": 548, + "column": 8, + "endLine": 548, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imwrite' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 580, + "column": 28, + "endLine": 580, + "endColumn": 52, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_image", + "line": 44, + "column": 19, + "endLine": 44, + "endColumn": 31, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_image", + "line": 44, + "column": 39, + "endLine": 44, + "endColumn": 56, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2RGB' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_images_grid", + "line": 111, + "column": 26, + "endLine": 111, + "endColumn": 38, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_images_grid", + "line": 111, + "column": 52, + "endLine": 111, + "endColumn": 69, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2RGB' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 60, + "column": 16, + "endLine": 60, + "endColumn": 32, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoCapture' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 64, + "column": 30, + "endLine": 64, + "endColumn": 54, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_WIDTH' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 65, + "column": 31, + "endLine": 65, + "endColumn": 56, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_HEIGHT' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 66, + "column": 30, + "endLine": 66, + "endColumn": 46, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FPS' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 67, + "column": 37, + "endLine": 67, + "endColumn": 61, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_COUNT' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 107, + "column": 28, + "endLine": 107, + "endColumn": 50, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoWriter_fourcc' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 110, + "column": 28, + "endLine": 110, + "endColumn": 50, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoWriter_fourcc' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 111, + "column": 24, + "endLine": 111, + "endColumn": 39, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoWriter' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 210, + "column": 12, + "endLine": 210, + "endColumn": 28, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoCapture' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 213, + "column": 33, + "endLine": 213, + "endColumn": 57, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_COUNT' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 226, + "column": 18, + "endLine": 226, + "endColumn": 41, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_POS_FRAMES' member", + "message-id": "E1101" + } +] \ No newline at end of file diff --git a/metrics-before-pylint/pylint_fatal_antes.json b/metrics-before-pylint/pylint_fatal_antes.json new file mode 100644 index 0000000000..0637a088a0 --- /dev/null +++ b/metrics-before-pylint/pylint_fatal_antes.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/metrics-before-pylint/pylint_ranking_smells_antes.json b/metrics-before-pylint/pylint_ranking_smells_antes.json new file mode 100644 index 0000000000..21bbfc8b08 --- /dev/null +++ b/metrics-before-pylint/pylint_ranking_smells_antes.json @@ -0,0 +1,82 @@ +[ + { + "simbolo": "too-many-locals", + "ocorrencias": 66 + }, + { + "simbolo": "duplicate-code", + "ocorrencias": 46 + }, + { + "simbolo": "too-few-public-methods", + "ocorrencias": 38 + }, + { + "simbolo": "too-many-arguments", + "ocorrencias": 34 + }, + { + "simbolo": "too-many-positional-arguments", + "ocorrencias": 30 + }, + { + "simbolo": "too-many-instance-attributes", + "ocorrencias": 15 + }, + { + "simbolo": "no-else-return", + "ocorrencias": 13 + }, + { + "simbolo": "use-dict-literal", + "ocorrencias": 11 + }, + { + "simbolo": "too-many-branches", + "ocorrencias": 11 + }, + { + "simbolo": "too-many-statements", + "ocorrencias": 7 + }, + { + "simbolo": "too-many-return-statements", + "ocorrencias": 6 + }, + { + "simbolo": "no-else-raise", + "ocorrencias": 5 + }, + { + "simbolo": "consider-using-in", + "ocorrencias": 4 + }, + { + "simbolo": "use-a-generator", + "ocorrencias": 4 + }, + { + "simbolo": "inconsistent-return-statements", + "ocorrencias": 3 + }, + { + "simbolo": "unnecessary-comprehension", + "ocorrencias": 3 + }, + { + "simbolo": "too-many-nested-blocks", + "ocorrencias": 3 + }, + { + "simbolo": "consider-using-with", + "ocorrencias": 2 + }, + { + "simbolo": "too-many-public-methods", + "ocorrencias": 1 + }, + { + "simbolo": "cyclic-import", + "ocorrencias": 1 + } +] \ No newline at end of file diff --git a/metrics-before-pylint/pylint_refactor_antes.json b/metrics-before-pylint/pylint_refactor_antes.json new file mode 100644 index 0000000000..97c206aaec --- /dev/null +++ b/metrics-before-pylint/pylint_refactor_antes.json @@ -0,0 +1,3941 @@ +[ + { + "type": "refactor", + "module": "supervision.annotators.base", + "obj": "BaseAnnotator", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 19, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator", + "line": 83, + "column": 0, + "endLine": 83, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.__init__", + "line": 103, + "column": 4, + "endLine": 103, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.__init__", + "line": 103, + "column": 4, + "endLine": 103, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator", + "line": 83, + "column": 0, + "endLine": 83, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BoxAnnotator", + "line": 190, + "column": 0, + "endLine": 190, + "endColumn": 18, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "OrientedBoxAnnotator", + "line": 277, + "column": 0, + "endLine": 277, + "endColumn": 26, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_paint_masks_by_area", + "line": 365, + "column": 0, + "endLine": 365, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "MaskAnnotator", + "line": 423, + "column": 0, + "endLine": 423, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PolygonAnnotator", + "line": 511, + "column": 0, + "endLine": 511, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator", + "line": 606, + "column": 0, + "endLine": 606, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator", + "line": 698, + "column": 0, + "endLine": 698, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator", + "line": 800, + "column": 0, + "endLine": 800, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator", + "line": 899, + "column": 0, + "endLine": 899, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CircleAnnotator", + "line": 994, + "column": 0, + "endLine": 994, + "endColumn": 21, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.__init__", + "line": 1092, + "column": 4, + "endLine": 1092, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.__init__", + "line": 1092, + "column": 4, + "endLine": 1092, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "DotAnnotator", + "line": 1086, + "column": 0, + "endLine": 1086, + "endColumn": 18, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.__init__", + "line": 1202, + "column": 4, + "endLine": 1202, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (11/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.__init__", + "line": 1202, + "column": 4, + "endLine": 1202, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (11/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._get_label_properties", + "line": 1333, + "column": 4, + "endLine": 1333, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1387, + "column": 4, + "endLine": 1387, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator.__init__", + "line": 1518, + "column": 4, + "endLine": 1518, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (11/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator.__init__", + "line": 1518, + "column": 4, + "endLine": 1518, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (11/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator._get_label_properties", + "line": 1649, + "column": 4, + "endLine": 1649, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator._draw_labels", + "line": 1701, + "column": 4, + "endLine": 1701, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (23/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator", + "line": 1512, + "column": 0, + "endLine": 1512, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "IconAnnotator", + "line": 1788, + "column": 0, + "endLine": 1788, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BlurAnnotator", + "line": 1897, + "column": 0, + "endLine": 1897, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.__init__", + "line": 1985, + "column": 4, + "endLine": 1985, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.__init__", + "line": 1985, + "column": 4, + "endLine": 1985, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.annotate", + "line": 2017, + "column": 4, + "endLine": 2017, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator", + "line": 1974, + "column": 0, + "endLine": 1974, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.__init__", + "line": 2126, + "column": 4, + "endLine": 2126, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.__init__", + "line": 2126, + "column": 4, + "endLine": 2126, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator", + "line": 2119, + "column": 0, + "endLine": 2119, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator", + "line": 2231, + "column": 0, + "endLine": 2231, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.__init__", + "line": 2331, + "column": 4, + "endLine": 2331, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.__init__", + "line": 2331, + "column": 4, + "endLine": 2331, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator", + "line": 2325, + "column": 0, + "endLine": 2325, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2480, + "column": 4, + "endLine": 2480, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator", + "line": 2447, + "column": 0, + "endLine": 2447, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.__init__", + "line": 2588, + "column": 4, + "endLine": 2588, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.__init__", + "line": 2588, + "column": 4, + "endLine": 2588, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2728, + "column": 8, + "endLine": 2748, + "endColumn": 54, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2736, + "column": 13, + "endLine": 2736, + "endColumn": 79, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'position in (Position.CENTER, Position.CENTER_OF_MASS)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2722, + "column": 4, + "endLine": 2722, + "endColumn": 36, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (9/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2722, + "column": 4, + "endLine": 2722, + "endColumn": 36, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "inconsistent-return-statements", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "message-id": "R1710" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2823, + "column": 4, + "endLine": 2823, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2910, + "column": 8, + "endLine": 2942, + "endColumn": 78, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2924, + "column": 13, + "endLine": 2924, + "endColumn": 79, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'position in (Position.CENTER, Position.CENTER_OF_MASS)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2904, + "column": 4, + "endLine": 2904, + "endColumn": 34, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (9/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2904, + "column": 4, + "endLine": 2904, + "endColumn": 34, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "inconsistent-return-statements", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "message-id": "R1710" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BackgroundOverlayAnnotator", + "line": 2945, + "column": 0, + "endLine": 2945, + "endColumn": 32, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator", + "line": 3032, + "column": 0, + "endLine": 3032, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator.__init__", + "line": 3043, + "column": 4, + "endLine": 3043, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator._draw_labels", + "line": 3226, + "column": 4, + "endLine": 3226, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator", + "line": 3032, + "column": 0, + "endLine": 3032, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_color_idx", + "line": 51, + "column": 4, + "endLine": 76, + "endColumn": 56, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 88, + "column": 4, + "endLine": 130, + "endColumn": 9, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 99, + "column": 9, + "endLine": 99, + "endColumn": 75, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'position in (Position.CENTER, Position.CENTER_OF_MASS)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 32, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (9/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 32, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "inconsistent-return-statements", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "message-id": "R1710" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge", + "line": 285, + "column": 24, + "endLine": 285, + "endColumn": 80, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'all(is_in_memory(dataset) for dataset in dataset_list)'", + "message-id": "R1729" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge", + "line": 286, + "column": 19, + "endLine": 286, + "endColumn": 70, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'all(is_lazy(dataset) for dataset in dataset_list)'", + "message-id": "R1729" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_yolo", + "line": 504, + "column": 4, + "endLine": 504, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_yolo", + "line": 504, + "column": 4, + "endLine": 504, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_coco", + "line": 626, + "column": 4, + "endLine": 626, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_coco", + "line": 626, + "column": 4, + "endLine": 626, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "coco_annotations_to_detections", + "line": 193, + "column": 15, + "endLine": 195, + "endColumn": 9, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"iscrowd\": np.asarray(iscrowd, dtype=int), \"area\": np.asarray(area, dtype=float), ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 217, + "column": 0, + "endLine": 217, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 217, + "column": 0, + "endLine": 217, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 217, + "column": 0, + "endLine": 217, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 217, + "column": 0, + "endLine": 217, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-branches", + "message": "Too many branches (14/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "load_coco_annotations", + "line": 396, + "column": 0, + "endLine": 396, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "save_coco_annotations", + "line": 507, + "column": 0, + "endLine": 507, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "save_coco_annotations", + "line": 507, + "column": 0, + "endLine": 507, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "save_coco_annotations", + "line": 507, + "column": 0, + "endLine": 507, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "object_to_pascal_voc", + "line": 19, + "column": 0, + "endLine": 19, + "endColumn": 24, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_to_pascal_voc", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 28, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_to_pascal_voc", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 28, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_to_pascal_voc", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 28, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-locals", + "message": "Too many local variables (28/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_from_xml_obj", + "line": 235, + "column": 0, + "endLine": 235, + "endColumn": 27, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "_with_seg_mask", + "line": 67, + "column": 11, + "endLine": 67, + "endColumn": 57, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'any(len(line.split()) > 5 for line in lines)'", + "message-id": "R1729" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "yolo_annotations_to_detections", + "line": 138, + "column": 0, + "endLine": 138, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "load_yolo_annotations", + "line": 187, + "column": 0, + "endLine": 187, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "object_to_yolo", + "line": 274, + "column": 0, + "endLine": 274, + "endColumn": 18, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "object_to_yolo", + "line": 281, + "column": 4, + "endLine": 293, + "endColumn": 50, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "detections_to_yolo_annotations", + "line": 296, + "column": 0, + "endLine": 296, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "detections_to_yolo_annotations", + "line": 296, + "column": 0, + "endLine": 296, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "detections_to_yolo_annotations", + "line": 296, + "column": 0, + "endLine": 296, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "save_yolo_annotations", + "line": 422, + "column": 0, + "endLine": 422, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "save_yolo_annotations", + "line": 422, + "column": 0, + "endLine": 422, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.from_dense", + "line": 476, + "column": 4, + "endLine": 476, + "endColumn": 18, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.repack", + "line": 984, + "column": 4, + "endLine": 984, + "endColumn": 14, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.with_offset", + "line": 1067, + "column": 4, + "endLine": 1067, + "endColumn": 19, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (29/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.resize", + "line": 1192, + "column": 4, + "endLine": 1192, + "endColumn": 14, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (27/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_transformers", + "line": 560, + "column": 8, + "endLine": 570, + "endColumn": 13, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_sam3", + "line": 718, + "column": 4, + "endLine": 718, + "endColumn": 17, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (23/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_sam3", + "line": 718, + "column": 4, + "endLine": 718, + "endColumn": 17, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-branches", + "message": "Too many branches (15/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_azure_analyze_image", + "line": 843, + "column": 4, + "endLine": 843, + "endColumn": 32, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_vlm", + "line": 1461, + "column": 4, + "endLine": 1461, + "endColumn": 16, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (10/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.get_anchors_coordinates", + "line": 2236, + "column": 8, + "endLine": 2278, + "endColumn": 75, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.get_anchors_coordinates", + "line": 2217, + "column": 4, + "endLine": 2217, + "endColumn": 31, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (10/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections", + "line": 68, + "column": 0, + "endLine": 68, + "endColumn": 16, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-public-methods", + "message": "Too many public methods (26/20)", + "message-id": "R0904" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "_merge_detection_group", + "line": 2678, + "column": 0, + "endLine": 2678, + "endColumn": 26, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZone", + "line": 26, + "column": 0, + "endLine": 26, + "endColumn": 14, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (8/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZone._update_class_id_to_name", + "line": 323, + "column": 24, + "endLine": 326, + "endColumn": 13, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "unnecessary-comprehension", + "message": "Unnecessary use of a comprehension, use dict(zip(detections.class_id, class_names)) instead.", + "message-id": "R1721" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator", + "line": 330, + "column": 0, + "endLine": 330, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (14/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.__init__", + "line": 331, + "column": 4, + "endLine": 331, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (14/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.__init__", + "line": 331, + "column": 4, + "endLine": 331, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (14/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._calculate_anchor_in_frame", + "line": 481, + "column": 4, + "endLine": 481, + "endColumn": 34, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 641, + "column": 4, + "endLine": 641, + "endColumn": 25, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 641, + "column": 4, + "endLine": 641, + "endColumn": 25, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 679, + "column": 36, + "endLine": 685, + "endColumn": 9, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"text\": text, \"text_anchor\": annotation_center, \"text_scale\": text_scale, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator", + "line": 330, + "column": 0, + "endLine": 330, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass", + "line": 713, + "column": 0, + "endLine": 713, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.__init__", + "line": 714, + "column": 4, + "endLine": 714, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 769, + "column": 4, + "endLine": 769, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass", + "line": 713, + "column": 0, + "endLine": 713, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_qwen_2_5_vl", + "line": 305, + "column": 0, + "endLine": 305, + "endColumn": 20, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_deepseek_vl_2", + "line": 424, + "column": 0, + "endLine": 424, + "endColumn": 22, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (23/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_florence_2", + "line": 495, + "column": 0, + "endLine": 495, + "endColumn": 19, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_florence_2", + "line": 495, + "column": 0, + "endLine": 495, + "endColumn": 19, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (7/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_0", + "line": 591, + "column": 0, + "endLine": 591, + "endColumn": 26, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 678, + "column": 0, + "endLine": 678, + "endColumn": 26, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (34/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 755, + "column": 4, + "endLine": 811, + "endColumn": 34, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-nested-blocks", + "message": "Too many nested blocks (6/5)", + "message-id": "R1702" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 678, + "column": 0, + "endLine": 678, + "endColumn": 26, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-branches", + "message": "Too many branches (23/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 678, + "column": 0, + "endLine": 678, + "endColumn": 26, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-statements", + "message": "Too many statements (71/50)", + "message-id": "R0915" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.csv_sink", + "obj": "WriterProtocol", + "line": 27, + "column": 0, + "endLine": 27, + "endColumn": 20, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.open", + "line": 108, + "column": 20, + "endLine": 108, + "endColumn": 57, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "consider-using-with", + "message": "Consider using 'with' for resource-allocating operations", + "message-id": "R1732" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer", + "line": 64, + "column": 0, + "endLine": 64, + "endColumn": 21, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (12/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.__init__", + "line": 143, + "column": 4, + "endLine": 143, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.__init__", + "line": 143, + "column": 4, + "endLine": 143, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (8/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.__call__", + "line": 178, + "column": 4, + "endLine": 178, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.__call__", + "line": 178, + "column": 4, + "endLine": 178, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-branches", + "message": "Too many branches (13/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._run_callback", + "line": 275, + "column": 4, + "endLine": 275, + "endColumn": 21, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._generate_offset", + "line": 389, + "column": 4, + "endLine": 389, + "endColumn": 24, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer", + "line": 64, + "column": 0, + "endLine": 64, + "endColumn": 21, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.json_sink", + "obj": "JSONSink.open", + "line": 82, + "column": 20, + "endLine": 82, + "endColumn": 45, + "path": "src\\supervision\\detection\\tools\\json_sink.py", + "symbol": "consider-using-with", + "message": "Consider using 'with' for resource-allocating operations", + "message-id": "R1732" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZone", + "line": 18, + "column": 0, + "endLine": 18, + "endColumn": 17, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator", + "line": 111, + "column": 0, + "endLine": 111, + "endColumn": 26, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (11/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.__init__", + "line": 131, + "column": 4, + "endLine": 131, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.__init__", + "line": 131, + "column": 4, + "endLine": 131, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator", + "line": 111, + "column": 0, + "endLine": 111, + "endColumn": 26, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.update_with_detections", + "line": 128, + "column": 15, + "endLine": 128, + "endColumn": 62, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'all(d is None for d in self.tracks[track_id])'", + "message-id": "R1729" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_detection_result", + "line": 35, + "column": 11, + "endLine": 40, + "endColumn": 5, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": detection_result['boxes'].cpu().detach().numpy(), \"confidence\": detection_result['scores'].cpu().detach().numpy(), ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v4_segmentation_result", + "line": 62, + "column": 4, + "endLine": 79, + "endColumn": 9, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v4_segmentation_result", + "line": 73, + "column": 15, + "endLine": 79, + "endColumn": 9, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": boxes if boxes is not None else mask_to_xyxy(masks), \"mask\": np.squeeze(masks, axis=1) if boxes is not None else masks, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v5_semantic_or_instance_segmentation_result", + "line": 139, + "column": 11, + "endLine": 145, + "endColumn": 5, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": mask_to_xyxy(masks), \"mask\": masks, \"confidence\": scores}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v4_panoptic_segmentation_result", + "line": 174, + "column": 11, + "endLine": 179, + "endColumn": 5, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": mask_to_xyxy(masks), \"mask\": masks, \"class_id\": class_ids, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v5_panoptic_segmentation_result", + "line": 204, + "column": 11, + "endLine": 204, + "endColumn": 84, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": mask_to_xyxy(masks), \"mask\": masks, \"class_id\": class_ids, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.internal", + "obj": "process_roboflow_result", + "line": 54, + "column": 0, + "endLine": 54, + "endColumn": 27, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "too-many-locals", + "message": "Too many local variables (31/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.internal", + "obj": "process_roboflow_result", + "line": 54, + "column": 0, + "endLine": 54, + "endColumn": 27, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "too-many-statements", + "message": "Too many statements (62/50)", + "message-id": "R0915" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.internal", + "obj": "merge_data", + "line": 241, + "column": 0, + "endLine": 241, + "endColumn": 14, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "too-many-branches", + "message": "Too many branches (13/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "box_iou", + "line": 90, + "column": 0, + "endLine": 90, + "endColumn": 11, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (21/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "box_iou_batch", + "line": 162, + "column": 0, + "endLine": 162, + "endColumn": 17, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 264, + "column": 0, + "endLine": 264, + "endColumn": 12, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_iou_batch", + "line": 426, + "column": 0, + "endLine": 426, + "endColumn": 26, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_iou_batch", + "line": 493, + "column": 8, + "endLine": 506, + "endColumn": 13, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_iou_batch", + "line": 426, + "column": 0, + "endLine": 426, + "endColumn": 26, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-branches", + "message": "Too many branches (13/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "compact_mask_iou_batch", + "line": 569, + "column": 0, + "endLine": 569, + "endColumn": 26, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (43/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_non_max_suppression", + "line": 1306, + "column": 8, + "endLine": 1319, + "endColumn": 13, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_non_max_merge", + "line": 1421, + "column": 8, + "endLine": 1434, + "endColumn": 13, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "calculate_masks_centroids", + "line": 90, + "column": 0, + "endLine": 90, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "contains_multiple_segments", + "line": 251, + "column": 7, + "endLine": 251, + "endColumn": 46, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'connectivity not in (4, 8)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 291, + "column": 0, + "endLine": 291, + "endColumn": 31, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 291, + "column": 0, + "endLine": 291, + "endColumn": 31, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "too-many-branches", + "message": "Too many branches (13/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.draw.color", + "obj": "Color.from_hex", + "line": 141, + "column": 8, + "endLine": 146, + "endColumn": 34, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 218, + "column": 0, + "endLine": 218, + "endColumn": 13, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 218, + "column": 0, + "endLine": 218, + "endColumn": 13, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "BaseKeyPointAnnotator", + "line": 24, + "column": 0, + "endLine": 24, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexAnnotator", + "line": 30, + "column": 0, + "endLine": 30, + "endColumn": 21, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "EdgeAnnotator", + "line": 111, + "column": 0, + "endLine": 111, + "endColumn": 19, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "_BaseVertexEllipseAnnotator._iter_ellipse_params", + "line": 330, + "column": 4, + "endLine": 330, + "endColumn": 28, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "_BaseVertexEllipseAnnotator", + "line": 261, + "column": 0, + "endLine": 261, + "endColumn": 33, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator", + "line": 370, + "column": 0, + "endLine": 370, + "endColumn": 32, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseOutlineAnnotator", + "line": 471, + "column": 0, + "endLine": 471, + "endColumn": 35, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseHaloAnnotator.annotate", + "line": 606, + "column": 4, + "endLine": 606, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-locals", + "message": "Too many local variables (39/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseHaloAnnotator", + "line": 568, + "column": 0, + "endLine": 568, + "endColumn": 32, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.__init__", + "line": 709, + "column": 4, + "endLine": 709, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.__init__", + "line": 709, + "column": 4, + "endLine": 709, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 740, + "column": 4, + "endLine": 740, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__init__", + "line": 245, + "column": 4, + "endLine": 245, + "endColumn": 16, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__init__", + "line": 245, + "column": 4, + "endLine": 245, + "endColumn": 16, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_mediapipe", + "line": 557, + "column": 24, + "endLine": 560, + "endColumn": 25, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "unnecessary-comprehension", + "message": "Unnecessary use of a comprehension, use list(mediapipe_results.pose_landmarks.landmark) instead.", + "message-id": "R1721" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_detectron2", + "line": 727, + "column": 8, + "endLine": 743, + "endColumn": 30, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_transformers", + "line": 808, + "column": 8, + "endLine": 828, + "endColumn": 30, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__getitem__", + "line": 925, + "column": 4, + "endLine": 925, + "endColumn": 19, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-branches", + "message": "Too many branches (22/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__getitem__", + "line": 925, + "column": 4, + "endLine": 925, + "endColumn": 19, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-statements", + "message": "Too many statements (53/50)", + "message-id": "R0915" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.as_detections", + "line": 1224, + "column": 4, + "endLine": 1224, + "endColumn": 21, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_detections", + "line": 238, + "column": 4, + "endLine": 238, + "endColumn": 23, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_detections", + "line": 238, + "column": 4, + "endLine": 238, + "endColumn": 23, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_tensors", + "line": 322, + "column": 4, + "endLine": 322, + "endColumn": 20, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_tensors", + "line": 322, + "column": 4, + "endLine": 322, + "endColumn": 20, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 414, + "column": 4, + "endLine": 414, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 414, + "column": 4, + "endLine": 414, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 414, + "column": 4, + "endLine": 414, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (36/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 414, + "column": 4, + "endLine": 414, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-branches", + "message": "Too many branches (16/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 414, + "column": 4, + "endLine": 414, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-statements", + "message": "Too many statements (51/50)", + "message-id": "R0915" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.plot", + "line": 660, + "column": 4, + "endLine": 660, + "endColumn": 12, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "MeanAveragePrecision._average_precisions_per_class", + "line": 1067, + "column": 4, + "endLine": 1067, + "endColumn": 37, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (21/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.f1_score", + "obj": "F1Score._compute_confusion_matrix", + "line": 347, + "column": 4, + "endLine": 347, + "endColumn": 33, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult", + "line": 512, + "column": 0, + "endLine": 512, + "endColumn": 19, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult", + "line": 30, + "column": 0, + "endLine": 30, + "endColumn": 32, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.map50_95", + "line": 63, + "column": 8, + "endLine": 66, + "endColumn": 21, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 266, + "column": 39, + "endLine": 266, + "endColumn": 45, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 267, + "column": 36, + "endLine": 267, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 268, + "column": 36, + "endLine": 268, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 269, + "column": 36, + "endLine": 269, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.load_predictions", + "line": 471, + "column": 48, + "endLine": 471, + "endColumn": 87, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "unnecessary-comprehension", + "message": "Unnecessary use of a comprehension, use list(self.dataset['images']) instead.", + "message-id": "R1721" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.load_predictions", + "line": 489, + "column": 8, + "endLine": 520, + "endColumn": 35, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluatorParameters", + "line": 546, + "column": 0, + "endLine": 546, + "endColumn": 29, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (0/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator", + "line": 584, + "column": 0, + "endLine": 584, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._evaluate_image", + "line": 700, + "column": 4, + "endLine": 700, + "endColumn": 23, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (29/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 825, + "column": 4, + "endLine": 825, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (70/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 895, + "column": 8, + "endLine": 992, + "endColumn": 25, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-nested-blocks", + "message": "Too many nested blocks (6/5)", + "message-id": "R1702" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 895, + "column": 8, + "endLine": 992, + "endColumn": 25, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-nested-blocks", + "message": "Too many nested blocks (6/5)", + "message-id": "R1702" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._accumulate", + "line": 825, + "column": 4, + "endLine": 825, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-statements", + "message": "Too many statements (77/50)", + "message-id": "R0915" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator", + "line": 584, + "column": 0, + "endLine": 584, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision._prepare_targets", + "line": 1337, + "column": 4, + "endLine": 1337, + "endColumn": 24, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult", + "line": 31, + "column": 0, + "endLine": 31, + "endColumn": 29, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall._compute", + "line": 381, + "column": 4, + "endLine": 381, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall._compute_confusion_matrix", + "line": 539, + "column": 4, + "endLine": 539, + "endColumn": 33, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.precision", + "obj": "Precision._compute_confusion_matrix", + "line": 351, + "column": 4, + "endLine": 351, + "endColumn": 33, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult", + "line": 521, + "column": 0, + "endLine": 521, + "endColumn": 21, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.metrics.recall", + "obj": "Recall._compute_confusion_matrix", + "line": 307, + "column": 4, + "endLine": 307, + "endColumn": 33, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.recall", + "obj": "RecallResult", + "line": 479, + "column": 0, + "endLine": 479, + "endColumn": 18, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack", + "line": 22, + "column": 0, + "endLine": 22, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (13/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_detections", + "line": 133, + "column": 8, + "endLine": 155, + "endColumn": 29, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 173, + "column": 4, + "endLine": 173, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (35/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 173, + "column": 4, + "endLine": 173, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-branches", + "message": "Too many branches (21/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 173, + "column": 4, + "endLine": 173, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-statements", + "message": "Too many statements (92/50)", + "message-id": "R0915" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack", + "line": 19, + "column": 0, + "endLine": 19, + "endColumn": 12, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (16/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.__init__", + "line": 20, + "column": 4, + "endLine": 20, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.__init__", + "line": 20, + "column": 4, + "endLine": 20, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 17, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (25/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 565, + "column": 0, + "endLine": 565, + "endColumn": 16, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (16/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 565, + "column": 0, + "endLine": 565, + "endColumn": 16, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (16/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 565, + "column": 0, + "endLine": 565, + "endColumn": 16, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_generate_tiles", + "line": 767, + "column": 0, + "endLine": 767, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (15/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_generate_tiles", + "line": 767, + "column": 0, + "endLine": 767, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (15/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_generate_tiles", + "line": 767, + "column": 0, + "endLine": 767, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_draw_texts", + "line": 816, + "column": 0, + "endLine": 816, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (10/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_draw_texts", + "line": 816, + "column": 0, + "endLine": 816, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (10/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_draw_texts", + "line": 816, + "column": 0, + "endLine": 816, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.utils.internal", + "obj": "classproperty", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 19, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "process_video", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 17, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "process_video", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 17, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "process_video", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 17, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-branches", + "message": "Too many branches (14/12)", + "message-id": "R0912" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "process_video", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 17, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-statements", + "message": "Too many statements (56/50)", + "message-id": "R0915" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_data", + "line": 197, + "column": 12, + "endLine": 202, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_detections_fields", + "line": 259, + "column": 0, + "endLine": 259, + "endColumn": 31, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_detections_fields", + "line": 259, + "column": 0, + "endLine": 259, + "endColumn": 31, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_keypoints_fields", + "line": 292, + "column": 0, + "endLine": 292, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_keypoints_fields", + "line": 292, + "column": 0, + "endLine": 292, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[78:229]\n==supervision.metrics.precision:[81:232]\n self._metric_target = metric_target\n self.averaging_method = averaging_method\n\n self._predictions_list: list[Detections] = []\n self._targets_list: list[Detections] = []\n\n def reset(self) -> None:\n \"\"\"\n Reset the metric to its initial state, clearing all stored data.\n \"\"\"\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> Precision:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> PrecisionResult:\n \"\"\"\n Calculate the precision metric based on the stored predictions and ground-truth\n data, at different IoU thresholds.\n\n Returns:\n The precision metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> PrecisionResult:\n \"\"\"Build per-image stats tuples and delegate to class-level computation.\n\n Each stats tuple is ``(matches, confidence, class_ids, true_class_ids)``:\n - Both empty: skip (no information).\n - Targets empty, predictions present: all predictions are FPs; true_class_ids\n is ``zeros((0,))``.\n - Targets present: IoU matching produces ``matches`` array.\n \"\"\"\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n\n if len(targets) == 0 and len(predictions) > 0:\n # Only predictions are present (e.g. a background image); every\n # prediction is a false positive.\n if predictions.class_id is None or predictions.confidence is None:\n continue\n stats.append(\n (\n np.zeros(\n (len(predictions), iou_thresholds.size), dtype=np.bool_\n ),\n predictions.confidence,\n predictions.class_id,\n np.zeros((0,), dtype=np.int32),\n )\n )\n elif len(targets) > 0:\n if len(predictions) == 0:\n stats.append(\n (\n np.zeros((0, iou_thresholds.size), dtype=bool),\n np.zeros((0,), dtype=np.float32),\n np.zeros((0,), dtype=int),\n targets.class_id,\n )\n )\n\n else:\n if self._metric_target == MetricTarget.BOXES:\n iou = box_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.MASKS:\n iou = mask_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n iou = oriented_box_iou_batch(\n target_contents, prediction_contents\n )\n else:\n raise ValueError(\n \"Unsupported metric target for IoU calculation\"\n )\n\n matches = self._match_detection_batch(\n predictions.class_id\n if predictions.class_id is not None\n else np.array([]),\n targets.class_id\n if targets.class_id is not None\n else np.array([]),\n iou,\n iou_thresholds,\n )\n stats.append(\n (\n matches,\n predictions.confidence,\n predictions.class_id,\n targets.class_id,\n )\n )\n\n if not stats:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[435:511]\n==supervision.metrics.precision:[441:520]\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"\n new_detections = deepcopy(detections)\n if detections.is_empty() or size_category == ObjectSizeCategory.ANY:\n return new_detections\n\n sizes = get_detection_size_category(new_detections, self._metric_target)\n size_mask = sizes == size_category.value\n\n new_detections.xyxy = new_detections.xyxy[size_mask]\n if new_detections.mask is not None:\n new_detections.mask = new_detections.mask[size_mask]\n if new_detections.class_id is not None:\n new_detections.class_id = new_detections.class_id[size_mask]\n if new_detections.confidence is not None:\n new_detections.confidence = new_detections.confidence[size_mask]\n if new_detections.tracker_id is not None:\n new_detections.tracker_id = new_detections.tracker_id[size_mask]\n if new_detections.data is not None:\n for key, value in new_detections.data.items():\n new_detections.data[key] = np.array(value)[size_mask]\n\n return new_detections\n\n def _filter_predictions_and_targets_by_size(\n self,\n predictions_list: list[Detections],\n targets_list: list[Detections],\n size_category: ObjectSizeCategory,\n ) -> tuple[list[Detections], list[Detections]]:\n \"\"\"\n Filter predictions and targets by object size category.\n \"\"\"\n new_predictions_list = []\n new_targets_list = []\n for predictions, targets in zip(predictions_list, targets_list):\n new_predictions_list.append(\n self._filter_detections_by_size(predictions, size_category)\n )\n new_targets_list.append(\n self._filter_detections_by_size(targets, size_category)\n )\n return new_predictions_list, new_targets_list\n\n\n@dataclass", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[435:510]\n==supervision.metrics.mean_average_recall:[630:706]\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"\n new_detections = deepcopy(detections)\n if detections.is_empty() or size_category == ObjectSizeCategory.ANY:\n return new_detections\n\n sizes = get_detection_size_category(new_detections, self._metric_target)\n size_mask = sizes == size_category.value\n\n new_detections.xyxy = new_detections.xyxy[size_mask]\n if new_detections.mask is not None:\n new_detections.mask = new_detections.mask[size_mask]\n if new_detections.class_id is not None:\n new_detections.class_id = new_detections.class_id[size_mask]\n if new_detections.confidence is not None:\n new_detections.confidence = new_detections.confidence[size_mask]\n if new_detections.tracker_id is not None:\n new_detections.tracker_id = new_detections.tracker_id[size_mask]\n if new_detections.data is not None:\n for key, value in new_detections.data.items():\n new_detections.data[key] = np.array(value)[size_mask]\n\n return new_detections\n\n def _filter_predictions_and_targets_by_size(\n self,\n predictions_list: list[Detections],\n targets_list: list[Detections],\n size_category: ObjectSizeCategory,\n ) -> tuple[list[Detections], list[Detections]]:\n \"\"\"\n Filter predictions and targets by object size category.\n \"\"\"\n new_predictions_list = []\n new_targets_list = []\n for predictions, targets in zip(predictions_list, targets_list):\n new_predictions_list.append(\n self._filter_detections_by_size(predictions, size_category)\n )\n new_targets_list.append(\n self._filter_detections_by_size(targets, size_category)\n )\n return new_predictions_list, new_targets_list\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[320:400]\n==supervision.metrics.precision:[325:403]\n num_predictions, num_iou_levels = (\n predictions_classes.shape[0],\n iou_thresholds.shape[0],\n )\n correct = np.zeros((num_predictions, num_iou_levels), dtype=bool)\n correct_class = target_classes[:, None] == predictions_classes\n\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n result_correct: npt.NDArray[np.bool_] = correct\n return result_correct\n\n @staticmethod\n def _compute_confusion_matrix(\n sorted_matches: npt.NDArray[np.bool_],\n sorted_prediction_class_ids: npt.NDArray[np.int32],\n unique_classes: npt.NDArray[np.int32],\n class_counts: npt.NDArray[np.int32],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Compute the confusion matrix for each class and IoU threshold.\n\n Assumes the matches and prediction_class_ids are sorted by confidence\n in descending order.\n\n Args:\n sorted_matches: shape (P, Th), that is True\n if the prediction is a true positive at the given IoU threshold.\n sorted_prediction_class_ids: shape (P,), containing\n the class id for each prediction.\n unique_classes: shape (C,), containing the unique\n class ids.\n class_counts: shape (C,), containing the number\n of true instances for each class.\n\n Returns:\n shape (C, Th, 3), containing the true positives, false\n positives, and false negatives for each class and IoU threshold.\n \"\"\"\n\n num_thresholds = sorted_matches.shape[1]\n num_classes = unique_classes.shape[0]\n\n confusion_matrix: npt.NDArray[np.float64] = np.zeros(\n (num_classes, num_thresholds, 3), dtype=np.float64\n )\n for class_idx, class_id in enumerate(unique_classes):\n is_class = sorted_prediction_class_ids == class_id\n num_true = class_counts[class_idx]\n num_predictions = is_class.sum()\n\n if num_predictions == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.zeros(num_thresholds)\n false_negatives = np.full(num_thresholds, num_true)\n elif num_true == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.full(num_thresholds, num_predictions)\n false_negatives = np.zeros(num_thresholds)\n else:\n true_positives = sorted_matches[is_class].sum(0)\n false_positives = (1 - sorted_matches[is_class]).sum(0)\n false_negatives = num_true - true_positives\n confusion_matrix[class_idx] = np.stack(\n [true_positives, false_positives, false_negatives], axis=1\n )", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[185:229]\n==supervision.metrics.recall:[165:209]\n if len(predictions) == 0:\n stats.append(\n (\n np.zeros((0, iou_thresholds.size), dtype=bool),\n np.zeros((0,), dtype=np.float32),\n np.zeros((0,), dtype=int),\n targets.class_id,\n )\n )\n\n else:\n if self._metric_target == MetricTarget.BOXES:\n iou = box_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.MASKS:\n iou = mask_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n iou = oriented_box_iou_batch(\n target_contents, prediction_contents\n )\n else:\n raise ValueError(\n \"Unsupported metric target for IoU calculation\"\n )\n\n matches = self._match_detection_batch(\n predictions.class_id\n if predictions.class_id is not None\n else np.array([]),\n targets.class_id\n if targets.class_id is not None\n else np.array([]),\n iou,\n iou_thresholds,\n )\n stats.append(\n (\n matches,\n predictions.confidence,\n predictions.class_id,\n targets.class_id,\n )\n )\n\n if not stats:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[317:395]\n==supervision.metrics.recall:[91:169]\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> MeanAverageRecall:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> MeanAverageRecallResult:\n \"\"\"\n Calculate the Mean Average Recall metric based on the stored predictions\n and ground-truth, at different IoU thresholds and maximum detection counts.\n\n Returns:\n The Mean Average Recall metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> MeanAverageRecallResult:\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n\n if len(targets) > 0:\n if len(predictions) == 0:\n stats.append(\n (\n np.zeros((0, iou_thresholds.size), dtype=bool),", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[78:169]\n==supervision.metrics.recall:[81:164]\n self._metric_target = metric_target\n self.averaging_method = averaging_method\n\n self._predictions_list: list[Detections] = []\n self._targets_list: list[Detections] = []\n\n def reset(self) -> None:\n \"\"\"\n Reset the metric to its initial state, clearing all stored data.\n \"\"\"\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> Recall:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> RecallResult:\n \"\"\"\n Calculate the recall metric based on the stored predictions and ground-truth\n data, at different IoU thresholds.\n\n Returns:\n The recall metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> RecallResult:\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[504:587]\n==supervision.metrics.recall:[272:353]\n return recall_scores, recall_per_class, unique_classes\n\n @staticmethod\n def _match_detection_batch(\n predictions_classes: npt.NDArray[np.int32],\n target_classes: npt.NDArray[np.int32],\n iou: npt.NDArray[np.float32],\n iou_thresholds: npt.NDArray[np.float32],\n ) -> npt.NDArray[np.bool_]:\n num_predictions, num_iou_levels = (\n predictions_classes.shape[0],\n iou_thresholds.shape[0],\n )\n correct = np.zeros((num_predictions, num_iou_levels), dtype=bool)\n correct_class = target_classes[:, None] == predictions_classes\n\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n result_correct: npt.NDArray[np.bool_] = correct\n return result_correct\n\n @staticmethod\n def _compute_confusion_matrix(\n sorted_matches: npt.NDArray[np.bool_],\n sorted_prediction_class_ids: npt.NDArray[np.int32],\n unique_classes: npt.NDArray[np.int32],\n class_counts: npt.NDArray[np.int32],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Compute the confusion matrix for each class and IoU threshold.\n\n Assumes the matches and prediction_class_ids are sorted by confidence\n in descending order.\n\n Args:\n sorted_matches: shape (P, Th), that is True\n if the prediction is a true positive at the given IoU threshold.\n sorted_prediction_class_ids: shape (P,), containing\n the class id for each prediction.\n unique_classes: shape (C,), containing the unique\n class ids.\n class_counts: shape (C,), containing the number\n of true instances for each class.\n max_detections: The maximum number of detections to\n consider for each class. Extra detections are considered false\n positives. By default, all detections are considered.\n\n Returns:\n shape (C, Th, 3), containing the true positives, false\n positives, and false negatives for each class and IoU threshold.\n \"\"\"\n num_thresholds = sorted_matches.shape[1]\n num_classes = unique_classes.shape[0]\n\n confusion_matrix: npt.NDArray[np.float64] = np.zeros(\n (num_classes, num_thresholds, 3), dtype=np.float64\n )\n for class_idx, class_id in enumerate(unique_classes):\n is_class = sorted_prediction_class_ids == class_id\n num_true = class_counts[class_idx]\n num_predictions = is_class.sum()\n\n if num_predictions == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.zeros(num_thresholds)\n false_negatives = np.full(num_thresholds, num_true)\n elif num_true == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.full(num_thresholds, num_predictions)\n false_negatives = np.zeros(num_thresholds)\n else:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[320:393]\n==supervision.metrics.mean_average_recall:[513:587]\n num_predictions, num_iou_levels = (\n predictions_classes.shape[0],\n iou_thresholds.shape[0],\n )\n correct = np.zeros((num_predictions, num_iou_levels), dtype=bool)\n correct_class = target_classes[:, None] == predictions_classes\n\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n result_correct: npt.NDArray[np.bool_] = correct\n return result_correct\n\n @staticmethod\n def _compute_confusion_matrix(\n sorted_matches: npt.NDArray[np.bool_],\n sorted_prediction_class_ids: npt.NDArray[np.int32],\n unique_classes: npt.NDArray[np.int32],\n class_counts: npt.NDArray[np.int32],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Compute the confusion matrix for each class and IoU threshold.\n\n Assumes the matches and prediction_class_ids are sorted by confidence\n in descending order.\n\n Args:\n sorted_matches: shape (P, Th), that is True\n if the prediction is a true positive at the given IoU threshold.\n sorted_prediction_class_ids: shape (P,), containing\n the class id for each prediction.\n unique_classes: shape (C,), containing the unique\n class ids.\n class_counts: shape (C,), containing the number\n of true instances for each class.\n max_detections: The maximum number of detections to\n consider for each class. Extra detections are considered false\n positives. By default, all detections are considered.\n\n Returns:\n shape (C, Th, 3), containing the true positives, false\n positives, and false negatives for each class and IoU threshold.\n \"\"\"\n num_thresholds = sorted_matches.shape[1]\n num_classes = unique_classes.shape[0]\n\n confusion_matrix: npt.NDArray[np.float64] = np.zeros(\n (num_classes, num_thresholds, 3), dtype=np.float64\n )\n for class_idx, class_id in enumerate(unique_classes):\n is_class = sorted_prediction_class_ids == class_id\n num_true = class_counts[class_idx]\n num_predictions = is_class.sum()\n\n if num_predictions == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.zeros(num_thresholds)\n false_negatives = np.full(num_thresholds, num_true)\n elif num_true == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.full(num_thresholds, num_predictions)\n false_negatives = np.zeros(num_thresholds)\n else:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[88:169]\n==supervision.metrics.mean_average_recall:[317:390]\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> MeanAverageRecall:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> MeanAverageRecallResult:\n \"\"\"\n Calculate the Mean Average Recall metric based on the stored predictions\n and ground-truth, at different IoU thresholds and maximum detection counts.\n\n Returns:\n The Mean Average Recall metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> MeanAverageRecallResult:\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[461:511]\n==supervision.metrics.recall:[428:478]\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"\n new_detections = deepcopy(detections)\n if detections.is_empty() or size_category == ObjectSizeCategory.ANY:\n return new_detections\n\n sizes = get_detection_size_category(new_detections, self._metric_target)\n size_mask = sizes == size_category.value\n\n new_detections.xyxy = new_detections.xyxy[size_mask]\n if new_detections.mask is not None:\n new_detections.mask = new_detections.mask[size_mask]\n if new_detections.class_id is not None:\n new_detections.class_id = new_detections.class_id[size_mask]\n if new_detections.confidence is not None:\n new_detections.confidence = new_detections.confidence[size_mask]\n if new_detections.tracker_id is not None:\n new_detections.tracker_id = new_detections.tracker_id[size_mask]\n if new_detections.data is not None:\n for key, value in new_detections.data.items():\n new_detections.data[key] = np.array(value)[size_mask]\n\n return new_detections\n\n def _filter_predictions_and_targets_by_size(\n self,\n predictions_list: list[Detections],\n targets_list: list[Detections],\n size_category: ObjectSizeCategory,\n ) -> tuple[list[Detections], list[Detections]]:\n \"\"\"\n Filter predictions and targets by object size category.\n \"\"\"\n new_predictions_list = []\n new_targets_list = []\n for predictions, targets in zip(predictions_list, targets_list):\n new_predictions_list.append(\n self._filter_detections_by_size(predictions, size_category)\n )\n new_targets_list.append(\n self._filter_detections_by_size(targets, size_category)\n )\n return new_predictions_list, new_targets_list\n\n\n@dataclass", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[659:706]\n==supervision.metrics.recall:[428:477]\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"\n new_detections = deepcopy(detections)\n if detections.is_empty() or size_category == ObjectSizeCategory.ANY:\n return new_detections\n\n sizes = get_detection_size_category(new_detections, self._metric_target)\n size_mask = sizes == size_category.value\n\n new_detections.xyxy = new_detections.xyxy[size_mask]\n if new_detections.mask is not None:\n new_detections.mask = new_detections.mask[size_mask]\n if new_detections.class_id is not None:\n new_detections.class_id = new_detections.class_id[size_mask]\n if new_detections.confidence is not None:\n new_detections.confidence = new_detections.confidence[size_mask]\n if new_detections.tracker_id is not None:\n new_detections.tracker_id = new_detections.tracker_id[size_mask]\n if new_detections.data is not None:\n for key, value in new_detections.data.items():\n new_detections.data[key] = np.array(value)[size_mask]\n\n return new_detections\n\n def _filter_predictions_and_targets_by_size(\n self,\n predictions_list: list[Detections],\n targets_list: list[Detections],\n size_category: ObjectSizeCategory,\n ) -> tuple[list[Detections], list[Detections]]:\n \"\"\"\n Filter predictions and targets by object size category.\n \"\"\"\n new_predictions_list = []\n new_targets_list = []\n for predictions, targets in zip(predictions_list, targets_list):\n new_predictions_list.append(\n self._filter_detections_by_size(predictions, size_category)\n )\n new_targets_list.append(\n self._filter_detections_by_size(targets, size_category)\n )\n return new_predictions_list, new_targets_list\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[190:219]\n==supervision.metrics.mean_average_recall:[396:426]\n np.zeros((0,), dtype=int),\n targets.class_id,\n )\n )\n\n else:\n if self._metric_target == MetricTarget.BOXES:\n iou = box_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.MASKS:\n iou = mask_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n iou = oriented_box_iou_batch(\n target_contents, prediction_contents\n )\n else:\n raise ValueError(\n \"Unsupported metric target for IoU calculation\"\n )\n\n matches = self._match_detection_batch(\n predictions.class_id\n if predictions.class_id is not None\n else np.array([]),\n targets.class_id\n if targets.class_id is not None\n else np.array([]),\n iou,\n iou_thresholds,\n )", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[625:665]\n==supervision.metrics.recall:[392:428]\n result_recall: npt.NDArray[np.float64] = recall\n return result_recall\n\n def _detections_content(self, detections: Detections) -> npt.NDArray[Any]:\n \"\"\"Return boxes, masks or oriented bounding boxes from detections.\"\"\"\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[435:467]\n==supervision.metrics.recall:[397:428]\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[697:722]\n==supervision.metrics.precision:[710:735]\n f\"\\n(target: {self.metric_target.value},\"\n f\" averaging: {self.averaging_method.value})\"\n )\n ax.set_title(title, fontweight=\"bold\")\n\n x_positions = range(len(labels))\n bars = ax.bar(x_positions, values, color=colors, align=\"center\")\n\n ax.set_xticks(x_positions)\n ax.set_xticklabels(labels, rotation=45, ha=\"right\")\n\n for bar in bars:\n y_value = bar.get_height()\n ax.text(\n bar.get_x() + bar.get_width() / 2,\n y_value + 0.02,\n f\"{y_value:.2f}\",\n ha=\"center\",\n va=\"bottom\",\n )\n\n plt.rcParams[\"font.family\"] = \"sans-serif\"\n\n plt.tight_layout()\n plt.show()", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[132:164]\n==supervision.metrics.recall:[575:607]\n )\n if self.recall_per_class.size == 0:\n out_str += \" No results\\n\"\n for class_id, recall_of_class in zip(\n self.matched_classes, self.recall_per_class\n ):\n out_str += f\" {class_id}: {recall_of_class}\\n\"\n\n indent = \" \"\n if self.small_objects is not None:\n indented = indent + str(self.small_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nSmall objects:\\n{indented}\"\n if self.medium_objects is not None:\n indented = indent + str(self.medium_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nMedium objects:\\n{indented}\"\n if self.large_objects is not None:\n indented = indent + str(self.large_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nLarge objects:\\n{indented}\"\n\n return out_str\n\n def to_pandas(self) -> pd.DataFrame:\n \"\"\"\n Convert the result to a pandas DataFrame.\n\n Returns:\n The result as a DataFrame.\n \"\"\"\n ensure_pandas_installed()\n import pandas as pd\n\n pandas_data = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[699:722]\n==supervision.metrics.mean_average_recall:[233:258]\n )\n ax.set_title(title, fontweight=\"bold\")\n\n x_positions = range(len(labels))\n bars = ax.bar(x_positions, values, color=colors, align=\"center\")\n\n ax.set_xticks(x_positions)\n ax.set_xticklabels(labels, rotation=45, ha=\"right\")\n\n for bar in bars:\n y_value = bar.get_height()\n ax.text(\n bar.get_x() + bar.get_width() / 2,\n y_value + 0.02,\n f\"{y_value:.2f}\",\n ha=\"center\",\n va=\"bottom\",\n )\n\n plt.rcParams[\"font.family\"] = \"sans-serif\"\n\n plt.tight_layout()\n plt.show()", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.annotators.core:[1479:1497]\n==supervision.draw.utils:[133:151]\n border_radius = min(border_radius, min(width, height) // 2)\n\n rectangle_coordinates = [\n ((x1 + border_radius, y1), (x2 - border_radius, y2)),\n ((x1, y1 + border_radius), (x2, y2 - border_radius)),\n ]\n circle_centers = [\n (x1 + border_radius, y1 + border_radius),\n (x2 - border_radius, y1 + border_radius),\n (x1 + border_radius, y2 - border_radius),\n (x2 - border_radius, y2 - border_radius),\n ]\n\n for coordinates in rectangle_coordinates:\n cv2.rectangle(\n img=scene,\n pt1=coordinates[0],\n pt2=coordinates[1],", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[702:722]\n==supervision.metrics.mean_average_precision:[226:248]\n x_positions = range(len(labels))\n bars = ax.bar(x_positions, values, color=colors, align=\"center\")\n\n ax.set_xticks(x_positions)\n ax.set_xticklabels(labels, rotation=45, ha=\"right\")\n\n for bar in bars:\n y_value = bar.get_height()\n ax.text(\n bar.get_x() + bar.get_width() / 2,\n y_value + 0.02,\n f\"{y_value:.2f}\",\n ha=\"center\",\n va=\"bottom\",\n )\n\n plt.rcParams[\"font.family\"] = \"sans-serif\"\n\n plt.tight_layout()\n plt.show()", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[642:668]\n==supervision.metrics.mean_average_recall:[167:192]\n }\n\n if self.small_objects is not None:\n small_objects_df = self.small_objects.to_pandas()\n for key, value in small_objects_df.items():\n pandas_data[f\"small_objects_{key}\"] = value\n if self.medium_objects is not None:\n medium_objects_df = self.medium_objects.to_pandas()\n for key, value in medium_objects_df.items():\n pandas_data[f\"medium_objects_{key}\"] = value\n if self.large_objects is not None:\n large_objects_df = self.large_objects.to_pandas()\n for key, value in large_objects_df.items():\n pandas_data[f\"large_objects_{key}\"] = value\n\n return pd.DataFrame(pandas_data, index=[0])\n\n def plot(self) -> None:\n \"\"\"\n Plot the F1 results.\n\n ![example_plot](\n https://media.roboflow.com/supervision-docs/metrics/f1_plot_example.png\n ){ align=center width=\"800\" }\n \"\"\"\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.precision:[655:681]\n==supervision.metrics.recall:[609:635]\n }\n\n if self.small_objects is not None:\n small_objects_df = self.small_objects.to_pandas()\n for key, value in small_objects_df.items():\n pandas_data[f\"small_objects_{key}\"] = value\n if self.medium_objects is not None:\n medium_objects_df = self.medium_objects.to_pandas()\n for key, value in medium_objects_df.items():\n pandas_data[f\"medium_objects_{key}\"] = value\n if self.large_objects is not None:\n large_objects_df = self.large_objects.to_pandas()\n for key, value in large_objects_df.items():\n pandas_data[f\"large_objects_{key}\"] = value\n\n return pd.DataFrame(pandas_data, index=[0])\n\n def plot(self) -> None:\n \"\"\"\n Plot the recall results.\n\n ![example_plot](\n https://media.roboflow.com/supervision-docs/metrics/recall_plot_example.png\n ){ align=center width=\"800\" }\n \"\"\"\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[642:657]\n==supervision.metrics.mean_average_precision:[158:174]\n }\n\n if self.small_objects is not None:\n small_objects_df = self.small_objects.to_pandas()\n for key, value in small_objects_df.items():\n pandas_data[f\"small_objects_{key}\"] = value\n if self.medium_objects is not None:\n medium_objects_df = self.medium_objects.to_pandas()\n for key, value in medium_objects_df.items():\n pandas_data[f\"medium_objects_{key}\"] = value\n if self.large_objects is not None:\n large_objects_df = self.large_objects.to_pandas()\n for key, value in large_objects_df.items():\n pandas_data[f\"large_objects_{key}\"] = value\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[616:640]\n==supervision.metrics.mean_average_recall:[140:164]\n indent = \" \"\n if self.small_objects is not None:\n indented = indent + str(self.small_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nSmall objects:\\n{indented}\"\n if self.medium_objects is not None:\n indented = indent + str(self.medium_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nMedium objects:\\n{indented}\"\n if self.large_objects is not None:\n indented = indent + str(self.large_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nLarge objects:\\n{indented}\"\n\n return out_str\n\n def to_pandas(self) -> pd.DataFrame:\n \"\"\"\n Convert the result to a pandas DataFrame.\n\n Returns:\n The result as a DataFrame.\n \"\"\"\n ensure_pandas_installed()\n import pandas as pd\n\n pandas_data = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.precision:[629:653]\n==supervision.metrics.recall:[583:607]\n indent = \" \"\n if self.small_objects is not None:\n indented = indent + str(self.small_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nSmall objects:\\n{indented}\"\n if self.medium_objects is not None:\n indented = indent + str(self.medium_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nMedium objects:\\n{indented}\"\n if self.large_objects is not None:\n indented = indent + str(self.large_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nLarge objects:\\n{indented}\"\n\n return out_str\n\n def to_pandas(self) -> pd.DataFrame:\n \"\"\"\n Convert the result to a pandas DataFrame.\n\n Returns:\n The result as a DataFrame.\n \"\"\"\n ensure_pandas_installed()\n import pandas as pd\n\n pandas_data = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.detection.utils.iou_and_nms:[39:53]\n==supervision.detection.vlm:[58:72]\n if isinstance(value, cls):\n return value\n if isinstance(value, str):\n value = value.lower()\n try:\n return cls(value)\n except ValueError:\n raise ValueError(f\"Invalid value: {value}. Must be one of {cls.list()}\")\n raise ValueError(\n f\"Invalid value type: {type(value)}. Must be an instance of \"\n f\"{cls.__name__} or str.\"\n )\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[395:423]\n==supervision.metrics.mean_average_recall:[591:620]\n false_negatives = num_true - true_positives\n\n confusion_matrix[class_idx] = np.stack(\n [true_positives, false_positives, false_negatives], axis=1\n )\n\n result_confusion_matrix: npt.NDArray[np.float64] = confusion_matrix\n return result_confusion_matrix\n\n @staticmethod\n def _compute_recall(\n confusion_matrix: npt.NDArray[np.float64],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Broadcastable function, computing the recall from the confusion matrix.\n\n Args:\n confusion_matrix: shape (N, ..., 3), where the last dimension\n contains the true positives, false positives, and false negatives.\n\n Returns:\n shape (N, ...), containing the recall for each element.\n \"\"\"\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.detection:[1048:1062]\n==supervision.metrics.f1_score:[327:342]\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[88:117]\n==supervision.metrics.mean_average_precision:[1291:1320]\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> F1Score:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.detection.tools.csv_sink:[115:169]\n==supervision.detection.tools.json_sink:[118:172]\n self.file.close()\n\n @staticmethod\n def _slice_value(value: Any, i: int, n: int) -> Any:\n \"\"\"\n Return the i-th element when the value stores per-detection data.\n\n Dispatch rules:\n - np.ndarray with ndim == 0: return as-is for broadcasting\n - np.ndarray with ndim >= 1: return value[i]\n - list or tuple with len equal to n: return value[i]\n - any other type: return as-is for broadcasting\n\n Args:\n value: Custom-data field value.\n i: Zero-based detection index.\n n: Total number of detections.\n\n Returns:\n Element at position i if value is a per-detection sequence,\n otherwise value unchanged.\n \"\"\"\n if isinstance(value, np.ndarray):\n return value if value.ndim == 0 else value[i]\n if isinstance(value, (list, tuple)) and len(value) == n:\n return value[i]\n return value\n\n @staticmethod\n def parse_detection_data(\n detections: Detections, custom_data: dict[str, Any] | None = None\n ) -> list[dict[str, Any]]:\n \"\"\"\n Convert detections and optional custom data into per-detection rows.\n\n Builds one dictionary per detection containing bounding box coordinates,\n detection attributes, and any values from ``detections.data`` or\n ``custom_data``. List and tuple values in ``custom_data`` with length\n equal to ``len(detections.xyxy)`` are sliced one element per row; all\n other values are broadcast to every row.\n\n Args:\n detections: Detection data to serialize into row dictionaries.\n custom_data: Optional extra fields to include in each row.\n\n Returns:\n A list of dictionaries, one per detection, containing ``xyxy``\n coordinates, ``class_id``, ``confidence``, ``tracker_id``, and any\n values from ``detections.data`` or ``custom_data``.\n \"\"\"\n parsed_rows = []\n n = len(detections.xyxy)\n for i in range(n):\n row = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.dataset.formats.pascal_voc:[158:167]\n==supervision.dataset.formats.yolo:[397:406]\n if mask is not None:\n polygons = approximate_mask_with_polygons(\n mask=mask,\n min_image_area_percentage=min_image_area_percentage,\n max_image_area_percentage=max_image_area_percentage,\n approximation_percentage=approximation_percentage,\n )\n for polygon in polygons:\n xyxy = polygon_to_xyxy(polygon=polygon)", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.detection.utils.iou_and_nms:[79:128]\n==supervision.detection.vlm:[62:72]\n try:\n return cls(value)\n except ValueError:\n raise ValueError(f\"Invalid value: {value}. Must be one of {cls.list()}\")\n raise ValueError(\n f\"Invalid value type: {type(value)}. Must be an instance of \"\n f\"{cls.__name__} or str.\"\n )\n\n\ndef box_iou(\n box_true: list[float] | npt.NDArray[np.floating],\n box_detection: list[float] | npt.NDArray[np.floating],\n overlap_metric: OverlapMetric | str = OverlapMetric.IOU,\n) -> float:\n \"\"\"\n Compute overlap metric between two bounding boxes.\n\n Supports standard IOU (intersection-over-union) and IOS\n (intersection-over-smaller-area) metrics. Returns the overlap value in range\n `[0, 1]`.\n\n Args:\n box_true: Ground truth box in format\n `(x_min, y_min, x_max, y_max)`.\n box_detection: Detected box in format\n `(x_min, y_min, x_max, y_max)`.\n overlap_metric: Overlap type.\n Use `OverlapMetric.IOU` for IOU or\n `OverlapMetric.IOS` for IOS. Defaults to `OverlapMetric.IOU`.\n\n Returns:\n Overlap value between boxes in `[0, 1]`.\n\n Raises:\n ValueError: If `overlap_metric` is not IOU or IOS.\n\n Examples:\n ```pycon\n >>> import supervision as sv\n >>> box_true = [100, 100, 200, 200]\n >>> box_detection = [150, 150, 250, 250]\n >>> sv.box_iou(box_true, box_detection, overlap_metric=sv.OverlapMetric.IOU)\n 0.142857...\n >>> sv.box_iou(box_true, box_detection, overlap_metric=sv.OverlapMetric.IOS)\n 0.25\n\n ```\n \"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[614:623]\n==supervision.metrics.recall:[376:385]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]\n false_negatives = confusion_matrix[..., 2]\n\n denominator = true_positives + false_negatives", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.annotators.core:[1498:1505]\n==supervision.draw.utils:[152:159]\n thickness=-1,\n )\n for center in circle_centers:\n cv2.circle(\n img=scene,\n center=center,\n radius=border_radius,", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[234:242]\n==supervision.metrics.mean_average_recall:[446:454]\n iou_thresholds=iou_thresholds,\n matched_classes=np.array([], dtype=int),\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n concatenated_stats = [np.concatenate(items, 0) for items in zip(*stats)]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[417:424]\n==supervision.metrics.precision:[420:428]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]\n false_positives = confusion_matrix[..., 1]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.precision:[237:245]\n==supervision.metrics.recall:[214:222]\n iou_thresholds=iou_thresholds,\n matched_classes=np.array([], dtype=int),\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n concatenated_stats = [np.concatenate(items, 0) for items in zip(*stats)]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.annotators.utils:[99:105]\n==supervision.key_points.annotators:[921:935]\n return (\n center_x - text_w // 2,\n center_y - text_h // 2,\n center_x + text_w // 2,\n center_y + text_h // 2,\n )", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[251:274]\n==supervision.metrics.mean_average_recall:[463:481]\n iou_thresholds=iou_thresholds,\n matched_classes=unique_classes,\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n def _compute_f1_for_classes(\n self,\n matches: npt.NDArray[np.bool_],\n prediction_confidence: npt.NDArray[np.float32],\n prediction_class_ids: npt.NDArray[np.int32],\n true_class_ids: npt.NDArray[np.int32],\n ) -> tuple[\n npt.NDArray[np.float64],\n npt.NDArray[np.float64],\n npt.NDArray[np.int32],\n ]:\n \"\"\"Compute F1 scores from concatenated stats across all images.\n\n ``unique_classes`` is the union of GT and predicted classes so that\n predictions of classes absent from GT still count as false positives.\n \"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[251:293]\n==supervision.metrics.precision:[254:296]\n iou_thresholds=iou_thresholds,\n matched_classes=unique_classes,\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n def _compute_precision_for_classes(\n self,\n matches: npt.NDArray[np.bool_],\n prediction_confidence: npt.NDArray[np.float32],\n prediction_class_ids: npt.NDArray[np.int32],\n true_class_ids: npt.NDArray[np.int32],\n ) -> tuple[\n npt.NDArray[np.float64],\n npt.NDArray[np.float64],\n npt.NDArray[np.int32],\n ]:\n \"\"\"Compute precision scores from concatenated stats across all images.\n\n ``unique_classes`` is the union of GT and predicted classes so that\n predictions of classes absent from GT still count as false positives.\n \"\"\"\n sorted_indices = np.argsort(-prediction_confidence)\n matches = matches[sorted_indices]\n prediction_class_ids = prediction_class_ids[sorted_indices]\n # Predictions whose class never appears in the ground truth are still\n # false positives, so include those classes in the confusion matrix\n # (their true-instance count is zero).\n unique_classes = np.unique(\n np.concatenate((true_class_ids, prediction_class_ids))\n )\n true_classes, true_counts = np.unique(true_class_ids, return_counts=True)\n class_counts = np.zeros(unique_classes.shape[0], dtype=int)\n class_counts[np.searchsorted(unique_classes, true_classes)] = true_counts\n\n # Shape: PxTh,P,C,C -> CxThx3\n confusion_matrix = self._compute_confusion_matrix(\n matches, prediction_class_ids, unique_classes, class_counts\n )\n\n # Shape: CxThx3 -> CxTh", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[688:696]\n==supervision.metrics.precision:[701:709]\n colors += [LEGACY_COLOR_PALETTE[4]] * 2\n\n plt.rcParams[\"font.family\"] = \"monospace\"\n\n _, ax = plt.subplots(figsize=(10, 6))\n ax.set_ylim(0, 1)\n ax.set_ylabel(\"Value\", fontweight=\"bold\")\n title = (", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[251:280]\n==supervision.metrics.recall:[231:252]\n iou_thresholds=iou_thresholds,\n matched_classes=unique_classes,\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n def _compute_f1_for_classes(\n self,\n matches: npt.NDArray[np.bool_],\n prediction_confidence: npt.NDArray[np.float32],\n prediction_class_ids: npt.NDArray[np.int32],\n true_class_ids: npt.NDArray[np.int32],\n ) -> tuple[\n npt.NDArray[np.float64],\n npt.NDArray[np.float64],\n npt.NDArray[np.int32],\n ]:\n \"\"\"Compute F1 scores from concatenated stats across all images.\n\n ``unique_classes`` is the union of GT and predicted classes so that\n predictions of classes absent from GT still count as false positives.\n \"\"\"\n sorted_indices = np.argsort(-prediction_confidence)\n matches = matches[sorted_indices]\n prediction_class_ids = prediction_class_ids[sorted_indices]\n # Predictions whose class never appears in the ground truth are still\n # false positives, so include those classes in the confusion matrix\n # (their true-instance count is zero).", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[417:423]\n==supervision.metrics.recall:[376:382]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_precision:[216:224]\n==supervision.metrics.mean_average_recall:[223:231]\n ]\n colors += [LEGACY_COLOR_PALETTE[4]] * 3\n\n plt.rcParams[\"font.family\"] = \"monospace\"\n\n _, ax = plt.subplots(figsize=(10, 6))\n ax.set_ylim(0, 1)\n ax.set_ylabel(\"Value\", fontweight=\"bold\")", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[614:620]\n==supervision.metrics.precision:[420:426]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[690:696]\n==supervision.metrics.mean_average_recall:[226:232]\n plt.rcParams[\"font.family\"] = \"monospace\"\n\n _, ax = plt.subplots(figsize=(10, 6))\n ax.set_ylim(0, 1)\n ax.set_ylabel(\"Value\", fontweight=\"bold\")\n title = (", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "cyclic-import", + "message": "Cyclic import (supervision -> supervision.detection.tools.polygon_zone)", + "message-id": "R0401" + } +] \ No newline at end of file diff --git a/metrics-before-pylint/pylint_score_antes.txt b/metrics-before-pylint/pylint_score_antes.txt new file mode 100644 index 0000000000..86f64ddd1f --- /dev/null +++ b/metrics-before-pylint/pylint_score_antes.txt @@ -0,0 +1 @@ +Your code has been rated at 7.98/10 (previous run: 7.98/10, +0.00) diff --git a/metrics-before-pylint/pylint_warning_antes.json b/metrics-before-pylint/pylint_warning_antes.json new file mode 100644 index 0000000000..4306e35803 --- /dev/null +++ b/metrics-before-pylint/pylint_warning_antes.json @@ -0,0 +1,1315 @@ +[ + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BoxAnnotator.annotate", + "line": 214, + "column": 4, + "endLine": 214, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BoxAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "OrientedBoxAnnotator.annotate", + "line": 301, + "column": 4, + "endLine": 301, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'OrientedBoxAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "MaskAnnotator.annotate", + "line": 451, + "column": 4, + "endLine": 451, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MaskAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "PolygonAnnotator.annotate", + "line": 539, + "column": 4, + "endLine": 539, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'PolygonAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator.annotate", + "line": 630, + "column": 4, + "endLine": 630, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'ColorAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 730, + "column": 4, + "endLine": 730, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'HaloAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator.annotate", + "line": 830, + "column": 4, + "endLine": 830, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'EllipseAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator.annotate", + "line": 926, + "column": 4, + "endLine": 926, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BoxCornerAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "CircleAnnotator.annotate", + "line": 1019, + "column": 4, + "endLine": 1019, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'CircleAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.annotate", + "line": 1122, + "column": 4, + "endLine": 1122, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'DotAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.annotate", + "line": 1252, + "column": 4, + "endLine": 1252, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'LabelAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator.annotate", + "line": 1569, + "column": 4, + "endLine": 1569, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'RichLabelAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "IconAnnotator.annotate", + "line": 1812, + "column": 4, + "endLine": 1812, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'IconAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BlurAnnotator.annotate", + "line": 1914, + "column": 4, + "endLine": 1914, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BlurAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.annotate", + "line": 2017, + "column": 4, + "endLine": 2017, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'TraceAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2155, + "column": 4, + "endLine": 2155, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'HeatMapAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2250, + "column": 4, + "endLine": 2250, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'PixelateAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.annotate", + "line": 2364, + "column": 4, + "endLine": 2364, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'TriangleAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2480, + "column": 4, + "endLine": 2480, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'RoundBoxAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.annotate", + "line": 2624, + "column": 4, + "endLine": 2624, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'PercentageBarAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2823, + "column": 4, + "endLine": 2823, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'CropAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BackgroundOverlayAnnotator.annotate", + "line": 2978, + "column": 4, + "endLine": 2978, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BackgroundOverlayAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge.is_in_memory", + "line": 280, + "column": 23, + "endLine": 280, + "endColumn": 48, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge.is_lazy", + "line": 283, + "column": 23, + "endLine": 283, + "endColumn": 48, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge", + "line": 294, + "column": 36, + "endLine": 294, + "endColumn": 61, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_pascal_voc", + "line": 384, + "column": 21, + "endLine": 384, + "endColumn": 48, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 132, + "column": 25, + "endLine": 132, + "endColumn": 50, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 133, + "column": 20, + "endLine": 133, + "endColumn": 45, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.formats.yolo", + "obj": "_extract_class_names.", + "line": 121, + "column": 43, + "endLine": 121, + "endColumn": 59, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "unnecessary-lambda", + "message": "Lambda may not be necessary", + "message-id": "W0108" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 958, + "column": 22, + "endLine": 958, + "endColumn": 48, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _image_shape of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 960, + "column": 15, + "endLine": 960, + "endColumn": 30, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _image_shape of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 963, + "column": 40, + "endLine": 963, + "endColumn": 55, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _image_shape of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 971, + "column": 28, + "endLine": 971, + "endColumn": 36, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _rles of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 976, + "column": 13, + "endLine": 976, + "endColumn": 28, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _crop_shapes of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 979, + "column": 13, + "endLine": 979, + "endColumn": 24, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _offsets of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.core", + "obj": "Detections.from_lmm", + "line": 1447, + "column": 16, + "endLine": 1450, + "endColumn": 17, + "path": "src\\supervision\\detection\\core.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f\"Invalid LMM string '{lmm}'. Must be one of {[m.value for m in LMM]}\") from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "LMM.from_value", + "line": 66, + "column": 16, + "endLine": 66, + "endColumn": 88, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "VLM.from_value", + "line": 109, + "column": 16, + "endLine": 109, + "endColumn": 88, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "_validate_vlm_parameters", + "line": 184, + "column": 12, + "endLine": 186, + "endColumn": 13, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid vlm value: {vlm}. Must be one of {[e.value for e in VLM]}') from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "recover_truncated_qwen_2_5_vl_response", + "line": 301, + "column": 11, + "endLine": 301, + "endColumn": 20, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 783, + "column": 27, + "endLine": 783, + "endColumn": 36, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "warning", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.open", + "line": 108, + "column": 20, + "endLine": 108, + "endColumn": 57, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.append", + "line": 211, + "column": 12, + "endLine": 213, + "endColumn": 13, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "warning", + "module": "supervision.detection.tools.json_sink", + "obj": "JSONSink.open", + "line": 82, + "column": 20, + "endLine": 82, + "endColumn": 45, + "path": "src\\supervision\\detection\\tools\\json_sink.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.detection.utils.boxes", + "obj": "denormalize_boxes", + "line": 109, + "column": 4, + "endLine": 109, + "endColumn": 50, + "path": "src\\supervision\\detection\\utils\\boxes.py", + "symbol": "unused-argument", + "message": "Unused argument 'normalized_xyxy'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapFilter.from_value", + "line": 47, + "column": 16, + "endLine": 47, + "endColumn": 88, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapMetric.from_value", + "line": 83, + "column": 16, + "endLine": 83, + "endColumn": 88, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "mask_non_max_suppression", + "line": 837, + "column": 4, + "endLine": 837, + "endColumn": 23, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "unused-argument", + "message": "Unused argument 'mask_dimension'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused BaseKeyPointAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused EdgeAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused VertexAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused VertexLabelAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.core", + "obj": "", + "line": 8, + "column": 0, + "endLine": 8, + "endColumn": 49, + "path": "src\\supervision\\keypoint\\core.py", + "symbol": "unused-import", + "message": "Unused KeyPoints imported from supervision.key_points.core", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__getitem__", + "line": 999, + "column": 12, + "endLine": 999, + "endColumn": 59, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "unbalanced-tuple-unpacking", + "message": "Possible unbalanced tuple unpacking with sequence defined at line 104 of numpy.lib._index_tricks_impl: left side has 2 labels, right side has 0 values", + "message-id": "W0632" + }, + { + "type": "warning", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 553, + "column": 29, + "endLine": 553, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "unused-variable", + "message": "Unused variable 'iou'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 553, + "column": 34, + "endLine": 553, + "endColumn": 45, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "unused-variable", + "message": "Unused variable 'class_match'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.metrics.f1_score", + "obj": "F1Score.update", + "line": 92, + "column": 4, + "endLine": 92, + "endColumn": 14, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'F1Score.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.f1_score", + "obj": "F1Score.update", + "line": 92, + "column": 4, + "endLine": 92, + "endColumn": 14, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'F1Score.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.f1_score", + "obj": "F1Score.compute", + "line": 123, + "column": 4, + "endLine": 123, + "endColumn": 15, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'F1Score.compute' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.update", + "line": 1295, + "column": 4, + "endLine": 1295, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'MeanAveragePrecision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.update", + "line": 1295, + "column": 4, + "endLine": 1295, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAveragePrecision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1450, + "column": 4, + "endLine": 1450, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAveragePrecision.compute' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall.update", + "line": 321, + "column": 4, + "endLine": 321, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'MeanAverageRecall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall.update", + "line": 321, + "column": 4, + "endLine": 321, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAverageRecall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall.compute", + "line": 352, + "column": 4, + "endLine": 352, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAverageRecall.compute' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.precision", + "obj": "Precision.update", + "line": 95, + "column": 4, + "endLine": 95, + "endColumn": 14, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'Precision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.precision", + "obj": "Precision.update", + "line": 95, + "column": 4, + "endLine": 95, + "endColumn": 14, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Precision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.precision", + "obj": "Precision.compute", + "line": 126, + "column": 4, + "endLine": 126, + "endColumn": 15, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Precision.compute' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall.update", + "line": 95, + "column": 4, + "endLine": 95, + "endColumn": 14, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'Recall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall.update", + "line": 95, + "column": 4, + "endLine": 95, + "endColumn": 14, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Recall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall.compute", + "line": 126, + "column": 4, + "endLine": 126, + "endColumn": 15, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Recall.compute' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall._make_empty_content", + "line": 429, + "column": 8, + "endLine": 429, + "endColumn": 73, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "unreachable", + "message": "Unreachable code", + "message-id": "W0101" + }, + { + "type": "warning", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 5, + "column": 8, + "endLine": 9, + "endColumn": 9, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ImportError as exc' and 'raise ImportError(\"`metrics` extra is required to run the function. Run `uv pip install 'supervision[metrics]'` or `uv add supervision --extra metrics`.\") from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 3, + "column": 8, + "endLine": 3, + "endColumn": 21, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "unused-import", + "message": "Unused import pandas", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 203, + "column": 12, + "endLine": 203, + "endColumn": 28, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 218, + "column": 8, + "endLine": 218, + "endColumn": 62, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 228, + "column": 8, + "endLine": 228, + "endColumn": 73, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 249, + "column": 8, + "endLine": 249, + "endColumn": 73, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 252, + "column": 12, + "endLine": 252, + "endColumn": 28, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 291, + "column": 8, + "endLine": 291, + "endColumn": 88, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 307, + "column": 8, + "endLine": 307, + "endColumn": 39, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 314, + "column": 8, + "endLine": 314, + "endColumn": 35, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "NumpyJsonEncoder.default", + "line": 12, + "column": 4, + "endLine": 12, + "endColumn": 15, + "path": "src\\supervision\\utils\\file.py", + "symbol": "arguments-renamed", + "message": "Parameter 'o' has been renamed to 'obj' in overriding 'NumpyJsonEncoder.default' method", + "message-id": "W0237" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "read_txt_file", + "line": 120, + "column": 9, + "endLine": 120, + "endColumn": 29, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "save_text_file", + "line": 137, + "column": 9, + "endLine": 137, + "endColumn": 34, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "read_json_file", + "line": 166, + "column": 9, + "endLine": 166, + "endColumn": 29, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "save_json_file", + "line": 182, + "column": 9, + "endLine": 182, + "endColumn": 34, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "read_yaml_file", + "line": 196, + "column": 9, + "endLine": 196, + "endColumn": 29, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "save_yaml_file", + "line": 210, + "column": 9, + "endLine": 210, + "endColumn": 34, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "SupervisionWarnings", + "line": 18, + "column": 4, + "endLine": 18, + "endColumn": 8, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unnecessary-pass", + "message": "Unnecessary pass statement", + "message-id": "W0107" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "format_warning", + "line": 24, + "column": 4, + "endLine": 24, + "endColumn": 17, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unused-argument", + "message": "Unused argument 'filename'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "format_warning", + "line": 25, + "column": 4, + "endLine": 25, + "endColumn": 15, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unused-argument", + "message": "Unused argument 'lineno'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "format_warning", + "line": 26, + "column": 4, + "endLine": 26, + "endColumn": 20, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unused-argument", + "message": "Unused argument 'line'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 62, + "column": 12, + "endLine": 62, + "endColumn": 68, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 107, + "column": 12, + "endLine": 107, + "endColumn": 25, + "path": "src\\supervision\\utils\\video.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute '__fourcc' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 110, + "column": 12, + "endLine": 110, + "endColumn": 25, + "path": "src\\supervision\\utils\\video.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute '__fourcc' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_mux_audio", + "line": 198, + "column": 11, + "endLine": 198, + "endColumn": 20, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_mux_audio", + "line": 162, + "column": 17, + "endLine": 187, + "endColumn": 9, + "path": "src\\supervision\\utils\\video.py", + "symbol": "subprocess-run-check", + "message": "'subprocess.run' used without explicitly defining the value for 'check'.", + "message-id": "W1510" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 212, + "column": 8, + "endLine": 212, + "endColumn": 65, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 215, + "column": 8, + "endLine": 215, + "endColumn": 56, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "process_video", + "line": 417, + "column": 23, + "endLine": 417, + "endColumn": 32, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + } +] \ No newline at end of file diff --git a/metrics-before-pytest/coverage_antes.json b/metrics-before-pytest/coverage_antes.json new file mode 100644 index 0000000000..3f62447dfd --- /dev/null +++ b/metrics-before-pytest/coverage_antes.json @@ -0,0 +1 @@ +{"meta": {"format": 3, "version": "7.13.1", "timestamp": "2026-06-25T18:53:43.962890", "branch_coverage": true, "show_contexts": false}, "files": {"extract_metrics_before_codecarbon.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 12, 16, 26, 29, 32, 34, 43, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 63], "excluded_lines": [], "executed_branches": [], "missing_branches": [[45, 46], [45, 48]], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 12, 16, 26, 29, 32, 34, 43, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 63], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[45, 46], [45, 48]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 12, 16, 26, 29, 32, 34, 43, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 63], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[45, 46], [45, 48]]}}}, "extract_metrics_before_pylint.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 9, 11, 14, 16, 24, 25, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 41, 42, 43, 44, 46, 54, 55, 56, 57, 58, 60, 63, 64, 65, 66, 67, 73, 76, 77, 78, 79, 80, 81, 83, 88, 89, 90, 91, 94, 95, 103, 104, 105, 106, 107, 109], "excluded_lines": [], "executed_branches": [], "missing_branches": [[36, 37], [36, 41], [42, 43], [42, 46], [54, 55], [54, 60], [77, 78], [77, 83]], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 9, 11, 14, 16, 24, 25, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 41, 42, 43, 44, 46, 54, 55, 56, 57, 58, 60, 63, 64, 65, 66, 67, 73, 76, 77, 78, 79, 80, 81, 83, 88, 89, 90, 91, 94, 95, 103, 104, 105, 106, 107, 109], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[36, 37], [36, 41], [42, 43], [42, 46], [54, 55], [54, 60], [77, 78], [77, 83]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 9, 11, 14, 16, 24, 25, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 41, 42, 43, 44, 46, 54, 55, 56, 57, 58, 60, 63, 64, 65, 66, 67, 73, 76, 77, 78, 79, 80, 81, 83, 88, 89, 90, 91, 94, 95, 103, 104, 105, 106, 107, 109], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[36, 37], [36, 41], [42, 43], [42, 46], [54, 55], [54, 60], [77, 78], [77, 83]]}}}, "extract_metrics_before_pytest.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 13, 16, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 41, 63, 64, 65, 66, 67, 68, 69, 70], "excluded_lines": [], "executed_branches": [], "missing_branches": [[21, 22], [21, 27], [22, 23], [22, 27], [23, 22], [23, 24], [27, 28], [27, 34]], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 13, 16, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 41, 63, 64, 65, 66, 67, 68, 69, 70], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[21, 22], [21, 27], [22, 23], [22, 27], [23, 22], [23, 24], [27, 28], [27, 34]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 13, 16, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 41, 63, 64, 65, 66, 67, 68, 69, 70], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[21, 22], [21, 27], [22, 23], [22, 27], [23, 22], [23, 24], [27, 28], [27, 34]]}}}, "extract_metrics_before_radon.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 111, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 111, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 34, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 34, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 7, 8, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, 58, 60, 61, 62, 63, 64, 65, 68, 69, 79, 80, 81, 82, 83, 84, 96, 97, 98, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 130, 145, 147, 148, 150, 151, 152, 153, 154, 155, 157, 158, 159, 160, 161, 164, 165, 167, 168, 169, 170, 171, 174, 176, 177, 178, 179, 180, 181, 182, 184, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 207, 209], "excluded_lines": [], "executed_branches": [], "missing_branches": [[68, 69], [68, 79], [81, 82], [81, 98], [82, 83], [82, 84], [96, 81], [96, 97], [103, 104], [103, 145], [105, 106], [105, 113], [107, 108], [107, 109], [113, 114], [113, 130], [147, 148], [147, 174], [152, 153], [152, 155], [157, 147], [157, 158], [160, 161], [160, 165], [168, 169], [168, 171], [176, 177], [176, 184], [178, 179], [178, 182], [189, 190], [189, 192], [192, 193], [192, 194]], "functions": {"normalizar_caminho": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [8], "excluded_lines": [], "start_line": 7, "executed_branches": [], "missing_branches": []}, "rodar_radon": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [13, 16], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "extrair_funcoes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [80, 81, 82, 83, 84, 96, 97, 98], "excluded_lines": [], "start_line": 79, "executed_branches": [], "missing_branches": [[81, 82], [81, 98], [82, 83], [82, 84], [96, 81], [96, 97]]}, "salvar_csv": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "excluded_lines": [], "start_line": 188, "executed_branches": [], "missing_branches": [[189, 190], [189, 192], [192, 193], [192, 194]]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 89, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 89, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 24, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 24, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 7, 12, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, 58, 60, 61, 62, 63, 64, 65, 68, 69, 79, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 130, 145, 147, 148, 150, 151, 152, 153, 154, 155, 157, 158, 159, 160, 161, 164, 165, 167, 168, 169, 170, 171, 174, 176, 177, 178, 179, 180, 181, 182, 184, 188, 202, 203, 204, 205, 206, 207, 209], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[68, 69], [68, 79], [103, 104], [103, 145], [105, 106], [105, 113], [107, 108], [107, 109], [113, 114], [113, 130], [147, 148], [147, 174], [152, 153], [152, 155], [157, 147], [157, 158], [160, 161], [160, 165], [168, 169], [168, 171], [176, 177], [176, 184], [178, 179], [178, 182]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 111, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 111, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 34, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 34, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 7, 8, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, 58, 60, 61, 62, 63, 64, 65, 68, 69, 79, 80, 81, 82, 83, 84, 96, 97, 98, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 130, 145, 147, 148, 150, 151, 152, 153, 154, 155, 157, 158, 159, 160, 161, 164, 165, 167, 168, 169, 170, 171, 174, 176, 177, 178, 179, 180, 181, 182, 184, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 207, 209], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[68, 69], [68, 79], [81, 82], [81, 98], [82, 83], [82, 84], [96, 81], [96, 97], [103, 104], [103, 145], [105, 106], [105, 113], [107, 108], [107, 109], [113, 114], [113, 130], [147, 148], [147, 174], [152, 153], [152, 155], [157, 147], [157, 158], [160, 161], [160, 165], [168, 169], [168, 171], [176, 177], [176, 184], [178, 179], [178, 182], [189, 190], [189, 192], [192, 193], [192, 194]]}}}, "extract_score_before_pylint.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 4, 5, 7, 9, 16, 17, 18, 19, 20, 21, 23], "excluded_lines": [], "executed_branches": [], "missing_branches": [[18, 19], [18, 23], [19, 18], [19, 20]], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 4, 5, 7, 9, 16, 17, 18, 19, 20, 21, 23], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[18, 19], [18, 23], [19, 18], [19, 20]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 4, 5, 7, 9, 16, 17, 18, 19, 20, 21, 23], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[18, 19], [18, 23], [19, 18], [19, 20]]}}}, "src\\supervision\\__init__.py": {"executed_lines": [1, 3, 5, 9, 34, 40, 41, 46, 47, 48, 49, 54, 55, 56, 57, 58, 59, 67, 82, 97, 104, 108, 109, 110, 111, 122, 123, 124, 133, 134, 135, 136, 137, 138, 149, 150, 158], "summary": {"covered_lines": 37, "num_statements": 39, "percent_covered": 94.87179487179488, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.87179487179488, "percent_statements_covered_display": "95", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [6, 7], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [1, 3, 5, 9, 34, 40, 41, 46, 47, 48, 49, 54, 55, 56, 57, 58, 59, 67, 82, 97, 104, 108, 109, 110, 111, 122, 123, 124, 133, 134, 135, 136, 137, 138, 149, 150, 158], "summary": {"covered_lines": 37, "num_statements": 39, "percent_covered": 94.87179487179488, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.87179487179488, "percent_statements_covered_display": "95", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [6, 7], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 9, 34, 40, 41, 46, 47, 48, 49, 54, 55, 56, 57, 58, 59, 67, 82, 97, 104, 108, 109, 110, 111, 122, 123, 124, 133, 134, 135, 136, 137, 138, 149, 150, 158], "summary": {"covered_lines": 37, "num_statements": 39, "percent_covered": 94.87179487179488, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.87179487179488, "percent_statements_covered_display": "95", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [6, 7], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\annotators\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\annotators\\base.py": {"executed_lines": [1, 2, 4, 7, 8, 9], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [12], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"BaseAnnotator.annotate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [12], "excluded_lines": [], "start_line": 9, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 7, 8, 9], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"BaseAnnotator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [12], "excluded_lines": [], "start_line": 7, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 7, 8, 9], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\annotators\\core.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 29, 30, 31, 32, 33, 38, 39, 40, 41, 42, 46, 52, 54, 67, 74, 75, 76, 77, 80, 83, 103, 137, 138, 139, 140, 141, 142, 143, 144, 145, 147, 190, 195, 209, 210, 211, 213, 214, 255, 257, 258, 259, 267, 274, 277, 282, 296, 297, 298, 300, 301, 342, 344, 345, 365, 393, 394, 395, 396, 399, 400, 401, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 423, 432, 446, 447, 448, 450, 451, 493, 495, 496, 498, 499, 505, 508, 511, 520, 534, 535, 536, 538, 539, 580, 582, 583, 585, 586, 587, 595, 596, 603, 606, 611, 625, 626, 627, 629, 630, 671, 673, 674, 675, 676, 684, 692, 695, 698, 707, 724, 725, 726, 727, 729, 730, 772, 774, 775, 776, 777, 784, 786, 787, 788, 789, 790, 792, 793, 794, 795, 796, 797, 800, 805, 823, 824, 825, 826, 827, 829, 830, 871, 873, 874, 875, 883, 884, 885, 896, 899, 904, 920, 921, 922, 923, 925, 926, 967, 969, 970, 971, 979, 981, 982, 983, 987, 988, 991, 994, 999, 1014, 1015, 1016, 1018, 1019, 1061, 1063, 1064, 1065, 1066, 1067, 1075, 1083, 1086, 1092, 1114, 1115, 1116, 1117, 1118, 1119, 1121, 1122, 1163, 1165, 1166, 1167, 1175, 1177, 1178, 1194, 1197, 1202, 1237, 1238, 1239, 1251, 1252, 1303, 1305, 1307, 1308, 1312, 1323, 1331, 1333, 1338, 1339, 1343, 1344, 1349, 1350, 1351, 1353, 1354, 1360, 1361, 1364, 1365, 1370, 1371, 1373, 1379, 1385, 1387, 1395, 1401, 1407, 1408, 1414, 1421, 1423, 1431, 1432, 1434, 1435, 1446, 1453, 1454, 1456, 1467, 1469, 1470, 1476, 1477, 1478, 1480, 1482, 1486, 1493, 1494, 1501, 1502, 1509, 1512, 1518, 1553, 1554, 1555, 1556, 1568, 1569, 1619, 1620, 1622, 1623, 1624, 1628, 1639, 1647, 1649, 1652, 1654, 1658, 1659, 1664, 1667, 1668, 1670, 1671, 1672, 1673, 1675, 1676, 1679, 1682, 1683, 1685, 1692, 1694, 1696, 1699, 1701, 1709, 1714, 1720, 1721, 1727, 1734, 1735, 1736, 1739, 1747, 1748, 1749, 1751, 1752, 1760, 1761, 1762, 1764, 1765, 1768, 1771, 1772, 1776, 1777, 1788, 1793, 1811, 1812, 1883, 1884, 1897, 1902, 1909, 1910, 1911, 1913, 1914, 1952, 1954, 1955, 1959, 1960, 1961, 1962, 1963, 1968, 1969, 1971, 1974, 1985, 2010, 2011, 2012, 2013, 2014, 2016, 2017, 2065, 2067, 2072, 2076, 2077, 2078, 2079, 2081, 2082, 2090, 2091, 2093, 2094, 2097, 2098, 2099, 2100, 2101, 2102, 2106, 2108, 2109, 2116, 2119, 2126, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2154, 2155, 2198, 2200, 2201, 2203, 2204, 2205, 2206, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2228, 2231, 2236, 2245, 2246, 2247, 2249, 2250, 2286, 2288, 2289, 2293, 2294, 2295, 2296, 2298, 2303, 2304, 2305, 2307, 2308, 2309, 2311, 2314, 2320, 2322, 2325, 2331, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2363, 2364, 2405, 2407, 2408, 2409, 2417, 2418, 2427, 2428, 2444, 2447, 2453, 2472, 2473, 2474, 2475, 2477, 2479, 2480, 2522, 2524, 2525, 2526, 2535, 2541, 2548, 2555, 2556, 2558, 2561, 2572, 2580, 2583, 2588, 2610, 2611, 2612, 2613, 2614, 2615, 2617, 2623, 2624, 2674, 2676, 2678, 2679, 2680, 2681, 2686, 2688, 2691, 2692, 2694, 2702, 2712, 2719, 2721, 2722, 2725, 2726, 2728, 2730, 2731, 2750, 2751, 2755, 2756, 2764, 2769, 2774, 2777, 2778, 2783, 2790, 2795, 2816, 2817, 2818, 2819, 2820, 2822, 2823, 2867, 2869, 2872, 2875, 2879, 2880, 2881, 2884, 2885, 2893, 2901, 2903, 2904, 2907, 2908, 2910, 2912, 2913, 2945, 2960, 2973, 2974, 2975, 2977, 2978, 3012, 3014, 3016, 3020, 3021, 3022, 3024, 3025, 3026, 3028, 3029, 3032, 3043, 3069, 3070, 3071, 3073, 3074, 3075, 3076, 3077, 3078, 3080, 3081, 3117, 3119, 3120, 3122, 3123, 3125, 3129, 3134, 3135, 3137, 3138, 3139, 3141, 3142, 3143, 3144, 3146, 3149, 3152, 3156, 3158, 3160, 3161, 3162, 3163, 3164, 3165, 3171, 3172, 3173, 3174, 3175, 3176, 3182, 3183, 3186, 3187, 3190, 3191, 3193, 3194, 3195, 3196, 3198, 3199, 3213, 3214, 3226, 3234, 3235, 3236, 3237, 3239, 3240, 3241, 3242, 3243, 3245, 3251, 3252, 3253, 3254], "summary": {"covered_lines": 669, "num_statements": 819, "percent_covered": 77.07362534948741, "percent_covered_display": "77", "missing_lines": 150, "excluded_lines": 10, "percent_statements_covered": 81.68498168498168, "percent_statements_covered_display": "82", "num_branches": 254, "num_partial_branches": 46, "covered_branches": 158, "missing_branches": 96, "percent_branches_covered": 62.20472440944882, "percent_branches_covered_display": "62"}, "missing_lines": [165, 168, 174, 176, 178, 180, 183, 187, 256, 343, 346, 348, 349, 350, 359, 361, 494, 581, 672, 773, 872, 968, 1062, 1164, 1179, 1187, 1304, 1313, 1314, 1315, 1317, 1437, 1443, 1444, 1629, 1630, 1631, 1633, 1680, 1773, 1774, 1779, 1780, 1781, 1782, 1785, 1807, 1808, 1809, 1855, 1856, 1857, 1858, 1864, 1868, 1869, 1872, 1873, 1874, 1875, 1877, 1878, 1880, 1881, 1885, 1886, 1887, 1890, 1894, 1953, 2066, 2068, 2080, 2103, 2104, 2199, 2287, 2406, 2429, 2437, 2476, 2523, 2675, 2689, 2729, 2732, 2733, 2734, 2735, 2736, 2737, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2757, 2765, 2770, 2775, 2787, 2868, 2911, 2917, 2918, 2919, 2920, 2924, 2925, 2929, 2930, 2934, 2935, 2936, 2937, 2941, 2942, 3013, 3118, 3126, 3127, 3130, 3131, 3188, 3202, 3203, 3204, 3206, 3208, 3209, 3210, 3211, 3217, 3218, 3219, 3220, 3222, 3223, 3224, 3256, 3263, 3264, 3265, 3267, 3274, 3286, 3294], "excluded_lines": [57, 58, 59, 60, 61, 62, 63, 64, 65, 66], "executed_branches": [[74, 75], [74, 77], [255, 257], [257, 258], [257, 274], [342, 344], [344, 345], [394, 395], [394, 396], [400, 401], [400, 420], [407, 408], [407, 416], [413, 400], [413, 414], [418, 400], [418, 419], [493, 495], [495, 496], [495, 498], [580, 582], [582, 583], [582, 585], [585, 586], [585, 603], [595, 585], [595, 596], [671, 673], [674, 675], [674, 692], [772, 774], [774, 775], [774, 776], [790, 792], [790, 793], [871, 873], [873, 874], [873, 896], [967, 969], [969, 970], [969, 991], [981, 969], [981, 982], [1061, 1063], [1063, 1064], [1063, 1083], [1163, 1165], [1166, 1167], [1166, 1194], [1178, 1166], [1303, 1305], [1312, 1323], [1343, 1344], [1343, 1385], [1353, 1354], [1353, 1364], [1407, -1387], [1407, 1408], [1434, 1407], [1434, 1435], [1435, 1446], [1493, 1494], [1493, 1501], [1501, 1502], [1501, 1509], [1628, 1639], [1658, 1659], [1658, 1696], [1670, 1671], [1670, 1679], [1679, 1682], [1720, -1701], [1720, 1721], [1751, 1720], [1751, 1752], [1776, 1777], [1909, 1910], [1909, 1911], [1952, 1954], [1959, 1960], [1959, 1971], [1960, 1961], [1960, 1962], [2065, 2067], [2067, 2072], [2077, 2078], [2077, 2116], [2079, 2081], [2093, 2094], [2093, 2108], [2097, 2098], [2097, 2106], [2108, 2077], [2108, 2109], [2198, 2200], [2200, 2201], [2200, 2203], [2204, 2205], [2204, 2213], [2216, 2217], [2216, 2218], [2219, 2220], [2245, 2246], [2245, 2247], [2286, 2288], [2293, 2294], [2293, 2322], [2294, 2295], [2294, 2296], [2303, 2304], [2303, 2311], [2304, 2305], [2304, 2307], [2405, 2407], [2408, 2409], [2408, 2444], [2428, 2408], [2475, 2477], [2522, 2524], [2524, 2525], [2524, 2580], [2558, 2524], [2558, 2561], [2674, 2676], [2679, 2680], [2679, 2719], [2688, 2691], [2728, 2730], [2730, 2731], [2755, 2756], [2755, 2764], [2756, -2750], [2764, 2769], [2769, 2774], [2774, -2750], [2867, 2869], [2879, 2880], [2879, 2901], [2910, 2912], [2912, 2913], [3012, 3014], [3020, 3021], [3020, 3024], [3021, 3022], [3021, 3028], [3024, 3025], [3024, 3028], [3117, 3119], [3119, 3120], [3119, 3122], [3125, 3129], [3129, 3134], [3187, 3190], [3193, 3194], [3193, 3196], [3252, -3226], [3252, 3253], [3253, 3254]], "missing_branches": [[174, 176], [174, 187], [255, 256], [342, 343], [344, 346], [348, 349], [348, 361], [493, 494], [580, 581], [671, 672], [772, 773], [871, 872], [967, 968], [1061, 1062], [1163, 1164], [1178, 1179], [1303, 1304], [1312, 1313], [1435, 1437], [1628, 1629], [1679, 1680], [1776, 1779], [1855, 1856], [1855, 1857], [1857, 1858], [1857, 1864], [1868, 1869], [1868, 1881], [1872, 1873], [1872, 1874], [1886, 1887], [1886, 1890], [1952, 1953], [2065, 2066], [2067, 2068], [2079, 2080], [2198, 2199], [2219, 2221], [2286, 2287], [2405, 2406], [2428, 2429], [2475, 2476], [2522, 2523], [2674, 2675], [2688, 2689], [2728, 2729], [2730, 2732], [2732, 2733], [2732, 2734], [2734, 2735], [2734, 2736], [2736, 2737], [2736, 2741], [2741, 2742], [2741, 2743], [2743, 2744], [2743, 2745], [2745, 2746], [2745, 2747], [2747, -2721], [2747, 2748], [2756, 2757], [2764, 2765], [2769, 2770], [2774, 2775], [2867, 2868], [2910, 2911], [2912, 2917], [2917, 2918], [2917, 2919], [2919, 2920], [2919, 2924], [2924, 2925], [2924, 2929], [2929, 2930], [2929, 2934], [2934, 2935], [2934, 2936], [2936, 2937], [2936, 2941], [2941, -2903], [2941, 2942], [3012, 3013], [3117, 3118], [3125, 3126], [3129, 3130], [3187, 3188], [3203, 3204], [3203, 3206], [3208, 3209], [3208, 3211], [3218, 3219], [3218, 3220], [3222, 3223], [3222, 3224], [3253, 3256]], "functions": {"_normalize_color_input": {"executed_lines": [74, 75, 76, 77], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 67, "executed_branches": [[74, 75], [74, 77]], "missing_branches": []}, "_BaseLabelAnnotator.__init__": {"executed_lines": [137, 138, 139, 140, 141, 142, 143, 144, 145], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 103, "executed_branches": [], "missing_branches": []}, "_BaseLabelAnnotator._adjust_labels_in_frame": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [165, 168, 174, 176, 178, 180, 183, 187], "excluded_lines": [], "start_line": 147, "executed_branches": [], "missing_branches": [[174, 176], [174, 187]]}, "BoxAnnotator.__init__": {"executed_lines": [209, 210, 211], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 195, "executed_branches": [], "missing_branches": []}, "BoxAnnotator.annotate": {"executed_lines": [255, 257, 258, 259, 267, 274], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [256], "excluded_lines": [], "start_line": 214, "executed_branches": [[255, 257], [257, 258], [257, 274]], "missing_branches": [[255, 256]]}, "OrientedBoxAnnotator.__init__": {"executed_lines": [296, 297, 298], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 282, "executed_branches": [], "missing_branches": []}, "OrientedBoxAnnotator.annotate": {"executed_lines": [342, 344, 345], "summary": {"covered_lines": 3, "num_statements": 10, "percent_covered": 31.25, "percent_covered_display": "31", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 30.0, "percent_statements_covered_display": "30", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 4, "percent_branches_covered": 33.333333333333336, "percent_branches_covered_display": "33"}, "missing_lines": [343, 346, 348, 349, 350, 359, 361], "excluded_lines": [], "start_line": 301, "executed_branches": [[342, 344], [344, 345]], "missing_branches": [[342, 343], [344, 346], [348, 349], [348, 361]]}, "_paint_masks_by_area": {"executed_lines": [393, 394, 395, 396, 399, 400, 401, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 365, "executed_branches": [[394, 395], [394, 396], [400, 401], [400, 420], [407, 408], [407, 416], [413, 400], [413, 414], [418, 400], [418, 419]], "missing_branches": []}, "MaskAnnotator.__init__": {"executed_lines": [446, 447, 448], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 432, "executed_branches": [], "missing_branches": []}, "MaskAnnotator.annotate": {"executed_lines": [493, 495, 496, 498, 499, 505, 508], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [494], "excluded_lines": [], "start_line": 451, "executed_branches": [[493, 495], [495, 496], [495, 498]], "missing_branches": [[493, 494]]}, "PolygonAnnotator.__init__": {"executed_lines": [534, 535, 536], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 520, "executed_branches": [], "missing_branches": []}, "PolygonAnnotator.annotate": {"executed_lines": [580, 582, 583, 585, 586, 587, 595, 596, 603], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [581], "excluded_lines": [], "start_line": 539, "executed_branches": [[580, 582], [582, 583], [582, 585], [585, 586], [585, 603], [595, 585], [595, 596]], "missing_branches": [[580, 581]]}, "ColorAnnotator.__init__": {"executed_lines": [625, 626, 627], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 611, "executed_branches": [], "missing_branches": []}, "ColorAnnotator.annotate": {"executed_lines": [671, 673, 674, 675, 676, 684, 692, 695], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [672], "excluded_lines": [], "start_line": 630, "executed_branches": [[671, 673], [674, 675], [674, 692]], "missing_branches": [[671, 672]]}, "HaloAnnotator.__init__": {"executed_lines": [724, 725, 726, 727], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 707, "executed_branches": [], "missing_branches": []}, "HaloAnnotator.annotate": {"executed_lines": [772, 774, 775, 776, 777, 784, 786, 787, 788, 789, 790, 792, 793, 794, 795, 796, 797], "summary": {"covered_lines": 17, "num_statements": 18, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [773], "excluded_lines": [], "start_line": 730, "executed_branches": [[772, 774], [774, 775], [774, 776], [790, 792], [790, 793]], "missing_branches": [[772, 773]]}, "EllipseAnnotator.__init__": {"executed_lines": [823, 824, 825, 826, 827], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 805, "executed_branches": [], "missing_branches": []}, "EllipseAnnotator.annotate": {"executed_lines": [871, 873, 874, 875, 883, 884, 885, 896], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [872], "excluded_lines": [], "start_line": 830, "executed_branches": [[871, 873], [873, 874], [873, 896]], "missing_branches": [[871, 872]]}, "BoxCornerAnnotator.__init__": {"executed_lines": [920, 921, 922, 923], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 904, "executed_branches": [], "missing_branches": []}, "BoxCornerAnnotator.annotate": {"executed_lines": [967, 969, 970, 971, 979, 981, 982, 983, 987, 988, 991], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [968], "excluded_lines": [], "start_line": 926, "executed_branches": [[967, 969], [969, 970], [969, 991], [981, 969], [981, 982]], "missing_branches": [[967, 968]]}, "CircleAnnotator.__init__": {"executed_lines": [1014, 1015, 1016], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 999, "executed_branches": [], "missing_branches": []}, "CircleAnnotator.annotate": {"executed_lines": [1061, 1063, 1064, 1065, 1066, 1067, 1075, 1083], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [1062], "excluded_lines": [], "start_line": 1019, "executed_branches": [[1061, 1063], [1063, 1064], [1063, 1083]], "missing_branches": [[1061, 1062]]}, "DotAnnotator.__init__": {"executed_lines": [1114, 1115, 1116, 1117, 1118, 1119], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1092, "executed_branches": [], "missing_branches": []}, "DotAnnotator.annotate": {"executed_lines": [1163, 1165, 1166, 1167, 1175, 1177, 1178, 1194], "summary": {"covered_lines": 8, "num_statements": 11, "percent_covered": 70.58823529411765, "percent_covered_display": "71", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 72.72727272727273, "percent_statements_covered_display": "73", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [1164, 1179, 1187], "excluded_lines": [], "start_line": 1122, "executed_branches": [[1163, 1165], [1166, 1167], [1166, 1194], [1178, 1166]], "missing_branches": [[1163, 1164], [1178, 1179]]}, "LabelAnnotator.__init__": {"executed_lines": [1237, 1238, 1239], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1202, "executed_branches": [], "missing_branches": []}, "LabelAnnotator.annotate": {"executed_lines": [1303, 1305, 1307, 1308, 1312, 1323, 1331], "summary": {"covered_lines": 7, "num_statements": 12, "percent_covered": 56.25, "percent_covered_display": "56", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 58.333333333333336, "percent_statements_covered_display": "58", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [1304, 1313, 1314, 1315, 1317], "excluded_lines": [], "start_line": 1252, "executed_branches": [[1303, 1305], [1312, 1323]], "missing_branches": [[1303, 1304], [1312, 1313]]}, "LabelAnnotator._get_label_properties": {"executed_lines": [1338, 1339, 1343, 1344, 1349, 1350, 1351, 1353, 1354, 1360, 1361, 1364, 1365, 1370, 1371, 1373, 1379, 1385], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1333, "executed_branches": [[1343, 1344], [1343, 1385], [1353, 1354], [1353, 1364]], "missing_branches": []}, "LabelAnnotator._draw_labels": {"executed_lines": [1395, 1401, 1407, 1408, 1414, 1421, 1423, 1431, 1432, 1434, 1435, 1446, 1453, 1454, 1456, 1467], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.0, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 84.21052631578948, "percent_statements_covered_display": "84", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1437, 1443, 1444], "excluded_lines": [], "start_line": 1387, "executed_branches": [[1407, -1387], [1407, 1408], [1434, 1407], [1434, 1435], [1435, 1446]], "missing_branches": [[1435, 1437]]}, "LabelAnnotator.draw_rounded_rectangle": {"executed_lines": [1476, 1477, 1478, 1480, 1482, 1486, 1493, 1494, 1501, 1502, 1509], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1470, "executed_branches": [[1493, 1494], [1493, 1501], [1501, 1502], [1501, 1509]], "missing_branches": []}, "RichLabelAnnotator.__init__": {"executed_lines": [1553, 1554, 1555, 1556], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1518, "executed_branches": [], "missing_branches": []}, "RichLabelAnnotator.annotate": {"executed_lines": [1619, 1620, 1622, 1623, 1624, 1628, 1639, 1647], "summary": {"covered_lines": 8, "num_statements": 12, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [1629, 1630, 1631, 1633], "excluded_lines": [], "start_line": 1569, "executed_branches": [[1628, 1639]], "missing_branches": [[1628, 1629]]}, "RichLabelAnnotator._get_label_properties": {"executed_lines": [1652, 1654, 1658, 1659, 1664, 1667, 1668, 1670, 1671, 1672, 1673, 1675, 1676, 1679, 1682, 1683, 1685, 1692, 1694, 1696, 1699], "summary": {"covered_lines": 21, "num_statements": 22, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1680], "excluded_lines": [], "start_line": 1649, "executed_branches": [[1658, 1659], [1658, 1696], [1670, 1671], [1670, 1679], [1679, 1682]], "missing_branches": [[1679, 1680]]}, "RichLabelAnnotator._draw_labels": {"executed_lines": [1709, 1714, 1720, 1721, 1727, 1734, 1735, 1736, 1739, 1747, 1748, 1749, 1751, 1752, 1760, 1761, 1762], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1701, "executed_branches": [[1720, -1701], [1720, 1721], [1751, 1720], [1751, 1752]], "missing_branches": []}, "RichLabelAnnotator._load_font": {"executed_lines": [1768, 1776, 1777], "summary": {"covered_lines": 3, "num_statements": 8, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 37.5, "percent_statements_covered_display": "38", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [1779, 1780, 1781, 1782, 1785], "excluded_lines": [], "start_line": 1765, "executed_branches": [[1776, 1777]], "missing_branches": [[1776, 1779]]}, "RichLabelAnnotator._load_font.load_default_font": {"executed_lines": [1771, 1772], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [1773, 1774], "excluded_lines": [], "start_line": 1768, "executed_branches": [], "missing_branches": []}, "IconAnnotator.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [1807, 1808, 1809], "excluded_lines": [], "start_line": 1793, "executed_branches": [], "missing_branches": []}, "IconAnnotator.annotate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1855, 1856, 1857, 1858, 1864, 1868, 1869, 1872, 1873, 1874, 1875, 1877, 1878, 1880, 1881], "excluded_lines": [], "start_line": 1812, "executed_branches": [], "missing_branches": [[1855, 1856], [1855, 1857], [1857, 1858], [1857, 1864], [1868, 1869], [1868, 1881], [1872, 1873], [1872, 1874]]}, "IconAnnotator._load_icon": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1885, 1886, 1887, 1890, 1894], "excluded_lines": [], "start_line": 1884, "executed_branches": [], "missing_branches": [[1886, 1887], [1886, 1890]]}, "BlurAnnotator.__init__": {"executed_lines": [1909, 1910, 1911], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1902, "executed_branches": [[1909, 1910], [1909, 1911]], "missing_branches": []}, "BlurAnnotator.annotate": {"executed_lines": [1952, 1954, 1955, 1959, 1960, 1961, 1962, 1963, 1968, 1969, 1971], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1953], "excluded_lines": [], "start_line": 1914, "executed_branches": [[1952, 1954], [1959, 1960], [1959, 1971], [1960, 1961], [1960, 1962]], "missing_branches": [[1952, 1953]]}, "TraceAnnotator.__init__": {"executed_lines": [2010, 2011, 2012, 2013, 2014], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1985, "executed_branches": [], "missing_branches": []}, "TraceAnnotator.annotate": {"executed_lines": [2065, 2067, 2072, 2076, 2077, 2078, 2079, 2081, 2082, 2090, 2091, 2093, 2094, 2097, 2098, 2099, 2100, 2101, 2102, 2106, 2108, 2109, 2116], "summary": {"covered_lines": 23, "num_statements": 28, "percent_covered": 80.95238095238095, "percent_covered_display": "81", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 82.14285714285714, "percent_statements_covered_display": "82", "num_branches": 14, "num_partial_branches": 3, "covered_branches": 11, "missing_branches": 3, "percent_branches_covered": 78.57142857142857, "percent_branches_covered_display": "79"}, "missing_lines": [2066, 2068, 2080, 2103, 2104], "excluded_lines": [], "start_line": 2017, "executed_branches": [[2065, 2067], [2067, 2072], [2077, 2078], [2077, 2116], [2079, 2081], [2093, 2094], [2093, 2108], [2097, 2098], [2097, 2106], [2108, 2077], [2108, 2109]], "missing_branches": [[2065, 2066], [2067, 2068], [2079, 2080]]}, "HeatMapAnnotator.__init__": {"executed_lines": [2146, 2147, 2148, 2149, 2150, 2151, 2152], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2126, "executed_branches": [], "missing_branches": []}, "HeatMapAnnotator.annotate": {"executed_lines": [2198, 2200, 2201, 2203, 2204, 2205, 2206, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2228], "summary": {"covered_lines": 21, "num_statements": 22, "percent_covered": 90.625, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [2199], "excluded_lines": [], "start_line": 2155, "executed_branches": [[2198, 2200], [2200, 2201], [2200, 2203], [2204, 2205], [2204, 2213], [2216, 2217], [2216, 2218], [2219, 2220]], "missing_branches": [[2198, 2199], [2219, 2221]]}, "PixelateAnnotator.__init__": {"executed_lines": [2245, 2246, 2247], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2236, "executed_branches": [[2245, 2246], [2245, 2247]], "missing_branches": []}, "PixelateAnnotator.annotate": {"executed_lines": [2286, 2288, 2289, 2293, 2294, 2295, 2296, 2298, 2303, 2304, 2305, 2307, 2308, 2309, 2311, 2314, 2320, 2322], "summary": {"covered_lines": 18, "num_statements": 19, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.73684210526316, "percent_statements_covered_display": "95", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [2287], "excluded_lines": [], "start_line": 2250, "executed_branches": [[2286, 2288], [2293, 2294], [2293, 2322], [2294, 2295], [2294, 2296], [2303, 2304], [2303, 2311], [2304, 2305], [2304, 2307]], "missing_branches": [[2286, 2287]]}, "TriangleAnnotator.__init__": {"executed_lines": [2355, 2356, 2357, 2358, 2359, 2360, 2361], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2331, "executed_branches": [], "missing_branches": []}, "TriangleAnnotator.annotate": {"executed_lines": [2405, 2407, 2408, 2409, 2417, 2418, 2427, 2428, 2444], "summary": {"covered_lines": 9, "num_statements": 12, "percent_covered": 72.22222222222223, "percent_covered_display": "72", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [2406, 2429, 2437], "excluded_lines": [], "start_line": 2364, "executed_branches": [[2405, 2407], [2408, 2409], [2408, 2444], [2428, 2408]], "missing_branches": [[2405, 2406], [2428, 2429]]}, "RoundBoxAnnotator.__init__": {"executed_lines": [2472, 2473, 2474, 2475, 2477], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [2476], "excluded_lines": [], "start_line": 2453, "executed_branches": [[2475, 2477]], "missing_branches": [[2475, 2476]]}, "RoundBoxAnnotator.annotate": {"executed_lines": [2522, 2524, 2525, 2526, 2535, 2541, 2548, 2555, 2556, 2558, 2561, 2572, 2580], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [2523], "excluded_lines": [], "start_line": 2480, "executed_branches": [[2522, 2524], [2524, 2525], [2524, 2580], [2558, 2524], [2558, 2561]], "missing_branches": [[2522, 2523]]}, "PercentageBarAnnotator.__init__": {"executed_lines": [2610, 2611, 2612, 2613, 2614, 2615, 2617], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2588, "executed_branches": [], "missing_branches": []}, "PercentageBarAnnotator.annotate": {"executed_lines": [2674, 2676, 2678, 2679, 2680, 2681, 2686, 2688, 2691, 2692, 2694, 2702, 2712, 2719], "summary": {"covered_lines": 14, "num_statements": 16, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [2675, 2689], "excluded_lines": [], "start_line": 2624, "executed_branches": [[2674, 2676], [2679, 2680], [2679, 2719], [2688, 2691]], "missing_branches": [[2674, 2675], [2688, 2689]]}, "PercentageBarAnnotator.calculate_border_coordinates": {"executed_lines": [2725, 2726, 2728, 2730, 2731], "summary": {"covered_lines": 5, "num_statements": 20, "percent_covered": 18.42105263157895, "percent_covered_display": "18", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 25.0, "percent_statements_covered_display": "25", "num_branches": 18, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 16, "percent_branches_covered": 11.11111111111111, "percent_branches_covered_display": "11"}, "missing_lines": [2729, 2732, 2733, 2734, 2735, 2736, 2737, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748], "excluded_lines": [], "start_line": 2722, "executed_branches": [[2728, 2730], [2730, 2731]], "missing_branches": [[2728, 2729], [2730, 2732], [2732, 2733], [2732, 2734], [2734, 2735], [2734, 2736], [2736, 2737], [2736, 2741], [2741, 2742], [2741, 2743], [2743, 2744], [2743, 2745], [2745, 2746], [2745, 2747], [2747, -2721], [2747, 2748]]}, "PercentageBarAnnotator._validate_custom_values": {"executed_lines": [2755, 2756, 2764, 2769, 2774], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 57.89473684210526, "percent_covered_display": "58", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 55.55555555555556, "percent_statements_covered_display": "56", "num_branches": 10, "num_partial_branches": 4, "covered_branches": 6, "missing_branches": 4, "percent_branches_covered": 60.0, "percent_branches_covered_display": "60"}, "missing_lines": [2757, 2765, 2770, 2775], "excluded_lines": [], "start_line": 2751, "executed_branches": [[2755, 2756], [2755, 2764], [2756, -2750], [2764, 2769], [2769, 2774], [2774, -2750]], "missing_branches": [[2756, 2757], [2764, 2765], [2769, 2770], [2774, 2775]]}, "PercentageBarAnnotator.validate_custom_values": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [2787], "excluded_lines": [], "start_line": 2783, "executed_branches": [], "missing_branches": []}, "CropAnnotator.__init__": {"executed_lines": [2816, 2817, 2818, 2819, 2820], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2795, "executed_branches": [], "missing_branches": []}, "CropAnnotator.annotate": {"executed_lines": [2867, 2869, 2872, 2875, 2879, 2880, 2881, 2884, 2885, 2893, 2901], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [2868], "excluded_lines": [], "start_line": 2823, "executed_branches": [[2867, 2869], [2879, 2880], [2879, 2901]], "missing_branches": [[2867, 2868]]}, "CropAnnotator.calculate_crop_coordinates": {"executed_lines": [2907, 2908, 2910, 2912, 2913], "summary": {"covered_lines": 5, "num_statements": 20, "percent_covered": 18.42105263157895, "percent_covered_display": "18", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 25.0, "percent_statements_covered_display": "25", "num_branches": 18, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 16, "percent_branches_covered": 11.11111111111111, "percent_branches_covered_display": "11"}, "missing_lines": [2911, 2917, 2918, 2919, 2920, 2924, 2925, 2929, 2930, 2934, 2935, 2936, 2937, 2941, 2942], "excluded_lines": [], "start_line": 2904, "executed_branches": [[2910, 2912], [2912, 2913]], "missing_branches": [[2910, 2911], [2912, 2917], [2917, 2918], [2917, 2919], [2919, 2920], [2919, 2924], [2924, 2925], [2924, 2929], [2929, 2930], [2929, 2934], [2934, 2935], [2934, 2936], [2936, 2937], [2936, 2941], [2941, -2903], [2941, 2942]]}, "BackgroundOverlayAnnotator.__init__": {"executed_lines": [2973, 2974, 2975], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2960, "executed_branches": [], "missing_branches": []}, "BackgroundOverlayAnnotator.annotate": {"executed_lines": [3012, 3014, 3016, 3020, 3021, 3022, 3024, 3025, 3026, 3028, 3029], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [3013], "excluded_lines": [], "start_line": 2978, "executed_branches": [[3012, 3014], [3020, 3021], [3020, 3024], [3021, 3022], [3021, 3028], [3024, 3025], [3024, 3028]], "missing_branches": [[3012, 3013]]}, "ComparisonAnnotator.__init__": {"executed_lines": [3069, 3070, 3071, 3073, 3074, 3075, 3076, 3077, 3078], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3043, "executed_branches": [], "missing_branches": []}, "ComparisonAnnotator.annotate": {"executed_lines": [3117, 3119, 3120, 3122, 3123, 3125, 3129, 3134, 3135, 3137, 3138, 3139, 3141, 3142, 3143, 3144, 3146, 3149, 3152, 3156, 3158], "summary": {"covered_lines": 21, "num_statements": 26, "percent_covered": 76.47058823529412, "percent_covered_display": "76", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 80.76923076923077, "percent_statements_covered_display": "81", "num_branches": 8, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 3, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [3118, 3126, 3127, 3130, 3131], "excluded_lines": [], "start_line": 3081, "executed_branches": [[3117, 3119], [3119, 3120], [3119, 3122], [3125, 3129], [3129, 3134]], "missing_branches": [[3117, 3118], [3125, 3126], [3129, 3130]]}, "ComparisonAnnotator._use_obb": {"executed_lines": [3162, 3163, 3164, 3165], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3161, "executed_branches": [], "missing_branches": []}, "ComparisonAnnotator._use_mask": {"executed_lines": [3173, 3174, 3175, 3176], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3172, "executed_branches": [], "missing_branches": []}, "ComparisonAnnotator._mask_from_xyxy": {"executed_lines": [3186, 3187, 3190, 3191, 3193, 3194, 3195, 3196], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [3188], "excluded_lines": [], "start_line": 3183, "executed_branches": [[3187, 3190], [3193, 3194], [3193, 3196]], "missing_branches": [[3187, 3188]]}, "ComparisonAnnotator._mask_from_obb": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [3202, 3203, 3204, 3206, 3208, 3209, 3210, 3211], "excluded_lines": [], "start_line": 3199, "executed_branches": [], "missing_branches": [[3203, 3204], [3203, 3206], [3208, 3209], [3208, 3211]]}, "ComparisonAnnotator._mask_from_mask": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [3217, 3218, 3219, 3220, 3222, 3223, 3224], "excluded_lines": [], "start_line": 3214, "executed_branches": [], "missing_branches": [[3218, 3219], [3218, 3220], [3222, 3223], [3222, 3224]]}, "ComparisonAnnotator._draw_labels": {"executed_lines": [3234, 3235, 3236, 3237, 3239, 3240, 3241, 3242, 3243, 3245, 3251, 3252, 3253, 3254], "summary": {"covered_lines": 14, "num_statements": 22, "percent_covered": 65.38461538461539, "percent_covered_display": "65", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 63.63636363636363, "percent_statements_covered_display": "64", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [3256, 3263, 3264, 3265, 3267, 3274, 3286, 3294], "excluded_lines": [], "start_line": 3226, "executed_branches": [[3252, -3226], [3252, 3253], [3253, 3254]], "missing_branches": [[3253, 3256]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 29, 30, 31, 32, 33, 38, 39, 40, 41, 42, 46, 52, 54, 67, 80, 83, 103, 147, 190, 195, 213, 214, 277, 282, 300, 301, 365, 423, 432, 450, 451, 511, 520, 538, 539, 606, 611, 629, 630, 698, 707, 729, 730, 800, 805, 829, 830, 899, 904, 925, 926, 994, 999, 1018, 1019, 1086, 1092, 1121, 1122, 1197, 1202, 1251, 1252, 1333, 1387, 1469, 1470, 1512, 1518, 1568, 1569, 1649, 1701, 1764, 1765, 1788, 1793, 1811, 1812, 1883, 1884, 1897, 1902, 1913, 1914, 1974, 1985, 2016, 2017, 2119, 2126, 2154, 2155, 2231, 2236, 2249, 2250, 2325, 2331, 2363, 2364, 2447, 2453, 2479, 2480, 2583, 2588, 2623, 2624, 2721, 2722, 2750, 2751, 2777, 2778, 2783, 2790, 2795, 2822, 2823, 2903, 2904, 2945, 2960, 2977, 2978, 3032, 3043, 3080, 3081, 3160, 3161, 3171, 3172, 3182, 3183, 3198, 3199, 3213, 3214, 3226], "summary": {"covered_lines": 153, "num_statements": 153, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [57, 59, 60, 61, 62, 63, 65, 66], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"_BaseLabelAnnotator": {"executed_lines": [137, 138, 139, 140, 141, 142, 143, 144, 145], "summary": {"covered_lines": 9, "num_statements": 17, "percent_covered": 47.36842105263158, "percent_covered_display": "47", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 52.94117647058823, "percent_statements_covered_display": "53", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [165, 168, 174, 176, 178, 180, 183, 187], "excluded_lines": [], "start_line": 83, "executed_branches": [], "missing_branches": [[174, 176], [174, 187]]}, "BoxAnnotator": {"executed_lines": [209, 210, 211, 255, 257, 258, 259, 267, 274], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [256], "excluded_lines": [], "start_line": 190, "executed_branches": [[255, 257], [257, 258], [257, 274]], "missing_branches": [[255, 256]]}, "OrientedBoxAnnotator": {"executed_lines": [296, 297, 298, 342, 344, 345], "summary": {"covered_lines": 6, "num_statements": 13, "percent_covered": 42.10526315789474, "percent_covered_display": "42", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 46.15384615384615, "percent_statements_covered_display": "46", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 4, "percent_branches_covered": 33.333333333333336, "percent_branches_covered_display": "33"}, "missing_lines": [343, 346, 348, 349, 350, 359, 361], "excluded_lines": [], "start_line": 277, "executed_branches": [[342, 344], [344, 345]], "missing_branches": [[342, 343], [344, 346], [348, 349], [348, 361]]}, "MaskAnnotator": {"executed_lines": [446, 447, 448, 493, 495, 496, 498, 499, 505, 508], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [494], "excluded_lines": [], "start_line": 423, "executed_branches": [[493, 495], [495, 496], [495, 498]], "missing_branches": [[493, 494]]}, "PolygonAnnotator": {"executed_lines": [534, 535, 536, 580, 582, 583, 585, 586, 587, 595, 596, 603], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 90.47619047619048, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [581], "excluded_lines": [], "start_line": 511, "executed_branches": [[580, 582], [582, 583], [582, 585], [585, 586], [585, 603], [595, 585], [595, 596]], "missing_branches": [[580, 581]]}, "ColorAnnotator": {"executed_lines": [625, 626, 627, 671, 673, 674, 675, 676, 684, 692, 695], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [672], "excluded_lines": [], "start_line": 606, "executed_branches": [[671, 673], [674, 675], [674, 692]], "missing_branches": [[671, 672]]}, "HaloAnnotator": {"executed_lines": [724, 725, 726, 727, 772, 774, 775, 776, 777, 784, 786, 787, 788, 789, 790, 792, 793, 794, 795, 796, 797], "summary": {"covered_lines": 21, "num_statements": 22, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [773], "excluded_lines": [], "start_line": 698, "executed_branches": [[772, 774], [774, 775], [774, 776], [790, 792], [790, 793]], "missing_branches": [[772, 773]]}, "EllipseAnnotator": {"executed_lines": [823, 824, 825, 826, 827, 871, 873, 874, 875, 883, 884, 885, 896], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [872], "excluded_lines": [], "start_line": 800, "executed_branches": [[871, 873], [873, 874], [873, 896]], "missing_branches": [[871, 872]]}, "BoxCornerAnnotator": {"executed_lines": [920, 921, 922, 923, 967, 969, 970, 971, 979, 981, 982, 983, 987, 988, 991], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.75, "percent_statements_covered_display": "94", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [968], "excluded_lines": [], "start_line": 899, "executed_branches": [[967, 969], [969, 970], [969, 991], [981, 969], [981, 982]], "missing_branches": [[967, 968]]}, "CircleAnnotator": {"executed_lines": [1014, 1015, 1016, 1061, 1063, 1064, 1065, 1066, 1067, 1075, 1083], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [1062], "excluded_lines": [], "start_line": 994, "executed_branches": [[1061, 1063], [1063, 1064], [1063, 1083]], "missing_branches": [[1061, 1062]]}, "DotAnnotator": {"executed_lines": [1114, 1115, 1116, 1117, 1118, 1119, 1163, 1165, 1166, 1167, 1175, 1177, 1178, 1194], "summary": {"covered_lines": 14, "num_statements": 17, "percent_covered": 78.26086956521739, "percent_covered_display": "78", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 82.3529411764706, "percent_statements_covered_display": "82", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [1164, 1179, 1187], "excluded_lines": [], "start_line": 1086, "executed_branches": [[1163, 1165], [1166, 1167], [1166, 1194], [1178, 1166]], "missing_branches": [[1163, 1164], [1178, 1179]]}, "LabelAnnotator": {"executed_lines": [1237, 1238, 1239, 1303, 1305, 1307, 1308, 1312, 1323, 1331, 1338, 1339, 1343, 1344, 1349, 1350, 1351, 1353, 1354, 1360, 1361, 1364, 1365, 1370, 1371, 1373, 1379, 1385, 1395, 1401, 1407, 1408, 1414, 1421, 1423, 1431, 1432, 1434, 1435, 1446, 1453, 1454, 1456, 1467, 1476, 1477, 1478, 1480, 1482, 1486, 1493, 1494, 1501, 1502, 1509], "summary": {"covered_lines": 55, "num_statements": 63, "percent_covered": 86.41975308641975, "percent_covered_display": "86", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 87.3015873015873, "percent_statements_covered_display": "87", "num_branches": 18, "num_partial_branches": 3, "covered_branches": 15, "missing_branches": 3, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1304, 1313, 1314, 1315, 1317, 1437, 1443, 1444], "excluded_lines": [], "start_line": 1197, "executed_branches": [[1303, 1305], [1312, 1323], [1343, 1344], [1343, 1385], [1353, 1354], [1353, 1364], [1407, -1387], [1407, 1408], [1434, 1407], [1434, 1435], [1435, 1446], [1493, 1494], [1493, 1501], [1501, 1502], [1501, 1509]], "missing_branches": [[1303, 1304], [1312, 1313], [1435, 1437]]}, "RichLabelAnnotator": {"executed_lines": [1553, 1554, 1555, 1556, 1619, 1620, 1622, 1623, 1624, 1628, 1639, 1647, 1652, 1654, 1658, 1659, 1664, 1667, 1668, 1670, 1671, 1672, 1673, 1675, 1676, 1679, 1682, 1683, 1685, 1692, 1694, 1696, 1699, 1709, 1714, 1720, 1721, 1727, 1734, 1735, 1736, 1739, 1747, 1748, 1749, 1751, 1752, 1760, 1761, 1762, 1768, 1771, 1772, 1776, 1777], "summary": {"covered_lines": 55, "num_statements": 67, "percent_covered": 81.48148148148148, "percent_covered_display": "81", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 82.08955223880596, "percent_statements_covered_display": "82", "num_branches": 14, "num_partial_branches": 3, "covered_branches": 11, "missing_branches": 3, "percent_branches_covered": 78.57142857142857, "percent_branches_covered_display": "79"}, "missing_lines": [1629, 1630, 1631, 1633, 1680, 1773, 1774, 1779, 1780, 1781, 1782, 1785], "excluded_lines": [], "start_line": 1512, "executed_branches": [[1628, 1639], [1658, 1659], [1658, 1696], [1670, 1671], [1670, 1679], [1679, 1682], [1720, -1701], [1720, 1721], [1751, 1720], [1751, 1752], [1776, 1777]], "missing_branches": [[1628, 1629], [1679, 1680], [1776, 1779]]}, "IconAnnotator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1807, 1808, 1809, 1855, 1856, 1857, 1858, 1864, 1868, 1869, 1872, 1873, 1874, 1875, 1877, 1878, 1880, 1881, 1885, 1886, 1887, 1890, 1894], "excluded_lines": [], "start_line": 1788, "executed_branches": [], "missing_branches": [[1855, 1856], [1855, 1857], [1857, 1858], [1857, 1864], [1868, 1869], [1868, 1881], [1872, 1873], [1872, 1874], [1886, 1887], [1886, 1890]]}, "BlurAnnotator": {"executed_lines": [1909, 1910, 1911, 1952, 1954, 1955, 1959, 1960, 1961, 1962, 1963, 1968, 1969, 1971], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [1953], "excluded_lines": [], "start_line": 1897, "executed_branches": [[1909, 1910], [1909, 1911], [1952, 1954], [1959, 1960], [1959, 1971], [1960, 1961], [1960, 1962]], "missing_branches": [[1952, 1953]]}, "TraceAnnotator": {"executed_lines": [2010, 2011, 2012, 2013, 2014, 2065, 2067, 2072, 2076, 2077, 2078, 2079, 2081, 2082, 2090, 2091, 2093, 2094, 2097, 2098, 2099, 2100, 2101, 2102, 2106, 2108, 2109, 2116], "summary": {"covered_lines": 28, "num_statements": 33, "percent_covered": 82.97872340425532, "percent_covered_display": "83", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 84.84848484848484, "percent_statements_covered_display": "85", "num_branches": 14, "num_partial_branches": 3, "covered_branches": 11, "missing_branches": 3, "percent_branches_covered": 78.57142857142857, "percent_branches_covered_display": "79"}, "missing_lines": [2066, 2068, 2080, 2103, 2104], "excluded_lines": [], "start_line": 1974, "executed_branches": [[2065, 2067], [2067, 2072], [2077, 2078], [2077, 2116], [2079, 2081], [2093, 2094], [2093, 2108], [2097, 2098], [2097, 2106], [2108, 2077], [2108, 2109]], "missing_branches": [[2065, 2066], [2067, 2068], [2079, 2080]]}, "HeatMapAnnotator": {"executed_lines": [2146, 2147, 2148, 2149, 2150, 2151, 2152, 2198, 2200, 2201, 2203, 2204, 2205, 2206, 2213, 2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2228], "summary": {"covered_lines": 28, "num_statements": 29, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.55172413793103, "percent_statements_covered_display": "97", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [2199], "excluded_lines": [], "start_line": 2119, "executed_branches": [[2198, 2200], [2200, 2201], [2200, 2203], [2204, 2205], [2204, 2213], [2216, 2217], [2216, 2218], [2219, 2220]], "missing_branches": [[2198, 2199], [2219, 2221]]}, "PixelateAnnotator": {"executed_lines": [2245, 2246, 2247, 2286, 2288, 2289, 2293, 2294, 2295, 2296, 2298, 2303, 2304, 2305, 2307, 2308, 2309, 2311, 2314, 2320, 2322], "summary": {"covered_lines": 21, "num_statements": 22, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 11, "missing_branches": 1, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [2287], "excluded_lines": [], "start_line": 2231, "executed_branches": [[2245, 2246], [2245, 2247], [2286, 2288], [2293, 2294], [2293, 2322], [2294, 2295], [2294, 2296], [2303, 2304], [2303, 2311], [2304, 2305], [2304, 2307]], "missing_branches": [[2286, 2287]]}, "TriangleAnnotator": {"executed_lines": [2355, 2356, 2357, 2358, 2359, 2360, 2361, 2405, 2407, 2408, 2409, 2417, 2418, 2427, 2428, 2444], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 84.21052631578948, "percent_statements_covered_display": "84", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [2406, 2429, 2437], "excluded_lines": [], "start_line": 2325, "executed_branches": [[2405, 2407], [2408, 2409], [2408, 2444], [2428, 2408]], "missing_branches": [[2405, 2406], [2428, 2429]]}, "RoundBoxAnnotator": {"executed_lines": [2472, 2473, 2474, 2475, 2477, 2522, 2524, 2525, 2526, 2535, 2541, 2548, 2555, 2556, 2558, 2561, 2572, 2580], "summary": {"covered_lines": 18, "num_statements": 20, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [2476, 2523], "excluded_lines": [], "start_line": 2447, "executed_branches": [[2475, 2477], [2522, 2524], [2524, 2525], [2524, 2580], [2558, 2524], [2558, 2561]], "missing_branches": [[2475, 2476], [2522, 2523]]}, "PercentageBarAnnotator": {"executed_lines": [2610, 2611, 2612, 2613, 2614, 2615, 2617, 2674, 2676, 2678, 2679, 2680, 2681, 2686, 2688, 2691, 2692, 2694, 2702, 2712, 2719, 2725, 2726, 2728, 2730, 2731, 2755, 2756, 2764, 2769, 2774], "summary": {"covered_lines": 31, "num_statements": 53, "percent_covered": 49.42528735632184, "percent_covered_display": "49", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 58.490566037735846, "percent_statements_covered_display": "58", "num_branches": 34, "num_partial_branches": 8, "covered_branches": 12, "missing_branches": 22, "percent_branches_covered": 35.294117647058826, "percent_branches_covered_display": "35"}, "missing_lines": [2675, 2689, 2729, 2732, 2733, 2734, 2735, 2736, 2737, 2741, 2742, 2743, 2744, 2745, 2746, 2747, 2748, 2757, 2765, 2770, 2775, 2787], "excluded_lines": [], "start_line": 2583, "executed_branches": [[2674, 2676], [2679, 2680], [2679, 2719], [2688, 2691], [2728, 2730], [2730, 2731], [2755, 2756], [2755, 2764], [2756, -2750], [2764, 2769], [2769, 2774], [2774, -2750]], "missing_branches": [[2674, 2675], [2688, 2689], [2728, 2729], [2730, 2732], [2732, 2733], [2732, 2734], [2734, 2735], [2734, 2736], [2736, 2737], [2736, 2741], [2741, 2742], [2741, 2743], [2743, 2744], [2743, 2745], [2745, 2746], [2745, 2747], [2747, -2721], [2747, 2748], [2756, 2757], [2764, 2765], [2769, 2770], [2774, 2775]]}, "CropAnnotator": {"executed_lines": [2816, 2817, 2818, 2819, 2820, 2867, 2869, 2872, 2875, 2879, 2880, 2881, 2884, 2885, 2893, 2901, 2907, 2908, 2910, 2912, 2913], "summary": {"covered_lines": 21, "num_statements": 37, "percent_covered": 44.067796610169495, "percent_covered_display": "44", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 56.75675675675676, "percent_statements_covered_display": "57", "num_branches": 22, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 17, "percent_branches_covered": 22.727272727272727, "percent_branches_covered_display": "23"}, "missing_lines": [2868, 2911, 2917, 2918, 2919, 2920, 2924, 2925, 2929, 2930, 2934, 2935, 2936, 2937, 2941, 2942], "excluded_lines": [], "start_line": 2790, "executed_branches": [[2867, 2869], [2879, 2880], [2879, 2901], [2910, 2912], [2912, 2913]], "missing_branches": [[2867, 2868], [2910, 2911], [2912, 2917], [2917, 2918], [2917, 2919], [2919, 2920], [2919, 2924], [2924, 2925], [2924, 2929], [2929, 2930], [2929, 2934], [2934, 2935], [2934, 2936], [2936, 2937], [2936, 2941], [2941, -2903], [2941, 2942]]}, "BackgroundOverlayAnnotator": {"executed_lines": [2973, 2974, 2975, 3012, 3014, 3016, 3020, 3021, 3022, 3024, 3025, 3026, 3028, 3029], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [3013], "excluded_lines": [], "start_line": 2945, "executed_branches": [[3012, 3014], [3020, 3021], [3020, 3024], [3021, 3022], [3021, 3028], [3024, 3025], [3024, 3028]], "missing_branches": [[3012, 3013]]}, "ComparisonAnnotator": {"executed_lines": [3069, 3070, 3071, 3073, 3074, 3075, 3076, 3077, 3078, 3117, 3119, 3120, 3122, 3123, 3125, 3129, 3134, 3135, 3137, 3138, 3139, 3141, 3142, 3143, 3144, 3146, 3149, 3152, 3156, 3158, 3162, 3163, 3164, 3165, 3173, 3174, 3175, 3176, 3186, 3187, 3190, 3191, 3193, 3194, 3195, 3196, 3234, 3235, 3236, 3237, 3239, 3240, 3241, 3242, 3243, 3245, 3251, 3252, 3253, 3254], "summary": {"covered_lines": 60, "num_statements": 89, "percent_covered": 62.83185840707964, "percent_covered_display": "63", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 67.41573033707866, "percent_statements_covered_display": "67", "num_branches": 24, "num_partial_branches": 5, "covered_branches": 11, "missing_branches": 13, "percent_branches_covered": 45.833333333333336, "percent_branches_covered_display": "46"}, "missing_lines": [3118, 3126, 3127, 3130, 3131, 3188, 3202, 3203, 3204, 3206, 3208, 3209, 3210, 3211, 3217, 3218, 3219, 3220, 3222, 3223, 3224, 3256, 3263, 3264, 3265, 3267, 3274, 3286, 3294], "excluded_lines": [], "start_line": 3032, "executed_branches": [[3117, 3119], [3119, 3120], [3119, 3122], [3125, 3129], [3129, 3134], [3187, 3190], [3193, 3194], [3193, 3196], [3252, -3226], [3252, 3253], [3253, 3254]], "missing_branches": [[3117, 3118], [3125, 3126], [3129, 3130], [3187, 3188], [3203, 3204], [3203, 3206], [3208, 3209], [3208, 3211], [3218, 3219], [3218, 3220], [3222, 3223], [3222, 3224], [3253, 3256]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 10, 11, 12, 14, 15, 29, 30, 31, 32, 33, 38, 39, 40, 41, 42, 46, 52, 54, 67, 74, 75, 76, 77, 80, 83, 103, 147, 190, 195, 213, 214, 277, 282, 300, 301, 365, 393, 394, 395, 396, 399, 400, 401, 407, 408, 409, 410, 411, 412, 413, 414, 416, 417, 418, 419, 420, 423, 432, 450, 451, 511, 520, 538, 539, 606, 611, 629, 630, 698, 707, 729, 730, 800, 805, 829, 830, 899, 904, 925, 926, 994, 999, 1018, 1019, 1086, 1092, 1121, 1122, 1197, 1202, 1251, 1252, 1333, 1387, 1469, 1470, 1512, 1518, 1568, 1569, 1649, 1701, 1764, 1765, 1788, 1793, 1811, 1812, 1883, 1884, 1897, 1902, 1913, 1914, 1974, 1985, 2016, 2017, 2119, 2126, 2154, 2155, 2231, 2236, 2249, 2250, 2325, 2331, 2363, 2364, 2447, 2453, 2479, 2480, 2583, 2588, 2623, 2624, 2721, 2722, 2750, 2751, 2777, 2778, 2783, 2790, 2795, 2822, 2823, 2903, 2904, 2945, 2960, 2977, 2978, 3032, 3043, 3080, 3081, 3160, 3161, 3171, 3172, 3182, 3183, 3198, 3199, 3213, 3214, 3226], "summary": {"covered_lines": 177, "num_statements": 177, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [57, 58, 59, 60, 61, 62, 63, 64, 65, 66], "start_line": 1, "executed_branches": [[74, 75], [74, 77], [394, 395], [394, 396], [400, 401], [400, 420], [407, 408], [407, 416], [413, 400], [413, 414], [418, 400], [418, 419]], "missing_branches": []}}}, "src\\supervision\\annotators\\utils.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 17, 18, 21, 31, 32, 33, 35, 36, 40, 45, 46, 51, 52, 53, 57, 58, 59, 60, 61, 62, 68, 69, 70, 71, 76, 80, 85, 86, 88, 89, 133, 134, 135, 136, 139, 145, 150, 156, 159, 172, 173, 175, 176, 178, 179, 181, 182, 184, 185, 187, 188, 192, 200, 202, 205, 218, 226, 231, 235, 252, 253, 255, 256, 263, 266, 332, 333, 339, 340, 341, 343, 344, 345, 347, 348, 351, 352, 358, 364, 366, 368, 375, 377, 378, 381, 384, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 412, 425, 426, 427, 430, 441, 444, 467], "summary": {"covered_lines": 119, "num_statements": 168, "percent_covered": 67.6470588235294, "percent_covered_display": "68", "missing_lines": 49, "excluded_lines": 0, "percent_statements_covered": 70.83333333333333, "percent_statements_covered_display": "71", "num_branches": 70, "num_partial_branches": 8, "covered_branches": 42, "missing_branches": 28, "percent_branches_covered": 60.0, "percent_branches_covered_display": "60"}, "missing_lines": [37, 77, 90, 91, 92, 93, 99, 100, 106, 107, 108, 109, 110, 111, 117, 118, 124, 125, 155, 189, 190, 219, 232, 257, 258, 259, 260, 262, 310, 311, 314, 315, 317, 318, 319, 322, 323, 325, 326, 327, 329, 359, 369, 370, 371, 372, 373, 464, 487], "excluded_lines": [], "executed_branches": [[45, 46], [45, 51], [51, 52], [51, 58], [52, 53], [52, 57], [58, 59], [58, 60], [60, 61], [60, 69], [61, 62], [61, 68], [69, 70], [70, 71], [70, 76], [88, 89], [134, 135], [134, 136], [150, 156], [172, 173], [172, 175], [175, 176], [175, 178], [178, 179], [178, 181], [181, 182], [181, 184], [187, 188], [187, 202], [188, 192], [218, -205], [252, 253], [252, 255], [256, 263], [358, 364], [368, 375], [398, 399], [398, 400], [400, 401], [400, 402], [425, 426], [425, 427]], "missing_branches": [[69, 77], [88, 90], [90, 91], [90, 92], [92, 93], [92, 99], [99, 100], [99, 106], [106, 107], [106, 108], [108, 109], [108, 110], [110, 111], [110, 117], [117, 118], [117, 124], [124, -80], [124, 125], [150, 155], [188, 189], [218, 219], [256, 257], [257, 258], [257, 259], [259, 260], [259, 262], [358, 359], [368, 369]], "functions": {"ColorLookup.list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [37], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "resolve_color_idx": {"executed_lines": [45, 46, 51, 52, 53, 57, 58, 59, 60, 61, 62, 68, 69, 70, 71, 76], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 93.93939393939394, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94", "num_branches": 16, "num_partial_branches": 1, "covered_branches": 15, "missing_branches": 1, "percent_branches_covered": 93.75, "percent_branches_covered_display": "94"}, "missing_lines": [77], "excluded_lines": [], "start_line": 40, "executed_branches": [[45, 46], [45, 51], [51, 52], [51, 58], [52, 53], [52, 57], [58, 59], [58, 60], [60, 61], [60, 69], [61, 62], [61, 68], [69, 70], [70, 71], [70, 76]], "missing_branches": [[69, 77]]}, "resolve_text_background_xyxy": {"executed_lines": [85, 86, 88, 89], "summary": {"covered_lines": 4, "num_statements": 20, "percent_covered": 13.157894736842104, "percent_covered_display": "13", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 20.0, "percent_statements_covered_display": "20", "num_branches": 18, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 17, "percent_branches_covered": 5.555555555555555, "percent_branches_covered_display": "6"}, "missing_lines": [90, 91, 92, 93, 99, 100, 106, 107, 108, 109, 110, 111, 117, 118, 124, 125], "excluded_lines": [], "start_line": 80, "executed_branches": [[88, 89]], "missing_branches": [[88, 90], [90, 91], [90, 92], [92, 93], [92, 99], [99, 100], [99, 106], [106, 107], [106, 108], [108, 109], [108, 110], [110, 111], [110, 117], [117, 118], [117, 124], [124, -80], [124, 125]]}, "get_color_by_index": {"executed_lines": [134, 135, 136], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133, "executed_branches": [[134, 135], [134, 136]], "missing_branches": []}, "resolve_color": {"executed_lines": [145, 150, 156], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [155], "excluded_lines": [], "start_line": 139, "executed_branches": [[150, 156]], "missing_branches": [[150, 155]]}, "wrap_text": {"executed_lines": [172, 173, 175, 176, 178, 179, 181, 182, 184, 185, 187, 188, 192, 200, 202], "summary": {"covered_lines": 15, "num_statements": 17, "percent_covered": 89.65517241379311, "percent_covered_display": "90", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.23529411764706, "percent_statements_covered_display": "88", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 11, "missing_branches": 1, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [189, 190], "excluded_lines": [], "start_line": 159, "executed_branches": [[172, 173], [172, 175], [175, 176], [175, 178], [178, 179], [178, 181], [181, 182], [181, 184], [187, 188], [187, 202], [188, 192]], "missing_branches": [[188, 189]]}, "_validate_labels": {"executed_lines": [218], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [219], "excluded_lines": [], "start_line": 205, "executed_branches": [[218, -205]], "missing_branches": [[218, 219]]}, "validate_labels": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [232], "excluded_lines": [], "start_line": 231, "executed_branches": [], "missing_branches": []}, "get_labels_text": {"executed_lines": [252, 253, 255, 256, 263], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 44.44444444444444, "percent_covered_display": "44", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 5, "percent_branches_covered": 37.5, "percent_branches_covered_display": "38"}, "missing_lines": [257, 258, 259, 260, 262], "excluded_lines": [], "start_line": 235, "executed_branches": [[252, 253], [252, 255], [256, 263]], "missing_branches": [[256, 257], [257, 258], [257, 259], [259, 260], [259, 262]]}, "snap_boxes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [310, 311, 314, 315, 317, 318, 319, 322, 323, 325, 326, 327, 329], "excluded_lines": [], "start_line": 266, "executed_branches": [], "missing_branches": []}, "Trace.__init__": {"executed_lines": [339, 340, 341, 343, 344, 345], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 333, "executed_branches": [], "missing_branches": []}, "Trace.put": {"executed_lines": [348, 351, 352, 358, 364, 366, 368, 375], "summary": {"covered_lines": 8, "num_statements": 14, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [359, 369, 370, 371, 372, 373], "excluded_lines": [], "start_line": 347, "executed_branches": [[358, 364], [368, 375]], "missing_branches": [[358, 359], [368, 369]]}, "Trace.get": {"executed_lines": [378, 381], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 377, "executed_branches": [], "missing_branches": []}, "hex_to_rgba": {"executed_lines": [397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 384, "executed_branches": [[398, 399], [398, 400], [400, 401], [400, 402]], "missing_branches": []}, "rgba_to_hex": {"executed_lines": [425, 426, 427], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 412, "executed_branches": [[425, 426], [425, 427]], "missing_branches": []}, "is_valid_hex": {"executed_lines": [441], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 430, "executed_branches": [], "missing_branches": []}, "calculate_dynamic_kernel_size": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [464], "excluded_lines": [], "start_line": 444, "executed_branches": [], "missing_branches": []}, "calculate_dynamic_pixel_size": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [487], "excluded_lines": [], "start_line": 467, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 17, 18, 21, 31, 32, 33, 35, 36, 40, 80, 133, 139, 159, 205, 226, 231, 235, 266, 332, 333, 347, 377, 384, 412, 430, 444, 467], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"ColorLookup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [37], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "Trace": {"executed_lines": [339, 340, 341, 343, 344, 345, 348, 351, 352, 358, 364, 366, 368, 375, 378, 381], "summary": {"covered_lines": 16, "num_statements": 22, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 72.72727272727273, "percent_statements_covered_display": "73", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [359, 369, 370, 371, 372, 373], "excluded_lines": [], "start_line": 332, "executed_branches": [[358, 364], [368, 375]], "missing_branches": [[358, 359], [368, 369]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 17, 18, 21, 31, 32, 33, 35, 36, 40, 45, 46, 51, 52, 53, 57, 58, 59, 60, 61, 62, 68, 69, 70, 71, 76, 80, 85, 86, 88, 89, 133, 134, 135, 136, 139, 145, 150, 156, 159, 172, 173, 175, 176, 178, 179, 181, 182, 184, 185, 187, 188, 192, 200, 202, 205, 218, 226, 231, 235, 252, 253, 255, 256, 263, 266, 332, 333, 347, 377, 384, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 412, 425, 426, 427, 430, 441, 444, 467], "summary": {"covered_lines": 103, "num_statements": 145, "percent_covered": 67.77251184834124, "percent_covered_display": "68", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 71.03448275862068, "percent_statements_covered_display": "71", "num_branches": 66, "num_partial_branches": 6, "covered_branches": 40, "missing_branches": 26, "percent_branches_covered": 60.60606060606061, "percent_branches_covered_display": "61"}, "missing_lines": [77, 90, 91, 92, 93, 99, 100, 106, 107, 108, 109, 110, 111, 117, 118, 124, 125, 155, 189, 190, 219, 232, 257, 258, 259, 260, 262, 310, 311, 314, 315, 317, 318, 319, 322, 323, 325, 326, 327, 329, 464, 487], "excluded_lines": [], "start_line": 1, "executed_branches": [[45, 46], [45, 51], [51, 52], [51, 58], [52, 53], [52, 57], [58, 59], [58, 60], [60, 61], [60, 69], [61, 62], [61, 68], [69, 70], [70, 71], [70, 76], [88, 89], [134, 135], [134, 136], [150, 156], [172, 173], [172, 175], [175, 176], [175, 178], [178, 179], [178, 181], [181, 182], [181, 184], [187, 188], [187, 202], [188, 192], [218, -205], [252, 253], [252, 255], [256, 263], [398, 399], [398, 400], [400, 401], [400, 402], [425, 426], [425, 427]], "missing_branches": [[69, 77], [88, 90], [90, 91], [90, 92], [92, 93], [92, 99], [99, 100], [99, 106], [106, 107], [106, 108], [108, 109], [108, 110], [110, 111], [110, 117], [117, 118], [117, 124], [124, -80], [124, 125], [150, 155], [188, 189], [218, 219], [256, 257], [257, 258], [257, 259], [259, 260], [259, 262]]}}}, "src\\supervision\\assets\\__init__.py": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\assets\\downloader.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 14, 17, 31, 32, 34, 35, 36, 38, 41, 63, 65, 66, 67, 68, 71, 73, 74, 75, 77, 80, 81, 83, 84, 85, 86, 88, 90, 91, 95], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[31, 32], [31, 34], [65, 66], [65, 90], [66, 67], [66, 83], [83, 84], [83, 88]], "missing_branches": [], "functions": {"is_md5_hash_matching": {"executed_lines": [31, 32, 34, 35, 36, 38], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17, "executed_branches": [[31, 32], [31, 34]], "missing_branches": []}, "download_assets": {"executed_lines": [63, 65, 66, 67, 68, 71, 73, 74, 75, 77, 80, 81, 83, 84, 85, 86, 88, 90, 91, 95], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41, "executed_branches": [[65, 66], [65, 90], [66, 67], [66, 83], [83, 84], [83, 88]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 14, 17, 41], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 14, 17, 31, 32, 34, 35, 36, 38, 41, 63, 65, 66, 67, 68, 71, 73, 74, 75, 77, 80, 81, 83, 84, 85, 86, 88, 90, 91, 95], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[31, 32], [31, 34], [65, 66], [65, 90], [66, 67], [66, 83], [83, 84], [83, 88]], "missing_branches": []}}}, "src\\supervision\\assets\\list.py": {"executed_lines": [1, 3, 4, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 23, 42, 43, 47, 48, 49, 50, 51, 52, 53, 54, 57, 69, 70, 73], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"Assets.__new__": {"executed_lines": [12, 13, 14, 15, 16], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11, "executed_branches": [], "missing_branches": []}, "Assets.list": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 9, 11, 18, 19, 23, 42, 43, 47, 48, 49, 50, 51, 52, 53, 54, 57, 69, 70, 73], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Assets": {"executed_lines": [12, 13, 14, 15, 16, 20], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7, "executed_branches": [], "missing_branches": []}, "VideoAssets": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23, "executed_branches": [], "missing_branches": []}, "ImageAssets": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 9, 11, 18, 19, 23, 42, 43, 47, 48, 49, 50, 51, 52, 53, 54, 57, 69, 70, 73], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\classification\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\classification\\core.py": {"executed_lines": [1, 3, 4, 6, 7, 13, 17, 18, 22, 26, 27, 28, 29, 32, 33, 34, 35, 37, 41, 43, 44, 46, 52, 53, 81, 83, 84, 92, 93, 120, 121, 155, 157, 158, 166, 192, 195, 196, 197, 198, 200], "summary": {"covered_lines": 41, "num_statements": 50, "percent_covered": 77.41935483870968, "percent_covered_display": "77", "missing_lines": 9, "excluded_lines": 2, "percent_statements_covered": 82.0, "percent_statements_covered_display": "82", "num_branches": 12, "num_partial_branches": 5, "covered_branches": 7, "missing_branches": 5, "percent_branches_covered": 58.333333333333336, "percent_branches_covered_display": "58"}, "missing_lines": [19, 50, 89, 90, 117, 118, 163, 164, 193], "excluded_lines": [9, 10], "executed_branches": [[18, -13], [26, 27], [28, -22], [28, 29], [83, 84], [157, 158], [192, 195]], "missing_branches": [[18, 19], [26, -22], [83, 89], [157, 163], [192, 193]], "functions": {"_validate_class_ids": {"executed_lines": [17, 18], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [19], "excluded_lines": [], "start_line": 13, "executed_branches": [[18, -13]], "missing_branches": [[18, 19]]}, "_validate_confidence": {"executed_lines": [26, 27, 28, 29], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "start_line": 22, "executed_branches": [[26, 27], [28, -22], [28, 29]], "missing_branches": [[26, -22]]}, "Classifications.__post_init__": {"executed_lines": [41, 43, 44], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37, "executed_branches": [], "missing_branches": []}, "Classifications.__len__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [50], "excluded_lines": [], "start_line": 46, "executed_branches": [], "missing_branches": []}, "Classifications.from_clip": {"executed_lines": [81, 83, 84], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [89, 90], "excluded_lines": [], "start_line": 53, "executed_branches": [[83, 84]], "missing_branches": [[83, 89]]}, "Classifications.from_ultralytics": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [117, 118], "excluded_lines": [], "start_line": 93, "executed_branches": [], "missing_branches": []}, "Classifications.from_timm": {"executed_lines": [155, 157, 158], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [163, 164], "excluded_lines": [], "start_line": 121, "executed_branches": [[157, 158]], "missing_branches": [[157, 163]]}, "Classifications.get_top_k": {"executed_lines": [192, 195, 196, 197, 198, 200], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [193], "excluded_lines": [], "start_line": 166, "executed_branches": [[192, 195]], "missing_branches": [[192, 193]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 13, 22, 32, 33, 34, 35, 37, 46, 52, 53, 92, 93, 120, 121, 166], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [9, 10], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Classifications": {"executed_lines": [41, 43, 44, 81, 83, 84, 155, 157, 158, 192, 195, 196, 197, 198, 200], "summary": {"covered_lines": 15, "num_statements": 23, "percent_covered": 62.06896551724138, "percent_covered_display": "62", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 65.21739130434783, "percent_statements_covered_display": "65", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [50, 89, 90, 117, 118, 163, 164, 193], "excluded_lines": [], "start_line": 33, "executed_branches": [[83, 84], [157, 158], [192, 195]], "missing_branches": [[83, 89], [157, 163], [192, 193]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 13, 17, 18, 22, 26, 27, 28, 29, 32, 33, 34, 35, 37, 46, 52, 53, 92, 93, 120, 121, 166], "summary": {"covered_lines": 26, "num_statements": 27, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 2, "percent_statements_covered": 96.29629629629629, "percent_statements_covered_display": "96", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [19], "excluded_lines": [9, 10], "start_line": 1, "executed_branches": [[18, -13], [26, 27], [28, -22], [28, 29]], "missing_branches": [[18, 19], [26, -22]]}}}, "src\\supervision\\config.py": {"executed_lines": [1, 2, 13], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [1, 2, 13], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 13], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\dataset\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\dataset\\core.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 20, 24, 29, 36, 37, 38, 41, 42, 43, 46, 47, 56, 74, 80, 82, 86, 88, 89, 90, 91, 92, 97, 99, 101, 103, 105, 106, 108, 110, 111, 113, 119, 120, 121, 122, 124, 131, 132, 133, 135, 136, 139, 142, 145, 152, 155, 157, 200, 209, 213, 214, 215, 216, 218, 223, 228, 230, 231, 279, 280, 282, 283, 285, 286, 287, 292, 293, 294, 296, 299, 300, 301, 302, 305, 307, 311, 312, 313, 314, 315, 318, 319, 324, 330, 387, 388, 441, 442, 493, 500, 504, 547, 561, 565, 566, 574, 575, 577, 578, 619, 624, 626, 709, 710, 713, 714, 723, 726, 727, 740, 766, 775, 778, 789, 802, 824, 897, 921, 922], "summary": {"covered_lines": 132, "num_statements": 228, "percent_covered": 52.515723270440255, "percent_covered_display": "53", "missing_lines": 96, "excluded_lines": 0, "percent_statements_covered": 57.89473684210526, "percent_statements_covered_display": "58", "num_branches": 90, "num_partial_branches": 15, "covered_branches": 35, "missing_branches": 55, "percent_branches_covered": 38.888888888888886, "percent_branches_covered_display": "39"}, "missing_lines": [44, 53, 83, 104, 107, 137, 140, 143, 146, 150, 153, 210, 211, 288, 361, 362, 366, 367, 368, 369, 370, 373, 374, 384, 385, 431, 437, 552, 554, 562, 746, 748, 749, 752, 755, 757, 758, 759, 760, 768, 769, 770, 771, 772, 773, 776, 784, 785, 786, 787, 798, 799, 800, 803, 804, 806, 807, 809, 810, 812, 813, 817, 819, 820, 822, 866, 875, 876, 877, 879, 880, 881, 882, 884, 889, 895, 905, 907, 908, 910, 911, 912, 917, 918, 919, 949, 950, 952, 953, 955, 956, 958, 959, 960, 961, 965], "excluded_lines": [], "executed_branches": [[82, 86], [88, 89], [88, 97], [90, 91], [90, 97], [91, 92], [103, 105], [106, 108], [131, -124], [131, 132], [136, 139], [139, 142], [142, 145], [145, 152], [152, 155], [209, 213], [287, 292], [293, 294], [293, 296], [300, 301], [300, 305], [312, 313], [312, 314], [314, 315], [314, 324], [318, 314], [318, 319], [547, 561], [561, 565], [565, 566], [574, 575], [709, 710], [709, 713], [713, 714], [713, 723]], "missing_branches": [[82, 83], [91, 90], [103, 104], [106, 107], [136, 137], [139, 140], [142, 143], [145, 146], [146, 150], [146, 152], [152, 153], [209, 210], [287, 288], [361, 362], [361, 366], [366, -330], [366, 367], [368, -330], [368, 369], [547, 552], [561, 562], [565, 574], [574, -504], [748, 749], [748, 752], [758, -740], [758, 759], [768, 769], [768, 770], [771, 772], [771, 773], [798, -789], [798, 799], [803, 804], [803, 806], [806, 807], [806, 809], [809, 810], [809, 812], [812, 813], [812, 819], [813, 817], [813, 819], [819, 820], [819, 822], [875, 876], [875, 879], [907, 908], [907, 910], [910, -897], [910, 911], [955, 956], [955, 965], [958, 955], [958, 959]], "functions": {"BaseDataset.__len__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [44], "excluded_lines": [], "start_line": 43, "executed_branches": [], "missing_branches": []}, "BaseDataset.split": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [53], "excluded_lines": [], "start_line": 47, "executed_branches": [], "missing_branches": []}, "DetectionDataset.__init__": {"executed_lines": [80, 82, 86, 88, 89, 90, 91, 92, 97, 99], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [83], "excluded_lines": [], "start_line": 74, "executed_branches": [[82, 86], [88, 89], [88, 97], [90, 91], [90, 97], [91, 92]], "missing_branches": [[82, 83], [91, 90]]}, "DetectionDataset._get_image": {"executed_lines": [103, 105, 106, 108], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [104, 107], "excluded_lines": [], "start_line": 101, "executed_branches": [[103, 105], [106, 108]], "missing_branches": [[103, 104], [106, 107]]}, "DetectionDataset.__len__": {"executed_lines": [111], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110, "executed_branches": [], "missing_branches": []}, "DetectionDataset.__getitem__": {"executed_lines": [119, 120, 121, 122], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 113, "executed_branches": [], "missing_branches": []}, "DetectionDataset.__iter__": {"executed_lines": [131, 132, 133], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 124, "executed_branches": [[131, -124], [131, 132]], "missing_branches": []}, "DetectionDataset.__eq__": {"executed_lines": [136, 139, 142, 145, 152, 155], "summary": {"covered_lines": 6, "num_statements": 12, "percent_covered": 45.833333333333336, "percent_covered_display": "46", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 12, "num_partial_branches": 5, "covered_branches": 5, "missing_branches": 7, "percent_branches_covered": 41.666666666666664, "percent_branches_covered_display": "42"}, "missing_lines": [137, 140, 143, 146, 150, 153], "excluded_lines": [], "start_line": 135, "executed_branches": [[136, 139], [139, 142], [142, 145], [145, 152], [152, 155]], "missing_branches": [[136, 137], [139, 140], [142, 143], [145, 146], [146, 150], [146, 152], [152, 153]]}, "DetectionDataset.split": {"executed_lines": [200, 209, 213, 214, 215, 216, 218, 223, 228], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [210, 211], "excluded_lines": [], "start_line": 157, "executed_branches": [[209, 213]], "missing_branches": [[209, 210]]}, "DetectionDataset.merge": {"executed_lines": [279, 282, 285, 286, 287, 292, 293, 294, 296, 299, 300, 301, 302, 305, 307, 311, 312, 313, 314, 315, 318, 319, 324], "summary": {"covered_lines": 23, "num_statements": 24, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.83333333333333, "percent_statements_covered_display": "96", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 11, "missing_branches": 1, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [288], "excluded_lines": [], "start_line": 231, "executed_branches": [[287, 292], [293, 294], [293, 296], [300, 301], [300, 305], [312, 313], [312, 314], [314, 315], [314, 324], [318, 314], [318, 319]], "missing_branches": [[287, 288]]}, "DetectionDataset.merge.is_in_memory": {"executed_lines": [280], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 279, "executed_branches": [], "missing_branches": []}, "DetectionDataset.merge.is_lazy": {"executed_lines": [283], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 282, "executed_branches": [], "missing_branches": []}, "DetectionDataset.as_pascal_voc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [361, 362, 366, 367, 368, 369, 370, 373, 374, 384, 385], "excluded_lines": [], "start_line": 330, "executed_branches": [], "missing_branches": [[361, 362], [361, 366], [366, -330], [366, 367], [368, -330], [368, 369]]}, "DetectionDataset.from_pascal_voc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [431, 437], "excluded_lines": [], "start_line": 388, "executed_branches": [], "missing_branches": []}, "DetectionDataset.from_yolo": {"executed_lines": [493, 500], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 442, "executed_branches": [], "missing_branches": []}, "DetectionDataset.as_yolo": {"executed_lines": [547, 561, 565, 566, 574, 575], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 58.8235294117647, "percent_covered_display": "59", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 8, "num_partial_branches": 4, "covered_branches": 4, "missing_branches": 4, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [552, 554, 562], "excluded_lines": [], "start_line": 504, "executed_branches": [[547, 561], [561, 565], [565, 566], [574, 575]], "missing_branches": [[547, 552], [561, 562], [565, 574], [574, -504]]}, "DetectionDataset.from_coco": {"executed_lines": [619, 624], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 578, "executed_branches": [], "missing_branches": []}, "DetectionDataset.as_coco": {"executed_lines": [709, 710, 713, 714, 723], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 626, "executed_branches": [[709, 710], [709, 713], [713, 714], [713, 723]], "missing_branches": []}, "ClassificationDataset.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [746, 748, 749, 752, 755, 757, 758, 759, 760], "excluded_lines": [], "start_line": 740, "executed_branches": [], "missing_branches": [[748, 749], [748, 752], [758, -740], [758, 759]]}, "ClassificationDataset._get_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [768, 769, 770, 771, 772, 773], "excluded_lines": [], "start_line": 766, "executed_branches": [], "missing_branches": [[768, 769], [768, 770], [771, 772], [771, 773]]}, "ClassificationDataset.__len__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [776], "excluded_lines": [], "start_line": 775, "executed_branches": [], "missing_branches": []}, "ClassificationDataset.__getitem__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [784, 785, 786, 787], "excluded_lines": [], "start_line": 778, "executed_branches": [], "missing_branches": []}, "ClassificationDataset.__iter__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [798, 799, 800], "excluded_lines": [], "start_line": 789, "executed_branches": [], "missing_branches": [[798, -789], [798, 799]]}, "ClassificationDataset.__eq__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 12, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [803, 804, 806, 807, 809, 810, 812, 813, 817, 819, 820, 822], "excluded_lines": [], "start_line": 802, "executed_branches": [], "missing_branches": [[803, 804], [803, 806], [806, 807], [806, 809], [809, 810], [809, 812], [812, 813], [812, 819], [813, 817], [813, 819], [819, 820], [819, 822]]}, "ClassificationDataset.split": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [866, 875, 876, 877, 879, 880, 881, 882, 884, 889, 895], "excluded_lines": [], "start_line": 824, "executed_branches": [], "missing_branches": [[875, 876], [875, 879]]}, "ClassificationDataset.as_folder_structure": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [905, 907, 908, 910, 911, 912, 917, 918, 919], "excluded_lines": [], "start_line": 897, "executed_branches": [], "missing_branches": [[907, 908], [907, 910], [910, -897], [910, 911]]}, "ClassificationDataset.from_folder_structure": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [949, 950, 952, 953, 955, 956, 958, 959, 960, 961, 965], "excluded_lines": [], "start_line": 922, "executed_branches": [], "missing_branches": [[955, 956], [955, 965], [958, 955], [958, 959]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 20, 24, 29, 36, 37, 38, 41, 42, 43, 46, 47, 56, 74, 101, 110, 113, 124, 135, 157, 230, 231, 330, 387, 388, 441, 442, 504, 577, 578, 626, 726, 727, 740, 766, 775, 778, 789, 802, 824, 897, 921, 922], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"BaseDataset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [44, 53], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "DetectionDataset": {"executed_lines": [80, 82, 86, 88, 89, 90, 91, 92, 97, 99, 103, 105, 106, 108, 111, 119, 120, 121, 122, 131, 132, 133, 136, 139, 142, 145, 152, 155, 200, 209, 213, 214, 215, 216, 218, 223, 228, 279, 280, 282, 283, 285, 286, 287, 292, 293, 294, 296, 299, 300, 301, 302, 305, 307, 311, 312, 313, 314, 315, 318, 319, 324, 493, 500, 547, 561, 565, 566, 574, 575, 619, 624, 709, 710, 713, 714, 723], "summary": {"covered_lines": 77, "num_statements": 105, "percent_covered": 68.71165644171779, "percent_covered_display": "69", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 73.33333333333333, "percent_statements_covered_display": "73", "num_branches": 58, "num_partial_branches": 15, "covered_branches": 35, "missing_branches": 23, "percent_branches_covered": 60.3448275862069, "percent_branches_covered_display": "60"}, "missing_lines": [83, 104, 107, 137, 140, 143, 146, 150, 153, 210, 211, 288, 361, 362, 366, 367, 368, 369, 370, 373, 374, 384, 385, 431, 437, 552, 554, 562], "excluded_lines": [], "start_line": 56, "executed_branches": [[82, 86], [88, 89], [88, 97], [90, 91], [90, 97], [91, 92], [103, 105], [106, 108], [131, -124], [131, 132], [136, 139], [139, 142], [142, 145], [145, 152], [152, 155], [209, 213], [287, 292], [293, 294], [293, 296], [300, 301], [300, 305], [312, 313], [312, 314], [314, 315], [314, 324], [318, 314], [318, 319], [547, 561], [561, 565], [565, 566], [574, 575], [709, 710], [709, 713], [713, 714], [713, 723]], "missing_branches": [[82, 83], [91, 90], [103, 104], [106, 107], [136, 137], [139, 140], [142, 143], [145, 146], [146, 150], [146, 152], [152, 153], [209, 210], [287, 288], [361, 362], [361, 366], [366, -330], [366, 367], [368, -330], [368, 369], [547, 552], [561, 562], [565, 574], [574, -504]]}, "ClassificationDataset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 66, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 66, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 32, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 32, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [746, 748, 749, 752, 755, 757, 758, 759, 760, 768, 769, 770, 771, 772, 773, 776, 784, 785, 786, 787, 798, 799, 800, 803, 804, 806, 807, 809, 810, 812, 813, 817, 819, 820, 822, 866, 875, 876, 877, 879, 880, 881, 882, 884, 889, 895, 905, 907, 908, 910, 911, 912, 917, 918, 919, 949, 950, 952, 953, 955, 956, 958, 959, 960, 961, 965], "excluded_lines": [], "start_line": 727, "executed_branches": [], "missing_branches": [[748, 749], [748, 752], [758, -740], [758, 759], [768, 769], [768, 770], [771, 772], [771, 773], [798, -789], [798, 799], [803, 804], [803, 806], [806, 807], [806, 809], [809, 810], [809, 812], [812, 813], [812, 819], [813, 817], [813, 819], [819, 820], [819, 822], [875, 876], [875, 879], [907, 908], [907, 910], [910, -897], [910, 911], [955, 956], [955, 965], [958, 955], [958, 959]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 20, 24, 29, 36, 37, 38, 41, 42, 43, 46, 47, 56, 74, 101, 110, 113, 124, 135, 157, 230, 231, 330, 387, 388, 441, 442, 504, 577, 578, 626, 726, 727, 740, 766, 775, 778, 789, 802, 824, 897, 921, 922], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\dataset\\formats\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\dataset\\formats\\coco.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 10, 14, 15, 20, 21, 26, 29, 30, 36, 39, 42, 48, 74, 84, 87, 88, 89, 90, 91, 92, 93, 96, 99, 100, 101, 103, 104, 105, 108, 109, 111, 112, 115, 117, 120, 122, 123, 124, 127, 136, 140, 142, 145, 177, 178, 180, 183, 184, 185, 187, 188, 189, 192, 193, 197, 198, 202, 205, 208, 209, 210, 212, 217, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 292, 297, 298, 305, 313, 315, 317, 324, 327, 328, 329, 332, 340, 342, 343, 352, 353, 354, 357, 396, 431, 432, 434, 438, 439, 443, 444, 445, 447, 448, 453, 454, 455, 456, 462, 463, 469, 470, 475, 476, 482, 485, 492, 497, 498, 500, 503, 504, 507, 568, 569, 574, 575, 583, 584, 585, 587, 588, 589, 590, 591, 600, 601, 610, 611, 613, 620, 621], "summary": {"covered_lines": 148, "num_statements": 160, "percent_covered": 92.5233644859813, "percent_covered_display": "93", "missing_lines": 12, "excluded_lines": 2, "percent_statements_covered": 92.5, "percent_statements_covered_display": "92", "num_branches": 54, "num_partial_branches": 4, "covered_branches": 50, "missing_branches": 4, "percent_branches_covered": 92.5925925925926, "percent_branches_covered_display": "93"}, "missing_lines": [118, 119, 128, 133, 331, 338, 388, 389, 390, 393, 457, 458], "excluded_lines": [23, 24], "executed_branches": [[88, 89], [88, 93], [90, 91], [90, 92], [103, 104], [103, 142], [105, 108], [105, 111], [111, 112], [111, 117], [117, 120], [123, 124], [123, 140], [127, 136], [177, 178], [177, 180], [188, 189], [188, 197], [197, 198], [197, 202], [208, 209], [208, 210], [282, 283], [282, 354], [283, 284], [283, 285], [287, 288], [287, 324], [289, 290], [289, 292], [297, 298], [297, 305], [313, 315], [313, 317], [328, 329], [328, 342], [329, 332], [332, 340], [447, 448], [447, 500], [462, 463], [462, 469], [469, 470], [469, 475], [475, 476], [475, 482], [568, 569], [568, 574], [588, 589], [588, 613]], "missing_branches": [[117, 118], [127, 128], [329, 331], [332, 338]], "functions": {"coco_categories_to_classes": {"executed_lines": [30], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29, "executed_branches": [], "missing_branches": []}, "build_coco_class_index_mapping": {"executed_lines": [39, 42], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "classes_to_coco_categories": {"executed_lines": [74], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 48, "executed_branches": [], "missing_branches": []}, "group_coco_annotations_by_image_id": {"executed_lines": [87, 88, 89, 90, 91, 92, 93], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 84, "executed_branches": [[88, 89], [88, 93], [90, 91], [90, 92]], "missing_branches": []}, "coco_annotations_to_masks": {"executed_lines": [99, 100, 101, 103, 104, 105, 108, 109, 111, 112, 115, 117, 120, 122, 123, 124, 127, 136, 140, 142], "summary": {"covered_lines": 20, "num_statements": 24, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 12, "num_partial_branches": 2, "covered_branches": 10, "missing_branches": 2, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [118, 119, 128, 133], "excluded_lines": [], "start_line": 96, "executed_branches": [[103, 104], [103, 142], [105, 108], [105, 111], [111, 112], [111, 117], [117, 120], [123, 124], [123, 140], [127, 136]], "missing_branches": [[117, 118], [127, 128]]}, "coco_annotations_to_detections": {"executed_lines": [177, 178, 180, 183, 184, 185, 187, 188, 189, 192, 193, 197, 198, 202, 205, 208, 209, 210, 212], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 145, "executed_branches": [[177, 178], [177, 180], [188, 189], [188, 197], [197, 198], [197, 202], [208, 209], [208, 210]], "missing_branches": []}, "detections_to_coco_annotations": {"executed_lines": [281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 292, 297, 298, 305, 313, 315, 317, 324, 327, 328, 329, 332, 340, 342, 343, 352, 353, 354], "summary": {"covered_lines": 28, "num_statements": 30, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93", "num_branches": 18, "num_partial_branches": 2, "covered_branches": 16, "missing_branches": 2, "percent_branches_covered": 88.88888888888889, "percent_branches_covered_display": "89"}, "missing_lines": [331, 338], "excluded_lines": [], "start_line": 217, "executed_branches": [[282, 283], [282, 354], [283, 284], [283, 285], [287, 288], [287, 324], [289, 290], [289, 292], [297, 298], [297, 305], [313, 315], [313, 317], [328, 329], [328, 342], [329, 332], [332, 340]], "missing_branches": [[329, 331], [332, 338]]}, "get_coco_class_index_mapping": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [388, 389, 390, 393], "excluded_lines": [], "start_line": 357, "executed_branches": [], "missing_branches": []}, "load_coco_annotations": {"executed_lines": [431, 432, 434, 438, 439, 443, 444, 445, 447, 448, 453, 454, 455, 456, 462, 463, 469, 470, 475, 476, 482, 485, 492, 497, 498, 500], "summary": {"covered_lines": 26, "num_statements": 28, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [457, 458], "excluded_lines": [], "start_line": 396, "executed_branches": [[447, 448], [447, 500], [462, 463], [462, 469], [469, 470], [469, 475], [475, 476], [475, 482]], "missing_branches": []}, "_with_seg_mask": {"executed_lines": [504], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 503, "executed_branches": [], "missing_branches": []}, "save_coco_annotations": {"executed_lines": [568, 569, 574, 575, 583, 584, 585, 587, 588, 589, 590, 591, 600, 601, 610, 611, 613, 620, 621], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 507, "executed_branches": [[568, 569], [568, 574], [588, 589], [588, 613]], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 10, 14, 15, 20, 21, 26, 29, 36, 48, 84, 96, 145, 217, 357, 396, 503, 507], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [23, 24], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 10, 14, 15, 20, 21, 26, 29, 30, 36, 39, 42, 48, 74, 84, 87, 88, 89, 90, 91, 92, 93, 96, 99, 100, 101, 103, 104, 105, 108, 109, 111, 112, 115, 117, 120, 122, 123, 124, 127, 136, 140, 142, 145, 177, 178, 180, 183, 184, 185, 187, 188, 189, 192, 193, 197, 198, 202, 205, 208, 209, 210, 212, 217, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 292, 297, 298, 305, 313, 315, 317, 324, 327, 328, 329, 332, 340, 342, 343, 352, 353, 354, 357, 396, 431, 432, 434, 438, 439, 443, 444, 445, 447, 448, 453, 454, 455, 456, 462, 463, 469, 470, 475, 476, 482, 485, 492, 497, 498, 500, 503, 504, 507, 568, 569, 574, 575, 583, 584, 585, 587, 588, 589, 590, 591, 600, 601, 610, 611, 613, 620, 621], "summary": {"covered_lines": 148, "num_statements": 160, "percent_covered": 92.5233644859813, "percent_covered_display": "93", "missing_lines": 12, "excluded_lines": 2, "percent_statements_covered": 92.5, "percent_statements_covered_display": "92", "num_branches": 54, "num_partial_branches": 4, "covered_branches": 50, "missing_branches": 4, "percent_branches_covered": 92.5925925925926, "percent_branches_covered_display": "93"}, "missing_lines": [118, 119, 128, 133, 331, 338, 388, 389, 390, 393, 457, 458], "excluded_lines": [23, 24], "start_line": 1, "executed_branches": [[88, 89], [88, 93], [90, 91], [90, 92], [103, 104], [103, 142], [105, 108], [105, 111], [111, 112], [111, 117], [117, 120], [123, 124], [123, 140], [127, 136], [177, 178], [177, 180], [188, 189], [188, 197], [197, 198], [197, 202], [208, 209], [208, 210], [282, 283], [282, 354], [283, 284], [283, 285], [287, 288], [287, 324], [289, 290], [289, 292], [297, 298], [297, 305], [313, 315], [313, 317], [328, 329], [328, 342], [329, 332], [332, 340], [447, 448], [447, 500], [462, 463], [462, 469], [469, 470], [469, 475], [475, 476], [475, 482], [568, 569], [568, 574], [588, 589], [588, 613]], "missing_branches": [[117, 118], [127, 128], [329, 331], [332, 338]]}}}, "src\\supervision\\dataset\\formats\\pascal_voc.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 19, 49, 51, 52, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 78, 79, 81, 84, 118, 121, 124, 125, 128, 129, 132, 133, 134, 137, 138, 139, 140, 141, 142, 143, 146, 147, 150, 151, 153, 158, 159, 173, 174, 177, 178, 181, 235, 272, 273, 274, 275, 278, 279, 280, 281, 283, 284, 286, 287, 288, 289, 291, 293, 296, 297, 299, 301, 305, 307, 308, 311, 312, 314, 317, 319, 320, 322, 326, 332, 335, 336, 339, 340, 341, 342, 344, 345, 351, 352, 353, 355], "summary": {"covered_lines": 111, "num_statements": 140, "percent_covered": 75.55555555555556, "percent_covered_display": "76", "missing_lines": 29, "excluded_lines": 1, "percent_statements_covered": 79.28571428571429, "percent_statements_covered_display": "79", "num_branches": 40, "num_partial_branches": 7, "covered_branches": 25, "missing_branches": 15, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [152, 154, 160, 166, 167, 168, 171, 203, 210, 211, 213, 214, 215, 216, 217, 218, 220, 221, 223, 224, 225, 226, 227, 230, 232, 285, 321, 343, 354], "excluded_lines": [241], "executed_branches": [[70, 72], [70, 81], [74, 75], [74, 81], [150, 151], [150, 177], [151, 153], [153, 158], [159, 173], [279, 280], [279, 311], [284, 286], [296, 297], [296, 307], [307, 279], [307, 308], [311, 312], [311, 314], [319, 320], [319, 322], [320, 319], [341, 342], [341, 345], [342, 344], [353, 355]], "missing_branches": [[151, 152], [153, 154], [159, 160], [166, 150], [166, 167], [213, 214], [213, 232], [216, 217], [216, 220], [224, 225], [224, 226], [284, 285], [320, 321], [342, 343], [353, 354]], "functions": {"object_to_pascal_voc": {"executed_lines": [49, 51, 52, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 78, 79, 81], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19, "executed_branches": [[70, 72], [70, 81], [74, 75], [74, 81]], "missing_branches": []}, "detections_to_pascal_voc": {"executed_lines": [118, 121, 124, 125, 128, 129, 132, 133, 134, 137, 138, 139, 140, 141, 142, 143, 146, 147, 150, 151, 153, 158, 159, 173, 174, 177, 178], "summary": {"covered_lines": 27, "num_statements": 34, "percent_covered": 72.72727272727273, "percent_covered_display": "73", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 79.41176470588235, "percent_statements_covered_display": "79", "num_branches": 10, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 5, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [152, 154, 160, 166, 167, 168, 171], "excluded_lines": [], "start_line": 84, "executed_branches": [[150, 151], [150, 177], [151, 153], [153, 158], [159, 173]], "missing_branches": [[151, 152], [153, 154], [159, 160], [166, 150], [166, 167]]}, "load_pascal_voc_annotations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [203, 210, 211, 213, 214, 215, 216, 217, 218, 220, 221, 223, 224, 225, 226, 227, 230, 232], "excluded_lines": [], "start_line": 181, "executed_branches": [], "missing_branches": [[213, 214], [213, 232], [216, 217], [216, 220], [224, 225], [224, 226]]}, "detections_from_xml_obj": {"executed_lines": [272, 273, 274, 275, 278, 279, 280, 281, 283, 284, 286, 287, 288, 289, 291, 293, 296, 297, 299, 301, 305, 307, 308, 311, 312, 314, 317, 319, 320, 322, 326, 332], "summary": {"covered_lines": 32, "num_statements": 34, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 1, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94", "num_branches": 14, "num_partial_branches": 2, "covered_branches": 12, "missing_branches": 2, "percent_branches_covered": 85.71428571428571, "percent_branches_covered_display": "86"}, "missing_lines": [285, 321], "excluded_lines": [241], "start_line": 235, "executed_branches": [[279, 280], [279, 311], [284, 286], [296, 297], [296, 307], [307, 279], [307, 308], [311, 312], [311, 314], [319, 320], [319, 322], [320, 319]], "missing_branches": [[284, 285], [320, 321]]}, "_with_poly_mask": {"executed_lines": [336], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 335, "executed_branches": [], "missing_branches": []}, "parse_polygon_points": {"executed_lines": [340, 341, 342, 344, 345], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [343], "excluded_lines": [], "start_line": 339, "executed_branches": [[341, 342], [341, 345], [342, 344]], "missing_branches": [[342, 343]]}, "_get_required_text": {"executed_lines": [352, 353, 355], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [354], "excluded_lines": [], "start_line": 351, "executed_branches": [[353, 355]], "missing_branches": [[353, 354]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 19, 84, 181, 235, 335, 339, 351], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 19, 49, 51, 52, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 78, 79, 81, 84, 118, 121, 124, 125, 128, 129, 132, 133, 134, 137, 138, 139, 140, 141, 142, 143, 146, 147, 150, 151, 153, 158, 159, 173, 174, 177, 178, 181, 235, 272, 273, 274, 275, 278, 279, 280, 281, 283, 284, 286, 287, 288, 289, 291, 293, 296, 297, 299, 301, 305, 307, 308, 311, 312, 314, 317, 319, 320, 322, 326, 332, 335, 336, 339, 340, 341, 342, 344, 345, 351, 352, 353, 355], "summary": {"covered_lines": 111, "num_statements": 140, "percent_covered": 75.55555555555556, "percent_covered_display": "76", "missing_lines": 29, "excluded_lines": 1, "percent_statements_covered": 79.28571428571429, "percent_statements_covered_display": "79", "num_branches": 40, "num_partial_branches": 7, "covered_branches": 25, "missing_branches": 15, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [152, 154, 160, 166, 167, 168, 171, 203, 210, 211, 213, 214, 215, 216, 217, 218, 220, 221, 223, 224, 225, 226, 227, 230, 232, 285, 321, 343, 354], "excluded_lines": [241], "start_line": 1, "executed_branches": [[70, 72], [70, 81], [74, 75], [74, 81], [150, 151], [150, 177], [151, 153], [153, 158], [159, 173], [279, 280], [279, 311], [284, 286], [296, 297], [296, 307], [307, 279], [307, 308], [311, 312], [311, 314], [319, 320], [319, 322], [320, 319], [341, 342], [341, 345], [342, 344], [353, 355]], "missing_branches": [[151, 152], [153, 154], [159, 160], [166, 150], [166, 167], [213, 214], [213, 232], [216, 217], [216, 220], [224, 225], [224, 226], [284, 285], [320, 321], [342, 343], [353, 354]]}}}, "src\\supervision\\dataset\\formats\\yolo.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 28, 29, 30, 41, 42, 47, 48, 51, 54, 66, 67, 70, 90, 91, 96, 97, 98, 100, 102, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 120, 121, 123, 124, 125, 126, 133, 134, 135, 138, 144, 145, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 167, 168, 170, 171, 172, 173, 174, 176, 177, 179, 183, 184, 187, 217, 218, 224, 242, 243, 245, 246, 247, 248, 249, 250, 253, 254, 255, 256, 257, 263, 264, 270, 271, 274, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 296, 347, 352, 360, 369, 370, 371, 373, 374, 378, 380, 381, 382, 389, 395, 396, 398, 399, 405, 406, 407, 413, 415, 418, 419, 422, 456, 457, 458, 459, 460, 463, 471, 474, 475, 476, 477], "summary": {"covered_lines": 157, "num_statements": 165, "percent_covered": 92.5764192139738, "percent_covered_display": "93", "missing_lines": 8, "excluded_lines": 2, "percent_statements_covered": 95.15151515151516, "percent_statements_covered_display": "95", "num_branches": 64, "num_partial_branches": 9, "covered_branches": 55, "missing_branches": 9, "percent_branches_covered": 85.9375, "percent_branches_covered_display": "86"}, "missing_lines": [92, 103, 109, 127, 258, 361, 372, 383], "excluded_lines": [24, 25], "executed_branches": [[91, 96], [97, 98], [97, 125], [102, 104], [104, 105], [104, 106], [106, 107], [112, 113], [112, 120], [120, 121], [120, 123], [125, 126], [144, 145], [144, 147], [149, 150], [149, 165], [152, 153], [152, 157], [155, 149], [155, 156], [157, 158], [160, 161], [160, 162], [162, 149], [162, 163], [170, 171], [170, 176], [176, 177], [176, 179], [217, 218], [217, 224], [245, 246], [245, 271], [248, 249], [248, 253], [257, 263], [281, 282], [281, 290], [347, 352], [347, 360], [360, 369], [370, 371], [370, 419], [371, 373], [373, 374], [373, 378], [380, 381], [380, 398], [382, 389], [398, 399], [398, 415], [405, 370], [405, 406], [457, -422], [457, 458]], "missing_branches": [[91, 92], [102, 103], [106, 109], [125, 127], [157, 149], [257, 258], [360, 361], [371, 372], [382, 383]], "functions": {"_parse_box": {"executed_lines": [29, 30], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28, "executed_branches": [], "missing_branches": []}, "_box_to_polygon": {"executed_lines": [42], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "_parse_polygon": {"executed_lines": [48], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47, "executed_branches": [], "missing_branches": []}, "_polygons_to_masks": {"executed_lines": [54], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51, "executed_branches": [], "missing_branches": []}, "_with_seg_mask": {"executed_lines": [67], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66, "executed_branches": [], "missing_branches": []}, "_extract_class_names": {"executed_lines": [90, 91, 96, 97, 98, 100, 111, 112, 113, 114, 115, 120, 121, 123, 124, 125, 126], "summary": {"covered_lines": 17, "num_statements": 19, "percent_covered": 86.20689655172414, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 89.47368421052632, "percent_statements_covered_display": "89", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [92, 127], "excluded_lines": [], "start_line": 70, "executed_branches": [[91, 96], [97, 98], [97, 125], [112, 113], [112, 120], [120, 121], [120, 123], [125, 126]], "missing_branches": [[91, 92], [125, 127]]}, "_extract_class_names._is_int_like": {"executed_lines": [102, 104, 105, 106, 107, 108], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [103, 109], "excluded_lines": [], "start_line": 100, "executed_branches": [[102, 104], [104, 105], [104, 106], [106, 107]], "missing_branches": [[102, 103], [106, 109]]}, "_image_name_to_annotation_name": {"executed_lines": [134, 135], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133, "executed_branches": [], "missing_branches": []}, "yolo_annotations_to_detections": {"executed_lines": [144, 145, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 167, 168, 170, 171, 172, 173, 174, 176, 177, 179, 183, 184], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 98.03921568627452, "percent_covered_display": "98", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 18, "num_partial_branches": 1, "covered_branches": 17, "missing_branches": 1, "percent_branches_covered": 94.44444444444444, "percent_branches_covered_display": "94"}, "missing_lines": [], "excluded_lines": [], "start_line": 138, "executed_branches": [[144, 145], [144, 147], [149, 150], [149, 165], [152, 153], [152, 157], [155, 149], [155, 156], [157, 158], [160, 161], [160, 162], [162, 149], [162, 163], [170, 171], [170, 176], [176, 177], [176, 179]], "missing_branches": [[157, 149]]}, "load_yolo_annotations": {"executed_lines": [217, 218, 224, 242, 243, 245, 246, 247, 248, 249, 250, 253, 254, 255, 256, 257, 263, 264, 270, 271], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [258], "excluded_lines": [], "start_line": 187, "executed_branches": [[217, 218], [217, 224], [245, 246], [245, 271], [248, 249], [248, 253], [257, 263]], "missing_branches": [[257, 258]]}, "object_to_yolo": {"executed_lines": [280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 274, "executed_branches": [[281, 282], [281, 290]], "missing_branches": []}, "detections_to_yolo_annotations": {"executed_lines": [347, 352, 360, 369, 370, 371, 373, 374, 378, 380, 381, 382, 389, 395, 396, 398, 399, 405, 406, 407, 413, 415, 418, 419], "summary": {"covered_lines": 24, "num_statements": 27, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 18, "num_partial_branches": 3, "covered_branches": 15, "missing_branches": 3, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [361, 372, 383], "excluded_lines": [], "start_line": 296, "executed_branches": [[347, 352], [347, 360], [360, 369], [370, 371], [370, 419], [371, 373], [373, 374], [373, 378], [380, 381], [380, 398], [382, 389], [398, 399], [398, 415], [405, 370], [405, 406]], "missing_branches": [[360, 361], [371, 372], [382, 383]]}, "save_yolo_annotations": {"executed_lines": [456, 457, 458, 459, 460, 463, 471], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 422, "executed_branches": [[457, -422], [457, 458]], "missing_branches": []}, "save_data_yaml": {"executed_lines": [475, 476, 477], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 474, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 28, 41, 47, 51, 66, 70, 133, 138, 187, 274, 296, 422, 474], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [24, 25], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 28, 29, 30, 41, 42, 47, 48, 51, 54, 66, 67, 70, 90, 91, 96, 97, 98, 100, 102, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 120, 121, 123, 124, 125, 126, 133, 134, 135, 138, 144, 145, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 167, 168, 170, 171, 172, 173, 174, 176, 177, 179, 183, 184, 187, 217, 218, 224, 242, 243, 245, 246, 247, 248, 249, 250, 253, 254, 255, 256, 257, 263, 264, 270, 271, 274, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 296, 347, 352, 360, 369, 370, 371, 373, 374, 378, 380, 381, 382, 389, 395, 396, 398, 399, 405, 406, 407, 413, 415, 418, 419, 422, 456, 457, 458, 459, 460, 463, 471, 474, 475, 476, 477], "summary": {"covered_lines": 157, "num_statements": 165, "percent_covered": 92.5764192139738, "percent_covered_display": "93", "missing_lines": 8, "excluded_lines": 2, "percent_statements_covered": 95.15151515151516, "percent_statements_covered_display": "95", "num_branches": 64, "num_partial_branches": 9, "covered_branches": 55, "missing_branches": 9, "percent_branches_covered": 85.9375, "percent_branches_covered_display": "86"}, "missing_lines": [92, 103, 109, 127, 258, 361, 372, 383], "excluded_lines": [24, 25], "start_line": 1, "executed_branches": [[91, 96], [97, 98], [97, 125], [102, 104], [104, 105], [104, 106], [106, 107], [112, 113], [112, 120], [120, 121], [120, 123], [125, 126], [144, 145], [144, 147], [149, 150], [149, 165], [152, 153], [152, 157], [155, 149], [155, 156], [157, 158], [160, 161], [160, 162], [162, 149], [162, 163], [170, 171], [170, 176], [176, 177], [176, 179], [217, 218], [217, 224], [245, 246], [245, 271], [248, 249], [248, 253], [257, 263], [281, 282], [281, 290], [347, 352], [347, 360], [360, 369], [370, 371], [370, 419], [371, 373], [373, 374], [373, 378], [380, 381], [380, 398], [382, 389], [398, 399], [398, 415], [405, 370], [405, 406], [457, -422], [457, 458]], "missing_branches": [[91, 92], [102, 103], [106, 109], [125, 127], [157, 149], [257, 258], [360, 361], [371, 372], [382, 383]]}}}, "src\\supervision\\dataset\\utils.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 20, 23, 29, 30, 37, 38, 49, 52, 58, 59, 60, 61, 63, 64, 65, 69, 74, 80, 81, 83, 84, 85, 87, 90, 94, 96, 97, 98, 102, 103, 105, 108, 111, 113, 114, 118, 120, 121, 125, 128, 129, 130, 131, 132, 136, 139, 157, 158, 160, 161, 163, 164], "summary": {"covered_lines": 66, "num_statements": 71, "percent_covered": 92.63157894736842, "percent_covered_display": "93", "missing_lines": 5, "excluded_lines": 2, "percent_statements_covered": 92.95774647887323, "percent_statements_covered_display": "93", "num_branches": 24, "num_partial_branches": 2, "covered_branches": 22, "missing_branches": 2, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [34, 43, 112, 133, 134], "excluded_lines": [46, 47], "executed_branches": [[64, 65], [64, 69], [83, 84], [83, 87], [84, 83], [84, 85], [96, 97], [96, 105], [97, 98], [97, 102], [111, 113], [113, 114], [113, 118], [120, 121], [120, 125], [130, -128], [130, 131], [132, 136], [157, 158], [157, 160], [160, 161], [160, 163]], "missing_branches": [[111, 112], [132, 133]], "functions": {"mask_to_rle": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [34], "excluded_lines": [], "start_line": 30, "executed_branches": [], "missing_branches": []}, "rle_to_mask": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [43], "excluded_lines": [], "start_line": 38, "executed_branches": [], "missing_branches": []}, "approximate_mask_with_polygons": {"executed_lines": [58, 59, 60, 61, 63, 64, 65, 69, 74], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52, "executed_branches": [[64, 65], [64, 69]], "missing_branches": []}, "merge_class_lists": {"executed_lines": [81, 83, 84, 85, 87], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 80, "executed_branches": [[83, 84], [83, 87], [84, 83], [84, 85]], "missing_branches": []}, "build_class_index_mapping": {"executed_lines": [94, 96, 97, 98, 102, 103, 105], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 90, "executed_branches": [[96, 97], [96, 105], [97, 98], [97, 102]], "missing_branches": []}, "map_detections_class_id": {"executed_lines": [111, 113, 114, 118, 120, 121, 125], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [112], "excluded_lines": [], "start_line": 108, "executed_branches": [[111, 113], [113, 114], [113, 118], [120, 121], [120, 125]], "missing_branches": [[111, 112]]}, "save_dataset_images": {"executed_lines": [129, 130, 131, 132, 136], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 72.72727272727273, "percent_covered_display": "73", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [133, 134], "excluded_lines": [], "start_line": 128, "executed_branches": [[130, -128], [130, 131], [132, 136]], "missing_branches": [[132, 133]]}, "train_test_split": {"executed_lines": [157, 158, 160, 161, 163, 164], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 139, "executed_branches": [[157, 158], [157, 160], [160, 161], [160, 163]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 20, 23, 29, 30, 37, 38, 49, 52, 80, 90, 108, 128, 139], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [46, 47], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 20, 23, 29, 30, 37, 38, 49, 52, 58, 59, 60, 61, 63, 64, 65, 69, 74, 80, 81, 83, 84, 85, 87, 90, 94, 96, 97, 98, 102, 103, 105, 108, 111, 113, 114, 118, 120, 121, 125, 128, 129, 130, 131, 132, 136, 139, 157, 158, 160, 161, 163, 164], "summary": {"covered_lines": 66, "num_statements": 71, "percent_covered": 92.63157894736842, "percent_covered_display": "93", "missing_lines": 5, "excluded_lines": 2, "percent_statements_covered": 92.95774647887323, "percent_statements_covered_display": "93", "num_branches": 24, "num_partial_branches": 2, "covered_branches": 22, "missing_branches": 2, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [34, 43, 112, 133, 134], "excluded_lines": [46, 47], "start_line": 1, "executed_branches": [[64, 65], [64, 69], [83, 84], [83, 87], [84, 83], [84, 85], [96, 97], [96, 105], [97, 98], [97, 102], [111, 113], [113, 114], [113, 118], [120, 121], [120, 125], [130, -128], [130, 131], [132, 136], [157, 158], [157, 160], [160, 161], [160, 163]], "missing_branches": [[111, 112], [132, 133]]}}}, "src\\supervision\\detection\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\compact_mask.py": {"executed_lines": [12, 14, 15, 16, 18, 19, 21, 27, 46, 49, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 103, 111, 112, 113, 114, 115, 116, 117, 118, 121, 122, 125, 128, 161, 162, 166, 167, 168, 169, 170, 171, 175, 178, 179, 180, 181, 182, 183, 184, 185, 186, 188, 189, 190, 193, 228, 229, 230, 231, 233, 235, 236, 237, 238, 241, 242, 244, 246, 249, 305, 307, 309, 310, 311, 312, 314, 317, 320, 323, 324, 325, 326, 327, 328, 330, 336, 338, 341, 369, 372, 376, 377, 380, 381, 386, 389, 457, 459, 466, 467, 468, 469, 475, 476, 511, 512, 514, 515, 522, 523, 524, 526, 527, 528, 529, 530, 531, 535, 536, 537, 539, 541, 542, 543, 544, 545, 547, 548, 549, 555, 574, 575, 576, 577, 578, 582, 583, 584, 585, 587, 612, 613, 614, 620, 638, 640, 645, 646, 664, 665, 667, 668, 687, 689, 690, 713, 716, 717, 718, 719, 720, 722, 723, 741, 743, 744, 764, 766, 791, 792, 795, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 840, 841, 849, 850, 851, 854, 856, 858, 859, 860, 861, 863, 886, 887, 888, 889, 891, 913, 914, 915, 916, 923, 924, 955, 956, 958, 959, 960, 961, 969, 970, 971, 975, 978, 982, 984, 1018, 1019, 1020, 1027, 1028, 1029, 1031, 1032, 1033, 1034, 1036, 1037, 1039, 1041, 1042, 1043, 1044, 1046, 1047, 1048, 1049, 1051, 1052, 1053, 1054, 1056, 1067, 1102, 1103, 1106, 1107, 1119, 1122, 1123, 1124, 1125, 1127, 1131, 1133, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1151, 1152, 1153, 1159, 1160, 1162, 1163, 1164, 1165, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1175, 1176, 1177, 1178, 1179, 1181, 1192, 1233, 1235, 1236, 1237, 1242, 1243, 1251, 1252, 1259, 1260, 1261, 1264, 1265, 1266, 1267, 1269, 1270, 1271, 1272, 1273, 1276, 1281, 1282, 1284, 1295, 1296, 1297, 1298, 1302, 1304, 1305, 1306], "summary": {"covered_lines": 322, "num_statements": 341, "percent_covered": 92.27373068432671, "percent_covered_display": "92", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 94.42815249266862, "percent_statements_covered_display": "94", "num_branches": 112, "num_partial_branches": 12, "covered_branches": 96, "missing_branches": 16, "percent_branches_covered": 85.71428571428571, "percent_branches_covered_display": "86"}, "missing_lines": [104, 105, 106, 107, 108, 109, 110, 123, 163, 172, 308, 373, 642, 643, 714, 793, 917, 1104, 1108], "excluded_lines": [], "executed_branches": [[92, 93], [95, 96], [95, 117], [98, 99], [98, 103], [99, 100], [99, 111], [103, 111], [114, 95], [114, 115], [117, 92], [117, 118], [121, 122], [121, 125], [122, 121], [162, 166], [168, 169], [168, 171], [171, 175], [188, 189], [188, 190], [229, 230], [229, 246], [230, 231], [230, 233], [235, 236], [235, 238], [238, 241], [238, 244], [307, 309], [309, 310], [309, 311], [311, 312], [311, 314], [325, 326], [325, 330], [326, 327], [326, 328], [372, 376], [376, 377], [376, 380], [514, 515], [514, 522], [526, 527], [526, 547], [535, 536], [535, 539], [577, 578], [577, 585], [713, 716], [791, 792], [827, 828], [827, 840], [840, 841], [840, 849], [849, 850], [849, 851], [851, 854], [851, 856], [887, 888], [887, 889], [913, 914], [913, 915], [915, 916], [955, 956], [955, 958], [959, 960], [959, 969], [960, 959], [960, 961], [970, 971], [970, 975], [1019, 1020], [1019, 1027], [1031, 1032], [1031, 1056], [1039, 1041], [1039, 1046], [1103, 1106], [1107, 1119], [1131, 1133], [1131, 1141], [1145, 1146], [1145, 1181], [1151, 1152], [1151, 1162], [1167, 1168], [1167, 1175], [1236, 1237], [1236, 1242], [1242, 1243], [1242, 1251], [1251, 1252], [1251, 1259], [1296, 1297], [1296, 1302]], "missing_branches": [[92, 121], [103, 104], [107, 108], [107, 110], [122, 123], [162, 163], [171, 172], [307, 308], [372, 373], [642, -640], [642, 643], [713, 714], [791, 793], [915, 917], [1103, 1104], [1107, 1108]], "functions": {"_rle_area": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27, "executed_branches": [], "missing_branches": []}, "_rle_split_cols": {"executed_lines": [88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 103, 111, 112, 113, 114, 115, 116, 117, 118, 121, 122, 125], "summary": {"covered_lines": 24, "num_statements": 32, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 20, "num_partial_branches": 3, "covered_branches": 15, "missing_branches": 5, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [104, 105, 106, 107, 108, 109, 110, 123], "excluded_lines": [], "start_line": 49, "executed_branches": [[92, 93], [95, 96], [95, 117], [98, 99], [98, 103], [99, 100], [99, 111], [103, 111], [114, 95], [114, 115], [117, 92], [117, 118], [121, 122], [121, 125], [122, 121]], "missing_branches": [[92, 121], [103, 104], [107, 108], [107, 110], [122, 123]]}, "_rle_scale_col": {"executed_lines": [161, 162, 166, 167, 168, 169, 170, 171, 175, 178, 179, 180, 181, 182, 183, 184, 185, 186, 188, 189, 190], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 87.09677419354838, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 91.30434782608695, "percent_statements_covered_display": "91", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [163, 172], "excluded_lines": [], "start_line": 128, "executed_branches": [[162, 166], [168, 169], [168, 171], [171, 175], [188, 189], [188, 190]], "missing_branches": [[162, 163], [171, 172]]}, "_rle_join_cols": {"executed_lines": [228, 229, 230, 231, 233, 235, 236, 237, 238, 241, 242, 244, 246], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 193, "executed_branches": [[229, 230], [229, 246], [230, 231], [230, 233], [235, 236], [235, 238], [238, 241], [238, 244]], "missing_branches": []}, "_rle_resize": {"executed_lines": [305, 307, 309, 310, 311, 312, 314, 317, 320, 323, 324, 325, 326, 327, 328, 330], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 92.5925925925926, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [308], "excluded_lines": [], "start_line": 249, "executed_branches": [[307, 309], [309, 310], [309, 311], [311, 312], [311, 314], [325, 326], [325, 330], [326, 327], [326, 328]], "missing_branches": [[307, 308]]}, "_resize_crop": {"executed_lines": [369, 372, 376, 377, 380, 381, 386], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [373], "excluded_lines": [], "start_line": 341, "executed_branches": [[372, 376], [376, 377], [376, 380]], "missing_branches": [[372, 373]]}, "CompactMask.__init__": {"executed_lines": [466, 467, 468, 469], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 459, "executed_branches": [], "missing_branches": []}, "CompactMask.from_dense": {"executed_lines": [511, 512, 514, 515, 522, 523, 524, 526, 527, 528, 529, 530, 531, 535, 536, 537, 539, 541, 542, 543, 544, 545, 547, 548, 549], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 476, "executed_branches": [[514, 515], [514, 522], [526, 527], [526, 547], [535, 536], [535, 539]], "missing_branches": []}, "CompactMask.to_dense": {"executed_lines": [574, 575, 576, 577, 578, 582, 583, 584, 585], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 555, "executed_branches": [[577, 578], [577, 585]], "missing_branches": []}, "CompactMask.crop": {"executed_lines": [612, 613, 614], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 587, "executed_branches": [], "missing_branches": []}, "CompactMask.__len__": {"executed_lines": [638], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 620, "executed_branches": [], "missing_branches": []}, "CompactMask.__iter__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [642, 643], "excluded_lines": [], "start_line": 640, "executed_branches": [], "missing_branches": [[642, -640], [642, 643]]}, "CompactMask.shape": {"executed_lines": [664, 665], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 646, "executed_branches": [], "missing_branches": []}, "CompactMask.offsets": {"executed_lines": [687], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 668, "executed_branches": [], "missing_branches": []}, "CompactMask.bbox_xyxy": {"executed_lines": [713, 716, 717, 718, 719, 720], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [714], "excluded_lines": [], "start_line": 690, "executed_branches": [[713, 716]], "missing_branches": [[713, 714]]}, "CompactMask.dtype": {"executed_lines": [741], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 723, "executed_branches": [], "missing_branches": []}, "CompactMask.area": {"executed_lines": [764], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 744, "executed_branches": [], "missing_branches": []}, "CompactMask.sum": {"executed_lines": [791, 792], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [793], "excluded_lines": [], "start_line": 766, "executed_branches": [[791, 792]], "missing_branches": [[791, 793]]}, "CompactMask.__getitem__": {"executed_lines": [827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 840, 841, 849, 850, 851, 854, 856, 858, 859, 860, 861], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 795, "executed_branches": [[827, 828], [827, 840], [840, 841], [840, 849], [849, 850], [849, 851], [851, 854], [851, 856]], "missing_branches": []}, "CompactMask.__array__": {"executed_lines": [886, 887, 888, 889], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 863, "executed_branches": [[887, 888], [887, 889]], "missing_branches": []}, "CompactMask.__eq__": {"executed_lines": [913, 914, 915, 916], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [917], "excluded_lines": [], "start_line": 891, "executed_branches": [[913, 914], [913, 915], [915, 916]], "missing_branches": [[915, 917]]}, "CompactMask.merge": {"executed_lines": [955, 956, 958, 959, 960, 961, 969, 970, 971, 975, 978, 982], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 924, "executed_branches": [[955, 956], [955, 958], [959, 960], [959, 969], [960, 959], [960, 961], [970, 971], [970, 975]], "missing_branches": []}, "CompactMask.repack": {"executed_lines": [1018, 1019, 1020, 1027, 1028, 1029, 1031, 1032, 1033, 1034, 1036, 1037, 1039, 1041, 1042, 1043, 1044, 1046, 1047, 1048, 1049, 1051, 1052, 1053, 1054, 1056], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 984, "executed_branches": [[1019, 1020], [1019, 1027], [1031, 1032], [1031, 1056], [1039, 1041], [1039, 1046]], "missing_branches": []}, "CompactMask.with_offset": {"executed_lines": [1102, 1103, 1106, 1107, 1119, 1122, 1123, 1124, 1125, 1127, 1131, 1133, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1151, 1152, 1153, 1159, 1160, 1162, 1163, 1164, 1165, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1175, 1176, 1177, 1178, 1179, 1181], "summary": {"covered_lines": 42, "num_statements": 44, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95", "num_branches": 12, "num_partial_branches": 2, "covered_branches": 10, "missing_branches": 2, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1104, 1108], "excluded_lines": [], "start_line": 1067, "executed_branches": [[1103, 1106], [1107, 1119], [1131, 1133], [1131, 1141], [1145, 1146], [1145, 1181], [1151, 1152], [1151, 1162], [1167, 1168], [1167, 1175]], "missing_branches": [[1103, 1104], [1107, 1108]]}, "CompactMask.resize": {"executed_lines": [1233, 1235, 1236, 1237, 1242, 1243, 1251, 1252, 1259, 1260, 1261, 1264, 1265, 1266, 1267, 1269, 1270, 1271, 1272, 1273, 1276, 1281, 1282, 1284, 1295, 1296, 1297, 1298, 1302, 1304, 1305, 1306], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1192, "executed_branches": [[1236, 1237], [1236, 1242], [1242, 1243], [1242, 1251], [1251, 1252], [1251, 1259], [1296, 1297], [1296, 1302]], "missing_branches": []}, "": {"executed_lines": [12, 14, 15, 16, 18, 19, 21, 27, 49, 128, 193, 249, 336, 338, 341, 389, 457, 459, 475, 476, 555, 587, 620, 640, 645, 646, 667, 668, 689, 690, 722, 723, 743, 744, 766, 795, 863, 891, 923, 924, 984, 1067, 1192], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"CompactMask": {"executed_lines": [466, 467, 468, 469, 511, 512, 514, 515, 522, 523, 524, 526, 527, 528, 529, 530, 531, 535, 536, 537, 539, 541, 542, 543, 544, 545, 547, 548, 549, 574, 575, 576, 577, 578, 582, 583, 584, 585, 612, 613, 614, 638, 664, 665, 687, 713, 716, 717, 718, 719, 720, 741, 764, 791, 792, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 840, 841, 849, 850, 851, 854, 856, 858, 859, 860, 861, 886, 887, 888, 889, 913, 914, 915, 916, 955, 956, 958, 959, 960, 961, 969, 970, 971, 975, 978, 982, 1018, 1019, 1020, 1027, 1028, 1029, 1031, 1032, 1033, 1034, 1036, 1037, 1039, 1041, 1042, 1043, 1044, 1046, 1047, 1048, 1049, 1051, 1052, 1053, 1054, 1056, 1102, 1103, 1106, 1107, 1119, 1122, 1123, 1124, 1125, 1127, 1131, 1133, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1151, 1152, 1153, 1159, 1160, 1162, 1163, 1164, 1165, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1175, 1176, 1177, 1178, 1179, 1181, 1233, 1235, 1236, 1237, 1242, 1243, 1251, 1252, 1259, 1260, 1261, 1264, 1265, 1266, 1267, 1269, 1270, 1271, 1272, 1273, 1276, 1281, 1282, 1284, 1295, 1296, 1297, 1298, 1302, 1304, 1305, 1306], "summary": {"covered_lines": 197, "num_statements": 204, "percent_covered": 94.73684210526316, "percent_covered_display": "95", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 96.56862745098039, "percent_statements_covered_display": "97", "num_branches": 62, "num_partial_branches": 5, "covered_branches": 55, "missing_branches": 7, "percent_branches_covered": 88.70967741935483, "percent_branches_covered_display": "89"}, "missing_lines": [642, 643, 714, 793, 917, 1104, 1108], "excluded_lines": [], "start_line": 389, "executed_branches": [[514, 515], [514, 522], [526, 527], [526, 547], [535, 536], [535, 539], [577, 578], [577, 585], [713, 716], [791, 792], [827, 828], [827, 840], [840, 841], [840, 849], [849, 850], [849, 851], [851, 854], [851, 856], [887, 888], [887, 889], [913, 914], [913, 915], [915, 916], [955, 956], [955, 958], [959, 960], [959, 969], [960, 959], [960, 961], [970, 971], [970, 975], [1019, 1020], [1019, 1027], [1031, 1032], [1031, 1056], [1039, 1041], [1039, 1046], [1103, 1106], [1107, 1119], [1131, 1133], [1131, 1141], [1145, 1146], [1145, 1181], [1151, 1152], [1151, 1162], [1167, 1168], [1167, 1175], [1236, 1237], [1236, 1242], [1242, 1243], [1242, 1251], [1251, 1252], [1251, 1259], [1296, 1297], [1296, 1302]], "missing_branches": [[642, -640], [642, 643], [713, 714], [791, 793], [915, 917], [1103, 1104], [1107, 1108]]}, "": {"executed_lines": [12, 14, 15, 16, 18, 19, 21, 27, 46, 49, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 103, 111, 112, 113, 114, 115, 116, 117, 118, 121, 122, 125, 128, 161, 162, 166, 167, 168, 169, 170, 171, 175, 178, 179, 180, 181, 182, 183, 184, 185, 186, 188, 189, 190, 193, 228, 229, 230, 231, 233, 235, 236, 237, 238, 241, 242, 244, 246, 249, 305, 307, 309, 310, 311, 312, 314, 317, 320, 323, 324, 325, 326, 327, 328, 330, 336, 338, 341, 369, 372, 376, 377, 380, 381, 386, 389, 457, 459, 475, 476, 555, 587, 620, 640, 645, 646, 667, 668, 689, 690, 722, 723, 743, 744, 766, 795, 863, 891, 923, 924, 984, 1067, 1192], "summary": {"covered_lines": 125, "num_statements": 137, "percent_covered": 88.77005347593582, "percent_covered_display": "89", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 91.24087591240875, "percent_statements_covered_display": "91", "num_branches": 50, "num_partial_branches": 7, "covered_branches": 41, "missing_branches": 9, "percent_branches_covered": 82.0, "percent_branches_covered_display": "82"}, "missing_lines": [104, 105, 106, 107, 108, 109, 110, 123, 163, 172, 308, 373], "excluded_lines": [], "start_line": 1, "executed_branches": [[92, 93], [95, 96], [95, 117], [98, 99], [98, 103], [99, 100], [99, 111], [103, 111], [114, 95], [114, 115], [117, 92], [117, 118], [121, 122], [121, 125], [122, 121], [162, 166], [168, 169], [168, 171], [171, 175], [188, 189], [188, 190], [229, 230], [229, 246], [230, 231], [230, 233], [235, 236], [235, 238], [238, 241], [238, 244], [307, 309], [309, 310], [309, 311], [311, 312], [311, 314], [325, 326], [325, 330], [326, 327], [326, 328], [372, 376], [376, 377], [376, 380]], "missing_branches": [[92, 121], [103, 104], [107, 108], [107, 110], [122, 123], [162, 163], [171, 172], [307, 308], [372, 373]]}}}, "src\\supervision\\detection\\core.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 16, 17, 22, 23, 28, 37, 48, 49, 62, 63, 64, 67, 68, 156, 157, 158, 159, 160, 161, 162, 164, 165, 174, 178, 180, 196, 197, 206, 207, 209, 221, 222, 245, 247, 253, 254, 285, 304, 305, 306, 312, 316, 317, 318, 335, 336, 363, 364, 366, 372, 373, 417, 418, 453, 454, 491, 492, 572, 573, 619, 620, 653, 654, 655, 657, 661, 662, 663, 664, 666, 675, 676, 704, 708, 709, 711, 712, 714, 715, 717, 718, 769, 771, 772, 773, 775, 776, 777, 778, 791, 792, 793, 794, 799, 800, 801, 802, 804, 805, 813, 816, 817, 818, 819, 822, 823, 825, 826, 827, 829, 830, 832, 833, 835, 842, 843, 929, 930, 971, 972, 1460, 1461, 1883, 1885, 1893, 1904, 1913, 1914, 1915, 1916, 1917, 1960, 1961, 2006, 2007, 2064, 2065, 2080, 2086, 2108, 2110, 2111, 2163, 2167, 2168, 2170, 2171, 2180, 2182, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2194, 2195, 2197, 2198, 2199, 2200, 2202, 2204, 2205, 2207, 2217, 2236, 2237, 2243, 2249, 2250, 2256, 2257, 2263, 2264, 2267, 2268, 2269, 2270, 2271, 2272, 2275, 2276, 2277, 2278, 2282, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2331, 2366, 2367, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2414, 2415, 2424, 2426, 2427, 2456, 2457, 2459, 2460, 2461, 2463, 2493, 2496, 2500, 2503, 2507, 2515, 2516, 2522, 2523, 2532, 2538, 2540, 2582, 2583, 2585, 2589, 2590, 2592, 2596, 2604, 2611, 2612, 2621, 2627, 2628, 2629, 2630, 2632, 2635, 2651, 2654, 2655, 2656, 2659, 2660, 2661, 2662, 2663, 2664, 2667, 2668, 2675, 2678, 2691, 2692, 2694, 2698, 2699, 2703, 2704, 2706, 2707, 2708, 2709, 2716, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2733, 2744, 2747, 2748, 2749, 2751, 2753, 2755, 2766, 2767, 2810, 2811, 2813, 2815, 2816, 2817, 2818, 2820, 2821, 2822, 2823, 2824, 2828, 2830, 2831, 2832, 2834, 2835, 2837, 2839, 2840, 2841, 2842, 2844, 2846, 2848, 2859, 2860, 2887, 2888, 2902, 2914, 2915, 2916, 2917, 2919, 2920, 2926, 2931], "summary": {"covered_lines": 340, "num_statements": 503, "percent_covered": 65.1063829787234, "percent_covered_display": "65", "missing_lines": 163, "excluded_lines": 0, "percent_statements_covered": 67.59443339960238, "percent_statements_covered_display": "68", "num_branches": 202, "num_partial_branches": 19, "covered_branches": 119, "missing_branches": 83, "percent_branches_covered": 58.91089108910891, "percent_branches_covered_display": "59"}, "missing_lines": [208, 286, 287, 288, 289, 331, 332, 333, 407, 408, 409, 410, 411, 444, 445, 447, 480, 543, 547, 553, 554, 560, 561, 566, 605, 656, 782, 783, 784, 796, 797, 803, 807, 808, 809, 810, 811, 814, 883, 884, 888, 890, 891, 892, 894, 896, 897, 899, 901, 902, 903, 904, 906, 907, 908, 909, 911, 912, 913, 915, 916, 917, 918, 920, 921, 923, 962, 963, 965, 1424, 1431, 1440, 1441, 1443, 1444, 1445, 1446, 1447, 1451, 1454, 1458, 1886, 1887, 1888, 1891, 1894, 1895, 1896, 1897, 1900, 1905, 1906, 1907, 1908, 1909, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1927, 1928, 1929, 1930, 1931, 1933, 1935, 1936, 1937, 1938, 1939, 1941, 1942, 1943, 1944, 1946, 1947, 1948, 1949, 1950, 1958, 1985, 1986, 1988, 1989, 1990, 1996, 1998, 2039, 2041, 2042, 2044, 2045, 2046, 2055, 2056, 2058, 2244, 2245, 2248, 2280, 2358, 2359, 2361, 2362, 2364, 2494, 2501, 2605, 2714, 2873, 2874, 2875, 2876, 2880, 2881, 2882, 2883, 2884, 2899, 2934], "excluded_lines": [], "executed_branches": [[196, -180], [196, 197], [207, 209], [285, 304], [304, 305], [304, 312], [312, 316], [363, 364], [363, 366], [653, 654], [653, 655], [655, 657], [661, 662], [661, 666], [711, 712], [711, 714], [775, 776], [777, 778], [777, 791], [791, 792], [791, 829], [792, 793], [799, 791], [799, 800], [800, 801], [802, 804], [813, 816], [817, 818], [817, 825], [829, 830], [829, 832], [1885, 1893], [1893, 1904], [1904, 1913], [1913, 1914], [2167, 2168], [2167, 2170], [2170, 2171], [2170, 2180], [2185, 2186], [2185, 2187], [2187, 2188], [2187, 2189], [2189, 2190], [2189, 2195], [2191, 2192], [2191, 2194], [2236, 2237], [2236, 2243], [2243, 2249], [2249, 2250], [2249, 2256], [2256, 2257], [2256, 2263], [2263, 2264], [2263, 2267], [2267, 2268], [2267, 2269], [2269, 2270], [2269, 2271], [2271, 2272], [2271, 2275], [2275, 2276], [2275, 2277], [2277, 2278], [2315, 2316], [2315, 2317], [2317, 2318], [2317, 2319], [2319, 2320], [2319, 2321], [2406, 2407], [2406, 2410], [2407, 2408], [2407, 2409], [2410, 2411], [2410, 2412], [2493, 2496], [2500, 2503], [2515, 2516], [2515, 2522], [2522, 2523], [2522, 2532], [2582, 2583], [2582, 2585], [2589, 2590], [2589, 2592], [2604, 2611], [2611, 2612], [2611, 2621], [2628, 2629], [2628, 2632], [2691, 2692], [2691, 2694], [2706, 2707], [2706, 2716], [2708, 2709], [2721, 2722], [2721, 2733], [2723, 2724], [2723, 2728], [2725, 2726], [2725, 2727], [2748, 2749], [2748, 2751], [2810, 2811], [2810, 2813], [2817, 2818], [2817, 2820], [2834, 2835], [2834, 2837], [2839, 2840], [2839, 2841], [2841, 2842], [2841, 2844], [2915, -2902], [2915, 2916], [2919, 2915], [2919, 2920]], "missing_branches": [[207, 208], [285, 286], [312, 331], [444, 445], [444, 447], [543, 547], [543, 553], [553, 554], [553, 560], [560, 561], [560, 566], [655, 656], [775, 782], [783, 784], [783, 791], [792, 796], [800, 807], [802, 803], [808, 809], [808, 810], [813, 814], [883, 884], [883, 888], [891, 892], [891, 894], [896, 897], [896, 920], [906, 896], [906, 907], [911, 912], [911, 915], [915, 906], [915, 916], [920, 921], [920, 923], [962, 963], [962, 965], [1440, 1441], [1440, 1443], [1443, 1444], [1443, 1454], [1885, 1886], [1893, 1894], [1904, 1905], [1913, 1919], [1919, 1920], [1919, 1935], [1922, 1923], [1922, 1927], [1928, 1929], [1928, 1930], [1930, 1931], [1930, 1933], [1935, 1936], [1935, 1941], [1941, 1942], [1941, 1946], [1946, 1947], [1946, 1958], [1985, 1986], [1985, 1988], [2041, 2042], [2041, 2044], [2044, 2045], [2044, 2058], [2243, 2244], [2244, 2245], [2244, 2248], [2277, 2280], [2358, 2359], [2358, 2361], [2361, 2362], [2361, 2364], [2493, 2494], [2500, 2501], [2604, 2605], [2708, 2714], [2874, 2875], [2874, 2884], [2875, 2876], [2875, 2880], [2881, 2882], [2881, 2883]], "functions": {"Detections.__post_init__": {"executed_lines": [165], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 164, "executed_branches": [], "missing_branches": []}, "Detections.__len__": {"executed_lines": [178], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 174, "executed_branches": [], "missing_branches": []}, "Detections.__iter__": {"executed_lines": [196, 197], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 180, "executed_branches": [[196, -180], [196, 197]], "missing_branches": []}, "Detections.__eq__": {"executed_lines": [207, 209], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [208], "excluded_lines": [], "start_line": 206, "executed_branches": [[207, 209]], "missing_branches": [[207, 208]]}, "Detections.from_yolov5": {"executed_lines": [245, 247], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 222, "executed_branches": [], "missing_branches": []}, "Detections.from_ultralytics": {"executed_lines": [285, 304, 305, 306, 312, 316, 317, 318], "summary": {"covered_lines": 8, "num_statements": 15, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 53.333333333333336, "percent_statements_covered_display": "53", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [286, 287, 288, 289, 331, 332, 333], "excluded_lines": [], "start_line": 254, "executed_branches": [[285, 304], [304, 305], [304, 312], [312, 316]], "missing_branches": [[285, 286], [312, 331]]}, "Detections.from_yolo_nas": {"executed_lines": [363, 364, 366], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 336, "executed_branches": [[363, 364], [363, 366]], "missing_branches": []}, "Detections.from_tensorflow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [407, 408, 409, 410, 411], "excluded_lines": [], "start_line": 373, "executed_branches": [], "missing_branches": []}, "Detections.from_deepsparse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [444, 445, 447], "excluded_lines": [], "start_line": 418, "executed_branches": [], "missing_branches": [[444, 445], [444, 447]]}, "Detections.from_mmdetection": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [480], "excluded_lines": [], "start_line": 454, "executed_branches": [], "missing_branches": []}, "Detections.from_transformers": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [543, 547, 553, 554, 560, 561, 566], "excluded_lines": [], "start_line": 492, "executed_branches": [], "missing_branches": [[543, 547], [543, 553], [553, 554], [553, 560], [560, 561], [560, 566]]}, "Detections.from_detectron2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [605], "excluded_lines": [], "start_line": 573, "executed_branches": [], "missing_branches": []}, "Detections.from_inference": {"executed_lines": [653, 654, 655, 657, 661, 662, 663, 664, 666], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [656], "excluded_lines": [], "start_line": 620, "executed_branches": [[653, 654], [653, 655], [655, 657], [661, 662], [661, 666]], "missing_branches": [[655, 656]]}, "Detections.from_sam": {"executed_lines": [704, 708, 709, 711, 712, 714, 715], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 676, "executed_branches": [[711, 712], [711, 714]], "missing_branches": []}, "Detections.from_sam3": {"executed_lines": [769, 771, 772, 773, 775, 776, 777, 778, 791, 792, 793, 794, 799, 800, 801, 802, 804, 805, 813, 816, 817, 818, 819, 822, 823, 825, 826, 827, 829, 830, 832, 833, 835], "summary": {"covered_lines": 33, "num_statements": 45, "percent_covered": 69.56521739130434, "percent_covered_display": "70", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 73.33333333333333, "percent_statements_covered_display": "73", "num_branches": 24, "num_partial_branches": 5, "covered_branches": 15, "missing_branches": 9, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [782, 783, 784, 796, 797, 803, 807, 808, 809, 810, 811, 814], "excluded_lines": [], "start_line": 718, "executed_branches": [[775, 776], [777, 778], [777, 791], [791, 792], [791, 829], [792, 793], [799, 791], [799, 800], [800, 801], [802, 804], [813, 816], [817, 818], [817, 825], [829, 830], [829, 832]], "missing_branches": [[775, 782], [783, 784], [783, 791], [792, 796], [800, 807], [802, 803], [808, 809], [808, 810], [813, 814]]}, "Detections.from_azure_analyze_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 14, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [883, 884, 888, 890, 891, 892, 894, 896, 897, 899, 901, 902, 903, 904, 906, 907, 908, 909, 911, 912, 913, 915, 916, 917, 918, 920, 921, 923], "excluded_lines": [], "start_line": 843, "executed_branches": [], "missing_branches": [[883, 884], [883, 888], [891, 892], [891, 894], [896, 897], [896, 920], [906, 896], [906, 907], [911, 912], [911, 915], [915, 906], [915, 916], [920, 921], [920, 923]]}, "Detections.from_paddledet": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [962, 963, 965], "excluded_lines": [], "start_line": 930, "executed_branches": [], "missing_branches": [[962, 963], [962, 965]]}, "Detections.from_lmm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1424, 1431, 1440, 1441, 1443, 1444, 1445, 1446, 1447, 1451, 1454, 1458], "excluded_lines": [], "start_line": 972, "executed_branches": [], "missing_branches": [[1440, 1441], [1440, 1443], [1443, 1444], [1443, 1454]]}, "Detections.from_vlm": {"executed_lines": [1883, 1885, 1893, 1904, 1913, 1914, 1915, 1916, 1917], "summary": {"covered_lines": 9, "num_statements": 51, "percent_covered": 17.80821917808219, "percent_covered_display": "18", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 17.647058823529413, "percent_statements_covered_display": "18", "num_branches": 22, "num_partial_branches": 4, "covered_branches": 4, "missing_branches": 18, "percent_branches_covered": 18.181818181818183, "percent_branches_covered_display": "18"}, "missing_lines": [1886, 1887, 1888, 1891, 1894, 1895, 1896, 1897, 1900, 1905, 1906, 1907, 1908, 1909, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1927, 1928, 1929, 1930, 1931, 1933, 1935, 1936, 1937, 1938, 1939, 1941, 1942, 1943, 1944, 1946, 1947, 1948, 1949, 1950, 1958], "excluded_lines": [], "start_line": 1461, "executed_branches": [[1885, 1893], [1893, 1904], [1904, 1913], [1913, 1914]], "missing_branches": [[1885, 1886], [1893, 1894], [1904, 1905], [1913, 1919], [1919, 1920], [1919, 1935], [1922, 1923], [1922, 1927], [1928, 1929], [1928, 1930], [1930, 1931], [1930, 1933], [1935, 1936], [1935, 1941], [1941, 1942], [1941, 1946], [1946, 1947], [1946, 1958]]}, "Detections.from_easyocr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1985, 1986, 1988, 1989, 1990, 1996, 1998], "excluded_lines": [], "start_line": 1961, "executed_branches": [], "missing_branches": [[1985, 1986], [1985, 1988]]}, "Detections.from_ncnn": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [2039, 2041, 2042, 2044, 2045, 2046, 2055, 2056, 2058], "excluded_lines": [], "start_line": 2007, "executed_branches": [], "missing_branches": [[2041, 2042], [2041, 2044], [2044, 2045], [2044, 2058]]}, "Detections.empty": {"executed_lines": [2080], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2065, "executed_branches": [], "missing_branches": []}, "Detections.is_empty": {"executed_lines": [2108], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2086, "executed_branches": [], "missing_branches": []}, "Detections.merge": {"executed_lines": [2163, 2167, 2168, 2170, 2171, 2180, 2182, 2197, 2198, 2199, 2200, 2202, 2204, 2205, 2207], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2111, "executed_branches": [[2167, 2168], [2167, 2170], [2170, 2171], [2170, 2180]], "missing_branches": []}, "Detections.merge.stack_or_none": {"executed_lines": [2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2194, 2195], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2182, "executed_branches": [[2185, 2186], [2185, 2187], [2187, 2188], [2187, 2189], [2189, 2190], [2189, 2195], [2191, 2192], [2191, 2194]], "missing_branches": []}, "Detections.get_anchors_coordinates": {"executed_lines": [2236, 2237, 2243, 2249, 2250, 2256, 2257, 2263, 2264, 2267, 2268, 2269, 2270, 2271, 2272, 2275, 2276, 2277, 2278], "summary": {"covered_lines": 19, "num_statements": 23, "percent_covered": 82.22222222222223, "percent_covered_display": "82", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 82.6086956521739, "percent_statements_covered_display": "83", "num_branches": 22, "num_partial_branches": 2, "covered_branches": 18, "missing_branches": 4, "percent_branches_covered": 81.81818181818181, "percent_branches_covered_display": "82"}, "missing_lines": [2244, 2245, 2248, 2280], "excluded_lines": [], "start_line": 2217, "executed_branches": [[2236, 2237], [2236, 2243], [2243, 2249], [2249, 2250], [2249, 2256], [2256, 2257], [2256, 2263], [2263, 2264], [2263, 2267], [2267, 2268], [2267, 2269], [2269, 2270], [2269, 2271], [2271, 2272], [2271, 2275], [2275, 2276], [2275, 2277], [2277, 2278]], "missing_branches": [[2243, 2244], [2244, 2245], [2244, 2248], [2277, 2280]]}, "Detections.__getitem__": {"executed_lines": [2315, 2316, 2317, 2318, 2319, 2320, 2321], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2282, "executed_branches": [[2315, 2316], [2315, 2317], [2317, 2318], [2317, 2319], [2319, 2320], [2319, 2321]], "missing_branches": []}, "Detections.__setitem__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [2358, 2359, 2361, 2362, 2364], "excluded_lines": [], "start_line": 2331, "executed_branches": [], "missing_branches": [[2358, 2359], [2358, 2361], [2361, 2362], [2361, 2364]]}, "Detections.area": {"executed_lines": [2406, 2407, 2408, 2409, 2410, 2411, 2412], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2367, "executed_branches": [[2406, 2407], [2406, 2410], [2407, 2408], [2407, 2409], [2410, 2411], [2410, 2412]], "missing_branches": []}, "Detections.box_area": {"executed_lines": [2424], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2415, "executed_branches": [], "missing_branches": []}, "Detections.box_aspect_ratio": {"executed_lines": [2456, 2457, 2459, 2460, 2461], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2427, "executed_branches": [], "missing_branches": []}, "Detections.with_nms": {"executed_lines": [2493, 2496, 2500, 2503, 2507, 2515, 2516, 2522, 2523, 2532, 2538], "summary": {"covered_lines": 11, "num_statements": 13, "percent_covered": 80.95238095238095, "percent_covered_display": "81", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 84.61538461538461, "percent_statements_covered_display": "85", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [2494, 2501], "excluded_lines": [], "start_line": 2463, "executed_branches": [[2493, 2496], [2500, 2503], [2515, 2516], [2515, 2522], [2522, 2523], [2522, 2532]], "missing_branches": [[2493, 2494], [2500, 2501]]}, "Detections.with_nmm": {"executed_lines": [2582, 2583, 2585, 2589, 2590, 2592, 2596, 2604, 2611, 2612, 2621, 2627, 2628, 2629, 2630, 2632], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 92.5925925925926, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [2605], "excluded_lines": [], "start_line": 2540, "executed_branches": [[2582, 2583], [2582, 2585], [2589, 2590], [2589, 2592], [2604, 2611], [2611, 2612], [2611, 2621], [2628, 2629], [2628, 2632]], "missing_branches": [[2604, 2605]]}, "_merge_obb_corners": {"executed_lines": [2651, 2654, 2655, 2656, 2659, 2660, 2661, 2662, 2663, 2664, 2667, 2668, 2675], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2635, "executed_branches": [], "missing_branches": []}, "_merge_detection_group": {"executed_lines": [2691, 2692, 2694, 2698, 2699, 2703, 2704, 2706, 2707, 2708, 2709, 2716, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2733, 2744, 2747, 2748, 2749, 2751, 2753, 2755], "summary": {"covered_lines": 31, "num_statements": 32, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.875, "percent_statements_covered_display": "97", "num_branches": 14, "num_partial_branches": 1, "covered_branches": 13, "missing_branches": 1, "percent_branches_covered": 92.85714285714286, "percent_branches_covered_display": "93"}, "missing_lines": [2714], "excluded_lines": [], "start_line": 2678, "executed_branches": [[2691, 2692], [2691, 2694], [2706, 2707], [2706, 2716], [2708, 2709], [2721, 2722], [2721, 2733], [2723, 2724], [2723, 2728], [2725, 2726], [2725, 2727], [2748, 2749], [2748, 2751]], "missing_branches": [[2708, 2714]]}, "merge_inner_detection_object_pair": {"executed_lines": [2810, 2811, 2813, 2815, 2816, 2817, 2818, 2820, 2821, 2822, 2823, 2824, 2828, 2830, 2831, 2832, 2834, 2835, 2837, 2839, 2840, 2841, 2842, 2844, 2846, 2848], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2767, "executed_branches": [[2810, 2811], [2810, 2813], [2817, 2818], [2817, 2820], [2834, 2835], [2834, 2837], [2839, 2840], [2839, 2841], [2841, 2842], [2841, 2844]], "missing_branches": []}, "merge_inner_detections_objects": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [2873, 2874, 2875, 2876, 2880, 2881, 2882, 2883, 2884], "excluded_lines": [], "start_line": 2860, "executed_branches": [], "missing_branches": [[2874, 2875], [2874, 2884], [2875, 2876], [2875, 2880], [2881, 2882], [2881, 2883]]}, "merge_inner_detections_objects_without_iou": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [2899], "excluded_lines": [], "start_line": 2888, "executed_branches": [], "missing_branches": []}, "_validate_fields_both_defined_or_none": {"executed_lines": [2914, 2915, 2916, 2917, 2919, 2920], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2902, "executed_branches": [[2915, -2902], [2915, 2916], [2919, 2915], [2919, 2920]], "missing_branches": []}, "validate_fields_both_defined_or_none": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [2934], "excluded_lines": [], "start_line": 2931, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 16, 17, 22, 23, 28, 37, 48, 49, 62, 63, 64, 67, 68, 156, 157, 158, 159, 160, 161, 162, 164, 174, 180, 206, 221, 222, 253, 254, 335, 336, 372, 373, 417, 418, 453, 454, 491, 492, 572, 573, 619, 620, 675, 676, 717, 718, 842, 843, 929, 930, 971, 972, 1460, 1461, 1960, 1961, 2006, 2007, 2064, 2065, 2086, 2110, 2111, 2217, 2282, 2331, 2366, 2367, 2414, 2415, 2426, 2427, 2463, 2540, 2635, 2678, 2766, 2767, 2859, 2860, 2887, 2888, 2902, 2926, 2931], "summary": {"covered_lines": 94, "num_statements": 94, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Detections": {"executed_lines": [165, 178, 196, 197, 207, 209, 245, 247, 285, 304, 305, 306, 312, 316, 317, 318, 363, 364, 366, 653, 654, 655, 657, 661, 662, 663, 664, 666, 704, 708, 709, 711, 712, 714, 715, 769, 771, 772, 773, 775, 776, 777, 778, 791, 792, 793, 794, 799, 800, 801, 802, 804, 805, 813, 816, 817, 818, 819, 822, 823, 825, 826, 827, 829, 830, 832, 833, 835, 1883, 1885, 1893, 1904, 1913, 1914, 1915, 1916, 1917, 2080, 2108, 2163, 2167, 2168, 2170, 2171, 2180, 2182, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2194, 2195, 2197, 2198, 2199, 2200, 2202, 2204, 2205, 2207, 2236, 2237, 2243, 2249, 2250, 2256, 2257, 2263, 2264, 2267, 2268, 2269, 2270, 2271, 2272, 2275, 2276, 2277, 2278, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2424, 2456, 2457, 2459, 2460, 2461, 2493, 2496, 2500, 2503, 2507, 2515, 2516, 2522, 2523, 2532, 2538, 2582, 2583, 2585, 2589, 2590, 2592, 2596, 2604, 2611, 2612, 2621, 2627, 2628, 2629, 2630, 2632], "summary": {"covered_lines": 170, "num_statements": 321, "percent_covered": 53.578732106339466, "percent_covered_display": "54", "missing_lines": 151, "excluded_lines": 0, "percent_statements_covered": 52.9595015576324, "percent_statements_covered_display": "53", "num_branches": 168, "num_partial_branches": 18, "covered_branches": 92, "missing_branches": 76, "percent_branches_covered": 54.76190476190476, "percent_branches_covered_display": "55"}, "missing_lines": [208, 286, 287, 288, 289, 331, 332, 333, 407, 408, 409, 410, 411, 444, 445, 447, 480, 543, 547, 553, 554, 560, 561, 566, 605, 656, 782, 783, 784, 796, 797, 803, 807, 808, 809, 810, 811, 814, 883, 884, 888, 890, 891, 892, 894, 896, 897, 899, 901, 902, 903, 904, 906, 907, 908, 909, 911, 912, 913, 915, 916, 917, 918, 920, 921, 923, 962, 963, 965, 1424, 1431, 1440, 1441, 1443, 1444, 1445, 1446, 1447, 1451, 1454, 1458, 1886, 1887, 1888, 1891, 1894, 1895, 1896, 1897, 1900, 1905, 1906, 1907, 1908, 1909, 1919, 1920, 1921, 1922, 1923, 1924, 1925, 1927, 1928, 1929, 1930, 1931, 1933, 1935, 1936, 1937, 1938, 1939, 1941, 1942, 1943, 1944, 1946, 1947, 1948, 1949, 1950, 1958, 1985, 1986, 1988, 1989, 1990, 1996, 1998, 2039, 2041, 2042, 2044, 2045, 2046, 2055, 2056, 2058, 2244, 2245, 2248, 2280, 2358, 2359, 2361, 2362, 2364, 2494, 2501, 2605], "excluded_lines": [], "start_line": 68, "executed_branches": [[196, -180], [196, 197], [207, 209], [285, 304], [304, 305], [304, 312], [312, 316], [363, 364], [363, 366], [653, 654], [653, 655], [655, 657], [661, 662], [661, 666], [711, 712], [711, 714], [775, 776], [777, 778], [777, 791], [791, 792], [791, 829], [792, 793], [799, 791], [799, 800], [800, 801], [802, 804], [813, 816], [817, 818], [817, 825], [829, 830], [829, 832], [1885, 1893], [1893, 1904], [1904, 1913], [1913, 1914], [2167, 2168], [2167, 2170], [2170, 2171], [2170, 2180], [2185, 2186], [2185, 2187], [2187, 2188], [2187, 2189], [2189, 2190], [2189, 2195], [2191, 2192], [2191, 2194], [2236, 2237], [2236, 2243], [2243, 2249], [2249, 2250], [2249, 2256], [2256, 2257], [2256, 2263], [2263, 2264], [2263, 2267], [2267, 2268], [2267, 2269], [2269, 2270], [2269, 2271], [2271, 2272], [2271, 2275], [2275, 2276], [2275, 2277], [2277, 2278], [2315, 2316], [2315, 2317], [2317, 2318], [2317, 2319], [2319, 2320], [2319, 2321], [2406, 2407], [2406, 2410], [2407, 2408], [2407, 2409], [2410, 2411], [2410, 2412], [2493, 2496], [2500, 2503], [2515, 2516], [2515, 2522], [2522, 2523], [2522, 2532], [2582, 2583], [2582, 2585], [2589, 2590], [2589, 2592], [2604, 2611], [2611, 2612], [2611, 2621], [2628, 2629], [2628, 2632]], "missing_branches": [[207, 208], [285, 286], [312, 331], [444, 445], [444, 447], [543, 547], [543, 553], [553, 554], [553, 560], [560, 561], [560, 566], [655, 656], [775, 782], [783, 784], [783, 791], [792, 796], [800, 807], [802, 803], [808, 809], [808, 810], [813, 814], [883, 884], [883, 888], [891, 892], [891, 894], [896, 897], [896, 920], [906, 896], [906, 907], [911, 912], [911, 915], [915, 906], [915, 916], [920, 921], [920, 923], [962, 963], [962, 965], [1440, 1441], [1440, 1443], [1443, 1444], [1443, 1454], [1885, 1886], [1893, 1894], [1904, 1905], [1913, 1919], [1919, 1920], [1919, 1935], [1922, 1923], [1922, 1927], [1928, 1929], [1928, 1930], [1930, 1931], [1930, 1933], [1935, 1936], [1935, 1941], [1941, 1942], [1941, 1946], [1946, 1947], [1946, 1958], [1985, 1986], [1985, 1988], [2041, 2042], [2041, 2044], [2044, 2045], [2044, 2058], [2243, 2244], [2244, 2245], [2244, 2248], [2277, 2280], [2358, 2359], [2358, 2361], [2361, 2362], [2361, 2364], [2493, 2494], [2500, 2501], [2604, 2605]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 16, 17, 22, 23, 28, 37, 48, 49, 62, 63, 64, 67, 68, 156, 157, 158, 159, 160, 161, 162, 164, 174, 180, 206, 221, 222, 253, 254, 335, 336, 372, 373, 417, 418, 453, 454, 491, 492, 572, 573, 619, 620, 675, 676, 717, 718, 842, 843, 929, 930, 971, 972, 1460, 1461, 1960, 1961, 2006, 2007, 2064, 2065, 2086, 2110, 2111, 2217, 2282, 2331, 2366, 2367, 2414, 2415, 2426, 2427, 2463, 2540, 2635, 2651, 2654, 2655, 2656, 2659, 2660, 2661, 2662, 2663, 2664, 2667, 2668, 2675, 2678, 2691, 2692, 2694, 2698, 2699, 2703, 2704, 2706, 2707, 2708, 2709, 2716, 2720, 2721, 2722, 2723, 2724, 2725, 2726, 2727, 2728, 2729, 2730, 2733, 2744, 2747, 2748, 2749, 2751, 2753, 2755, 2766, 2767, 2810, 2811, 2813, 2815, 2816, 2817, 2818, 2820, 2821, 2822, 2823, 2824, 2828, 2830, 2831, 2832, 2834, 2835, 2837, 2839, 2840, 2841, 2842, 2844, 2846, 2848, 2859, 2860, 2887, 2888, 2902, 2914, 2915, 2916, 2917, 2919, 2920, 2926, 2931], "summary": {"covered_lines": 170, "num_statements": 182, "percent_covered": 91.20370370370371, "percent_covered_display": "91", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 93.4065934065934, "percent_statements_covered_display": "93", "num_branches": 34, "num_partial_branches": 1, "covered_branches": 27, "missing_branches": 7, "percent_branches_covered": 79.41176470588235, "percent_branches_covered_display": "79"}, "missing_lines": [2714, 2873, 2874, 2875, 2876, 2880, 2881, 2882, 2883, 2884, 2899, 2934], "excluded_lines": [], "start_line": 1, "executed_branches": [[2691, 2692], [2691, 2694], [2706, 2707], [2706, 2716], [2708, 2709], [2721, 2722], [2721, 2733], [2723, 2724], [2723, 2728], [2725, 2726], [2725, 2727], [2748, 2749], [2748, 2751], [2810, 2811], [2810, 2813], [2817, 2818], [2817, 2820], [2834, 2835], [2834, 2837], [2839, 2840], [2839, 2841], [2841, 2842], [2841, 2844], [2915, -2902], [2915, 2916], [2919, 2915], [2919, 2920]], "missing_branches": [[2708, 2714], [2874, 2875], [2874, 2884], [2875, 2876], [2875, 2880], [2881, 2882], [2881, 2883]]}}}, "src\\supervision\\detection\\line_zone.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 23, 26, 91, 116, 117, 118, 119, 122, 123, 124, 125, 127, 129, 130, 131, 133, 134, 135, 137, 138, 139, 141, 142, 143, 145, 160, 161, 163, 166, 175, 177, 181, 187, 190, 191, 193, 196, 197, 198, 200, 201, 203, 204, 205, 207, 208, 209, 211, 212, 214, 216, 217, 218, 220, 221, 223, 224, 226, 227, 229, 230, 232, 239, 246, 248, 284, 285, 287, 294, 295, 298, 299, 301, 302, 303, 305, 307, 314, 315, 317, 318, 320, 321, 327, 330, 331, 386, 456, 481, 545, 588, 639, 640, 641, 713, 714, 748, 759, 760, 761, 762, 763, 764, 765, 766, 767, 769, 788, 789, 790, 793, 794, 795, 796, 798, 802, 803, 805, 806, 807, 809, 810, 813, 815, 816, 817, 820, 821, 822, 824, 825, 826, 827, 828, 830, 845, 847, 850, 854, 855, 858, 859, 860, 862, 873], "summary": {"covered_lines": 163, "num_statements": 261, "percent_covered": 61.60990712074303, "percent_covered_display": "62", "missing_lines": 98, "excluded_lines": 1, "percent_statements_covered": 62.452107279693486, "percent_statements_covered_display": "62", "num_branches": 62, "num_partial_branches": 10, "covered_branches": 36, "missing_branches": 26, "percent_branches_covered": 58.064516129032256, "percent_branches_covered_display": "58"}, "missing_lines": [126, 164, 167, 173, 194, 323, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 400, 401, 402, 411, 419, 428, 429, 430, 432, 436, 437, 439, 440, 447, 454, 466, 467, 469, 470, 472, 473, 474, 476, 477, 479, 503, 505, 506, 509, 511, 512, 514, 518, 523, 524, 526, 529, 533, 534, 535, 537, 538, 540, 541, 543, 566, 570, 571, 573, 575, 586, 610, 611, 621, 623, 627, 635, 637, 668, 672, 673, 674, 676, 677, 679, 686, 692, 698, 701, 702, 704, 705, 708, 710, 754, 791, 808, 812], "excluded_lines": [27], "executed_branches": [[125, 127], [163, 166], [166, 175], [187, 190], [187, 214], [190, 191], [190, 193], [193, 196], [200, 201], [200, 203], [204, 205], [204, 207], [207, 208], [207, 211], [220, 221], [220, 223], [317, 318], [317, 320], [320, 321], [748, 759], [788, 789], [790, 793], [794, 795], [794, 815], [798, 794], [798, 802], [802, 803], [802, 805], [806, 798], [806, 807], [807, 809], [809, 810], [816, 817], [816, 824], [854, 855], [854, 873]], "missing_branches": [[125, 126], [163, 164], [166, 167], [193, 194], [320, 323], [432, 436], [432, 454], [436, 437], [436, 439], [439, 440], [439, 447], [472, 473], [472, 476], [505, 506], [505, 511], [533, 534], [533, 537], [570, 571], [570, 573], [701, 702], [701, 704], [748, 754], [788, 790], [790, 791], [807, 808], [809, 812]], "functions": {"LineZone.__init__": {"executed_lines": [116, 117, 118, 119, 122, 123, 124, 125, 127], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [126], "excluded_lines": [], "start_line": 91, "executed_branches": [[125, 127]], "missing_branches": [[125, 126]]}, "LineZone.in_count": {"executed_lines": [131], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 130, "executed_branches": [], "missing_branches": []}, "LineZone.out_count": {"executed_lines": [135], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 134, "executed_branches": [], "missing_branches": []}, "LineZone.in_count_per_class": {"executed_lines": [139], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 138, "executed_branches": [], "missing_branches": []}, "LineZone.out_count_per_class": {"executed_lines": [143], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142, "executed_branches": [], "missing_branches": []}, "LineZone.trigger": {"executed_lines": [160, 161, 163, 166, 175, 177, 181, 187, 190, 191, 193, 196, 197, 198, 200, 201, 203, 204, 205, 207, 208, 209, 211, 212, 214], "summary": {"covered_lines": 25, "num_statements": 29, "percent_covered": 84.44444444444444, "percent_covered_display": "84", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 86.20689655172414, "percent_statements_covered_display": "86", "num_branches": 16, "num_partial_branches": 3, "covered_branches": 13, "missing_branches": 3, "percent_branches_covered": 81.25, "percent_branches_covered_display": "81"}, "missing_lines": [164, 167, 173, 194], "excluded_lines": [], "start_line": 145, "executed_branches": [[163, 166], [166, 175], [187, 190], [187, 214], [190, 191], [190, 193], [193, 196], [200, 201], [200, 203], [204, 205], [204, 207], [207, 208], [207, 211]], "missing_branches": [[163, 164], [166, 167], [193, 194]]}, "LineZone._calculate_region_of_interest_limits": {"executed_lines": [218, 220, 221, 223, 224, 226, 227, 229, 230, 232, 239, 246], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 217, "executed_branches": [[220, 221], [220, 223]], "missing_branches": []}, "LineZone._compute_anchor_sides": {"executed_lines": [284, 285, 287, 294, 295, 298, 299, 301, 302, 303, 305], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 248, "executed_branches": [], "missing_branches": []}, "LineZone._update_class_id_to_name": {"executed_lines": [314, 315, 317, 318, 320, 321, 327], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [323], "excluded_lines": [], "start_line": 307, "executed_branches": [[317, 318], [317, 320], [320, 321]], "missing_branches": [[320, 323]]}, "LineZoneAnnotator.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384], "excluded_lines": [], "start_line": 331, "executed_branches": [], "missing_branches": []}, "LineZoneAnnotator.annotate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [400, 401, 402, 411, 419, 428, 429, 430, 432, 436, 437, 439, 440, 447, 454], "excluded_lines": [], "start_line": 386, "executed_branches": [], "missing_branches": [[432, 436], [432, 454], [436, 437], [436, 439], [439, 440], [439, 447]]}, "LineZoneAnnotator._get_line_angle": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [466, 467, 469, 470, 472, 473, 474, 476, 477, 479], "excluded_lines": [], "start_line": 456, "executed_branches": [], "missing_branches": [[472, 473], [472, 476]]}, "LineZoneAnnotator._calculate_anchor_in_frame": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [503, 505, 506, 509, 511, 512, 514, 518, 523, 524, 526, 529, 533, 534, 535, 537, 538, 540, 541, 543], "excluded_lines": [], "start_line": 481, "executed_branches": [], "missing_branches": [[505, 506], [505, 511], [533, 534], [533, 537]]}, "LineZoneAnnotator._draw_basic_label": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [566, 570, 571, 573, 575, 586], "excluded_lines": [], "start_line": 545, "executed_branches": [], "missing_branches": [[570, 571], [570, 573]]}, "LineZoneAnnotator._draw_oriented_label": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [610, 611, 621, 623, 627, 635, 637], "excluded_lines": [], "start_line": 588, "executed_branches": [], "missing_branches": []}, "LineZoneAnnotator._make_label_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [668, 672, 673, 674, 676, 677, 679, 686, 692, 698, 701, 702, 704, 705, 708, 710], "excluded_lines": [], "start_line": 641, "executed_branches": [], "missing_branches": [[701, 702], [701, 704]]}, "LineZoneAnnotatorMulticlass.__init__": {"executed_lines": [748, 759, 760, 761, 762, 763, 764, 765, 766, 767], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [754], "excluded_lines": [], "start_line": 714, "executed_branches": [[748, 759]], "missing_branches": [[748, 754]]}, "LineZoneAnnotatorMulticlass.annotate": {"executed_lines": [788, 789, 790, 793, 794, 795, 796, 798, 802, 803, 805, 806, 807, 809, 810, 813, 815, 816, 817, 820, 821, 822, 824, 825, 826, 827, 828, 830, 845, 847, 850, 854, 855, 858, 859, 860, 862, 873], "summary": {"covered_lines": 38, "num_statements": 41, "percent_covered": 88.52459016393442, "percent_covered_display": "89", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 92.6829268292683, "percent_statements_covered_display": "93", "num_branches": 20, "num_partial_branches": 4, "covered_branches": 16, "missing_branches": 4, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [791, 808, 812], "excluded_lines": [], "start_line": 769, "executed_branches": [[788, 789], [790, 793], [794, 795], [794, 815], [798, 794], [798, 802], [802, 803], [802, 805], [806, 798], [806, 807], [807, 809], [809, 810], [816, 817], [816, 824], [854, 855], [854, 873]], "missing_branches": [[788, 790], [790, 791], [807, 808], [809, 812]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 23, 26, 91, 129, 130, 133, 134, 137, 138, 141, 142, 145, 216, 217, 248, 307, 330, 331, 386, 456, 481, 545, 588, 639, 640, 641, 713, 714, 769], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [27], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"LineZone": {"executed_lines": [116, 117, 118, 119, 122, 123, 124, 125, 127, 131, 135, 139, 143, 160, 161, 163, 166, 175, 177, 181, 187, 190, 191, 193, 196, 197, 198, 200, 201, 203, 204, 205, 207, 208, 209, 211, 212, 214, 218, 220, 221, 223, 224, 226, 227, 229, 230, 232, 239, 246, 284, 285, 287, 294, 295, 298, 299, 301, 302, 303, 305, 314, 315, 317, 318, 320, 321, 327], "summary": {"covered_lines": 68, "num_statements": 74, "percent_covered": 88.77551020408163, "percent_covered_display": "89", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 91.89189189189189, "percent_statements_covered_display": "92", "num_branches": 24, "num_partial_branches": 5, "covered_branches": 19, "missing_branches": 5, "percent_branches_covered": 79.16666666666667, "percent_branches_covered_display": "79"}, "missing_lines": [126, 164, 167, 173, 194, 323], "excluded_lines": [], "start_line": 26, "executed_branches": [[125, 127], [163, 166], [166, 175], [187, 190], [187, 214], [190, 191], [190, 193], [193, 196], [200, 201], [200, 203], [204, 205], [204, 207], [207, 208], [207, 211], [220, 221], [220, 223], [317, 318], [317, 320], [320, 321]], "missing_branches": [[125, 126], [163, 164], [166, 167], [193, 194], [320, 323]]}, "LineZoneAnnotator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 88, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 88, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 16, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 16, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 400, 401, 402, 411, 419, 428, 429, 430, 432, 436, 437, 439, 440, 447, 454, 466, 467, 469, 470, 472, 473, 474, 476, 477, 479, 503, 505, 506, 509, 511, 512, 514, 518, 523, 524, 526, 529, 533, 534, 535, 537, 538, 540, 541, 543, 566, 570, 571, 573, 575, 586, 610, 611, 621, 623, 627, 635, 637, 668, 672, 673, 674, 676, 677, 679, 686, 692, 698, 701, 702, 704, 705, 708, 710], "excluded_lines": [], "start_line": 330, "executed_branches": [], "missing_branches": [[432, 436], [432, 454], [436, 437], [436, 439], [439, 440], [439, 447], [472, 473], [472, 476], [505, 506], [505, 511], [533, 534], [533, 537], [570, 571], [570, 573], [701, 702], [701, 704]]}, "LineZoneAnnotatorMulticlass": {"executed_lines": [748, 759, 760, 761, 762, 763, 764, 765, 766, 767, 788, 789, 790, 793, 794, 795, 796, 798, 802, 803, 805, 806, 807, 809, 810, 813, 815, 816, 817, 820, 821, 822, 824, 825, 826, 827, 828, 830, 845, 847, 850, 854, 855, 858, 859, 860, 862, 873], "summary": {"covered_lines": 48, "num_statements": 52, "percent_covered": 87.83783783783784, "percent_covered_display": "88", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92", "num_branches": 22, "num_partial_branches": 5, "covered_branches": 17, "missing_branches": 5, "percent_branches_covered": 77.27272727272727, "percent_branches_covered_display": "77"}, "missing_lines": [754, 791, 808, 812], "excluded_lines": [], "start_line": 713, "executed_branches": [[748, 759], [788, 789], [790, 793], [794, 795], [794, 815], [798, 794], [798, 802], [802, 803], [802, 805], [806, 798], [806, 807], [807, 809], [809, 810], [816, 817], [816, 824], [854, 855], [854, 873]], "missing_branches": [[748, 754], [788, 790], [790, 791], [807, 808], [809, 812]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 23, 26, 91, 129, 130, 133, 134, 137, 138, 141, 142, 145, 216, 217, 248, 307, 330, 331, 386, 456, 481, 545, 588, 639, 640, 641, 713, 714, 769], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [27], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\tools\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\tools\\csv_sink.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 16, 27, 31, 75, 82, 83, 84, 85, 86, 88, 89, 90, 92, 98, 100, 104, 105, 108, 109, 111, 115, 116, 118, 119, 138, 139, 140, 141, 142, 144, 145, 166, 167, 168, 169, 185, 186, 187, 189, 190, 191, 193, 194, 196, 210, 214, 215, 216, 217, 218, 220, 227, 228, 229, 233, 234, 237, 238, 241], "summary": {"covered_lines": 69, "num_statements": 72, "percent_covered": 91.83673469387755, "percent_covered_display": "92", "missing_lines": 3, "excluded_lines": 3, "percent_statements_covered": 95.83333333333333, "percent_statements_covered_display": "96", "num_branches": 26, "num_partial_branches": 5, "covered_branches": 21, "missing_branches": 5, "percent_branches_covered": 80.76923076923077, "percent_branches_covered_display": "81"}, "missing_lines": [106, 211, 221], "excluded_lines": [28, 29, 30], "executed_branches": [[105, 108], [115, 116], [138, 139], [138, 140], [140, 141], [140, 142], [168, 169], [168, 194], [185, 186], [186, 187], [186, 189], [189, 190], [189, 193], [190, 191], [190, 193], [210, 214], [215, 216], [215, 220], [220, 227], [228, -196], [228, 229]], "missing_branches": [[105, 106], [115, -111], [185, 189], [210, 211], [220, 221]], "functions": {"WriterProtocol.writerow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [28], "start_line": 28, "executed_branches": [], "missing_branches": []}, "CSVSink.__init__": {"executed_lines": [82, 83, 84, 85, 86], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75, "executed_branches": [], "missing_branches": []}, "CSVSink.__enter__": {"executed_lines": [89, 90], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88, "executed_branches": [], "missing_branches": []}, "CSVSink.__exit__": {"executed_lines": [98], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [], "missing_branches": []}, "CSVSink.open": {"executed_lines": [104, 105, 108, 109], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [106], "excluded_lines": [], "start_line": 100, "executed_branches": [[105, 108]], "missing_branches": [[105, 106]]}, "CSVSink.close": {"executed_lines": [115, 116], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 111, "executed_branches": [[115, 116]], "missing_branches": [[115, -111]]}, "CSVSink._slice_value": {"executed_lines": [138, 139, 140, 141, 142], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 119, "executed_branches": [[138, 139], [138, 140], [140, 141], [140, 142]], "missing_branches": []}, "CSVSink.parse_detection_data": {"executed_lines": [166, 167, 168, 169, 185, 186, 187, 189, 190, 191, 193, 194], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 95.45454545454545, "percent_covered_display": "95", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [], "excluded_lines": [], "start_line": 145, "executed_branches": [[168, 169], [168, 194], [185, 186], [186, 187], [186, 189], [189, 190], [189, 193], [190, 191], [190, 193]], "missing_branches": [[185, 189]]}, "CSVSink.append": {"executed_lines": [210, 214, 215, 216, 217, 218, 220, 227, 228, 229], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [211, 221], "excluded_lines": [], "start_line": 196, "executed_branches": [[210, 214], [215, 216], [215, 220], [220, 227], [228, -196], [228, 229]], "missing_branches": [[210, 211], [220, 221]]}, "CSVSink.parse_field_names": {"executed_lines": [237, 238, 241], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 234, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 16, 27, 31, 75, 88, 92, 100, 111, 118, 119, 144, 145, 196, 233, 234], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [29, 30], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"WriterProtocol": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [28], "start_line": 27, "executed_branches": [], "missing_branches": []}, "CSVSink": {"executed_lines": [82, 83, 84, 85, 86, 89, 90, 98, 104, 105, 108, 109, 115, 116, 138, 139, 140, 141, 142, 166, 167, 168, 169, 185, 186, 187, 189, 190, 191, 193, 194, 210, 214, 215, 216, 217, 218, 220, 227, 228, 229, 237, 238, 241], "summary": {"covered_lines": 44, "num_statements": 47, "percent_covered": 89.04109589041096, "percent_covered_display": "89", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 93.61702127659575, "percent_statements_covered_display": "94", "num_branches": 26, "num_partial_branches": 5, "covered_branches": 21, "missing_branches": 5, "percent_branches_covered": 80.76923076923077, "percent_branches_covered_display": "81"}, "missing_lines": [106, 211, 221], "excluded_lines": [], "start_line": 31, "executed_branches": [[105, 108], [115, 116], [138, 139], [138, 140], [140, 141], [140, 142], [168, 169], [168, 194], [185, 186], [186, 187], [186, 189], [189, 190], [189, 193], [190, 191], [190, 193], [210, 214], [215, 216], [215, 220], [220, 227], [228, -196], [228, 229]], "missing_branches": [[105, 106], [115, -111], [185, 189], [210, 211], [220, 221]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 16, 27, 31, 75, 88, 92, 100, 111, 118, 119, 144, 145, 196, 233, 234], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [29, 30], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\tools\\inference_slicer.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 39, 40, 41, 44, 45, 50, 52, 58, 61, 64, 143, 154, 155, 157, 159, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 178, 196, 197, 199, 205, 206, 207, 209, 210, 211, 213, 214, 229, 231, 232, 233, 234, 235, 236, 244, 245, 247, 248, 252, 253, 255, 256, 257, 258, 259, 263, 264, 275, 287, 288, 290, 295, 296, 302, 305, 309, 310, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 329, 330, 335, 337, 338, 341, 342, 346, 362, 363, 366, 367, 372, 388, 389, 406, 407, 408, 410, 411, 413, 418, 419, 421, 422, 424, 425, 426, 427, 428, 430, 435, 441, 442, 443, 445, 450, 452, 453, 457, 458, 460, 466], "summary": {"covered_lines": 140, "num_statements": 171, "percent_covered": 75.73221757322176, "percent_covered_display": "76", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 81.87134502923976, "percent_statements_covered_display": "82", "num_branches": 68, "num_partial_branches": 13, "covered_branches": 41, "missing_branches": 27, "percent_branches_covered": 60.294117647058826, "percent_branches_covered_display": "60"}, "missing_lines": [46, 160, 215, 216, 217, 218, 219, 221, 222, 223, 224, 226, 227, 269, 273, 343, 348, 349, 350, 351, 354, 356, 368, 374, 375, 376, 377, 380, 382, 461, 467], "excluded_lines": [], "executed_branches": [[40, 41], [40, 44], [44, 45], [44, 61], [45, 50], [50, 52], [50, 58], [159, 165], [214, 229], [231, 232], [231, 247], [232, 233], [232, 244], [234, 235], [244, 245], [244, 255], [252, 253], [252, 255], [256, 257], [256, 258], [258, 259], [258, 263], [263, 264], [290, 295], [290, 302], [309, 310], [309, 330], [312, 313], [319, 320], [319, 330], [341, 342], [342, 346], [366, 367], [367, 372], [418, 419], [418, 421], [421, 422], [421, 424], [426, 427], [460, 466], [466, -452]], "missing_branches": [[45, 46], [159, 160], [214, 215], [215, 216], [215, 229], [221, 222], [221, 226], [226, 215], [226, 227], [234, 244], [263, 269], [312, 330], [341, 348], [342, 343], [348, 349], [348, 356], [350, 351], [350, 354], [366, 374], [367, 368], [374, 375], [374, 382], [376, 377], [376, 380], [426, 428], [460, 461], [466, 467]], "functions": {"move_detections": {"executed_lines": [39, 40, 41, 44, 45, 50, 52, 58, 61], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [46], "excluded_lines": [], "start_line": 23, "executed_branches": [[40, 41], [40, 44], [44, 45], [44, 61], [45, 50], [50, 52], [50, 58]], "missing_branches": [[45, 46]]}, "InferenceSlicer.__init__": {"executed_lines": [154, 155, 157, 159, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 89.47368421052632, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [160], "excluded_lines": [], "start_line": 143, "executed_branches": [[159, 165]], "missing_branches": [[159, 160]]}, "InferenceSlicer.__call__": {"executed_lines": [196, 197, 199, 205, 206, 207, 209, 210, 211, 213, 214, 229, 231, 232, 233, 234, 235, 236, 244, 245, 247, 248, 252, 253, 255, 256, 257, 258, 259, 263, 264], "summary": {"covered_lines": 31, "num_statements": 44, "percent_covered": 67.6470588235294, "percent_covered_display": "68", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 70.45454545454545, "percent_statements_covered_display": "70", "num_branches": 24, "num_partial_branches": 3, "covered_branches": 15, "missing_branches": 9, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [215, 216, 217, 218, 219, 221, 222, 223, 224, 226, 227, 269, 273], "excluded_lines": [], "start_line": 178, "executed_branches": [[214, 229], [231, 232], [231, 247], [232, 233], [232, 244], [234, 235], [244, 245], [244, 255], [252, 253], [252, 255], [256, 257], [256, 258], [258, 259], [258, 263], [263, 264]], "missing_branches": [[214, 215], [215, 216], [215, 229], [221, 222], [221, 226], [226, 215], [226, 227], [234, 244], [263, 269]]}, "InferenceSlicer._run_callback": {"executed_lines": [287, 288, 290, 295, 296, 302, 305, 309, 310, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 329, 330, 335], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 96.66666666666667, "percent_covered_display": "97", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [], "excluded_lines": [], "start_line": 275, "executed_branches": [[290, 295], [290, 302], [309, 310], [309, 330], [312, 313], [319, 320], [319, 330]], "missing_branches": [[312, 330]]}, "InferenceSlicer._normalize_slice_wh": {"executed_lines": [341, 342, 346], "summary": {"covered_lines": 3, "num_statements": 10, "percent_covered": 27.77777777777778, "percent_covered_display": "28", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 30.0, "percent_statements_covered_display": "30", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 6, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [343, 348, 349, 350, 351, 354, 356], "excluded_lines": [], "start_line": 338, "executed_branches": [[341, 342], [342, 346]], "missing_branches": [[341, 348], [342, 343], [348, 349], [348, 356], [350, 351], [350, 354]]}, "InferenceSlicer._normalize_overlap_wh": {"executed_lines": [366, 367, 372], "summary": {"covered_lines": 3, "num_statements": 10, "percent_covered": 27.77777777777778, "percent_covered_display": "28", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 30.0, "percent_statements_covered_display": "30", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 6, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [368, 374, 375, 376, 377, 380, 382], "excluded_lines": [], "start_line": 363, "executed_branches": [[366, 367], [367, 372]], "missing_branches": [[366, 374], [367, 368], [374, 375], [374, 382], [376, 377], [376, 380]]}, "InferenceSlicer._generate_offset": {"executed_lines": [406, 407, 408, 410, 411, 413, 430, 435, 441, 442, 443, 445, 450], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 389, "executed_branches": [], "missing_branches": []}, "InferenceSlicer._generate_offset._compute_axis_starts": {"executed_lines": [418, 419, 421, 422, 424, 425, 426, 427, 428], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [], "excluded_lines": [], "start_line": 413, "executed_branches": [[418, 419], [418, 421], [421, 422], [421, 424], [426, 427]], "missing_branches": [[426, 428]]}, "InferenceSlicer._validate_overlap": {"executed_lines": [457, 458, 460, 466], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [461, 467], "excluded_lines": [], "start_line": 453, "executed_branches": [[460, 466], [466, -452]], "missing_branches": [[460, 461], [466, 467]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 64, 143, 178, 275, 337, 338, 362, 363, 388, 389, 452, 453], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"InferenceSlicer": {"executed_lines": [154, 155, 157, 159, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 196, 197, 199, 205, 206, 207, 209, 210, 211, 213, 214, 229, 231, 232, 233, 234, 235, 236, 244, 245, 247, 248, 252, 253, 255, 256, 257, 258, 259, 263, 264, 287, 288, 290, 295, 296, 302, 305, 309, 310, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 329, 330, 335, 341, 342, 346, 366, 367, 372, 406, 407, 408, 410, 411, 413, 418, 419, 421, 422, 424, 425, 426, 427, 428, 430, 435, 441, 442, 443, 445, 450, 457, 458, 460, 466], "summary": {"covered_lines": 101, "num_statements": 131, "percent_covered": 70.68062827225131, "percent_covered_display": "71", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 77.09923664122137, "percent_statements_covered_display": "77", "num_branches": 60, "num_partial_branches": 12, "covered_branches": 34, "missing_branches": 26, "percent_branches_covered": 56.666666666666664, "percent_branches_covered_display": "57"}, "missing_lines": [160, 215, 216, 217, 218, 219, 221, 222, 223, 224, 226, 227, 269, 273, 343, 348, 349, 350, 351, 354, 356, 368, 374, 375, 376, 377, 380, 382, 461, 467], "excluded_lines": [], "start_line": 64, "executed_branches": [[159, 165], [214, 229], [231, 232], [231, 247], [232, 233], [232, 244], [234, 235], [244, 245], [244, 255], [252, 253], [252, 255], [256, 257], [256, 258], [258, 259], [258, 263], [263, 264], [290, 295], [290, 302], [309, 310], [309, 330], [312, 313], [319, 320], [319, 330], [341, 342], [342, 346], [366, 367], [367, 372], [418, 419], [418, 421], [421, 422], [421, 424], [426, 427], [460, 466], [466, -452]], "missing_branches": [[159, 160], [214, 215], [215, 216], [215, 229], [221, 222], [221, 226], [226, 215], [226, 227], [234, 244], [263, 269], [312, 330], [341, 348], [342, 343], [348, 349], [348, 356], [350, 351], [350, 354], [366, 374], [367, 368], [374, 375], [374, 382], [376, 377], [376, 380], [426, 428], [460, 461], [466, 467]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 23, 39, 40, 41, 44, 45, 50, 52, 58, 61, 64, 143, 178, 275, 337, 338, 362, 363, 388, 389, 452, 453], "summary": {"covered_lines": 39, "num_statements": 40, "percent_covered": 95.83333333333333, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.5, "percent_statements_covered_display": "98", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [46], "excluded_lines": [], "start_line": 1, "executed_branches": [[40, 41], [40, 44], [44, 45], [44, 61], [45, 50], [50, 52], [50, 58]], "missing_branches": [[45, 46]]}}}, "src\\supervision\\detection\\tools\\json_sink.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 13, 51, 58, 59, 60, 62, 63, 64, 66, 72, 74, 78, 79, 82, 84, 85, 101, 102, 103, 104, 105, 109, 113, 114, 115, 119, 121, 122, 141, 142, 143, 144, 145, 147, 148, 169, 170, 171, 172, 188, 189, 190, 192, 193, 194, 195, 197, 198, 200, 214, 215], "summary": {"covered_lines": 58, "num_statements": 59, "percent_covered": 95.06172839506173, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.30508474576271, "percent_statements_covered_display": "98", "num_branches": 22, "num_partial_branches": 3, "covered_branches": 19, "missing_branches": 3, "percent_branches_covered": 86.36363636363636, "percent_branches_covered_display": "86"}, "missing_lines": [80], "excluded_lines": [], "executed_branches": [[79, 82], [101, 102], [101, 103], [103, 104], [103, 105], [113, 114], [141, 142], [141, 143], [143, 144], [143, 145], [171, 172], [171, 198], [188, 189], [189, 190], [189, 192], [192, 193], [192, 197], [193, 194], [193, 197]], "missing_branches": [[79, 80], [113, -109], [188, 192]], "functions": {"JSONSink.__init__": {"executed_lines": [58, 59, 60], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51, "executed_branches": [], "missing_branches": []}, "JSONSink.__enter__": {"executed_lines": [63, 64], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62, "executed_branches": [], "missing_branches": []}, "JSONSink.__exit__": {"executed_lines": [72], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66, "executed_branches": [], "missing_branches": []}, "JSONSink.open": {"executed_lines": [78, 79, 82], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [80], "excluded_lines": [], "start_line": 74, "executed_branches": [[79, 82]], "missing_branches": [[79, 80]]}, "JSONSink._json_default": {"executed_lines": [101, 102, 103, 104, 105], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85, "executed_branches": [[101, 102], [101, 103], [103, 104], [103, 105]], "missing_branches": []}, "JSONSink.write_and_close": {"executed_lines": [113, 114, 115, 119], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 109, "executed_branches": [[113, 114]], "missing_branches": [[113, -109]]}, "JSONSink._slice_value": {"executed_lines": [141, 142, 143, 144, 145], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 122, "executed_branches": [[141, 142], [141, 143], [143, 144], [143, 145]], "missing_branches": []}, "JSONSink.parse_detection_data": {"executed_lines": [169, 170, 171, 172, 188, 189, 190, 192, 193, 194, 195, 197, 198], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [], "excluded_lines": [], "start_line": 148, "executed_branches": [[171, 172], [171, 198], [188, 189], [189, 190], [189, 192], [192, 193], [192, 197], [193, 194], [193, 197]], "missing_branches": [[188, 192]]}, "JSONSink.append": {"executed_lines": [214, 215], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 200, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 13, 51, 62, 66, 74, 84, 85, 109, 121, 122, 147, 148, 200], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"JSONSink": {"executed_lines": [58, 59, 60, 63, 64, 72, 78, 79, 82, 101, 102, 103, 104, 105, 113, 114, 115, 119, 141, 142, 143, 144, 145, 169, 170, 171, 172, 188, 189, 190, 192, 193, 194, 195, 197, 198, 214, 215], "summary": {"covered_lines": 38, "num_statements": 39, "percent_covered": 93.44262295081967, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.43589743589743, "percent_statements_covered_display": "97", "num_branches": 22, "num_partial_branches": 3, "covered_branches": 19, "missing_branches": 3, "percent_branches_covered": 86.36363636363636, "percent_branches_covered_display": "86"}, "missing_lines": [80], "excluded_lines": [], "start_line": 13, "executed_branches": [[79, 82], [101, 102], [101, 103], [103, 104], [103, 105], [113, 114], [141, 142], [141, 143], [143, 144], [143, 145], [171, 172], [171, 198], [188, 189], [189, 190], [189, 192], [192, 193], [192, 197], [193, 194], [193, 197]], "missing_branches": [[79, 80], [113, -109], [188, 192]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 13, 51, 62, 66, 74, 84, 85, 109, 121, 122, 147, 148, 200], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\tools\\polygon_zone.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 18, 56, 61, 62, 63, 64, 66, 68, 69, 73, 90, 91, 92, 94, 101, 102, 103, 104, 105, 106, 107, 108, 111, 131, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 155, 169, 170, 177, 183, 190, 203], "summary": {"covered_lines": 54, "num_statements": 55, "percent_covered": 96.82539682539682, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.18181818181819, "percent_statements_covered_display": "98", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [191], "excluded_lines": [], "executed_branches": [[63, 64], [63, 66], [90, 91], [90, 94], [169, 170], [169, 177], [190, 203]], "missing_branches": [[190, 191]], "functions": {"PolygonZone.__init__": {"executed_lines": [61, 62, 63, 64, 66, 68, 69], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56, "executed_branches": [[63, 64], [63, 66]], "missing_branches": []}, "PolygonZone.trigger": {"executed_lines": [90, 91, 92, 94, 101, 102, 103, 104, 105, 106, 107, 108], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73, "executed_branches": [[90, 91], [90, 94]], "missing_branches": []}, "PolygonZoneAnnotator.__init__": {"executed_lines": [143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 131, "executed_branches": [], "missing_branches": []}, "PolygonZoneAnnotator.annotate": {"executed_lines": [169, 170, 177, 183, 190, 203], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [191], "excluded_lines": [], "start_line": 155, "executed_branches": [[169, 170], [169, 177], [190, 203]], "missing_branches": [[190, 191]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 18, 56, 73, 111, 131, 155], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"PolygonZone": {"executed_lines": [61, 62, 63, 64, 66, 68, 69, 90, 91, 92, 94, 101, 102, 103, 104, 105, 106, 107, 108], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18, "executed_branches": [[63, 64], [63, 66], [90, 91], [90, 94]], "missing_branches": []}, "PolygonZoneAnnotator": {"executed_lines": [143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 169, 170, 177, 183, 190, 203], "summary": {"covered_lines": 17, "num_statements": 18, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [191], "excluded_lines": [], "start_line": 111, "executed_branches": [[169, 170], [169, 177], [190, 203]], "missing_branches": [[190, 191]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 18, 56, 73, 111, 131, 155], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\tools\\smoother.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 14, 90, 96, 100, 108, 109, 115, 117, 118, 119, 121, 123, 124, 125, 127, 128, 131, 133, 148, 149, 152, 153, 156, 157, 161, 162, 164, 166, 167, 168, 169, 170, 171, 176, 177, 178, 180, 181, 184], "summary": {"covered_lines": 47, "num_statements": 51, "percent_covered": 88.31168831168831, "percent_covered_display": "88", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 92.15686274509804, "percent_statements_covered_display": "92", "num_branches": 26, "num_partial_branches": 5, "covered_branches": 21, "missing_branches": 5, "percent_branches_covered": 80.76923076923077, "percent_branches_covered_display": "81"}, "missing_lines": [129, 150, 154, 182], "excluded_lines": [], "executed_branches": [[108, 109], [108, 117], [117, 118], [117, 123], [123, 124], [123, 127], [124, 123], [124, 125], [127, 128], [127, 131], [128, 127], [149, 152], [153, 156], [168, 169], [168, 176], [170, 171], [176, 177], [176, 180], [177, 178], [177, 180], [181, 184]], "missing_branches": [[128, 129], [149, 150], [153, 154], [170, 168], [181, 182]], "functions": {"DetectionsSmoother.__init__": {"executed_lines": [96], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 90, "executed_branches": [], "missing_branches": []}, "DetectionsSmoother.update_with_detections": {"executed_lines": [108, 109, 115, 117, 118, 119, 121, 123, 124, 125, 127, 128, 131], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 11, "missing_branches": 1, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [129], "excluded_lines": [], "start_line": 100, "executed_branches": [[108, 109], [108, 117], [117, 118], [117, 123], [123, 124], [123, 127], [124, 123], [124, 125], [127, 128], [127, 131], [128, 127]], "missing_branches": [[128, 129]]}, "DetectionsSmoother.get_track": {"executed_lines": [148, 149, 152, 153, 156, 157, 161, 162, 164], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 73.33333333333333, "percent_covered_display": "73", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [150, 154], "excluded_lines": [], "start_line": 133, "executed_branches": [[149, 152], [153, 156]], "missing_branches": [[149, 150], [153, 154]]}, "DetectionsSmoother.get_smoothed_detections": {"executed_lines": [167, 168, 169, 170, 171, 176, 177, 178, 180, 181, 184], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [182], "excluded_lines": [], "start_line": 166, "executed_branches": [[168, 169], [168, 176], [170, 171], [176, 177], [176, 180], [177, 178], [177, 180], [181, 184]], "missing_branches": [[170, 168], [181, 182]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 14, 90, 100, 133, 166], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"DetectionsSmoother": {"executed_lines": [96, 108, 109, 115, 117, 118, 119, 121, 123, 124, 125, 127, 128, 131, 148, 149, 152, 153, 156, 157, 161, 162, 164, 167, 168, 169, 170, 171, 176, 177, 178, 180, 181, 184], "summary": {"covered_lines": 34, "num_statements": 38, "percent_covered": 85.9375, "percent_covered_display": "86", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 89.47368421052632, "percent_statements_covered_display": "89", "num_branches": 26, "num_partial_branches": 5, "covered_branches": 21, "missing_branches": 5, "percent_branches_covered": 80.76923076923077, "percent_branches_covered_display": "81"}, "missing_lines": [129, 150, 154, 182], "excluded_lines": [], "start_line": 14, "executed_branches": [[108, 109], [108, 117], [117, 118], [117, 123], [123, 124], [123, 127], [124, 123], [124, 125], [127, 128], [127, 131], [128, 127], [149, 152], [153, 156], [168, 169], [168, 176], [170, 171], [176, 177], [176, 180], [177, 178], [177, 180], [181, 184]], "missing_branches": [[128, 129], [149, 150], [153, 154], [170, 168], [181, 182]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 14, 90, 100, 133, 166], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\tools\\transformers.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 14, 43, 82, 112, 148, 182, 207, 224], "summary": {"covered_lines": 16, "num_statements": 58, "percent_covered": 23.529411764705884, "percent_covered_display": "24", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 27.586206896551722, "percent_statements_covered_display": "28", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [32, 33, 35, 62, 63, 67, 68, 69, 70, 71, 73, 102, 103, 104, 107, 130, 131, 132, 133, 134, 137, 139, 165, 166, 167, 168, 169, 172, 174, 199, 200, 203, 204, 219, 220, 221, 243, 244, 246, 247, 248, 250], "excluded_lines": [], "executed_branches": [], "missing_branches": [[62, 63], [62, 67], [68, 69], [68, 70], [102, 103], [102, 107], [243, 244], [243, 246], [246, 247], [246, 250]], "functions": {"process_transformers_detection_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [32, 33, 35], "excluded_lines": [], "start_line": 14, "executed_branches": [], "missing_branches": []}, "process_transformers_v4_segmentation_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [62, 63, 67, 68, 69, 70, 71, 73], "excluded_lines": [], "start_line": 43, "executed_branches": [], "missing_branches": [[62, 63], [62, 67], [68, 69], [68, 70]]}, "process_transformers_v5_segmentation_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [102, 103, 104, 107], "excluded_lines": [], "start_line": 82, "executed_branches": [], "missing_branches": [[102, 103], [102, 107]]}, "process_transformers_v5_semantic_or_instance_segmentation_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [130, 131, 132, 133, 134, 137, 139], "excluded_lines": [], "start_line": 112, "executed_branches": [], "missing_branches": []}, "process_transformers_v4_panoptic_segmentation_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [165, 166, 167, 168, 169, 172, 174], "excluded_lines": [], "start_line": 148, "executed_branches": [], "missing_branches": []}, "process_transformers_v5_panoptic_segmentation_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [199, 200, 203, 204], "excluded_lines": [], "start_line": 182, "executed_branches": [], "missing_branches": []}, "png_string_to_segmentation_array": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [219, 220, 221], "excluded_lines": [], "start_line": 207, "executed_branches": [], "missing_branches": []}, "append_class_names_to_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [243, 244, 246, 247, 248, 250], "excluded_lines": [], "start_line": 224, "executed_branches": [], "missing_branches": [[243, 244], [243, 246], [246, 247], [246, 250]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 14, 43, 82, 112, 148, 182, 207, 224], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 14, 43, 82, 112, 148, 182, 207, 224], "summary": {"covered_lines": 16, "num_statements": 58, "percent_covered": 23.529411764705884, "percent_covered_display": "24", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 27.586206896551722, "percent_statements_covered_display": "28", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [32, 33, 35, 62, 63, 67, 68, 69, 70, 71, 73, 102, 103, 104, 107, 130, 131, 132, 133, 134, 137, 139, 165, 166, 167, 168, 169, 172, 174, 199, 200, 203, 204, 219, 220, 221, 243, 244, 246, 247, 248, 250], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[62, 63], [62, 67], [68, 69], [68, 70], [102, 103], [102, 107], [243, 244], [243, 246], [246, 247], [246, 250]]}}}, "src\\supervision\\detection\\utils\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\utils\\boxes.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 45, 46, 47, 48, 49, 52, 99, 105, 155, 156, 158, 159, 161, 164, 192, 195, 241, 244, 263, 264, 265, 266, 267, 268, 269, 272, 302, 303, 305, 306, 307, 308, 309, 312, 342, 343, 344, 347], "summary": {"covered_lines": 44, "num_statements": 75, "percent_covered": 54.02298850574713, "percent_covered_display": "54", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 58.666666666666664, "percent_statements_covered_display": "59", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 9, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [89, 90, 92, 93, 94, 96, 304, 375, 376, 378, 379, 381, 382, 383, 384, 386, 389, 392, 393, 396, 397, 398, 405, 406, 408, 409, 410, 412, 414, 415, 417], "excluded_lines": [], "executed_branches": [[264, 265], [264, 266], [303, 305]], "missing_branches": [[89, 90], [89, 92], [303, 304], [375, 376], [375, 378], [379, 381], [379, 417], [383, 384], [383, 386]], "functions": {"clip_boxes": {"executed_lines": [45, 46, 47, 48, 49], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "pad_boxes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [89, 90, 92, 93, 94, 96], "excluded_lines": [], "start_line": 52, "executed_branches": [], "missing_branches": [[89, 90], [89, 92]]}, "denormalize_boxes": {"executed_lines": [155, 156, 158, 159, 161], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 105, "executed_branches": [], "missing_branches": []}, "move_boxes": {"executed_lines": [192], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 164, "executed_branches": [], "missing_branches": []}, "move_oriented_boxes": {"executed_lines": [241], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 195, "executed_branches": [], "missing_branches": []}, "obb_polygon_area": {"executed_lines": [263, 264, 265, 266, 267, 268, 269], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 244, "executed_branches": [[264, 265], [264, 266]], "missing_branches": []}, "xyxyxyxy_to_xyxy": {"executed_lines": [302, 303, 305, 306, 307, 308, 309], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [304], "excluded_lines": [], "start_line": 272, "executed_branches": [[303, 305]], "missing_branches": [[303, 304]]}, "scale_boxes": {"executed_lines": [342, 343, 344], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 312, "executed_branches": [], "missing_branches": []}, "spread_out_boxes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [375, 376, 378, 379, 381, 382, 383, 384, 386, 389, 392, 393, 396, 397, 398, 405, 406, 408, 409, 410, 412, 414, 415, 417], "excluded_lines": [], "start_line": 347, "executed_branches": [], "missing_branches": [[375, 376], [375, 378], [379, 381], [379, 417], [383, 384], [383, 386]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 52, 99, 105, 164, 195, 244, 272, 312, 347], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 10, 45, 46, 47, 48, 49, 52, 99, 105, 155, 156, 158, 159, 161, 164, 192, 195, 241, 244, 263, 264, 265, 266, 267, 268, 269, 272, 302, 303, 305, 306, 307, 308, 309, 312, 342, 343, 344, 347], "summary": {"covered_lines": 44, "num_statements": 75, "percent_covered": 54.02298850574713, "percent_covered_display": "54", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 58.666666666666664, "percent_statements_covered_display": "59", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 9, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [89, 90, 92, 93, 94, 96, 304, 375, 376, 378, 379, 381, 382, 383, 384, 386, 389, 392, 393, 396, 397, 398, 405, 406, 408, 409, 410, 412, 414, 415, 417], "excluded_lines": [], "start_line": 1, "executed_branches": [[264, 265], [264, 266], [303, 305]], "missing_branches": [[89, 90], [89, 92], [303, 304], [375, 376], [375, 378], [379, 381], [379, 417], [383, 384], [383, 386]]}}}, "src\\supervision\\detection\\utils\\converters.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 12, 25, 26, 27, 28, 31, 46, 47, 48, 49, 52, 79, 80, 81, 82, 85, 113, 114, 115, 116, 119, 147, 148, 149, 150, 151, 152, 155, 183, 184, 186, 187, 188, 189, 190, 192, 198, 199, 202, 227, 228, 229, 234, 235, 237, 238, 239, 240, 242, 244, 245, 248, 291, 292, 293, 295, 296, 297, 298, 299, 301, 302, 304, 307, 322, 325, 332, 360, 361, 362, 363, 364, 365, 366, 367, 368, 371, 372, 373, 374, 375, 376, 377, 378, 379, 382, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 418, 439, 440, 441, 442, 445, 465, 466, 467, 468, 471, 494, 497, 523, 524, 525, 527, 528, 529, 530, 532, 533, 535, 538, 565, 566, 567, 568, 569, 570, 575, 627, 628, 629, 630, 633, 634, 636, 638, 640, 641, 646, 649, 715, 716, 718, 719, 720, 721, 724, 736, 737, 738], "summary": {"covered_lines": 156, "num_statements": 156, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 42, "num_partial_branches": 0, "covered_branches": 42, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[183, 184], [183, 186], [228, 229], [228, 234], [295, 296], [295, 304], [301, 295], [301, 302], [362, 363], [362, 379], [366, 367], [366, 378], [367, 368], [367, 371], [376, 366], [376, 377], [406, 407], [406, 415], [408, 406], [408, 409], [412, 413], [412, 414], [440, 441], [440, 442], [466, 467], [466, 468], [524, 525], [524, 527], [532, 533], [532, 535], [568, 569], [568, 570], [627, 628], [627, 629], [629, 630], [629, 633], [633, 634], [633, 636], [640, 641], [640, 646], [719, 720], [719, 721]], "missing_branches": [], "functions": {"xyxy_to_polygons": {"executed_lines": [25, 26, 27, 28], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "polygon_to_mask": {"executed_lines": [46, 47, 48, 49], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31, "executed_branches": [], "missing_branches": []}, "xywh_to_xyxy": {"executed_lines": [79, 80, 81, 82], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52, "executed_branches": [], "missing_branches": []}, "xyxy_to_xywh": {"executed_lines": [113, 114, 115, 116], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85, "executed_branches": [], "missing_branches": []}, "xcycwh_to_xyxy": {"executed_lines": [147, 148, 149, 150, 151, 152], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 119, "executed_branches": [], "missing_branches": []}, "xyxy_to_xcycarh": {"executed_lines": [183, 184, 186, 187, 188, 189, 190, 192, 198, 199], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 155, "executed_branches": [[183, 184], [183, 186]], "missing_branches": []}, "mask_to_xyxy": {"executed_lines": [227, 228, 229, 234, 235, 237, 238, 239, 240, 242, 244, 245], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 202, "executed_branches": [[228, 229], [228, 234]], "missing_branches": []}, "xyxy_to_mask": {"executed_lines": [291, 292, 293, 295, 296, 297, 298, 299, 301, 302, 304], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 248, "executed_branches": [[295, 296], [295, 304], [301, 295], [301, 302]], "missing_branches": []}, "mask_to_polygons": {"executed_lines": [322, 325], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 307, "executed_branches": [], "missing_branches": []}, "_base48_decode": {"executed_lines": [360, 361, 362, 363, 364, 365, 366, 367, 368, 371, 372, 373, 374, 375, 376, 377, 378, 379], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 332, "executed_branches": [[362, 363], [362, 379], [366, 367], [366, 378], [367, 368], [367, 371], [376, 366], [376, 377]], "missing_branches": []}, "_base48_encode": {"executed_lines": [405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 382, "executed_branches": [[406, 407], [406, 415], [408, 406], [408, 409], [412, 413], [412, 414]], "missing_branches": []}, "_delta_decode": {"executed_lines": [439, 440, 441, 442], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 418, "executed_branches": [[440, 441], [440, 442]], "missing_branches": []}, "_delta_encode": {"executed_lines": [465, 466, 467, 468], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 445, "executed_branches": [[466, 467], [466, 468]], "missing_branches": []}, "is_compressed_rle": {"executed_lines": [494], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 471, "executed_branches": [], "missing_branches": []}, "_mask_to_rle_counts": {"executed_lines": [523, 524, 525, 527, 528, 529, 530, 532, 533, 535], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 497, "executed_branches": [[524, 525], [524, 527], [532, 533], [532, 535]], "missing_branches": []}, "_rle_counts_to_mask": {"executed_lines": [565, 566, 567, 568, 569, 570], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 538, "executed_branches": [[568, 569], [568, 570]], "missing_branches": []}, "rle_to_mask": {"executed_lines": [627, 628, 629, 630, 633, 634, 636, 638, 640, 641, 646], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 575, "executed_branches": [[627, 628], [627, 629], [629, 630], [629, 633], [633, 634], [633, 636], [640, 641], [640, 646]], "missing_branches": []}, "mask_to_rle": {"executed_lines": [715, 716, 718, 719, 720, 721], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 649, "executed_branches": [[719, 720], [719, 721]], "missing_branches": []}, "polygon_to_xyxy": {"executed_lines": [736, 737, 738], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 724, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 12, 31, 52, 85, 119, 155, 202, 248, 307, 332, 382, 418, 445, 471, 497, 538, 575, 649, 724], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 9, 12, 25, 26, 27, 28, 31, 46, 47, 48, 49, 52, 79, 80, 81, 82, 85, 113, 114, 115, 116, 119, 147, 148, 149, 150, 151, 152, 155, 183, 184, 186, 187, 188, 189, 190, 192, 198, 199, 202, 227, 228, 229, 234, 235, 237, 238, 239, 240, 242, 244, 245, 248, 291, 292, 293, 295, 296, 297, 298, 299, 301, 302, 304, 307, 322, 325, 332, 360, 361, 362, 363, 364, 365, 366, 367, 368, 371, 372, 373, 374, 375, 376, 377, 378, 379, 382, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 418, 439, 440, 441, 442, 445, 465, 466, 467, 468, 471, 494, 497, 523, 524, 525, 527, 528, 529, 530, 532, 533, 535, 538, 565, 566, 567, 568, 569, 570, 575, 627, 628, 629, 630, 633, 634, 636, 638, 640, 641, 646, 649, 715, 716, 718, 719, 720, 721, 724, 736, 737, 738], "summary": {"covered_lines": 156, "num_statements": 156, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 42, "num_partial_branches": 0, "covered_branches": 42, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[183, 184], [183, 186], [228, 229], [228, 234], [295, 296], [295, 304], [301, 295], [301, 302], [362, 363], [362, 379], [366, 367], [366, 378], [367, 368], [367, 371], [376, 366], [376, 377], [406, 407], [406, 415], [408, 406], [408, 409], [412, 413], [412, 414], [440, 441], [440, 442], [466, 467], [466, 468], [524, 525], [524, 527], [532, 533], [532, 535], [568, 569], [568, 570], [627, 628], [627, 629], [629, 630], [629, 633], [633, 634], [633, 636], [640, 641], [640, 646], [719, 720], [719, 721]], "missing_branches": []}}}, "src\\supervision\\detection\\utils\\internal.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15, 18, 19, 20, 54, 59, 60, 61, 62, 63, 64, 65, 71, 72, 73, 78, 81, 114, 115, 124, 125, 126, 127, 128, 129, 131, 132, 134, 135, 136, 137, 138, 139, 140, 141, 142, 144, 146, 147, 148, 152, 156, 158, 159, 160, 161, 162, 163, 164, 165, 167, 170, 173, 178, 181, 184, 187, 189, 199, 212, 217, 227, 238, 260, 261, 263, 264, 265, 267, 268, 269, 270, 274, 275, 276, 277, 279, 280, 281, 282, 283, 284, 285, 286, 287, 296, 299, 319, 320, 322, 323, 324, 326, 327, 328, 329, 330, 331, 333, 334, 335, 336, 340, 342, 347, 348, 350, 353, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 382, 383, 384, 390, 393, 405, 411, 412], "summary": {"covered_lines": 138, "num_statements": 160, "percent_covered": 85.83333333333333, "percent_covered_display": "86", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 86.25, "percent_statements_covered_display": "86", "num_branches": 80, "num_partial_branches": 6, "covered_branches": 68, "missing_branches": 12, "percent_branches_covered": 85.0, "percent_branches_covered_display": "85"}, "missing_lines": [22, 23, 25, 27, 28, 32, 37, 38, 40, 41, 42, 43, 44, 46, 47, 49, 51, 66, 289, 291, 386, 388], "excluded_lines": [], "executed_branches": [[19, 20], [60, 61], [60, 62], [65, 71], [114, 115], [114, 124], [134, 135], [134, 167], [146, 147], [146, 158], [147, 148], [147, 156], [162, 163], [162, 164], [164, 134], [164, 165], [260, 261], [260, 263], [264, 265], [264, 267], [267, 268], [267, 274], [269, 267], [269, 270], [275, 276], [275, 279], [276, 275], [276, 277], [279, 280], [279, 296], [280, 281], [280, 282], [282, 283], [284, 285], [284, 286], [286, 287], [319, 320], [319, 322], [323, 324], [323, 326], [327, 328], [327, 350], [328, 327], [328, 329], [329, 330], [329, 333], [334, 335], [334, 340], [335, 328], [335, 336], [340, 342], [340, 347], [347, 328], [347, 348], [368, 369], [368, 390], [369, 370], [369, 371], [371, 372], [372, 373], [372, 374], [374, 375], [374, 376], [376, 377], [376, 383], [377, 378], [377, 382], [383, 384]], "missing_branches": [[19, 22], [27, 28], [27, 37], [42, 43], [42, 51], [46, 47], [46, 49], [65, 66], [282, 291], [286, 289], [371, 388], [383, 386]], "functions": {"extract_ultralytics_masks": {"executed_lines": [19, 20], "summary": {"covered_lines": 2, "num_statements": 19, "percent_covered": 11.11111111111111, "percent_covered_display": "11", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 10.526315789473685, "percent_statements_covered_display": "11", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 7, "percent_branches_covered": 12.5, "percent_branches_covered_display": "12"}, "missing_lines": [22, 23, 25, 27, 28, 32, 37, 38, 40, 41, 42, 43, 44, 46, 47, 49, 51], "excluded_lines": [], "start_line": 18, "executed_branches": [[19, 20]], "missing_branches": [[19, 22], [27, 28], [27, 37], [42, 43], [42, 51], [46, 47], [46, 49]]}, "_decode_rle_mask": {"executed_lines": [59, 60, 61, 62, 63, 64, 65, 71, 72, 73, 78], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [66], "excluded_lines": [], "start_line": 54, "executed_branches": [[60, 61], [60, 62], [65, 71]], "missing_branches": [[65, 66]]}, "process_roboflow_result": {"executed_lines": [114, 115, 124, 125, 126, 127, 128, 129, 131, 132, 134, 135, 136, 137, 138, 139, 140, 141, 142, 144, 146, 147, 148, 152, 156, 158, 159, 160, 161, 162, 163, 164, 165, 167, 170, 173, 178, 181, 184, 187, 189], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 81, "executed_branches": [[114, 115], [114, 124], [134, 135], [134, 167], [146, 147], [146, 158], [147, 148], [147, 156], [162, 163], [162, 164], [164, 134], [164, 165]], "missing_branches": []}, "is_data_equal": {"executed_lines": [212], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 199, "executed_branches": [], "missing_branches": []}, "is_metadata_equal": {"executed_lines": [227], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 217, "executed_branches": [], "missing_branches": []}, "merge_data": {"executed_lines": [260, 261, 263, 264, 265, 267, 268, 269, 270, 274, 275, 276, 277, 279, 280, 281, 282, 283, 284, 285, 286, 287, 296], "summary": {"covered_lines": 23, "num_statements": 25, "percent_covered": 91.48936170212765, "percent_covered_display": "91", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 92.0, "percent_statements_covered_display": "92", "num_branches": 22, "num_partial_branches": 2, "covered_branches": 20, "missing_branches": 2, "percent_branches_covered": 90.9090909090909, "percent_branches_covered_display": "91"}, "missing_lines": [289, 291], "excluded_lines": [], "start_line": 238, "executed_branches": [[260, 261], [260, 263], [264, 265], [264, 267], [267, 268], [267, 274], [269, 267], [269, 270], [275, 276], [275, 279], [276, 275], [276, 277], [279, 280], [279, 296], [280, 281], [280, 282], [282, 283], [284, 285], [284, 286], [286, 287]], "missing_branches": [[282, 291], [286, 289]]}, "merge_metadata": {"executed_lines": [319, 320, 322, 323, 324, 326, 327, 328, 329, 330, 331, 333, 334, 335, 336, 340, 342, 347, 348, 350], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 18, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 299, "executed_branches": [[319, 320], [319, 322], [323, 324], [323, 326], [327, 328], [327, 350], [328, 327], [328, 329], [329, 330], [329, 333], [334, 335], [334, 340], [335, 328], [335, 336], [340, 342], [340, 347], [347, 328], [347, 348]], "missing_branches": []}, "get_data_item": {"executed_lines": [367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 382, 383, 384, 390], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.23529411764706, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 16, "num_partial_branches": 2, "covered_branches": 14, "missing_branches": 2, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [386, 388], "excluded_lines": [], "start_line": 353, "executed_branches": [[368, 369], [368, 390], [369, 370], [369, 371], [371, 372], [372, 373], [372, 374], [374, 375], [374, 376], [376, 377], [376, 383], [377, 378], [377, 382], [383, 384]], "missing_branches": [[371, 388], [383, 386]]}, "cross_product": {"executed_lines": [405, 411, 412], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 393, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15, 18, 54, 81, 199, 217, 238, 299, 353, 393], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15, 18, 19, 20, 54, 59, 60, 61, 62, 63, 64, 65, 71, 72, 73, 78, 81, 114, 115, 124, 125, 126, 127, 128, 129, 131, 132, 134, 135, 136, 137, 138, 139, 140, 141, 142, 144, 146, 147, 148, 152, 156, 158, 159, 160, 161, 162, 163, 164, 165, 167, 170, 173, 178, 181, 184, 187, 189, 199, 212, 217, 227, 238, 260, 261, 263, 264, 265, 267, 268, 269, 270, 274, 275, 276, 277, 279, 280, 281, 282, 283, 284, 285, 286, 287, 296, 299, 319, 320, 322, 323, 324, 326, 327, 328, 329, 330, 331, 333, 334, 335, 336, 340, 342, 347, 348, 350, 353, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 382, 383, 384, 390, 393, 405, 411, 412], "summary": {"covered_lines": 138, "num_statements": 160, "percent_covered": 85.83333333333333, "percent_covered_display": "86", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 86.25, "percent_statements_covered_display": "86", "num_branches": 80, "num_partial_branches": 6, "covered_branches": 68, "missing_branches": 12, "percent_branches_covered": 85.0, "percent_branches_covered_display": "85"}, "missing_lines": [22, 23, 25, 27, 28, 32, 37, 38, 40, 41, 42, 43, 44, 46, 47, 49, 51, 66, 289, 291, 386, 388], "excluded_lines": [], "start_line": 1, "executed_branches": [[19, 20], [60, 61], [60, 62], [65, 71], [114, 115], [114, 124], [134, 135], [134, 167], [146, 147], [146, 158], [147, 148], [147, 156], [162, 163], [162, 164], [164, 134], [164, 165], [260, 261], [260, 263], [264, 265], [264, 267], [267, 268], [267, 274], [269, 267], [269, 270], [275, 276], [275, 279], [276, 275], [276, 277], [279, 280], [279, 296], [280, 281], [280, 282], [282, 283], [284, 285], [284, 286], [286, 287], [319, 320], [319, 322], [323, 324], [323, 326], [327, 328], [327, 350], [328, 327], [328, 329], [329, 330], [329, 333], [334, 335], [334, 340], [335, 328], [335, 336], [340, 342], [340, 347], [347, 328], [347, 348], [368, 369], [368, 390], [369, 370], [369, 371], [371, 372], [372, 373], [372, 374], [374, 375], [374, 376], [376, 377], [376, 383], [377, 378], [377, 382], [383, 384]], "missing_branches": [[19, 22], [27, 28], [27, 37], [42, 43], [42, 51], [46, 47], [46, 49], [65, 66], [282, 291], [286, 289], [371, 388], [383, 386]]}}}, "src\\supervision\\detection\\utils\\iou_and_nms.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 16, 30, 31, 32, 34, 35, 38, 39, 40, 41, 54, 67, 68, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 90, 129, 130, 131, 133, 134, 135, 136, 138, 139, 141, 143, 144, 146, 147, 148, 149, 156, 157, 159, 162, 218, 219, 220, 221, 223, 224, 228, 229, 230, 231, 233, 234, 235, 236, 239, 240, 241, 242, 244, 246, 247, 249, 250, 251, 252, 259, 260, 261, 264, 280, 282, 283, 286, 288, 290, 291, 294, 295, 296, 298, 301, 304, 349, 352, 353, 354, 357, 358, 359, 360, 363, 372, 373, 374, 375, 378, 387, 388, 389, 394, 418, 419, 420, 423, 426, 492, 493, 494, 498, 499, 503, 504, 508, 509, 510, 511, 513, 520, 521, 522, 524, 525, 526, 528, 529, 531, 532, 535, 536, 537, 538, 540, 541, 543, 544, 545, 548, 549, 550, 555, 556, 557, 558, 559, 566, 569, 599, 600, 601, 603, 604, 606, 607, 611, 612, 613, 614, 615, 617, 618, 619, 620, 621, 624, 625, 626, 627, 628, 631, 632, 634, 635, 637, 638, 639, 640, 642, 643, 644, 645, 647, 648, 650, 651, 653, 654, 655, 657, 658, 659, 660, 661, 662, 669, 672, 695, 696, 697, 700, 703, 704, 706, 707, 709, 710, 711, 717, 719, 720, 732, 733, 736, 774, 775, 778, 779, 780, 781, 783, 784, 788, 789, 794, 795, 802, 803, 804, 805, 806, 807, 808, 815, 816, 818, 819, 820, 821, 829, 832, 870, 874, 876, 877, 879, 880, 881, 883, 884, 886, 887, 888, 889, 892, 896, 899, 907, 908, 909, 910, 911, 912, 913, 916, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 963, 967, 968, 969, 970, 973, 997, 999, 1000, 1002, 1003, 1005, 1006, 1007, 1008, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1023, 1024, 1026, 1027, 1030, 1066, 1073, 1075, 1076, 1078, 1079, 1083, 1084, 1085, 1086, 1087, 1094, 1095, 1097, 1098, 1102, 1105, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1136, 1148, 1149, 1150, 1154, 1155, 1156, 1157, 1158, 1159, 1161, 1162, 1166, 1169, 1192, 1195, 1201, 1206, 1230, 1231, 1235, 1238, 1295, 1299, 1300, 1301, 1305, 1306, 1311, 1316, 1320, 1321, 1325, 1326, 1328, 1329, 1330, 1333, 1344, 1347, 1353, 1358, 1414, 1415, 1416, 1420, 1421, 1426, 1431, 1435, 1440, 1445, 1446, 1453], "summary": {"covered_lines": 405, "num_statements": 430, "percent_covered": 92.20338983050847, "percent_covered_display": "92", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 94.18604651162791, "percent_statements_covered_display": "94", "num_branches": 160, "num_partial_branches": 19, "covered_branches": 139, "missing_branches": 21, "percent_branches_covered": 86.875, "percent_branches_covered_display": "87"}, "missing_lines": [36, 42, 43, 44, 45, 46, 47, 48, 84, 151, 254, 299, 664, 727, 1099, 1163, 1302, 1307, 1312, 1317, 1417, 1422, 1427, 1432, 1436], "excluded_lines": [], "executed_branches": [[40, 41], [76, 77], [76, 78], [78, 79], [146, 147], [146, 148], [148, 149], [156, 157], [156, 159], [223, 224], [223, 228], [249, 250], [249, 251], [251, 252], [298, 301], [352, 353], [352, 354], [357, 358], [357, 360], [358, 357], [358, 359], [492, 493], [492, 508], [493, 494], [493, 498], [498, 499], [498, 503], [503, 492], [503, 504], [508, 509], [508, 510], [510, 511], [510, 513], [525, 526], [525, 528], [536, 537], [536, 540], [544, 545], [544, 566], [548, 549], [548, 550], [555, 556], [558, 544], [558, 559], [603, 604], [603, 606], [634, 635], [634, 669], [637, 638], [637, 639], [639, 640], [639, 642], [657, 658], [657, 660], [660, 661], [709, 710], [709, 717], [717, 719], [774, 775], [774, 778], [778, 779], [778, 780], [780, 781], [780, 783], [783, 784], [783, 788], [788, 789], [788, 794], [794, 795], [794, 802], [807, 808], [807, 815], [815, 816], [815, 818], [820, 821], [820, 829], [876, 877], [876, 879], [887, 888], [887, 896], [888, 887], [888, 889], [908, 909], [908, 910], [930, 931], [930, 935], [931, 932], [931, 933], [1002, 1003], [1002, 1027], [1006, 1007], [1006, 1010], [1012, 1013], [1012, 1026], [1015, 1016], [1015, 1017], [1066, 1073], [1066, 1075], [1078, 1079], [1078, 1083], [1085, 1086], [1085, 1097], [1094, 1085], [1094, 1095], [1097, 1098], [1097, 1102], [1098, 1097], [1122, 1123], [1122, 1133], [1125, 1126], [1125, 1128], [1148, 1149], [1148, 1154], [1156, 1157], [1156, 1161], [1158, 1156], [1158, 1159], [1161, 1162], [1161, 1166], [1162, 1161], [1299, 1300], [1299, 1320], [1300, 1301], [1300, 1306], [1301, 1305], [1306, 1311], [1311, 1316], [1316, 1299], [1320, 1321], [1320, 1325], [1414, 1415], [1414, 1435], [1415, 1416], [1415, 1421], [1416, 1420], [1421, 1426], [1426, 1431], [1431, 1414], [1435, 1440]], "missing_branches": [[40, 42], [42, 43], [42, 48], [78, 84], [148, 151], [251, 254], [298, 299], [555, 544], [660, 664], [717, 727], [1098, 1099], [1162, 1163], [1301, 1302], [1306, 1307], [1311, 1312], [1316, 1317], [1416, 1417], [1421, 1422], [1426, 1427], [1431, 1432], [1435, 1436]], "functions": {"OverlapFilter.list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [36], "excluded_lines": [], "start_line": 35, "executed_branches": [], "missing_branches": []}, "OverlapFilter.from_value": {"executed_lines": [40, 41], "summary": {"covered_lines": 2, "num_statements": 9, "percent_covered": 23.076923076923077, "percent_covered_display": "23", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 22.22222222222222, "percent_statements_covered_display": "22", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 3, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [42, 43, 44, 45, 46, 47, 48], "excluded_lines": [], "start_line": 39, "executed_branches": [[40, 41]], "missing_branches": [[40, 42], [42, 43], [42, 48]]}, "OverlapMetric.list": {"executed_lines": [72], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 71, "executed_branches": [], "missing_branches": []}, "OverlapMetric.from_value": {"executed_lines": [76, 77, 78, 79, 80, 81, 82, 83], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [84], "excluded_lines": [], "start_line": 75, "executed_branches": [[76, 77], [76, 78], [78, 79]], "missing_branches": [[78, 84]]}, "box_iou": {"executed_lines": [129, 130, 131, 133, 134, 135, 136, 138, 139, 141, 143, 144, 146, 147, 148, 149, 156, 157, 159], "summary": {"covered_lines": 19, "num_statements": 20, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [151], "excluded_lines": [], "start_line": 90, "executed_branches": [[146, 147], [146, 148], [148, 149], [156, 157], [156, 159]], "missing_branches": [[148, 151]]}, "box_iou_batch": {"executed_lines": [218, 219, 220, 221, 223, 224, 228, 229, 230, 231, 233, 234, 235, 236, 239, 240, 241, 242, 244, 246, 247, 249, 250, 251, 252, 259, 260, 261], "summary": {"covered_lines": 28, "num_statements": 29, "percent_covered": 94.28571428571429, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.55172413793103, "percent_statements_covered_display": "97", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [254], "excluded_lines": [], "start_line": 162, "executed_branches": [[223, 224], [223, 228], [249, 250], [249, 251], [251, 252]], "missing_branches": [[251, 254]]}, "_jaccard": {"executed_lines": [280, 282, 283, 286, 288, 290, 291, 294, 295, 296, 298, 301], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [299], "excluded_lines": [], "start_line": 264, "executed_branches": [[298, 301]], "missing_branches": [[298, 299]]}, "box_iou_batch_with_jaccard": {"executed_lines": [349, 352, 353, 354, 357, 358, 359, 360], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 304, "executed_branches": [[352, 353], [352, 354], [357, 358], [357, 360], [358, 357], [358, 359]], "missing_branches": []}, "_polygon_areas": {"executed_lines": [372, 373, 374, 375], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 363, "executed_branches": [], "missing_branches": []}, "_aabb_envelopes": {"executed_lines": [387, 388, 389], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 378, "executed_branches": [], "missing_branches": []}, "_overlapping_envelope_pairs": {"executed_lines": [418, 419, 420, 423], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 394, "executed_branches": [], "missing_branches": []}, "oriented_box_iou_batch": {"executed_lines": [492, 493, 494, 498, 499, 503, 504, 508, 509, 510, 511, 513, 520, 521, 522, 524, 525, 526, 528, 529, 531, 532, 535, 536, 537, 538, 540, 541, 543, 544, 545, 548, 549, 550, 555, 556, 557, 558, 559, 566], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 98.4375, "percent_covered_display": "98", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 24, "num_partial_branches": 1, "covered_branches": 23, "missing_branches": 1, "percent_branches_covered": 95.83333333333333, "percent_branches_covered_display": "96"}, "missing_lines": [], "excluded_lines": [], "start_line": 426, "executed_branches": [[492, 493], [492, 508], [493, 494], [493, 498], [498, 499], [498, 503], [503, 492], [503, 504], [508, 509], [508, 510], [510, 511], [510, 513], [525, 526], [525, 528], [536, 537], [536, 540], [544, 545], [544, 566], [548, 549], [548, 550], [555, 556], [558, 544], [558, 559]], "missing_branches": [[555, 544]]}, "compact_mask_iou_batch": {"executed_lines": [599, 600, 601, 603, 604, 606, 607, 611, 612, 613, 614, 615, 617, 618, 619, 620, 621, 624, 625, 626, 627, 628, 631, 632, 634, 635, 637, 638, 639, 640, 642, 643, 644, 645, 647, 648, 650, 651, 653, 654, 655, 657, 658, 659, 660, 661, 662, 669], "summary": {"covered_lines": 48, "num_statements": 49, "percent_covered": 96.72131147540983, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.95918367346938, "percent_statements_covered_display": "98", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 11, "missing_branches": 1, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [664], "excluded_lines": [], "start_line": 569, "executed_branches": [[603, 604], [603, 606], [634, 635], [634, 669], [637, 638], [637, 639], [639, 640], [639, 642], [657, 658], [657, 660], [660, 661]], "missing_branches": [[660, 664]]}, "_mask_iou_batch_split": {"executed_lines": [695, 696, 697, 700, 703, 704, 706, 707, 709, 710, 711, 717, 719, 720, 732, 733], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 90.47619047619048, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [727], "excluded_lines": [], "start_line": 672, "executed_branches": [[709, 710], [709, 717], [717, 719]], "missing_branches": [[717, 727]]}, "mask_iou_batch": {"executed_lines": [774, 775, 778, 779, 780, 781, 783, 784, 788, 789, 794, 795, 802, 803, 804, 805, 806, 807, 808, 815, 816, 818, 819, 820, 821, 829], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 18, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 736, "executed_branches": [[774, 775], [774, 778], [778, 779], [778, 780], [780, 781], [780, 783], [783, 784], [783, 788], [788, 789], [788, 794], [794, 795], [794, 802], [807, 808], [807, 815], [815, 816], [815, 818], [820, 821], [820, 829]], "missing_branches": []}, "mask_non_max_suppression": {"executed_lines": [870, 874, 876, 877, 879, 880, 881, 883, 884, 886, 887, 888, 889, 892, 896], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 832, "executed_branches": [[876, 877], [876, 879], [887, 888], [887, 896], [888, 887], [888, 889]], "missing_branches": []}, "_prepare_predictions_for_nms": {"executed_lines": [907, 908, 909, 910, 911, 912, 913], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 899, "executed_branches": [[908, 909], [908, 910]], "missing_branches": []}, "_nms_loop_from_iou_matrix": {"executed_lines": [927, 928, 929, 930, 931, 932, 933, 934, 935], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 916, "executed_branches": [[930, 931], [930, 935], [931, 932], [931, 933]], "missing_branches": []}, "box_non_max_suppression": {"executed_lines": [963, 967, 968, 969, 970], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 938, "executed_branches": [], "missing_branches": []}, "_group_overlapping_masks": {"executed_lines": [997, 999, 1000, 1002, 1003, 1005, 1006, 1007, 1008, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1023, 1024, 1026, 1027], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 973, "executed_branches": [[1002, 1003], [1002, 1027], [1006, 1007], [1006, 1010], [1012, 1013], [1012, 1026], [1015, 1016], [1015, 1017]], "missing_branches": []}, "mask_non_max_merge": {"executed_lines": [1066, 1073, 1075, 1076, 1078, 1079, 1083, 1084, 1085, 1086, 1087, 1094, 1095, 1097, 1098, 1102], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 11, "missing_branches": 1, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [1099], "excluded_lines": [], "start_line": 1030, "executed_branches": [[1066, 1073], [1066, 1075], [1078, 1079], [1078, 1083], [1085, 1086], [1085, 1097], [1094, 1085], [1094, 1095], [1097, 1098], [1097, 1102], [1098, 1097]], "missing_branches": [[1098, 1099]]}, "_greedy_nmm_via_iou_callback": {"executed_lines": [1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1105, "executed_branches": [[1122, 1123], [1122, 1133], [1125, 1126], [1125, 1128]], "missing_branches": []}, "_non_max_merge_per_category": {"executed_lines": [1148, 1149, 1150, 1154, 1155, 1156, 1157, 1158, 1159, 1161, 1162, 1166], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [1163], "excluded_lines": [], "start_line": 1136, "executed_branches": [[1148, 1149], [1148, 1154], [1156, 1157], [1156, 1161], [1158, 1156], [1158, 1159], [1161, 1162], [1161, 1166], [1162, 1161]], "missing_branches": [[1162, 1163]]}, "_group_overlapping_boxes": {"executed_lines": [1192, 1201], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1169, "executed_branches": [], "missing_branches": []}, "_group_overlapping_boxes.iou_against_candidate": {"executed_lines": [1195], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1192, "executed_branches": [], "missing_branches": []}, "box_non_max_merge": {"executed_lines": [1230, 1235], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1206, "executed_branches": [], "missing_branches": []}, "box_non_max_merge.group_within": {"executed_lines": [1231], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1230, "executed_branches": [], "missing_branches": []}, "oriented_box_non_max_suppression": {"executed_lines": [1295, 1299, 1300, 1301, 1305, 1306, 1311, 1316, 1320, 1321, 1325, 1326, 1328, 1329, 1330], "summary": {"covered_lines": 15, "num_statements": 19, "percent_covered": 75.75757575757575, "percent_covered_display": "76", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 78.94736842105263, "percent_statements_covered_display": "79", "num_branches": 14, "num_partial_branches": 4, "covered_branches": 10, "missing_branches": 4, "percent_branches_covered": 71.42857142857143, "percent_branches_covered_display": "71"}, "missing_lines": [1302, 1307, 1312, 1317], "excluded_lines": [], "start_line": 1238, "executed_branches": [[1299, 1300], [1299, 1320], [1300, 1301], [1300, 1306], [1301, 1305], [1306, 1311], [1311, 1316], [1316, 1299], [1320, 1321], [1320, 1325]], "missing_branches": [[1301, 1302], [1306, 1307], [1311, 1312], [1316, 1317]]}, "_group_overlapping_oriented_boxes": {"executed_lines": [1344, 1353], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1333, "executed_branches": [], "missing_branches": []}, "_group_overlapping_oriented_boxes.iou_against_candidate": {"executed_lines": [1347], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1344, "executed_branches": [], "missing_branches": []}, "oriented_box_non_max_merge": {"executed_lines": [1414, 1415, 1416, 1420, 1421, 1426, 1431, 1435, 1440, 1445, 1453], "summary": {"covered_lines": 11, "num_statements": 16, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 68.75, "percent_statements_covered_display": "69", "num_branches": 14, "num_partial_branches": 5, "covered_branches": 9, "missing_branches": 5, "percent_branches_covered": 64.28571428571429, "percent_branches_covered_display": "64"}, "missing_lines": [1417, 1422, 1427, 1432, 1436], "excluded_lines": [], "start_line": 1358, "executed_branches": [[1414, 1415], [1414, 1435], [1415, 1416], [1415, 1421], [1416, 1420], [1421, 1426], [1426, 1431], [1431, 1414], [1435, 1440]], "missing_branches": [[1416, 1417], [1421, 1422], [1426, 1427], [1431, 1432], [1435, 1436]]}, "oriented_box_non_max_merge.group_within": {"executed_lines": [1446], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1445, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 16, 30, 31, 32, 34, 35, 38, 39, 54, 67, 68, 70, 71, 74, 75, 90, 162, 264, 304, 363, 378, 394, 426, 569, 672, 736, 832, 899, 916, 938, 973, 1030, 1105, 1136, 1169, 1206, 1238, 1333, 1358], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"OverlapFilter": {"executed_lines": [40, 41], "summary": {"covered_lines": 2, "num_statements": 10, "percent_covered": 21.428571428571427, "percent_covered_display": "21", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 20.0, "percent_statements_covered_display": "20", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 3, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [36, 42, 43, 44, 45, 46, 47, 48], "excluded_lines": [], "start_line": 16, "executed_branches": [[40, 41]], "missing_branches": [[40, 42], [42, 43], [42, 48]]}, "OverlapMetric": {"executed_lines": [72, 76, 77, 78, 79, 80, 81, 82, 83], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [84], "excluded_lines": [], "start_line": 54, "executed_branches": [[76, 77], [76, 78], [78, 79]], "missing_branches": [[78, 84]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 16, 30, 31, 32, 34, 35, 38, 39, 54, 67, 68, 70, 71, 74, 75, 90, 129, 130, 131, 133, 134, 135, 136, 138, 139, 141, 143, 144, 146, 147, 148, 149, 156, 157, 159, 162, 218, 219, 220, 221, 223, 224, 228, 229, 230, 231, 233, 234, 235, 236, 239, 240, 241, 242, 244, 246, 247, 249, 250, 251, 252, 259, 260, 261, 264, 280, 282, 283, 286, 288, 290, 291, 294, 295, 296, 298, 301, 304, 349, 352, 353, 354, 357, 358, 359, 360, 363, 372, 373, 374, 375, 378, 387, 388, 389, 394, 418, 419, 420, 423, 426, 492, 493, 494, 498, 499, 503, 504, 508, 509, 510, 511, 513, 520, 521, 522, 524, 525, 526, 528, 529, 531, 532, 535, 536, 537, 538, 540, 541, 543, 544, 545, 548, 549, 550, 555, 556, 557, 558, 559, 566, 569, 599, 600, 601, 603, 604, 606, 607, 611, 612, 613, 614, 615, 617, 618, 619, 620, 621, 624, 625, 626, 627, 628, 631, 632, 634, 635, 637, 638, 639, 640, 642, 643, 644, 645, 647, 648, 650, 651, 653, 654, 655, 657, 658, 659, 660, 661, 662, 669, 672, 695, 696, 697, 700, 703, 704, 706, 707, 709, 710, 711, 717, 719, 720, 732, 733, 736, 774, 775, 778, 779, 780, 781, 783, 784, 788, 789, 794, 795, 802, 803, 804, 805, 806, 807, 808, 815, 816, 818, 819, 820, 821, 829, 832, 870, 874, 876, 877, 879, 880, 881, 883, 884, 886, 887, 888, 889, 892, 896, 899, 907, 908, 909, 910, 911, 912, 913, 916, 927, 928, 929, 930, 931, 932, 933, 934, 935, 938, 963, 967, 968, 969, 970, 973, 997, 999, 1000, 1002, 1003, 1005, 1006, 1007, 1008, 1010, 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1023, 1024, 1026, 1027, 1030, 1066, 1073, 1075, 1076, 1078, 1079, 1083, 1084, 1085, 1086, 1087, 1094, 1095, 1097, 1098, 1102, 1105, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1136, 1148, 1149, 1150, 1154, 1155, 1156, 1157, 1158, 1159, 1161, 1162, 1166, 1169, 1192, 1195, 1201, 1206, 1230, 1231, 1235, 1238, 1295, 1299, 1300, 1301, 1305, 1306, 1311, 1316, 1320, 1321, 1325, 1326, 1328, 1329, 1330, 1333, 1344, 1347, 1353, 1358, 1414, 1415, 1416, 1420, 1421, 1426, 1431, 1435, 1440, 1445, 1446, 1453], "summary": {"covered_lines": 394, "num_statements": 410, "percent_covered": 94.12811387900356, "percent_covered_display": "94", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 96.09756097560975, "percent_statements_covered_display": "96", "num_branches": 152, "num_partial_branches": 17, "covered_branches": 135, "missing_branches": 17, "percent_branches_covered": 88.8157894736842, "percent_branches_covered_display": "89"}, "missing_lines": [151, 254, 299, 664, 727, 1099, 1163, 1302, 1307, 1312, 1317, 1417, 1422, 1427, 1432, 1436], "excluded_lines": [], "start_line": 1, "executed_branches": [[146, 147], [146, 148], [148, 149], [156, 157], [156, 159], [223, 224], [223, 228], [249, 250], [249, 251], [251, 252], [298, 301], [352, 353], [352, 354], [357, 358], [357, 360], [358, 357], [358, 359], [492, 493], [492, 508], [493, 494], [493, 498], [498, 499], [498, 503], [503, 492], [503, 504], [508, 509], [508, 510], [510, 511], [510, 513], [525, 526], [525, 528], [536, 537], [536, 540], [544, 545], [544, 566], [548, 549], [548, 550], [555, 556], [558, 544], [558, 559], [603, 604], [603, 606], [634, 635], [634, 669], [637, 638], [637, 639], [639, 640], [639, 642], [657, 658], [657, 660], [660, 661], [709, 710], [709, 717], [717, 719], [774, 775], [774, 778], [778, 779], [778, 780], [780, 781], [780, 783], [783, 784], [783, 788], [788, 789], [788, 794], [794, 795], [794, 802], [807, 808], [807, 815], [815, 816], [815, 818], [820, 821], [820, 829], [876, 877], [876, 879], [887, 888], [887, 896], [888, 887], [888, 889], [908, 909], [908, 910], [930, 931], [930, 935], [931, 932], [931, 933], [1002, 1003], [1002, 1027], [1006, 1007], [1006, 1010], [1012, 1013], [1012, 1026], [1015, 1016], [1015, 1017], [1066, 1073], [1066, 1075], [1078, 1079], [1078, 1083], [1085, 1086], [1085, 1097], [1094, 1085], [1094, 1095], [1097, 1098], [1097, 1102], [1098, 1097], [1122, 1123], [1122, 1133], [1125, 1126], [1125, 1128], [1148, 1149], [1148, 1154], [1156, 1157], [1156, 1161], [1158, 1156], [1158, 1159], [1161, 1162], [1161, 1166], [1162, 1161], [1299, 1300], [1299, 1320], [1300, 1301], [1300, 1306], [1301, 1305], [1306, 1311], [1311, 1316], [1316, 1299], [1320, 1321], [1320, 1325], [1414, 1415], [1414, 1435], [1415, 1416], [1415, 1421], [1416, 1420], [1421, 1426], [1426, 1431], [1431, 1414], [1435, 1440]], "missing_branches": [[148, 151], [251, 254], [298, 299], [555, 544], [660, 664], [717, 727], [1098, 1099], [1162, 1163], [1301, 1302], [1306, 1307], [1311, 1312], [1316, 1317], [1416, 1417], [1421, 1422], [1426, 1427], [1431, 1432], [1435, 1436]]}}}, "src\\supervision\\detection\\utils\\masks.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 12, 56, 58, 59, 60, 61, 62, 64, 65, 66, 67, 69, 70, 71, 72, 73, 75, 76, 77, 78, 80, 81, 87, 90, 105, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 127, 129, 130, 133, 135, 137, 140, 142, 143, 144, 146, 151, 190, 191, 193, 194, 195, 196, 197, 198, 201, 251, 252, 255, 256, 257, 260, 263, 275, 276, 277, 279, 280, 282, 283, 284, 286, 288, 291, 372, 375, 376, 377, 379, 384, 388, 391, 392, 394, 395, 396, 397, 398, 402, 403, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 426], "summary": {"covered_lines": 121, "num_statements": 126, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 96.03174603174604, "percent_statements_covered_display": "96", "num_branches": 44, "num_partial_branches": 5, "covered_branches": 39, "missing_branches": 5, "percent_branches_covered": 88.63636363636364, "percent_branches_covered_display": "89"}, "missing_lines": [373, 389, 400, 419, 424], "excluded_lines": [], "executed_branches": [[58, 59], [58, 64], [69, 70], [69, 75], [80, 81], [80, 87], [105, 107], [105, 129], [108, 109], [108, 111], [112, 113], [112, 127], [118, 119], [118, 122], [193, 194], [193, 198], [195, 196], [195, 198], [196, 195], [196, 197], [251, 252], [251, 255], [372, 375], [376, 377], [376, 379], [388, 391], [394, 395], [394, 397], [397, 398], [405, 406], [405, 410], [410, 411], [414, 415], [414, 426], [415, 416], [415, 417], [418, 420], [421, 414], [421, 422]], "missing_branches": [[372, 373], [388, 389], [397, 400], [410, 424], [418, 419]], "functions": {"move_masks": {"executed_lines": [56, 58, 59, 60, 61, 62, 64, 65, 66, 67, 69, 70, 71, 72, 73, 75, 76, 77, 78, 80, 81, 87], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [[58, 59], [58, 64], [69, 70], [69, 75], [80, 81], [80, 87]], "missing_branches": []}, "calculate_masks_centroids": {"executed_lines": [105, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 127, 129, 130, 133, 135, 137, 142, 143, 144, 146], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 90, "executed_branches": [[105, 107], [105, 129], [108, 109], [108, 111], [112, 113], [112, 127], [118, 119], [118, 122]], "missing_branches": []}, "calculate_masks_centroids.sum_over_mask": {"executed_lines": [140], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 137, "executed_branches": [], "missing_branches": []}, "contains_holes": {"executed_lines": [190, 191, 193, 194, 195, 196, 197, 198], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 151, "executed_branches": [[193, 194], [193, 198], [195, 196], [195, 198], [196, 195], [196, 197]], "missing_branches": []}, "contains_multiple_segments": {"executed_lines": [251, 252, 255, 256, 257, 260], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 201, "executed_branches": [[251, 252], [251, 255]], "missing_branches": []}, "resize_masks": {"executed_lines": [275, 276, 277, 279, 280, 282, 283, 284, 286, 288], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 263, "executed_branches": [], "missing_branches": []}, "filter_segments_by_distance": {"executed_lines": [372, 375, 376, 377, 379, 384, 388, 391, 392, 394, 395, 396, 397, 398, 402, 403, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 426], "summary": {"covered_lines": 34, "num_statements": 39, "percent_covered": 83.60655737704919, "percent_covered_display": "84", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 87.17948717948718, "percent_statements_covered_display": "87", "num_branches": 22, "num_partial_branches": 5, "covered_branches": 17, "missing_branches": 5, "percent_branches_covered": 77.27272727272727, "percent_branches_covered_display": "77"}, "missing_lines": [373, 389, 400, 419, 424], "excluded_lines": [], "start_line": 291, "executed_branches": [[372, 375], [376, 377], [376, 379], [388, 391], [394, 395], [394, 397], [397, 398], [405, 406], [405, 410], [410, 411], [414, 415], [414, 426], [415, 416], [415, 417], [418, 420], [421, 414], [421, 422]], "missing_branches": [[372, 373], [388, 389], [397, 400], [410, 424], [418, 419]]}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 12, 90, 151, 201, 263, 291], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 9, 12, 56, 58, 59, 60, 61, 62, 64, 65, 66, 67, 69, 70, 71, 72, 73, 75, 76, 77, 78, 80, 81, 87, 90, 105, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 127, 129, 130, 133, 135, 137, 140, 142, 143, 144, 146, 151, 190, 191, 193, 194, 195, 196, 197, 198, 201, 251, 252, 255, 256, 257, 260, 263, 275, 276, 277, 279, 280, 282, 283, 284, 286, 288, 291, 372, 375, 376, 377, 379, 384, 388, 391, 392, 394, 395, 396, 397, 398, 402, 403, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 420, 421, 422, 426], "summary": {"covered_lines": 121, "num_statements": 126, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 96.03174603174604, "percent_statements_covered_display": "96", "num_branches": 44, "num_partial_branches": 5, "covered_branches": 39, "missing_branches": 5, "percent_branches_covered": 88.63636363636364, "percent_branches_covered_display": "89"}, "missing_lines": [373, 389, 400, 419, 424], "excluded_lines": [], "start_line": 1, "executed_branches": [[58, 59], [58, 64], [69, 70], [69, 75], [80, 81], [80, 87], [105, 107], [105, 129], [108, 109], [108, 111], [112, 113], [112, 127], [118, 119], [118, 122], [193, 194], [193, 198], [195, 196], [195, 198], [196, 195], [196, 197], [251, 252], [251, 255], [372, 375], [376, 377], [376, 379], [388, 391], [394, 395], [394, 397], [397, 398], [405, 406], [405, 410], [410, 411], [414, 415], [414, 426], [415, 416], [415, 417], [418, 420], [421, 414], [421, 422]], "missing_branches": [[372, 373], [388, 389], [397, 400], [410, 424], [418, 419]]}}}, "src\\supervision\\detection\\utils\\polygons.py": {"executed_lines": [1, 3, 4, 5, 8, 33, 34, 35, 36, 44, 95, 96, 97, 98, 100, 102, 103, 105, 106, 107, 108, 109, 112, 113, 114, 116], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[33, 34], [33, 35], [95, 96], [95, 97], [97, 98], [97, 100], [102, 103], [102, 105], [107, 108], [107, 116], [112, 113], [112, 114]], "missing_branches": [], "functions": {"filter_polygons_by_area": {"executed_lines": [33, 34, 35, 36], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8, "executed_branches": [[33, 34], [33, 35]], "missing_branches": []}, "approximate_polygon": {"executed_lines": [95, 96, 97, 98, 100, 102, 103, 105, 106, 107, 108, 109, 112, 113, 114, 116], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44, "executed_branches": [[95, 96], [95, 97], [97, 98], [97, 100], [102, 103], [102, 105], [107, 108], [107, 116], [112, 113], [112, 114]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 44], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 8, 33, 34, 35, 36, 44, 95, 96, 97, 98, 100, 102, 103, 105, 106, 107, 108, 109, 112, 113, 114, 116], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[33, 34], [33, 35], [95, 96], [95, 97], [97, 98], [97, 100], [102, 103], [102, 105], [107, 108], [107, 116], [112, 113], [112, 114]], "missing_branches": []}}}, "src\\supervision\\detection\\utils\\vlms.py": {"executed_lines": [1, 4, 38, 39, 40, 42, 43, 45, 46, 48, 49, 50, 51, 52, 54, 55, 60, 62, 65, 97, 98, 99, 100], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[38, 39], [38, 42], [42, 43], [42, 45], [48, 49], [48, 62], [50, 51], [50, 60], [51, 52], [51, 54], [97, 98], [97, 100], [98, 97], [98, 99]], "missing_branches": [], "functions": {"edit_distance": {"executed_lines": [38, 39, 40, 42, 43, 45, 46, 48, 49, 50, 51, 52, 54, 55, 60, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 4, "executed_branches": [[38, 39], [38, 42], [42, 43], [42, 45], [48, 49], [48, 62], [50, 51], [50, 60], [51, 52], [51, 54]], "missing_branches": []}, "fuzzy_match_index": {"executed_lines": [97, 98, 99, 100], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65, "executed_branches": [[97, 98], [97, 100], [98, 97], [98, 99]], "missing_branches": []}, "": {"executed_lines": [1, 4, 65], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 4, 38, 39, 40, 42, 43, 45, 46, 48, 49, 50, 51, 52, 54, 55, 60, 62, 65, 97, 98, 99, 100], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[38, 39], [38, 42], [42, 43], [42, 45], [48, 49], [48, 62], [50, 51], [50, 60], [51, 52], [51, 54], [97, 98], [97, 100], [98, 97], [98, 99]], "missing_branches": []}}}, "src\\supervision\\detection\\vlm.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19, 22, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 53, 54, 73, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 100, 101, 116, 127, 138, 149, 163, 180, 188, 193, 194, 195, 198, 199, 200, 203, 206, 211, 215, 235, 237, 240, 241, 243, 244, 246, 247, 248, 249, 251, 252, 253, 254, 255, 257, 260, 276, 277, 278, 279, 280, 282, 283, 286, 288, 289, 292, 293, 295, 298, 300, 301, 302, 305, 337, 338, 340, 341, 342, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 356, 357, 358, 359, 365, 366, 368, 369, 371, 372, 373, 374, 375, 377, 378, 380, 381, 383, 384, 386, 388, 389, 390, 391, 392, 394, 397, 424, 453, 454, 455, 457, 458, 463, 464, 465, 466, 467, 468, 469, 477, 479, 480, 482, 483, 484, 485, 486, 488, 489, 490, 492, 495, 519, 520, 521, 522, 525, 527, 528, 529, 530, 532, 533, 535, 537, 538, 539, 540, 541, 542, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 557, 558, 559, 561, 562, 563, 565, 567, 568, 572, 573, 575, 576, 577, 581, 582, 583, 584, 585, 586, 591, 630, 632, 633, 634, 635, 636, 637, 639, 640, 641, 642, 644, 645, 647, 648, 650, 651, 652, 653, 654, 656, 658, 659, 661, 666, 667, 669, 670, 671, 672, 673, 675, 678, 721, 723, 724, 725, 726, 727, 728, 730, 731, 732, 733, 741, 742, 750, 751, 752, 753, 755, 756, 757, 758, 759, 761, 766, 768, 769, 770, 771, 777, 779, 780, 781, 782, 786, 787, 789, 790, 792, 793, 797, 800, 801, 805, 807, 808, 809, 811, 813, 814, 822, 823, 826, 827, 828, 829, 830, 831, 832, 834, 835, 837, 838, 839, 841, 844, 846, 855, 887, 888, 889, 893, 894, 896, 898, 899, 900, 902, 903, 904, 905, 907, 909, 910, 912], "summary": {"covered_lines": 328, "num_statements": 365, "percent_covered": 88.64097363083164, "percent_covered_display": "89", "missing_lines": 37, "excluded_lines": 4, "percent_statements_covered": 89.86301369863014, "percent_statements_covered_display": "90", "num_branches": 128, "num_partial_branches": 11, "covered_branches": 109, "missing_branches": 19, "percent_branches_covered": 85.15625, "percent_branches_covered_display": "85"}, "missing_lines": [51, 55, 59, 60, 61, 62, 63, 64, 65, 66, 67, 98, 102, 103, 104, 105, 106, 107, 108, 109, 110, 181, 182, 183, 184, 189, 196, 201, 212, 284, 290, 296, 416, 588, 783, 784, 803], "excluded_lines": [311, 596, 689, 859], "executed_branches": [[180, 188], [188, 193], [194, 195], [194, 198], [195, 194], [199, 200], [199, 203], [200, 199], [243, 244], [243, 246], [251, 252], [251, 257], [278, 279], [278, 280], [283, 286], [289, 292], [295, 298], [346, 347], [346, 349], [353, 354], [353, 356], [365, 366], [365, 368], [371, 372], [371, 377], [372, 373], [372, 374], [377, 378], [377, 380], [388, 389], [388, 394], [457, 458], [457, 463], [465, 466], [465, 479], [467, 465], [467, 468], [482, 483], [482, 488], [521, 522], [521, 525], [527, 528], [527, 532], [532, 533], [532, 537], [537, 538], [537, 544], [544, 545], [544, 561], [547, 548], [547, 557], [548, 547], [548, 549], [561, 562], [561, 567], [567, 568], [572, 573], [572, 575], [633, 634], [633, 639], [634, 633], [634, 635], [644, 645], [644, 647], [650, 651], [650, 658], [651, 652], [651, 653], [658, 659], [658, 661], [669, 670], [669, 675], [724, 725], [724, 730], [725, 724], [725, 726], [741, 742], [741, 750], [755, 756], [755, 813], [756, 757], [756, 758], [768, 769], [768, 805], [769, 770], [771, 777], [771, 779], [792, 793], [807, 808], [807, 811], [808, 809], [813, 814], [813, 822], [826, 827], [826, 837], [831, 832], [831, 834], [834, 835], [834, 841], [888, 889], [888, 893], [893, 894], [893, 896], [898, 899], [898, 909], [899, 900], [899, 902], [909, 910], [909, 912]], "missing_branches": [[59, 60], [59, 61], [61, 62], [61, 67], [102, 103], [102, 104], [104, 105], [104, 110], [180, 181], [188, 189], [195, 196], [200, 201], [283, 284], [289, 290], [295, 296], [567, 588], [769, 807], [792, 803], [808, 755]], "functions": {"LMM.list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [51], "excluded_lines": [], "start_line": 50, "executed_branches": [], "missing_branches": []}, "LMM.from_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [55, 59, 60, 61, 62, 63, 64, 65, 66, 67], "excluded_lines": [], "start_line": 54, "executed_branches": [], "missing_branches": [[59, 60], [59, 61], [61, 62], [61, 67]]}, "VLM.list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [98], "excluded_lines": [], "start_line": 97, "executed_branches": [], "missing_branches": []}, "VLM.from_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [102, 103, 104, 105, 106, 107, 108, 109, 110], "excluded_lines": [], "start_line": 101, "executed_branches": [], "missing_branches": [[102, 103], [102, 104], [104, 105], [104, 110]]}, "_validate_vlm_parameters": {"executed_lines": [180, 188, 193, 194, 195, 198, 199, 200, 203], "summary": {"covered_lines": 9, "num_statements": 16, "percent_covered": 60.714285714285715, "percent_covered_display": "61", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 56.25, "percent_statements_covered_display": "56", "num_branches": 12, "num_partial_branches": 4, "covered_branches": 8, "missing_branches": 4, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [181, 182, 183, 184, 189, 196, 201], "excluded_lines": [], "start_line": 163, "executed_branches": [[180, 188], [188, 193], [194, 195], [194, 198], [195, 194], [199, 200], [199, 203], [200, 199]], "missing_branches": [[180, 181], [188, 189], [195, 196], [200, 201]]}, "validate_vlm_parameters": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [212], "excluded_lines": [], "start_line": 211, "executed_branches": [], "missing_branches": []}, "from_paligemma": {"executed_lines": [235, 237, 240, 241, 243, 244, 246, 247, 248, 249, 251, 252, 253, 254, 255, 257], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 215, "executed_branches": [[243, 244], [243, 246], [251, 252], [251, 257]], "missing_branches": []}, "recover_truncated_qwen_2_5_vl_response": {"executed_lines": [276, 277, 278, 279, 280, 282, 283, 286, 288, 289, 292, 293, 295, 298, 300, 301, 302], "summary": {"covered_lines": 17, "num_statements": 20, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 85.0, "percent_statements_covered_display": "85", "num_branches": 8, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 3, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [284, 290, 296], "excluded_lines": [], "start_line": 260, "executed_branches": [[278, 279], [278, 280], [283, 286], [289, 292], [295, 298]], "missing_branches": [[283, 284], [289, 290], [295, 296]]}, "from_qwen_2_5_vl": {"executed_lines": [337, 338, 340, 341, 342, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 356, 357, 358, 359, 365, 366, 368, 369, 371, 372, 373, 374, 375, 377, 378, 380, 381, 383, 384, 386, 388, 389, 390, 391, 392, 394], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [311], "start_line": 305, "executed_branches": [[346, 347], [346, 349], [353, 354], [353, 356], [365, 366], [365, 368], [371, 372], [371, 377], [372, 373], [372, 374], [377, 378], [377, 380], [388, 389], [388, 394]], "missing_branches": []}, "from_qwen_3_vl": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [416], "excluded_lines": [], "start_line": 397, "executed_branches": [], "missing_branches": []}, "from_deepseek_vl_2": {"executed_lines": [453, 454, 455, 457, 458, 463, 464, 465, 466, 467, 468, 469, 477, 479, 480, 482, 483, 484, 485, 486, 488, 489, 490, 492], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 424, "executed_branches": [[457, 458], [457, 463], [465, 466], [465, 479], [467, 465], [467, 468], [482, 483], [482, 488]], "missing_branches": []}, "from_florence_2": {"executed_lines": [519, 520, 521, 522, 525, 527, 528, 529, 530, 532, 533, 535, 537, 538, 539, 540, 541, 542, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 557, 558, 559, 561, 562, 563, 565, 567, 568, 572, 573, 575, 576, 577, 581, 582, 583, 584, 585, 586], "summary": {"covered_lines": 48, "num_statements": 49, "percent_covered": 97.10144927536231, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.95918367346938, "percent_statements_covered_display": "98", "num_branches": 20, "num_partial_branches": 1, "covered_branches": 19, "missing_branches": 1, "percent_branches_covered": 95.0, "percent_branches_covered_display": "95"}, "missing_lines": [588], "excluded_lines": [], "start_line": 495, "executed_branches": [[521, 522], [521, 525], [527, 528], [527, 532], [532, 533], [532, 537], [537, 538], [537, 544], [544, 545], [544, 561], [547, 548], [547, 557], [548, 547], [548, 549], [561, 562], [561, 567], [567, 568], [572, 573], [572, 575]], "missing_branches": [[567, 588]]}, "from_google_gemini_2_0": {"executed_lines": [630, 632, 633, 634, 635, 636, 637, 639, 640, 641, 642, 644, 645, 647, 648, 650, 651, 652, 653, 654, 656, 658, 659, 661, 666, 667, 669, 670, 671, 672, 673, 675], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [596], "start_line": 591, "executed_branches": [[633, 634], [633, 639], [634, 633], [634, 635], [644, 645], [644, 647], [650, 651], [650, 658], [651, 652], [651, 653], [658, 659], [658, 661], [669, 670], [669, 675]], "missing_branches": []}, "from_google_gemini_2_5": {"executed_lines": [721, 723, 724, 725, 726, 727, 728, 730, 731, 732, 733, 741, 742, 750, 751, 752, 753, 755, 756, 757, 758, 759, 761, 766, 768, 769, 770, 771, 777, 779, 780, 781, 782, 786, 787, 789, 790, 792, 793, 797, 800, 801, 805, 807, 808, 809, 811, 813, 814, 822, 823, 826, 827, 828, 829, 830, 831, 832, 834, 835, 837, 838, 839, 841, 844, 846], "summary": {"covered_lines": 66, "num_statements": 69, "percent_covered": 93.93939393939394, "percent_covered_display": "94", "missing_lines": 3, "excluded_lines": 1, "percent_statements_covered": 95.65217391304348, "percent_statements_covered_display": "96", "num_branches": 30, "num_partial_branches": 3, "covered_branches": 27, "missing_branches": 3, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [783, 784, 803], "excluded_lines": [689], "start_line": 678, "executed_branches": [[724, 725], [724, 730], [725, 724], [725, 726], [741, 742], [741, 750], [755, 756], [755, 813], [756, 757], [756, 758], [768, 769], [768, 805], [769, 770], [771, 777], [771, 779], [792, 793], [807, 808], [807, 811], [808, 809], [813, 814], [813, 822], [826, 827], [826, 837], [831, 832], [831, 834], [834, 835], [834, 841]], "missing_branches": [[769, 807], [792, 803], [808, 755]]}, "from_moondream": {"executed_lines": [887, 888, 889, 893, 894, 896, 898, 899, 900, 902, 903, 904, 905, 907, 909, 910, 912], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [859], "start_line": 855, "executed_branches": [[888, 889], [888, 893], [893, 894], [893, 896], [898, 899], [898, 909], [899, 900], [899, 902], [909, 910], [909, 912]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19, 22, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 53, 54, 73, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 100, 101, 116, 127, 138, 149, 163, 206, 211, 215, 260, 305, 397, 424, 495, 591, 678, 855], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"LMM": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [51, 55, 59, 60, 61, 62, 63, 64, 65, 66, 67], "excluded_lines": [], "start_line": 22, "executed_branches": [], "missing_branches": [[59, 60], [59, 61], [61, 62], [61, 67]]}, "VLM": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [98, 102, 103, 104, 105, 106, 107, 108, 109, 110], "excluded_lines": [], "start_line": 73, "executed_branches": [], "missing_branches": [[102, 103], [102, 104], [104, 105], [104, 110]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19, 22, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 53, 54, 73, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 100, 101, 116, 127, 138, 149, 163, 180, 188, 193, 194, 195, 198, 199, 200, 203, 206, 211, 215, 235, 237, 240, 241, 243, 244, 246, 247, 248, 249, 251, 252, 253, 254, 255, 257, 260, 276, 277, 278, 279, 280, 282, 283, 286, 288, 289, 292, 293, 295, 298, 300, 301, 302, 305, 337, 338, 340, 341, 342, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 356, 357, 358, 359, 365, 366, 368, 369, 371, 372, 373, 374, 375, 377, 378, 380, 381, 383, 384, 386, 388, 389, 390, 391, 392, 394, 397, 424, 453, 454, 455, 457, 458, 463, 464, 465, 466, 467, 468, 469, 477, 479, 480, 482, 483, 484, 485, 486, 488, 489, 490, 492, 495, 519, 520, 521, 522, 525, 527, 528, 529, 530, 532, 533, 535, 537, 538, 539, 540, 541, 542, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 557, 558, 559, 561, 562, 563, 565, 567, 568, 572, 573, 575, 576, 577, 581, 582, 583, 584, 585, 586, 591, 630, 632, 633, 634, 635, 636, 637, 639, 640, 641, 642, 644, 645, 647, 648, 650, 651, 652, 653, 654, 656, 658, 659, 661, 666, 667, 669, 670, 671, 672, 673, 675, 678, 721, 723, 724, 725, 726, 727, 728, 730, 731, 732, 733, 741, 742, 750, 751, 752, 753, 755, 756, 757, 758, 759, 761, 766, 768, 769, 770, 771, 777, 779, 780, 781, 782, 786, 787, 789, 790, 792, 793, 797, 800, 801, 805, 807, 808, 809, 811, 813, 814, 822, 823, 826, 827, 828, 829, 830, 831, 832, 834, 835, 837, 838, 839, 841, 844, 846, 855, 887, 888, 889, 893, 894, 896, 898, 899, 900, 902, 903, 904, 905, 907, 909, 910, 912], "summary": {"covered_lines": 328, "num_statements": 344, "percent_covered": 94.18103448275862, "percent_covered_display": "94", "missing_lines": 16, "excluded_lines": 4, "percent_statements_covered": 95.34883720930233, "percent_statements_covered_display": "95", "num_branches": 120, "num_partial_branches": 11, "covered_branches": 109, "missing_branches": 11, "percent_branches_covered": 90.83333333333333, "percent_branches_covered_display": "91"}, "missing_lines": [181, 182, 183, 184, 189, 196, 201, 212, 284, 290, 296, 416, 588, 783, 784, 803], "excluded_lines": [311, 596, 689, 859], "start_line": 1, "executed_branches": [[180, 188], [188, 193], [194, 195], [194, 198], [195, 194], [199, 200], [199, 203], [200, 199], [243, 244], [243, 246], [251, 252], [251, 257], [278, 279], [278, 280], [283, 286], [289, 292], [295, 298], [346, 347], [346, 349], [353, 354], [353, 356], [365, 366], [365, 368], [371, 372], [371, 377], [372, 373], [372, 374], [377, 378], [377, 380], [388, 389], [388, 394], [457, 458], [457, 463], [465, 466], [465, 479], [467, 465], [467, 468], [482, 483], [482, 488], [521, 522], [521, 525], [527, 528], [527, 532], [532, 533], [532, 537], [537, 538], [537, 544], [544, 545], [544, 561], [547, 548], [547, 557], [548, 547], [548, 549], [561, 562], [561, 567], [567, 568], [572, 573], [572, 575], [633, 634], [633, 639], [634, 633], [634, 635], [644, 645], [644, 647], [650, 651], [650, 658], [651, 652], [651, 653], [658, 659], [658, 661], [669, 670], [669, 675], [724, 725], [724, 730], [725, 724], [725, 726], [741, 742], [741, 750], [755, 756], [755, 813], [756, 757], [756, 758], [768, 769], [768, 805], [769, 770], [771, 777], [771, 779], [792, 793], [807, 808], [807, 811], [808, 809], [813, 814], [813, 822], [826, 827], [826, 837], [831, 832], [831, 834], [834, 835], [834, 841], [888, 889], [888, 893], [893, 894], [893, 896], [898, 899], [898, 909], [899, 900], [899, 902], [909, 910], [909, 912]], "missing_branches": [[180, 181], [188, 189], [195, 196], [200, 201], [283, 284], [289, 290], [295, 296], [567, 588], [769, 807], [792, 803], [808, 755]]}}}, "src\\supervision\\draw\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\draw\\base.py": {"executed_lines": [1, 3, 4, 5, 7, 8], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [1, 3, 4, 5, 7, 8], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\draw\\color.py": {"executed_lines": [1, 3, 4, 6, 8, 10, 34, 54, 57, 58, 59, 60, 61, 62, 65, 66, 100, 101, 102, 103, 105, 106, 134, 135, 136, 137, 138, 139, 141, 142, 143, 145, 146, 148, 149, 171, 172, 173, 174, 176, 177, 199, 200, 201, 202, 204, 205, 227, 228, 229, 232, 234, 235, 257, 258, 259, 262, 264, 283, 284, 285, 287, 302, 304, 319, 321, 336, 338, 353, 355, 356, 357, 359, 360, 361, 363, 364, 365, 367, 368, 369, 371, 372, 373, 375, 376, 377, 379, 380, 381, 383, 384, 385, 387, 388, 390, 391, 392, 393, 395, 396, 405, 406, 407, 409, 410, 428, 430, 431, 451, 452, 455, 456, 475, 476, 478, 479, 512, 532, 534, 535, 537, 547, 568, 571, 572], "summary": {"covered_lines": 126, "num_statements": 137, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 91.97080291970804, "percent_statements_covered_display": "92", "num_branches": 28, "num_partial_branches": 2, "covered_branches": 24, "missing_branches": 4, "percent_branches_covered": 85.71428571428571, "percent_branches_covered_display": "86"}, "missing_lines": [449, 453, 501, 503, 504, 506, 508, 533, 544, 569, 570], "excluded_lines": [], "executed_branches": [[59, 60], [59, 61], [61, -57], [61, 62], [136, 137], [136, 138], [138, 139], [138, 141], [141, 142], [141, 145], [172, 173], [172, 174], [200, 201], [200, 202], [228, 229], [228, 232], [258, 259], [258, 262], [283, 284], [283, 285], [391, 392], [391, 393], [532, 534], [568, 571]], "missing_branches": [[503, 504], [503, 506], [532, 533], [568, 569]], "functions": {"_validate_color_hex": {"executed_lines": [58, 59, 60, 61, 62], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57, "executed_branches": [[59, 60], [59, 61], [61, -57], [61, 62]], "missing_branches": []}, "Color.from_hex": {"executed_lines": [134, 135, 136, 137, 138, 139, 141, 142, 143, 145, 146], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 106, "executed_branches": [[136, 137], [136, 138], [138, 139], [138, 141], [141, 142], [141, 145]], "missing_branches": []}, "Color.from_rgb_tuple": {"executed_lines": [171, 172, 173, 174], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149, "executed_branches": [[172, 173], [172, 174]], "missing_branches": []}, "Color.from_bgr_tuple": {"executed_lines": [199, 200, 201, 202], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 177, "executed_branches": [[200, 201], [200, 202]], "missing_branches": []}, "Color.from_rgba_tuple": {"executed_lines": [227, 228, 229, 232], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 205, "executed_branches": [[228, 229], [228, 232]], "missing_branches": []}, "Color.from_bgra_tuple": {"executed_lines": [257, 258, 259, 262], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 235, "executed_branches": [[258, 259], [258, 262]], "missing_branches": []}, "Color.as_hex": {"executed_lines": [283, 284, 285], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 264, "executed_branches": [[283, 284], [283, 285]], "missing_branches": []}, "Color.as_rgb": {"executed_lines": [302], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 287, "executed_branches": [], "missing_branches": []}, "Color.as_bgr": {"executed_lines": [319], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 304, "executed_branches": [], "missing_branches": []}, "Color.as_rgba": {"executed_lines": [336], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 321, "executed_branches": [], "missing_branches": []}, "Color.as_bgra": {"executed_lines": [353], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 338, "executed_branches": [], "missing_branches": []}, "Color.WHITE": {"executed_lines": [357], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 356, "executed_branches": [], "missing_branches": []}, "Color.BLACK": {"executed_lines": [361], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 360, "executed_branches": [], "missing_branches": []}, "Color.GREY": {"executed_lines": [365], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 364, "executed_branches": [], "missing_branches": []}, "Color.RED": {"executed_lines": [369], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 368, "executed_branches": [], "missing_branches": []}, "Color.GREEN": {"executed_lines": [373], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 372, "executed_branches": [], "missing_branches": []}, "Color.BLUE": {"executed_lines": [377], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 376, "executed_branches": [], "missing_branches": []}, "Color.YELLOW": {"executed_lines": [381], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 380, "executed_branches": [], "missing_branches": []}, "Color.ROBOFLOW": {"executed_lines": [385], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 384, "executed_branches": [], "missing_branches": []}, "Color.__hash__": {"executed_lines": [388], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 387, "executed_branches": [], "missing_branches": []}, "Color.__repr__": {"executed_lines": [391, 392, 393], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 390, "executed_branches": [[391, 392], [391, 393]], "missing_branches": []}, "Color.__eq__": {"executed_lines": [396], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 395, "executed_branches": [], "missing_branches": []}, "ColorPalette.DEFAULT": {"executed_lines": [428], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 410, "executed_branches": [], "missing_branches": []}, "ColorPalette.ROBOFLOW": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [449], "excluded_lines": [], "start_line": 431, "executed_branches": [], "missing_branches": []}, "ColorPalette.LEGACY": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [453], "excluded_lines": [], "start_line": 452, "executed_branches": [], "missing_branches": []}, "ColorPalette.from_hex": {"executed_lines": [475, 476], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 456, "executed_branches": [], "missing_branches": []}, "ColorPalette.from_matplotlib": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [501, 503, 504, 506, 508], "excluded_lines": [], "start_line": 479, "executed_branches": [], "missing_branches": [[503, 504], [503, 506]]}, "ColorPalette.by_idx": {"executed_lines": [532, 534, 535], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [533], "excluded_lines": [], "start_line": 512, "executed_branches": [[532, 534]], "missing_branches": [[532, 533]]}, "ColorPalette.__len__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [544], "excluded_lines": [], "start_line": 537, "executed_branches": [], "missing_branches": []}, "unify_to_bgr": {"executed_lines": [568, 571, 572], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [569, 570], "excluded_lines": [], "start_line": 547, "executed_branches": [[568, 571]], "missing_branches": [[568, 569]]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 34, 54, 57, 65, 66, 100, 101, 102, 103, 105, 106, 148, 149, 176, 177, 204, 205, 234, 235, 264, 287, 304, 321, 338, 355, 356, 359, 360, 363, 364, 367, 368, 371, 372, 375, 376, 379, 380, 383, 384, 387, 390, 395, 405, 406, 407, 409, 410, 430, 431, 451, 452, 455, 456, 478, 479, 512, 537, 547], "summary": {"covered_lines": 65, "num_statements": 65, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Color": {"executed_lines": [134, 135, 136, 137, 138, 139, 141, 142, 143, 145, 146, 171, 172, 173, 174, 199, 200, 201, 202, 227, 228, 229, 232, 257, 258, 259, 262, 283, 284, 285, 302, 319, 336, 353, 357, 361, 365, 369, 373, 377, 381, 385, 388, 391, 392, 393, 396], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 18, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66, "executed_branches": [[136, 137], [136, 138], [138, 139], [138, 141], [141, 142], [141, 145], [172, 173], [172, 174], [200, 201], [200, 202], [228, 229], [228, 232], [258, 259], [258, 262], [283, 284], [283, 285], [391, 392], [391, 393]], "missing_branches": []}, "ColorPalette": {"executed_lines": [428, 475, 476, 532, 534, 535], "summary": {"covered_lines": 6, "num_statements": 15, "percent_covered": 36.8421052631579, "percent_covered_display": "37", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 40.0, "percent_statements_covered_display": "40", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 3, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [449, 453, 501, 503, 504, 506, 508, 533, 544], "excluded_lines": [], "start_line": 406, "executed_branches": [[532, 534]], "missing_branches": [[503, 504], [503, 506], [532, 533]]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 34, 54, 57, 58, 59, 60, 61, 62, 65, 66, 100, 101, 102, 103, 105, 106, 148, 149, 176, 177, 204, 205, 234, 235, 264, 287, 304, 321, 338, 355, 356, 359, 360, 363, 364, 367, 368, 371, 372, 375, 376, 379, 380, 383, 384, 387, 390, 395, 405, 406, 407, 409, 410, 430, 431, 451, 452, 455, 456, 478, 479, 512, 537, 547, 568, 571, 572], "summary": {"covered_lines": 73, "num_statements": 75, "percent_covered": 96.29629629629629, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 97.33333333333333, "percent_statements_covered_display": "97", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [569, 570], "excluded_lines": [], "start_line": 1, "executed_branches": [[59, 60], [59, 61], [61, -57], [61, 62], [568, 571]], "missing_branches": [[568, 569]]}}}, "src\\supervision\\draw\\utils.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 14, 44, 62, 69, 72, 114, 166, 183, 186, 189, 206, 209, 210, 211, 215, 218, 301, 371, 396], "summary": {"covered_lines": 27, "num_statements": 78, "percent_covered": 28.571428571428573, "percent_covered_display": "29", "missing_lines": 51, "excluded_lines": 0, "percent_statements_covered": 34.61538461538461, "percent_statements_covered_display": "35", "num_branches": 20, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 19, "percent_branches_covered": 5.0, "percent_branches_covered_display": "5"}, "missing_lines": [34, 41, 90, 91, 99, 100, 107, 111, 132, 133, 134, 136, 140, 147, 148, 155, 156, 163, 207, 267, 274, 276, 283, 284, 288, 298, 325, 326, 327, 328, 331, 332, 334, 335, 336, 337, 339, 345, 348, 349, 350, 355, 358, 359, 360, 366, 368, 393, 418, 419, 420], "excluded_lines": [], "executed_branches": [[206, 209]], "missing_branches": [[90, 91], [90, 99], [147, 148], [147, 155], [155, 156], [155, 163], [206, 207], [283, 284], [283, 288], [325, 326], [325, 331], [326, 327], [326, 328], [331, 332], [331, 334], [339, 345], [339, 348], [418, 419], [418, 420]], "functions": {"draw_line": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [34, 41], "excluded_lines": [], "start_line": 14, "executed_branches": [], "missing_branches": []}, "draw_rectangle": {"executed_lines": [62, 69], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44, "executed_branches": [], "missing_branches": []}, "draw_filled_rectangle": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [90, 91, 99, 100, 107, 111], "excluded_lines": [], "start_line": 72, "executed_branches": [], "missing_branches": [[90, 91], [90, 99]]}, "draw_rounded_rectangle": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [132, 133, 134, 136, 140, 147, 148, 155, 156, 163], "excluded_lines": [], "start_line": 114, "executed_branches": [], "missing_branches": [[147, 148], [147, 155], [155, 156], [155, 163]]}, "draw_polygon": {"executed_lines": [183, 186], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 166, "executed_branches": [], "missing_branches": []}, "draw_filled_polygon": {"executed_lines": [206, 209, 210, 211, 215], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [207], "excluded_lines": [], "start_line": 189, "executed_branches": [[206, 209]], "missing_branches": [[206, 207]]}, "draw_text": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [267, 274, 276, 283, 284, 288, 298], "excluded_lines": [], "start_line": 218, "executed_branches": [], "missing_branches": [[283, 284], [283, 288]]}, "draw_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [325, 326, 327, 328, 331, 332, 334, 335, 336, 337, 339, 345, 348, 349, 350, 355, 358, 359, 360, 366, 368], "excluded_lines": [], "start_line": 301, "executed_branches": [], "missing_branches": [[325, 326], [325, 331], [326, 327], [326, 328], [331, 332], [331, 334], [339, 345], [339, 348]]}, "calculate_optimal_text_scale": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [393], "excluded_lines": [], "start_line": 371, "executed_branches": [], "missing_branches": []}, "calculate_optimal_line_thickness": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [418, 419, 420], "excluded_lines": [], "start_line": 396, "executed_branches": [], "missing_branches": [[418, 419], [418, 420]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 14, 44, 72, 114, 166, 189, 218, 301, 371, 396], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 14, 44, 62, 69, 72, 114, 166, 183, 186, 189, 206, 209, 210, 211, 215, 218, 301, 371, 396], "summary": {"covered_lines": 27, "num_statements": 78, "percent_covered": 28.571428571428573, "percent_covered_display": "29", "missing_lines": 51, "excluded_lines": 0, "percent_statements_covered": 34.61538461538461, "percent_statements_covered_display": "35", "num_branches": 20, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 19, "percent_branches_covered": 5.0, "percent_branches_covered_display": "5"}, "missing_lines": [34, 41, 90, 91, 99, 100, 107, 111, 132, 133, 134, 136, 140, 147, 148, 155, 156, 163, 207, 267, 274, 276, 283, 284, 288, 298, 325, 326, 327, 328, 331, 332, 334, 335, 336, 337, 339, 345, 348, 349, 350, 355, 358, 359, 360, 366, 368, 393, 418, 419, 420], "excluded_lines": [], "start_line": 1, "executed_branches": [[206, 209]], "missing_branches": [[90, 91], [90, 99], [147, 148], [147, 155], [155, 156], [155, 163], [206, 207], [283, 284], [283, 288], [325, 326], [325, 331], [326, 327], [326, 328], [331, 332], [331, 334], [339, 345], [339, 348], [418, 419], [418, 420]]}}}, "src\\supervision\\geometry\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\geometry\\core.py": {"executed_lines": [1, 3, 4, 5, 8, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 29, 30, 50, 51, 53, 60, 62, 72, 73, 95, 96, 98, 99, 106, 107, 108, 110, 111, 123, 138, 139, 140, 141, 142, 145, 146, 170, 171, 172, 173, 175, 176, 180, 181, 182, 184, 185, 186, 188, 196], "summary": {"covered_lines": 57, "num_statements": 64, "percent_covered": 89.0625, "percent_covered_display": "89", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 89.0625, "percent_statements_covered_display": "89", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [26, 69, 118, 177, 178, 189, 197], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"Position.list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [26], "excluded_lines": [], "start_line": 25, "executed_branches": [], "missing_branches": []}, "Point.as_xy_int_tuple": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53, "executed_branches": [], "missing_branches": []}, "Point.as_xy_float_tuple": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [69], "excluded_lines": [], "start_line": 62, "executed_branches": [], "missing_branches": []}, "Vector.magnitude": {"executed_lines": [106, 107, 108], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99, "executed_branches": [], "missing_branches": []}, "Vector.center": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [118], "excluded_lines": [], "start_line": 111, "executed_branches": [], "missing_branches": []}, "Vector.cross_product": {"executed_lines": [138, 139, 140, 141, 142], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 123, "executed_branches": [], "missing_branches": []}, "Rect.from_xyxy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [177, 178], "excluded_lines": [], "start_line": 176, "executed_branches": [], "missing_branches": []}, "Rect.top_left": {"executed_lines": [182], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 181, "executed_branches": [], "missing_branches": []}, "Rect.bottom_right": {"executed_lines": [186], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 185, "executed_branches": [], "missing_branches": []}, "Rect.pad": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [189], "excluded_lines": [], "start_line": 188, "executed_branches": [], "missing_branches": []}, "Rect.as_xyxy_int_tuple": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [197], "excluded_lines": [], "start_line": 196, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 29, 30, 50, 51, 53, 62, 72, 73, 95, 96, 98, 99, 110, 111, 123, 145, 146, 170, 171, 172, 173, 175, 176, 180, 181, 184, 185, 188, 196], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Position": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [26], "excluded_lines": [], "start_line": 8, "executed_branches": [], "missing_branches": []}, "Point": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [69], "excluded_lines": [], "start_line": 30, "executed_branches": [], "missing_branches": []}, "Vector": {"executed_lines": [106, 107, 108, 138, 139, 140, 141, 142], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [118], "excluded_lines": [], "start_line": 73, "executed_branches": [], "missing_branches": []}, "Rect": {"executed_lines": [182, 186], "summary": {"covered_lines": 2, "num_statements": 6, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 33.333333333333336, "percent_statements_covered_display": "33", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [177, 178, 189, 197], "excluded_lines": [], "start_line": 146, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 29, 30, 50, 51, 53, 62, 72, 73, 95, 96, 98, 99, 110, 111, 123, 145, 146, 170, 171, 172, 173, 175, 176, 180, 181, 184, 185, 188, 196], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\geometry\\utils.py": {"executed_lines": [1, 2, 4, 7, 40, 43, 44, 45, 48, 49, 51], "summary": {"covered_lines": 11, "num_statements": 14, "percent_covered": 72.22222222222223, "percent_covered_display": "72", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 78.57142857142857, "percent_statements_covered_display": "79", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [41, 46, 47], "excluded_lines": [], "executed_branches": [[40, 43], [45, 48]], "missing_branches": [[40, 41], [45, 46]], "functions": {"get_polygon_center": {"executed_lines": [40, 43, 44, 45, 48, 49, 51], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [41, 46, 47], "excluded_lines": [], "start_line": 7, "executed_branches": [[40, 43], [45, 48]], "missing_branches": [[40, 41], [45, 46]]}, "": {"executed_lines": [1, 2, 4, 7], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 7, 40, 43, 44, 45, 48, 49, 51], "summary": {"covered_lines": 11, "num_statements": 14, "percent_covered": 72.22222222222223, "percent_covered_display": "72", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 78.57142857142857, "percent_statements_covered_display": "79", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [41, 46, 47], "excluded_lines": [], "start_line": 1, "executed_branches": [[40, 43], [45, 48]], "missing_branches": [[40, 41], [45, 46]]}}}, "src\\supervision\\key_points\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\key_points\\annotators.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 26, 30, 37, 47, 48, 50, 51, 87, 88, 89, 91, 92, 93, 95, 99, 100, 108, 111, 117, 136, 137, 138, 140, 141, 208, 209, 210, 212, 213, 227, 228, 230, 231, 232, 233, 234, 236, 237, 238, 239, 240, 241, 243, 244, 248, 250, 258, 261, 268, 274, 277, 279, 280, 281, 282, 283, 284, 285, 291, 294, 295, 296, 298, 299, 300, 301, 304, 307, 308, 309, 313, 315, 319, 321, 322, 325, 327, 328, 330, 334, 335, 338, 339, 340, 342, 346, 347, 348, 349, 351, 352, 355, 356, 357, 358, 359, 360, 364, 367, 370, 383, 402, 403, 405, 406, 448, 449, 450, 452, 453, 454, 455, 467, 468, 471, 482, 500, 501, 503, 504, 547, 548, 549, 551, 552, 553, 565, 568, 581, 583, 602, 603, 605, 606, 648, 649, 650, 652, 653, 655, 656, 657, 658, 661, 662, 663, 664, 666, 667, 668, 669, 670, 673, 674, 675, 677, 678, 679, 680, 681, 683, 684, 686, 687, 689, 691, 692, 693, 694, 696, 697, 700, 703, 709, 740, 907, 908, 929, 930, 936, 937, 940, 941, 942, 946, 947, 948, 950, 952, 953, 957, 959, 960, 965, 966, 967, 971, 972], "summary": {"covered_lines": 217, "num_statements": 282, "percent_covered": 75.62814070351759, "percent_covered_display": "76", "missing_lines": 65, "excluded_lines": 0, "percent_statements_covered": 76.95035460992908, "percent_statements_covered_display": "77", "num_branches": 116, "num_partial_branches": 10, "covered_branches": 84, "missing_branches": 32, "percent_branches_covered": 72.41379310344827, "percent_branches_covered_display": "72"}, "missing_lines": [27, 94, 214, 219, 220, 224, 225, 226, 242, 286, 320, 323, 324, 326, 341, 350, 659, 671, 732, 733, 734, 735, 736, 737, 738, 827, 828, 830, 831, 832, 834, 835, 836, 837, 839, 840, 842, 845, 846, 847, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 864, 865, 867, 879, 881, 882, 883, 885, 888, 894, 905, 915, 921, 922], "excluded_lines": [], "executed_branches": [[88, 89], [88, 91], [91, 92], [91, 108], [92, 91], [92, 93], [93, 95], [95, 99], [95, 100], [209, 210], [209, 212], [212, 213], [212, 258], [213, 227], [227, 228], [227, 230], [231, 232], [231, 234], [236, 212], [236, 237], [241, 243], [243, 244], [243, 250], [244, 248], [244, 250], [279, 280], [279, 281], [281, 282], [281, 283], [283, 284], [283, 285], [285, 291], [300, 301], [300, 304], [308, 309], [308, 313], [319, 321], [325, 327], [338, 339], [338, 367], [339, 338], [339, 340], [340, 342], [342, 346], [342, 347], [349, 351], [356, 339], [356, 357], [358, 359], [358, 360], [449, 450], [449, 452], [453, 454], [453, 467], [454, 453], [454, 455], [548, 549], [548, 551], [551, 552], [551, 565], [552, 551], [552, 553], [649, 650], [649, 652], [655, 656], [655, 696], [656, 655], [656, 657], [658, 661], [670, 673], [936, 937], [936, 940], [940, 941], [940, 950], [941, 942], [941, 946], [946, 947], [946, 948], [952, 953], [952, 957], [965, 966], [965, 972], [966, 967], [966, 971]], "missing_branches": [[93, 94], [213, 214], [219, 220], [219, 224], [224, 225], [224, 226], [241, 242], [285, 286], [319, 320], [325, 326], [340, 341], [349, 350], [658, 659], [670, 671], [831, 832], [831, 834], [839, 840], [839, 864], [851, 839], [851, 852], [852, 853], [852, 855], [853, 854], [853, 858], [855, 856], [855, 858], [864, 865], [864, 867], [881, 882], [881, 885], [885, 888], [885, 905]], "functions": {"BaseKeyPointAnnotator.annotate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [27], "excluded_lines": [], "start_line": 26, "executed_branches": [], "missing_branches": []}, "VertexAnnotator.__init__": {"executed_lines": [47, 48], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37, "executed_branches": [], "missing_branches": []}, "VertexAnnotator.annotate": {"executed_lines": [87, 88, 89, 91, 92, 93, 95, 99, 100, 108], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.47619047619048, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [94], "excluded_lines": [], "start_line": 51, "executed_branches": [[88, 89], [88, 91], [91, 92], [91, 108], [92, 91], [92, 93], [93, 95], [95, 99], [95, 100]], "missing_branches": [[93, 94]]}, "EdgeAnnotator.__init__": {"executed_lines": [136, 137, 138], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 117, "executed_branches": [], "missing_branches": []}, "EdgeAnnotator.annotate": {"executed_lines": [208, 209, 210, 212, 213, 227, 228, 230, 231, 232, 233, 234, 236, 237, 238, 239, 240, 241, 243, 244, 248, 250, 258], "summary": {"covered_lines": 23, "num_statements": 30, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 76.66666666666667, "percent_statements_covered_display": "77", "num_branches": 22, "num_partial_branches": 2, "covered_branches": 16, "missing_branches": 6, "percent_branches_covered": 72.72727272727273, "percent_branches_covered_display": "73"}, "missing_lines": [214, 219, 220, 224, 225, 226, 242], "excluded_lines": [], "start_line": 141, "executed_branches": [[209, 210], [209, 212], [212, 213], [212, 258], [213, 227], [227, 228], [227, 230], [231, 232], [231, 234], [236, 212], [236, 237], [241, 243], [243, 244], [243, 250], [244, 248], [244, 250]], "missing_branches": [[213, 214], [219, 220], [219, 224], [224, 225], [224, 226], [241, 242]]}, "_BaseVertexEllipseAnnotator.__init__": {"executed_lines": [274, 277, 279, 280, 281, 282, 283, 284, 285, 291, 294, 295, 296], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [286], "excluded_lines": [], "start_line": 268, "executed_branches": [[279, 280], [279, 281], [281, 282], [281, 283], [283, 284], [283, 285], [285, 291]], "missing_branches": [[285, 286]]}, "_BaseVertexEllipseAnnotator._get_covariances": {"executed_lines": [299, 300, 301, 304, 307, 308, 309, 313], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 298, "executed_branches": [[300, 301], [300, 304], [308, 309], [308, 313]], "missing_branches": []}, "_BaseVertexEllipseAnnotator._decompose_covariance": {"executed_lines": [319, 321, 322, 325, 327, 328], "summary": {"covered_lines": 6, "num_statements": 10, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [320, 323, 324, 326], "excluded_lines": [], "start_line": 315, "executed_branches": [[319, 321], [325, 327]], "missing_branches": [[319, 320], [325, 326]]}, "_BaseVertexEllipseAnnotator._iter_ellipse_params": {"executed_lines": [334, 335, 338, 339, 340, 342, 346, 347, 348, 349, 351, 352, 355, 356, 357, 358, 359, 360, 364, 367], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 14, "num_partial_branches": 2, "covered_branches": 12, "missing_branches": 2, "percent_branches_covered": 85.71428571428571, "percent_branches_covered_display": "86"}, "missing_lines": [341, 350], "excluded_lines": [], "start_line": 330, "executed_branches": [[338, 339], [338, 367], [339, 338], [339, 340], [340, 342], [342, 346], [342, 347], [349, 351], [356, 339], [356, 357], [358, 359], [358, 360]], "missing_branches": [[340, 341], [349, 350]]}, "VertexEllipseAreaAnnotator.__init__": {"executed_lines": [402, 403], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 383, "executed_branches": [], "missing_branches": []}, "VertexEllipseAreaAnnotator.annotate": {"executed_lines": [448, 449, 450, 452, 453, 454, 455, 467, 468], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 406, "executed_branches": [[449, 450], [449, 452], [453, 454], [453, 467], [454, 453], [454, 455]], "missing_branches": []}, "VertexEllipseOutlineAnnotator.__init__": {"executed_lines": [500, 501], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 482, "executed_branches": [], "missing_branches": []}, "VertexEllipseOutlineAnnotator.annotate": {"executed_lines": [547, 548, 549, 551, 552, 553, 565], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 504, "executed_branches": [[548, 549], [548, 551], [551, 552], [551, 565], [552, 551], [552, 553]], "missing_branches": []}, "VertexEllipseHaloAnnotator.__init__": {"executed_lines": [602, 603], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 583, "executed_branches": [], "missing_branches": []}, "VertexEllipseHaloAnnotator.annotate": {"executed_lines": [648, 649, 650, 652, 653, 655, 656, 657, 658, 661, 662, 663, 664, 666, 667, 668, 669, 670, 673, 674, 675, 677, 678, 679, 680, 681, 683, 684, 686, 687, 689, 691, 692, 693, 694, 696, 697], "summary": {"covered_lines": 37, "num_statements": 39, "percent_covered": 91.83673469387755, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.87179487179488, "percent_statements_covered_display": "95", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [659, 671], "excluded_lines": [], "start_line": 606, "executed_branches": [[649, 650], [649, 652], [655, 656], [655, 696], [656, 655], [656, 657], [658, 661], [670, 673]], "missing_branches": [[658, 659], [670, 671]]}, "VertexLabelAnnotator.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [732, 733, 734, 735, 736, 737, 738], "excluded_lines": [], "start_line": 709, "executed_branches": [], "missing_branches": []}, "VertexLabelAnnotator.annotate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 18, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [827, 828, 830, 831, 832, 834, 835, 836, 837, 839, 840, 842, 845, 846, 847, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 864, 865, 867, 879, 881, 882, 883, 885, 888, 894, 905], "excluded_lines": [], "start_line": 740, "executed_branches": [], "missing_branches": [[831, 832], [831, 834], [839, 840], [839, 864], [851, 839], [851, 852], [852, 853], [852, 855], [853, 854], [853, 858], [855, 856], [855, 858], [864, 865], [864, 867], [881, 882], [881, 885], [885, 888], [885, 905]]}, "VertexLabelAnnotator.get_text_bounding_box": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [915, 921, 922], "excluded_lines": [], "start_line": 908, "executed_branches": [], "missing_branches": []}, "VertexLabelAnnotator._resolve_labels": {"executed_lines": [936, 937, 940, 941, 942, 946, 947, 948, 950, 952, 953, 957], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 930, "executed_branches": [[936, 937], [936, 940], [940, 941], [940, 950], [941, 942], [941, 946], [946, 947], [946, 948], [952, 953], [952, 957]], "missing_branches": []}, "VertexLabelAnnotator._resolve_color_list": {"executed_lines": [965, 966, 967, 971, 972], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 960, "executed_branches": [[965, 966], [965, 972], [966, 967], [966, 971]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 26, 30, 37, 50, 51, 111, 117, 140, 141, 261, 268, 298, 315, 330, 370, 383, 405, 406, 471, 482, 503, 504, 568, 581, 583, 605, 606, 700, 703, 709, 740, 907, 908, 929, 930, 959, 960], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"BaseKeyPointAnnotator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [27], "excluded_lines": [], "start_line": 24, "executed_branches": [], "missing_branches": []}, "VertexAnnotator": {"executed_lines": [47, 48, 87, 88, 89, 91, 92, 93, 95, 99, 100, 108], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [94], "excluded_lines": [], "start_line": 30, "executed_branches": [[88, 89], [88, 91], [91, 92], [91, 108], [92, 91], [92, 93], [93, 95], [95, 99], [95, 100]], "missing_branches": [[93, 94]]}, "EdgeAnnotator": {"executed_lines": [136, 137, 138, 208, 209, 210, 212, 213, 227, 228, 230, 231, 232, 233, 234, 236, 237, 238, 239, 240, 241, 243, 244, 248, 250, 258], "summary": {"covered_lines": 26, "num_statements": 33, "percent_covered": 76.36363636363636, "percent_covered_display": "76", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 78.78787878787878, "percent_statements_covered_display": "79", "num_branches": 22, "num_partial_branches": 2, "covered_branches": 16, "missing_branches": 6, "percent_branches_covered": 72.72727272727273, "percent_branches_covered_display": "73"}, "missing_lines": [214, 219, 220, 224, 225, 226, 242], "excluded_lines": [], "start_line": 111, "executed_branches": [[209, 210], [209, 212], [212, 213], [212, 258], [213, 227], [227, 228], [227, 230], [231, 232], [231, 234], [236, 212], [236, 237], [241, 243], [243, 244], [243, 250], [244, 248], [244, 250]], "missing_branches": [[213, 214], [219, 220], [219, 224], [224, 225], [224, 226], [241, 242]]}, "_BaseVertexEllipseAnnotator": {"executed_lines": [274, 277, 279, 280, 281, 282, 283, 284, 285, 291, 294, 295, 296, 299, 300, 301, 304, 307, 308, 309, 313, 319, 321, 322, 325, 327, 328, 334, 335, 338, 339, 340, 342, 346, 347, 348, 349, 351, 352, 355, 356, 357, 358, 359, 360, 364, 367], "summary": {"covered_lines": 47, "num_statements": 54, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 87.03703703703704, "percent_statements_covered_display": "87", "num_branches": 30, "num_partial_branches": 5, "covered_branches": 25, "missing_branches": 5, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [286, 320, 323, 324, 326, 341, 350], "excluded_lines": [], "start_line": 261, "executed_branches": [[279, 280], [279, 281], [281, 282], [281, 283], [283, 284], [283, 285], [285, 291], [300, 301], [300, 304], [308, 309], [308, 313], [319, 321], [325, 327], [338, 339], [338, 367], [339, 338], [339, 340], [340, 342], [342, 346], [342, 347], [349, 351], [356, 339], [356, 357], [358, 359], [358, 360]], "missing_branches": [[285, 286], [319, 320], [325, 326], [340, 341], [349, 350]]}, "VertexEllipseAreaAnnotator": {"executed_lines": [402, 403, 448, 449, 450, 452, 453, 454, 455, 467, 468], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 370, "executed_branches": [[449, 450], [449, 452], [453, 454], [453, 467], [454, 453], [454, 455]], "missing_branches": []}, "VertexEllipseOutlineAnnotator": {"executed_lines": [500, 501, 547, 548, 549, 551, 552, 553, 565], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 471, "executed_branches": [[548, 549], [548, 551], [551, 552], [551, 565], [552, 551], [552, 553]], "missing_branches": []}, "VertexEllipseHaloAnnotator": {"executed_lines": [602, 603, 648, 649, 650, 652, 653, 655, 656, 657, 658, 661, 662, 663, 664, 666, 667, 668, 669, 670, 673, 674, 675, 677, 678, 679, 680, 681, 683, 684, 686, 687, 689, 691, 692, 693, 694, 696, 697], "summary": {"covered_lines": 39, "num_statements": 41, "percent_covered": 92.15686274509804, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.1219512195122, "percent_statements_covered_display": "95", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [659, 671], "excluded_lines": [], "start_line": 568, "executed_branches": [[649, 650], [649, 652], [655, 656], [655, 696], [656, 655], [656, 657], [658, 661], [670, 673]], "missing_branches": [[658, 659], [670, 671]]}, "VertexLabelAnnotator": {"executed_lines": [936, 937, 940, 941, 942, 946, 947, 948, 950, 952, 953, 957, 965, 966, 967, 971, 972], "summary": {"covered_lines": 17, "num_statements": 64, "percent_covered": 32.291666666666664, "percent_covered_display": "32", "missing_lines": 47, "excluded_lines": 0, "percent_statements_covered": 26.5625, "percent_statements_covered_display": "27", "num_branches": 32, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 18, "percent_branches_covered": 43.75, "percent_branches_covered_display": "44"}, "missing_lines": [732, 733, 734, 735, 736, 737, 738, 827, 828, 830, 831, 832, 834, 835, 836, 837, 839, 840, 842, 845, 846, 847, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 864, 865, 867, 879, 881, 882, 883, 885, 888, 894, 905, 915, 921, 922], "excluded_lines": [], "start_line": 703, "executed_branches": [[936, 937], [936, 940], [940, 941], [940, 950], [941, 942], [941, 946], [946, 947], [946, 948], [952, 953], [952, 957], [965, 966], [965, 972], [966, 967], [966, 971]], "missing_branches": [[831, 832], [831, 834], [839, 840], [839, 864], [851, 839], [851, 852], [852, 853], [852, 855], [853, 854], [853, 858], [855, 856], [855, 858], [864, 865], [864, 867], [881, 882], [881, 885], [885, 888], [885, 905]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 26, 30, 37, 50, 51, 111, 117, 140, 141, 261, 268, 298, 315, 330, 370, 383, 405, 406, 471, 482, 503, 504, 568, 581, 583, 605, 606, 700, 703, 709, 740, 907, 908, 929, 930, 959, 960], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\key_points\\core.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 18, 19, 21, 23, 31, 32, 39, 42, 46, 47, 48, 51, 63, 65, 67, 68, 69, 71, 74, 75, 238, 239, 240, 241, 242, 243, 245, 277, 278, 279, 283, 288, 290, 291, 292, 293, 294, 295, 296, 298, 299, 308, 309, 317, 318, 325, 343, 345, 359, 360, 369, 370, 372, 387, 388, 430, 431, 436, 438, 440, 441, 443, 444, 445, 446, 448, 449, 450, 451, 452, 453, 454, 455, 457, 458, 460, 464, 471, 472, 550, 551, 552, 553, 556, 573, 576, 577, 578, 579, 580, 581, 582, 586, 587, 589, 590, 592, 597, 598, 636, 637, 666, 667, 669, 670, 674, 675, 679, 680, 687, 694, 695, 745, 746, 830, 864, 865, 866, 870, 871, 875, 876, 877, 883, 884, 885, 886, 887, 891, 892, 893, 894, 895, 896, 897, 901, 904, 905, 906, 907, 910, 911, 912, 914, 916, 925, 930, 931, 932, 934, 935, 937, 938, 939, 940, 942, 943, 944, 945, 947, 949, 959, 961, 971, 972, 977, 982, 985, 988, 989, 998, 1009, 1017, 1018, 1021, 1022, 1023, 1026, 1028, 1031, 1032, 1033, 1036, 1038, 1040, 1082, 1085, 1086, 1088, 1089, 1090, 1092, 1101, 1128, 1129, 1131, 1132, 1134, 1136, 1137, 1153, 1155, 1171, 1172, 1173, 1175, 1218, 1219, 1221, 1222, 1226, 1227, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1243, 1244, 1246, 1247, 1255, 1261, 1263, 1295, 1296, 1298, 1299, 1300, 1301, 1305, 1306, 1308, 1309, 1310, 1311, 1312, 1314, 1316, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1328, 1329, 1330, 1331, 1333], "summary": {"covered_lines": 266, "num_statements": 323, "percent_covered": 78.34394904458598, "percent_covered_display": "78", "missing_lines": 57, "excluded_lines": 0, "percent_statements_covered": 82.3529411764706, "percent_statements_covered_display": "82", "num_branches": 148, "num_partial_branches": 23, "covered_branches": 103, "missing_branches": 45, "percent_branches_covered": 69.5945945945946, "percent_branches_covered_display": "70"}, "missing_lines": [64, 66, 70, 311, 315, 319, 323, 371, 437, 439, 554, 562, 563, 564, 565, 566, 568, 574, 623, 624, 626, 627, 628, 630, 631, 634, 677, 681, 682, 683, 684, 685, 727, 728, 729, 730, 743, 808, 809, 810, 812, 820, 822, 828, 908, 955, 956, 957, 1010, 1011, 1012, 1015, 1016, 1027, 1037, 1083, 1326], "excluded_lines": [], "executed_branches": [[46, 47], [46, 48], [63, 65], [65, 67], [67, 68], [67, 69], [69, 71], [277, 278], [277, 290], [278, 279], [278, 283], [359, -345], [359, 360], [370, 372], [430, 431], [430, 436], [436, 438], [438, 440], [440, 441], [440, 443], [448, 449], [448, 460], [451, 452], [451, 454], [550, 551], [552, 553], [552, 573], [553, 556], [573, 576], [578, 579], [578, 592], [581, 582], [581, 589], [666, 667], [666, 669], [674, 675], [680, 687], [865, 866], [865, 870], [870, 871], [870, 875], [876, 877], [876, 883], [886, 887], [886, 891], [892, 893], [892, 894], [894, 895], [894, 906], [897, 901], [897, 904], [904, 894], [904, 905], [907, 910], [911, 912], [930, 931], [930, 932], [934, 935], [934, 937], [937, 938], [937, 939], [939, 940], [939, 942], [942, 943], [942, 944], [944, 945], [944, 947], [949, 959], [1009, 1017], [1017, 1018], [1017, 1038], [1018, 1021], [1018, 1028], [1022, 1023], [1026, 1038], [1028, 1031], [1032, 1033], [1036, 1038], [1082, 1085], [1085, 1086], [1085, 1088], [1128, 1129], [1128, 1131], [1131, 1132], [1218, 1219], [1218, 1221], [1221, 1222], [1221, 1226], [1226, 1227], [1226, 1233], [1235, 1236], [1235, 1237], [1243, 1244], [1243, 1246], [1295, 1296], [1295, 1298], [1299, 1300], [1299, 1305], [1318, 1319], [1318, 1320], [1320, 1321], [1322, 1323], [1322, 1324]], "missing_branches": [[63, 64], [65, 66], [69, 70], [370, 371], [436, 437], [438, 439], [550, 562], [553, 554], [562, 563], [562, 564], [564, 565], [564, 573], [565, 566], [565, 568], [573, 574], [623, 624], [623, 626], [674, 677], [680, 681], [682, 683], [682, 685], [727, 728], [727, 743], [728, 729], [728, 730], [808, 809], [808, 828], [809, 810], [809, 812], [907, 908], [911, 914], [949, 955], [1009, 1010], [1011, 1012], [1011, 1015], [1015, 1016], [1015, 1038], [1022, 1026], [1026, 1027], [1028, 1038], [1032, 1036], [1036, 1037], [1082, 1083], [1131, 1134], [1320, 1326]], "functions": {"_optional_array_equal": {"executed_lines": [46, 47, 48], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42, "executed_branches": [[46, 47], [46, 48]], "missing_branches": []}, "_normalize_row_index": {"executed_lines": [63, 65, 67, 68, 69, 71], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 64.70588235294117, "percent_covered_display": "65", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 8, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 3, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [64, 66, 70], "excluded_lines": [], "start_line": 51, "executed_branches": [[63, 65], [65, 67], [67, 68], [67, 69], [69, 71]], "missing_branches": [[63, 64], [65, 66], [69, 70]]}, "KeyPoints.__init__": {"executed_lines": [277, 278, 279, 283, 288, 290, 291, 292, 293, 294, 295, 296], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 245, "executed_branches": [[277, 278], [277, 290], [278, 279], [278, 283]], "missing_branches": []}, "KeyPoints.__post_init__": {"executed_lines": [299], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 298, "executed_branches": [], "missing_branches": []}, "KeyPoints.confidence": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [319, 323], "excluded_lines": [], "start_line": 318, "executed_branches": [], "missing_branches": []}, "KeyPoints.__len__": {"executed_lines": [343], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 325, "executed_branches": [], "missing_branches": []}, "KeyPoints.__iter__": {"executed_lines": [359, 360], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 345, "executed_branches": [[359, -345], [359, 360]], "missing_branches": []}, "KeyPoints.__eq__": {"executed_lines": [370, 372], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [371], "excluded_lines": [], "start_line": 369, "executed_branches": [[370, 372]], "missing_branches": [[370, 371]]}, "KeyPoints.from_inference": {"executed_lines": [430, 431, 436, 438, 440, 441, 443, 444, 445, 446, 448, 449, 450, 451, 452, 453, 454, 455, 457, 458, 460, 464], "summary": {"covered_lines": 22, "num_statements": 24, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 12, "num_partial_branches": 2, "covered_branches": 10, "missing_branches": 2, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [437, 439], "excluded_lines": [], "start_line": 388, "executed_branches": [[430, 431], [430, 436], [436, 438], [438, 440], [440, 441], [440, 443], [448, 449], [448, 460], [451, 452], [451, 454]], "missing_branches": [[436, 437], [438, 439]]}, "KeyPoints.from_mediapipe": {"executed_lines": [550, 551, 552, 553, 556, 573, 576, 577, 578, 579, 580, 581, 582, 586, 587, 589, 590, 592], "summary": {"covered_lines": 18, "num_statements": 26, "percent_covered": 61.36363636363637, "percent_covered_display": "61", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 69.23076923076923, "percent_statements_covered_display": "69", "num_branches": 18, "num_partial_branches": 3, "covered_branches": 9, "missing_branches": 9, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [554, 562, 563, 564, 565, 566, 568, 574], "excluded_lines": [], "start_line": 472, "executed_branches": [[550, 551], [552, 553], [552, 573], [553, 556], [573, 576], [578, 579], [578, 592], [581, 582], [581, 589]], "missing_branches": [[550, 562], [553, 554], [562, 563], [562, 564], [564, 565], [564, 573], [565, 566], [565, 568], [573, 574]]}, "KeyPoints.from_ultralytics": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [623, 624, 626, 627, 628, 630, 631, 634], "excluded_lines": [], "start_line": 598, "executed_branches": [], "missing_branches": [[623, 624], [623, 626]]}, "KeyPoints.from_yolo_nas": {"executed_lines": [666, 667, 669, 670, 674, 675, 679, 680, 687], "summary": {"covered_lines": 9, "num_statements": 15, "percent_covered": 56.52173913043478, "percent_covered_display": "57", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 4, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [677, 681, 682, 683, 684, 685], "excluded_lines": [], "start_line": 637, "executed_branches": [[666, 667], [666, 669], [674, 675], [680, 687]], "missing_branches": [[674, 677], [680, 681], [682, 683], [682, 685]]}, "KeyPoints.from_detectron2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [727, 728, 729, 730, 743], "excluded_lines": [], "start_line": 695, "executed_branches": [], "missing_branches": [[727, 728], [727, 743], [728, 729], [728, 730]]}, "KeyPoints.from_transformers": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [808, 809, 810, 812, 820, 822, 828], "excluded_lines": [], "start_line": 746, "executed_branches": [], "missing_branches": [[808, 809], [808, 828], [809, 810], [809, 812]]}, "KeyPoints._get_by_2d_bool_mask": {"executed_lines": [864, 865, 866, 870, 871, 875, 876, 877, 883, 884, 885, 886, 887, 891, 892, 893, 894, 895, 896, 897, 901, 904, 905, 906, 907, 910, 911, 912, 914, 916], "summary": {"covered_lines": 30, "num_statements": 31, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.7741935483871, "percent_statements_covered_display": "97", "num_branches": 20, "num_partial_branches": 2, "covered_branches": 18, "missing_branches": 2, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [908], "excluded_lines": [], "start_line": 830, "executed_branches": [[865, 866], [865, 870], [870, 871], [870, 875], [876, 877], [876, 883], [886, 887], [886, 891], [892, 893], [892, 894], [894, 895], [894, 906], [897, 901], [897, 904], [904, 894], [904, 905], [907, 910], [911, 912]], "missing_branches": [[907, 908], [911, 914]]}, "KeyPoints._normalize_getitem_index": {"executed_lines": [930, 931, 932, 934, 935, 937, 938, 939, 940, 942, 943, 944, 945, 947, 949, 959], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 87.87878787878788, "percent_covered_display": "88", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 84.21052631578948, "percent_statements_covered_display": "84", "num_branches": 14, "num_partial_branches": 1, "covered_branches": 13, "missing_branches": 1, "percent_branches_covered": 92.85714285714286, "percent_branches_covered_display": "93"}, "missing_lines": [955, 956, 957], "excluded_lines": [], "start_line": 925, "executed_branches": [[930, 931], [930, 932], [934, 935], [934, 937], [937, 938], [937, 939], [939, 940], [939, 942], [942, 943], [942, 944], [944, 945], [944, 947], [949, 959]], "missing_branches": [[949, 955]]}, "KeyPoints._select_fields": {"executed_lines": [971, 972, 977, 982, 985, 988, 989], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 961, "executed_branches": [], "missing_branches": []}, "KeyPoints._reshape_selected": {"executed_lines": [1009, 1017, 1018, 1021, 1022, 1023, 1026, 1028, 1031, 1032, 1033, 1036, 1038], "summary": {"covered_lines": 13, "num_statements": 20, "percent_covered": 57.5, "percent_covered_display": "58", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 65.0, "percent_statements_covered_display": "65", "num_branches": 20, "num_partial_branches": 6, "covered_branches": 10, "missing_branches": 10, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [1010, 1011, 1012, 1015, 1016, 1027, 1037], "excluded_lines": [], "start_line": 998, "executed_branches": [[1009, 1017], [1017, 1018], [1017, 1038], [1018, 1021], [1018, 1028], [1022, 1023], [1026, 1038], [1028, 1031], [1032, 1033], [1036, 1038]], "missing_branches": [[1009, 1010], [1011, 1012], [1011, 1015], [1015, 1016], [1015, 1038], [1022, 1026], [1026, 1027], [1028, 1038], [1032, 1036], [1036, 1037]]}, "KeyPoints.__getitem__": {"executed_lines": [1082, 1085, 1086, 1088, 1089, 1090, 1092], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [1083], "excluded_lines": [], "start_line": 1040, "executed_branches": [[1082, 1085], [1085, 1086], [1085, 1088]], "missing_branches": [[1082, 1083]]}, "KeyPoints.__setitem__": {"executed_lines": [1128, 1129, 1131, 1132, 1134], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "start_line": 1101, "executed_branches": [[1128, 1129], [1128, 1131], [1131, 1132]], "missing_branches": [[1131, 1134]]}, "KeyPoints.empty": {"executed_lines": [1153], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1137, "executed_branches": [], "missing_branches": []}, "KeyPoints.is_empty": {"executed_lines": [1171, 1172, 1173], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1155, "executed_branches": [], "missing_branches": []}, "KeyPoints.with_nms": {"executed_lines": [1218, 1219, 1221, 1222, 1226, 1227, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1243, 1244, 1246, 1247, 1255, 1261], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1175, "executed_branches": [[1218, 1219], [1218, 1221], [1221, 1222], [1221, 1226], [1226, 1227], [1226, 1233], [1235, 1236], [1235, 1237], [1243, 1244], [1243, 1246]], "missing_branches": []}, "KeyPoints.as_detections": {"executed_lines": [1295, 1296, 1298, 1299, 1300, 1301, 1305, 1306, 1308, 1309, 1310, 1311, 1312, 1314, 1316, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1328, 1329, 1330, 1331, 1333], "summary": {"covered_lines": 27, "num_statements": 28, "percent_covered": 94.73684210526316, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.42857142857143, "percent_statements_covered_display": "96", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [1326], "excluded_lines": [], "start_line": 1263, "executed_branches": [[1295, 1296], [1295, 1298], [1299, 1300], [1299, 1305], [1318, 1319], [1318, 1320], [1320, 1321], [1322, 1323], [1322, 1324]], "missing_branches": [[1320, 1326]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 18, 19, 21, 23, 31, 32, 39, 42, 51, 74, 75, 238, 239, 240, 241, 242, 243, 245, 298, 308, 309, 317, 318, 325, 345, 369, 387, 388, 471, 472, 597, 598, 636, 637, 694, 695, 745, 746, 830, 925, 961, 998, 1040, 1101, 1136, 1137, 1155, 1175, 1263], "summary": {"covered_lines": 60, "num_statements": 60, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"KeyPoints": {"executed_lines": [277, 278, 279, 283, 288, 290, 291, 292, 293, 294, 295, 296, 299, 343, 359, 360, 370, 372, 430, 431, 436, 438, 440, 441, 443, 444, 445, 446, 448, 449, 450, 451, 452, 453, 454, 455, 457, 458, 460, 464, 550, 551, 552, 553, 556, 573, 576, 577, 578, 579, 580, 581, 582, 586, 587, 589, 590, 592, 666, 667, 669, 670, 674, 675, 679, 680, 687, 864, 865, 866, 870, 871, 875, 876, 877, 883, 884, 885, 886, 887, 891, 892, 893, 894, 895, 896, 897, 901, 904, 905, 906, 907, 910, 911, 912, 914, 916, 930, 931, 932, 934, 935, 937, 938, 939, 940, 942, 943, 944, 945, 947, 949, 959, 971, 972, 977, 982, 985, 988, 989, 1009, 1017, 1018, 1021, 1022, 1023, 1026, 1028, 1031, 1032, 1033, 1036, 1038, 1082, 1085, 1086, 1088, 1089, 1090, 1092, 1128, 1129, 1131, 1132, 1134, 1153, 1171, 1172, 1173, 1218, 1219, 1221, 1222, 1226, 1227, 1233, 1234, 1235, 1236, 1237, 1238, 1239, 1240, 1241, 1243, 1244, 1246, 1247, 1255, 1261, 1295, 1296, 1298, 1299, 1300, 1301, 1305, 1306, 1308, 1309, 1310, 1311, 1312, 1314, 1316, 1318, 1319, 1320, 1321, 1322, 1323, 1324, 1328, 1329, 1330, 1331, 1333], "summary": {"covered_lines": 197, "num_statements": 251, "percent_covered": 75.32133676092545, "percent_covered_display": "75", "missing_lines": 54, "excluded_lines": 0, "percent_statements_covered": 78.48605577689243, "percent_statements_covered_display": "78", "num_branches": 138, "num_partial_branches": 20, "covered_branches": 96, "missing_branches": 42, "percent_branches_covered": 69.56521739130434, "percent_branches_covered_display": "70"}, "missing_lines": [311, 315, 319, 323, 371, 437, 439, 554, 562, 563, 564, 565, 566, 568, 574, 623, 624, 626, 627, 628, 630, 631, 634, 677, 681, 682, 683, 684, 685, 727, 728, 729, 730, 743, 808, 809, 810, 812, 820, 822, 828, 908, 955, 956, 957, 1010, 1011, 1012, 1015, 1016, 1027, 1037, 1083, 1326], "excluded_lines": [], "start_line": 75, "executed_branches": [[277, 278], [277, 290], [278, 279], [278, 283], [359, -345], [359, 360], [370, 372], [430, 431], [430, 436], [436, 438], [438, 440], [440, 441], [440, 443], [448, 449], [448, 460], [451, 452], [451, 454], [550, 551], [552, 553], [552, 573], [553, 556], [573, 576], [578, 579], [578, 592], [581, 582], [581, 589], [666, 667], [666, 669], [674, 675], [680, 687], [865, 866], [865, 870], [870, 871], [870, 875], [876, 877], [876, 883], [886, 887], [886, 891], [892, 893], [892, 894], [894, 895], [894, 906], [897, 901], [897, 904], [904, 894], [904, 905], [907, 910], [911, 912], [930, 931], [930, 932], [934, 935], [934, 937], [937, 938], [937, 939], [939, 940], [939, 942], [942, 943], [942, 944], [944, 945], [944, 947], [949, 959], [1009, 1017], [1017, 1018], [1017, 1038], [1018, 1021], [1018, 1028], [1022, 1023], [1026, 1038], [1028, 1031], [1032, 1033], [1036, 1038], [1082, 1085], [1085, 1086], [1085, 1088], [1128, 1129], [1128, 1131], [1131, 1132], [1218, 1219], [1218, 1221], [1221, 1222], [1221, 1226], [1226, 1227], [1226, 1233], [1235, 1236], [1235, 1237], [1243, 1244], [1243, 1246], [1295, 1296], [1295, 1298], [1299, 1300], [1299, 1305], [1318, 1319], [1318, 1320], [1320, 1321], [1322, 1323], [1322, 1324]], "missing_branches": [[370, 371], [436, 437], [438, 439], [550, 562], [553, 554], [562, 563], [562, 564], [564, 565], [564, 573], [565, 566], [565, 568], [573, 574], [623, 624], [623, 626], [674, 677], [680, 681], [682, 683], [682, 685], [727, 728], [727, 743], [728, 729], [728, 730], [808, 809], [808, 828], [809, 810], [809, 812], [907, 908], [911, 914], [949, 955], [1009, 1010], [1011, 1012], [1011, 1015], [1015, 1016], [1015, 1038], [1022, 1026], [1026, 1027], [1028, 1038], [1032, 1036], [1036, 1037], [1082, 1083], [1131, 1134], [1320, 1326]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 18, 19, 21, 23, 31, 32, 39, 42, 46, 47, 48, 51, 63, 65, 67, 68, 69, 71, 74, 75, 238, 239, 240, 241, 242, 243, 245, 298, 308, 309, 317, 318, 325, 345, 369, 387, 388, 471, 472, 597, 598, 636, 637, 694, 695, 745, 746, 830, 925, 961, 998, 1040, 1101, 1136, 1137, 1155, 1175, 1263], "summary": {"covered_lines": 69, "num_statements": 72, "percent_covered": 92.6829268292683, "percent_covered_display": "93", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 95.83333333333333, "percent_statements_covered_display": "96", "num_branches": 10, "num_partial_branches": 3, "covered_branches": 7, "missing_branches": 3, "percent_branches_covered": 70.0, "percent_branches_covered_display": "70"}, "missing_lines": [64, 66, 70], "excluded_lines": [], "start_line": 1, "executed_branches": [[46, 47], [46, 48], [63, 65], [65, 67], [67, 68], [67, 69], [69, 71]], "missing_branches": [[63, 64], [65, 66], [69, 70]]}}}, "src\\supervision\\key_points\\skeletons.py": {"executed_lines": [1, 3, 6, 7, 27, 65, 2624, 2639, 2640, 2642, 2643, 2645, 2646], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[2642, -1], [2642, 2643]], "missing_branches": [], "functions": {"": {"executed_lines": [1, 3, 6, 7, 27, 65, 2624, 2639, 2640, 2642, 2643, 2645, 2646], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[2642, -1], [2642, 2643]], "missing_branches": []}}, "classes": {"Skeleton": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 6, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 6, 7, 27, 65, 2624, 2639, 2640, 2642, 2643, 2645, 2646], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[2642, -1], [2642, 2643]], "missing_branches": []}}}, "src\\supervision\\metrics\\__init__.py": {"executed_lines": [1, 6, 7, 11, 15, 16, 17, 23], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [1, 6, 7, 11, 15, 16, 17, 23], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 6, 7, 11, 15, 16, 17, 23], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\core.py": {"executed_lines": [1, 3, 4, 5, 8, 13, 14, 21, 22, 28, 29, 36, 46, 47, 48, 51, 70, 71, 72], "summary": {"covered_lines": 19, "num_statements": 22, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 86.36363636363636, "percent_statements_covered_display": "86", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [19, 26, 33], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"Metric.update": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [19], "excluded_lines": [], "start_line": 14, "executed_branches": [], "missing_branches": []}, "Metric.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [26], "excluded_lines": [], "start_line": 22, "executed_branches": [], "missing_branches": []}, "Metric.compute": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [33], "excluded_lines": [], "start_line": 29, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 13, 14, 21, 22, 28, 29, 36, 46, 47, 48, 51, 70, 71, 72], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Metric": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [19, 26, 33], "excluded_lines": [], "start_line": 8, "executed_branches": [], "missing_branches": []}, "MetricTarget": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "AveragingMethod": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 13, 14, 21, 22, 28, 29, 36, 46, 47, 48, 51, 70, 71, 72], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\detection.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 19, 22, 23, 24, 29, 97, 99, 100, 104, 105, 106, 107, 108, 112, 114, 116, 117, 118, 119, 126, 128, 130, 135, 136, 137, 140, 142, 143, 146, 154, 159, 160, 168, 171, 175, 176, 180, 181, 187, 192, 199, 200, 219, 220, 221, 222, 223, 225, 235, 237, 238, 299, 300, 301, 302, 307, 312, 321, 322, 391, 392, 394, 395, 396, 397, 405, 413, 414, 453, 455, 458, 461, 466, 472, 475, 476, 477, 479, 480, 482, 484, 485, 486, 487, 489, 491, 494, 495, 496, 498, 499, 502, 503, 506, 507, 511, 517, 518, 521, 522, 524, 525, 526, 527, 535, 539, 550, 551, 553, 554, 556, 557, 560, 561, 562, 565, 566, 567, 570, 571, 572, 574, 576, 577, 584, 585, 586, 587, 588, 589, 590, 592, 593, 660, 750, 755, 756, 781, 782, 783, 784, 786, 787, 839, 840, 886, 887, 983, 984, 999, 1000, 1001, 1004, 1005, 1010, 1011, 1019, 1021, 1022, 1066, 1067], "summary": {"covered_lines": 173, "num_statements": 297, "percent_covered": 56.479217603911984, "percent_covered_display": "56", "missing_lines": 124, "excluded_lines": 0, "percent_statements_covered": 58.24915824915825, "percent_statements_covered_display": "58", "num_branches": 112, "num_partial_branches": 6, "covered_branches": 58, "missing_branches": 54, "percent_branches_covered": 51.785714285714285, "percent_branches_covered_display": "52"}, "missing_lines": [155, 163, 196, 226, 227, 228, 462, 467, 646, 647, 648, 649, 650, 651, 684, 686, 687, 688, 690, 692, 694, 695, 696, 697, 698, 699, 701, 702, 703, 704, 706, 707, 709, 710, 712, 713, 714, 716, 718, 719, 721, 722, 723, 724, 725, 726, 737, 738, 740, 741, 742, 743, 744, 747, 827, 828, 829, 830, 833, 834, 876, 877, 878, 879, 880, 881, 935, 936, 937, 940, 941, 942, 943, 950, 952, 953, 956, 966, 967, 968, 969, 970, 971, 973, 974, 976, 1015, 1044, 1045, 1046, 1047, 1049, 1050, 1052, 1053, 1054, 1055, 1057, 1058, 1059, 1060, 1062, 1063, 1064, 1088, 1089, 1090, 1092, 1093, 1095, 1099, 1100, 1101, 1102, 1104, 1105, 1107, 1108, 1109, 1110, 1112, 1113, 1119, 1120], "excluded_lines": [], "executed_branches": [[23, -22], [23, 24], [99, 100], [99, 104], [104, 105], [104, 128], [106, 107], [106, 114], [107, 108], [107, 112], [116, 117], [116, 118], [118, 119], [118, 126], [135, 136], [135, 142], [136, 137], [136, 140], [154, 159], [159, -146], [159, 160], [160, 168], [175, 176], [175, 180], [180, -146], [180, 181], [301, 302], [301, 312], [396, 397], [396, 405], [461, 466], [466, 472], [482, 484], [482, 489], [485, 486], [485, 487], [489, 491], [489, 498], [494, 495], [494, 496], [506, 507], [506, 511], [521, 522], [521, 524], [553, 554], [553, 565], [554, 553], [554, 556], [565, 566], [565, 570], [566, 565], [566, 567], [570, 571], [570, 574], [571, 570], [571, 572], [584, 585], [1010, 1011]], "missing_branches": [[154, 155], [160, 163], [226, 227], [226, 228], [461, 462], [466, 467], [584, 589], [647, 648], [647, 651], [686, 687], [686, 690], [696, 697], [696, 701], [709, 710], [709, 712], [721, 722], [721, 737], [722, 723], [722, 737], [723, 722], [723, 724], [725, 723], [725, 726], [737, 738], [737, 740], [743, 744], [743, 747], [829, 830], [829, 834], [877, 878], [877, 881], [940, 941], [940, 966], [941, 942], [941, 952], [942, 943], [942, 950], [952, 940], [952, 953], [966, 967], [966, 973], [1010, 1015], [1049, 1050], [1049, 1063], [1052, 1049], [1052, 1053], [1057, 1058], [1057, 1062], [1099, 1100], [1099, 1119], [1104, 1105], [1104, 1107], [1112, 1099], [1112, 1113]], "functions": {"_assert_supported_target": {"executed_lines": [23, 24], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22, "executed_branches": [[23, -22], [23, 24]], "missing_branches": []}, "detections_to_tensor": {"executed_lines": [97, 99, 100, 104, 105, 106, 107, 108, 112, 114, 116, 117, 118, 119, 126, 128, 130, 135, 136, 137, 140, 142, 143], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 16, "num_partial_branches": 0, "covered_branches": 16, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29, "executed_branches": [[99, 100], [99, 104], [104, 105], [104, 128], [106, 107], [106, 114], [107, 108], [107, 112], [116, 117], [116, 118], [118, 119], [118, 126], [135, 136], [135, 142], [136, 137], [136, 140]], "missing_branches": []}, "_validate_input_tensors": {"executed_lines": [154, 159, 160, 168, 171, 175, 176, 180, 181], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 80.95238095238095, "percent_covered_display": "81", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [155, 163], "excluded_lines": [], "start_line": 146, "executed_branches": [[154, 159], [159, -146], [159, 160], [160, 168], [175, 176], [175, 180], [180, -146], [180, 181]], "missing_branches": [[154, 155], [160, 163]]}, "validate_input_tensors": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [196], "excluded_lines": [], "start_line": 192, "executed_branches": [], "missing_branches": []}, "ConfusionMatrix.__eq__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [226, 227, 228], "excluded_lines": [], "start_line": 225, "executed_branches": [], "missing_branches": [[226, 227], [226, 228]]}, "ConfusionMatrix.from_detections": {"executed_lines": [299, 300, 301, 302, 307, 312], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 238, "executed_branches": [[301, 302], [301, 312]], "missing_branches": []}, "ConfusionMatrix.from_tensors": {"executed_lines": [391, 392, 394, 395, 396, 397, 405], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 322, "executed_branches": [[396, 397], [396, 405]], "missing_branches": []}, "ConfusionMatrix.evaluate_detection_batch": {"executed_lines": [453, 455, 458, 461, 466, 472, 475, 476, 477, 479, 480, 482, 484, 485, 486, 487, 489, 491, 494, 495, 496, 498, 499, 502, 503, 506, 507, 511, 517, 518, 521, 522, 524, 525, 526, 527, 535, 539, 550, 551, 553, 554, 556, 557, 560, 561, 562, 565, 566, 567, 570, 571, 572, 574], "summary": {"covered_lines": 54, "num_statements": 56, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.42857142857143, "percent_statements_covered_display": "96", "num_branches": 28, "num_partial_branches": 2, "covered_branches": 26, "missing_branches": 2, "percent_branches_covered": 92.85714285714286, "percent_branches_covered_display": "93"}, "missing_lines": [462, 467], "excluded_lines": [], "start_line": 414, "executed_branches": [[461, 466], [466, 472], [482, 484], [482, 489], [485, 486], [485, 487], [489, 491], [489, 498], [494, 495], [494, 496], [506, 507], [506, 511], [521, 522], [521, 524], [553, 554], [553, 565], [554, 553], [554, 556], [565, 566], [565, 570], [566, 565], [566, 567], [570, 571], [570, 574], [571, 570], [571, 572]], "missing_branches": [[461, 462], [466, 467]]}, "ConfusionMatrix._drop_extra_matches": {"executed_lines": [584, 585, 586, 587, 588, 589, 590], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 577, "executed_branches": [[584, 585]], "missing_branches": [[584, 589]]}, "ConfusionMatrix.benchmark": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [646, 647, 648, 649, 650, 651], "excluded_lines": [], "start_line": 593, "executed_branches": [], "missing_branches": [[647, 648], [647, 651]]}, "ConfusionMatrix.plot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 40, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 40, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 18, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [684, 686, 687, 688, 690, 692, 694, 695, 696, 697, 698, 699, 701, 702, 703, 704, 706, 707, 709, 710, 712, 713, 714, 716, 718, 719, 721, 722, 723, 724, 725, 726, 737, 738, 740, 741, 742, 743, 744, 747], "excluded_lines": [], "start_line": 660, "executed_branches": [], "missing_branches": [[686, 687], [686, 690], [696, 697], [696, 701], [709, 710], [709, 712], [721, 722], [721, 737], [722, 723], [722, 737], [723, 722], [723, 724], [725, 723], [725, 726], [737, 738], [737, 740], [743, 744], [743, 747]]}, "MeanAveragePrecision.from_detections": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [827, 828, 829, 830, 833, 834], "excluded_lines": [], "start_line": 787, "executed_branches": [], "missing_branches": [[829, 830], [829, 834]]}, "MeanAveragePrecision.benchmark": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [876, 877, 878, 879, 880, 881], "excluded_lines": [], "start_line": 840, "executed_branches": [], "missing_branches": [[877, 878], [877, 881]]}, "MeanAveragePrecision.from_tensors": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [935, 936, 937, 940, 941, 942, 943, 950, 952, 953, 956, 966, 967, 968, 969, 970, 971, 973, 974, 976], "excluded_lines": [], "start_line": 887, "executed_branches": [], "missing_branches": [[940, 941], [940, 966], [941, 942], [941, 952], [942, 943], [942, 950], [952, 940], [952, 953], [966, 967], [966, 973]]}, "MeanAveragePrecision.compute_average_precision": {"executed_lines": [999, 1000, 1001, 1004, 1005, 1010, 1011, 1019], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [1015], "excluded_lines": [], "start_line": 984, "executed_branches": [[1010, 1011]], "missing_branches": [[1010, 1015]]}, "MeanAveragePrecision._match_detection_batch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1044, 1045, 1046, 1047, 1049, 1050, 1052, 1053, 1054, 1055, 1057, 1058, 1059, 1060, 1062, 1063, 1064], "excluded_lines": [], "start_line": 1022, "executed_branches": [], "missing_branches": [[1049, 1050], [1049, 1063], [1052, 1049], [1052, 1053], [1057, 1058], [1057, 1062]]}, "MeanAveragePrecision._average_precisions_per_class": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1088, 1089, 1090, 1092, 1093, 1095, 1099, 1100, 1101, 1102, 1104, 1105, 1107, 1108, 1109, 1110, 1112, 1113, 1119, 1120], "excluded_lines": [], "start_line": 1067, "executed_branches": [], "missing_branches": [[1099, 1100], [1099, 1119], [1104, 1105], [1104, 1107], [1112, 1099], [1112, 1113]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 19, 22, 29, 146, 187, 192, 199, 200, 219, 220, 221, 222, 223, 225, 235, 237, 238, 321, 322, 413, 414, 576, 577, 592, 593, 660, 750, 755, 756, 781, 782, 783, 784, 786, 787, 839, 840, 886, 887, 983, 984, 1021, 1022, 1066, 1067], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"ConfusionMatrix": {"executed_lines": [299, 300, 301, 302, 307, 312, 391, 392, 394, 395, 396, 397, 405, 453, 455, 458, 461, 466, 472, 475, 476, 477, 479, 480, 482, 484, 485, 486, 487, 489, 491, 494, 495, 496, 498, 499, 502, 503, 506, 507, 511, 517, 518, 521, 522, 524, 525, 526, 527, 535, 539, 550, 551, 553, 554, 556, 557, 560, 561, 562, 565, 566, 567, 570, 571, 572, 574, 584, 585, 586, 587, 588, 589, 590], "summary": {"covered_lines": 74, "num_statements": 125, "percent_covered": 58.011049723756905, "percent_covered_display": "58", "missing_lines": 51, "excluded_lines": 0, "percent_statements_covered": 59.2, "percent_statements_covered_display": "59", "num_branches": 56, "num_partial_branches": 3, "covered_branches": 31, "missing_branches": 25, "percent_branches_covered": 55.357142857142854, "percent_branches_covered_display": "55"}, "missing_lines": [226, 227, 228, 462, 467, 646, 647, 648, 649, 650, 651, 684, 686, 687, 688, 690, 692, 694, 695, 696, 697, 698, 699, 701, 702, 703, 704, 706, 707, 709, 710, 712, 713, 714, 716, 718, 719, 721, 722, 723, 724, 725, 726, 737, 738, 740, 741, 742, 743, 744, 747], "excluded_lines": [], "start_line": 200, "executed_branches": [[301, 302], [301, 312], [396, 397], [396, 405], [461, 466], [466, 472], [482, 484], [482, 489], [485, 486], [485, 487], [489, 491], [489, 498], [494, 495], [494, 496], [506, 507], [506, 511], [521, 522], [521, 524], [553, 554], [553, 565], [554, 553], [554, 556], [565, 566], [565, 570], [566, 565], [566, 567], [570, 571], [570, 574], [571, 570], [571, 572], [584, 585]], "missing_branches": [[226, 227], [226, 228], [461, 462], [466, 467], [584, 589], [647, 648], [647, 651], [686, 687], [686, 690], [696, 697], [696, 701], [709, 710], [709, 712], [721, 722], [721, 737], [722, 723], [722, 737], [723, 722], [723, 724], [725, 723], [725, 726], [737, 738], [737, 740], [743, 744], [743, 747]]}, "MeanAveragePrecision": {"executed_lines": [999, 1000, 1001, 1004, 1005, 1010, 1011, 1019], "summary": {"covered_lines": 8, "num_statements": 78, "percent_covered": 8.49056603773585, "percent_covered_display": "8", "missing_lines": 70, "excluded_lines": 0, "percent_statements_covered": 10.256410256410257, "percent_statements_covered_display": "10", "num_branches": 28, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 27, "percent_branches_covered": 3.5714285714285716, "percent_branches_covered_display": "4"}, "missing_lines": [827, 828, 829, 830, 833, 834, 876, 877, 878, 879, 880, 881, 935, 936, 937, 940, 941, 942, 943, 950, 952, 953, 956, 966, 967, 968, 969, 970, 971, 973, 974, 976, 1015, 1044, 1045, 1046, 1047, 1049, 1050, 1052, 1053, 1054, 1055, 1057, 1058, 1059, 1060, 1062, 1063, 1064, 1088, 1089, 1090, 1092, 1093, 1095, 1099, 1100, 1101, 1102, 1104, 1105, 1107, 1108, 1109, 1110, 1112, 1113, 1119, 1120], "excluded_lines": [], "start_line": 756, "executed_branches": [[1010, 1011]], "missing_branches": [[829, 830], [829, 834], [877, 878], [877, 881], [940, 941], [940, 966], [941, 942], [941, 952], [942, 943], [942, 950], [952, 940], [952, 953], [966, 967], [966, 973], [1010, 1015], [1049, 1050], [1049, 1063], [1052, 1049], [1052, 1053], [1057, 1058], [1057, 1062], [1099, 1100], [1099, 1119], [1104, 1105], [1104, 1107], [1112, 1099], [1112, 1113]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 19, 22, 23, 24, 29, 97, 99, 100, 104, 105, 106, 107, 108, 112, 114, 116, 117, 118, 119, 126, 128, 130, 135, 136, 137, 140, 142, 143, 146, 154, 159, 160, 168, 171, 175, 176, 180, 181, 187, 192, 199, 200, 219, 220, 221, 222, 223, 225, 235, 237, 238, 321, 322, 413, 414, 576, 577, 592, 593, 660, 750, 755, 756, 781, 782, 783, 784, 786, 787, 839, 840, 886, 887, 983, 984, 1021, 1022, 1066, 1067], "summary": {"covered_lines": 91, "num_statements": 94, "percent_covered": 95.90163934426229, "percent_covered_display": "96", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 96.80851063829788, "percent_statements_covered_display": "97", "num_branches": 28, "num_partial_branches": 2, "covered_branches": 26, "missing_branches": 2, "percent_branches_covered": 92.85714285714286, "percent_branches_covered_display": "93"}, "missing_lines": [155, 163, 196], "excluded_lines": [], "start_line": 1, "executed_branches": [[23, -22], [23, 24], [99, 100], [99, 104], [104, 105], [104, 128], [106, 107], [106, 114], [107, 108], [107, 112], [116, 117], [116, 118], [118, 119], [118, 126], [135, 136], [135, 142], [136, 137], [136, 140], [154, 159], [159, -146], [159, 160], [160, 168], [175, 176], [175, 180], [180, -146], [180, 181]], "missing_branches": [[154, 155], [160, 163]]}}}, "src\\supervision\\metrics\\f1_score.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 66, 79, 80, 82, 83, 85, 89, 90, 92, 107, 108, 109, 110, 112, 113, 118, 119, 121, 123, 131, 133, 136, 138, 143, 145, 148, 150, 152, 163, 164, 166, 167, 168, 170, 173, 175, 185, 186, 187, 197, 198, 199, 201, 202, 210, 220, 229, 230, 242, 243, 247, 259, 275, 276, 277, 281, 284, 285, 286, 289, 294, 297, 298, 299, 300, 301, 302, 303, 304, 308, 310, 312, 314, 315, 321, 325, 326, 328, 329, 331, 332, 333, 334, 336, 337, 338, 339, 341, 343, 344, 346, 347, 374, 375, 377, 380, 381, 382, 383, 385, 386, 387, 388, 389, 390, 391, 392, 394, 395, 396, 397, 401, 402, 404, 405, 418, 423, 424, 425, 428, 429, 431, 432, 434, 436, 437, 438, 439, 444, 445, 446, 447, 448, 449, 452, 453, 456, 459, 460, 461, 464, 468, 469, 470, 472, 473, 475, 476, 478, 479, 480, 481, 482, 484, 485, 486, 488, 490, 499, 500, 501, 502, 505, 508, 511, 512, 542, 543, 545, 546, 547, 549, 550, 551, 553, 554, 555, 556, 558, 559, 560, 562, 630, 660], "summary": {"covered_lines": 199, "num_statements": 281, "percent_covered": 67.09511568123393, "percent_covered_display": "67", "missing_lines": 82, "excluded_lines": 3, "percent_statements_covered": 70.8185053380783, "percent_statements_covered_display": "71", "num_branches": 108, "num_partial_branches": 14, "covered_branches": 62, "missing_branches": 46, "percent_branches_covered": 57.407407407407405, "percent_branches_covered_display": "57"}, "missing_lines": [174, 200, 206, 419, 440, 441, 442, 443, 450, 454, 455, 457, 458, 462, 477, 483, 602, 612, 613, 614, 615, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 628, 637, 638, 640, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 658, 669, 670, 671, 673, 674, 675, 676, 677, 679, 680, 681, 682, 683, 685, 686, 687, 688, 689, 691, 693, 694, 695, 696, 701, 703, 704, 706, 707, 709, 710, 711, 719, 721, 722], "excluded_lines": [26, 27, 563], "executed_branches": [[107, 108], [107, 109], [109, 110], [109, 112], [112, 113], [112, 118], [166, 167], [166, 229], [170, 173], [170, 185], [173, 175], [185, 166], [185, 186], [186, 187], [186, 197], [197, 198], [197, 199], [199, 201], [201, 202], [229, 230], [229, 242], [297, 298], [297, 299], [299, 300], [299, 302], [302, 303], [304, 308], [304, 310], [328, 329], [328, 343], [331, 328], [331, 332], [336, 337], [336, 341], [380, 381], [380, 401], [385, 386], [385, 389], [389, 390], [389, 394], [418, 423], [436, 437], [436, 439], [439, 444], [444, 445], [446, 447], [446, 449], [453, 456], [456, 459], [459, 460], [469, 470], [469, 472], [476, 478], [478, 479], [480, 481], [480, 482], [482, 484], [484, 485], [485, 486], [485, 488], [501, 502], [501, 508]], "missing_branches": [[173, 174], [199, 200], [201, 206], [302, 312], [418, 419], [439, 440], [440, 441], [440, 443], [444, 450], [453, 454], [456, 457], [459, 462], [476, 477], [478, 480], [482, 483], [484, 488], [612, 613], [612, 614], [614, 615], [614, 617], [618, 619], [618, 621], [621, 622], [621, 624], [624, 625], [624, 628], [645, 646], [645, 649], [647, 648], [647, 649], [649, 650], [649, 653], [651, 652], [651, 653], [653, 654], [653, 658], [655, 656], [655, 658], [673, 674], [673, 679], [679, 680], [679, 685], [685, 686], [685, 691], [709, 710], [709, 719]], "functions": {"F1Score.__init__": {"executed_lines": [79, 80, 82, 83], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66, "executed_branches": [], "missing_branches": []}, "F1Score.reset": {"executed_lines": [89, 90], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85, "executed_branches": [], "missing_branches": []}, "F1Score.update": {"executed_lines": [107, 108, 109, 110, 112, 113, 118, 119, 121], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [[107, 108], [107, 109], [109, 110], [109, 112], [112, 113], [112, 118]], "missing_branches": []}, "F1Score.compute": {"executed_lines": [131, 133, 136, 138, 143, 145, 148, 150], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 123, "executed_branches": [], "missing_branches": []}, "F1Score._compute": {"executed_lines": [163, 164, 166, 167, 168, 170, 173, 175, 185, 186, 187, 197, 198, 199, 201, 202, 210, 220, 229, 230, 242, 243, 247], "summary": {"covered_lines": 23, "num_statements": 26, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 88.46153846153847, "percent_statements_covered_display": "88", "num_branches": 18, "num_partial_branches": 3, "covered_branches": 15, "missing_branches": 3, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [174, 200, 206], "excluded_lines": [], "start_line": 152, "executed_branches": [[166, 167], [166, 229], [170, 173], [170, 185], [173, 175], [185, 166], [185, 186], [186, 187], [186, 197], [197, 198], [197, 199], [199, 201], [201, 202], [229, 230], [229, 242]], "missing_branches": [[173, 174], [199, 200], [201, 206]]}, "F1Score._compute_f1_for_classes": {"executed_lines": [275, 276, 277, 281, 284, 285, 286, 289, 294, 297, 298, 299, 300, 301, 302, 303, 304, 308, 310, 312], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 96.42857142857143, "percent_covered_display": "96", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [], "excluded_lines": [], "start_line": 259, "executed_branches": [[297, 298], [297, 299], [299, 300], [299, 302], [302, 303], [304, 308], [304, 310]], "missing_branches": [[302, 312]]}, "F1Score._match_detection_batch": {"executed_lines": [321, 325, 326, 328, 329, 331, 332, 333, 334, 336, 337, 338, 339, 341, 343, 344], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 315, "executed_branches": [[328, 329], [328, 343], [331, 328], [331, 332], [336, 337], [336, 341]], "missing_branches": []}, "F1Score._compute_confusion_matrix": {"executed_lines": [374, 375, 377, 380, 381, 382, 383, 385, 386, 387, 388, 389, 390, 391, 392, 394, 395, 396, 397, 401, 402], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 347, "executed_branches": [[380, 381], [380, 401], [385, 386], [385, 389], [389, 390], [389, 394]], "missing_branches": []}, "F1Score._compute_f1": {"executed_lines": [418, 423, 424, 425, 428, 429, 431, 432], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [419], "excluded_lines": [], "start_line": 405, "executed_branches": [[418, 423]], "missing_branches": [[418, 419]]}, "F1Score._detections_content": {"executed_lines": [436, 437, 438, 439, 444, 445, 446, 447, 448, 449], "summary": {"covered_lines": 10, "num_statements": 15, "percent_covered": 64.0, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 4, "percent_branches_covered": 60.0, "percent_branches_covered_display": "60"}, "missing_lines": [440, 441, 442, 443, 450], "excluded_lines": [], "start_line": 434, "executed_branches": [[436, 437], [436, 439], [439, 444], [444, 445], [446, 447], [446, 449]], "missing_branches": [[439, 440], [440, 441], [440, 443], [444, 450]]}, "F1Score._make_empty_content": {"executed_lines": [453, 456, 459, 460, 461], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [454, 455, 457, 458, 462], "excluded_lines": [], "start_line": 452, "executed_branches": [[453, 456], [456, 459], [459, 460]], "missing_branches": [[453, 454], [456, 457], [459, 462]]}, "F1Score._filter_detections_by_size": {"executed_lines": [468, 469, 470, 472, 473, 475, 476, 478, 479, 480, 481, 482, 484, 485, 486, 488], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 14, "num_partial_branches": 4, "covered_branches": 10, "missing_branches": 4, "percent_branches_covered": 71.42857142857143, "percent_branches_covered_display": "71"}, "missing_lines": [477, 483], "excluded_lines": [], "start_line": 464, "executed_branches": [[469, 470], [469, 472], [476, 478], [478, 479], [480, 481], [480, 482], [482, 484], [484, 485], [485, 486], [485, 488]], "missing_branches": [[476, 477], [478, 480], [482, 483], [484, 488]]}, "F1Score._filter_predictions_and_targets_by_size": {"executed_lines": [499, 500, 501, 502, 505, 508], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 490, "executed_branches": [[501, 502], [501, 508]], "missing_branches": []}, "F1ScoreResult.f1_50": {"executed_lines": [547], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 546, "executed_branches": [], "missing_branches": []}, "F1ScoreResult.f1_75": {"executed_lines": [551], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 550, "executed_branches": [], "missing_branches": []}, "F1ScoreResult.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [602, 612, 613, 614, 615, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 628], "excluded_lines": [563], "start_line": 562, "executed_branches": [], "missing_branches": [[612, 613], [612, 614], [614, 615], [614, 617], [618, 619], [618, 621], [621, 622], [621, 624], [624, 625], [624, 628]]}, "F1ScoreResult.to_pandas": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 12, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [637, 638, 640, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 658], "excluded_lines": [], "start_line": 630, "executed_branches": [], "missing_branches": [[645, 646], [645, 649], [647, 648], [647, 649], [649, 650], [649, 653], [651, 652], [651, 653], [653, 654], [653, 658], [655, 656], [655, 658]]}, "F1ScoreResult.plot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [669, 670, 671, 673, 674, 675, 676, 677, 679, 680, 681, 682, 683, 685, 686, 687, 688, 689, 691, 693, 694, 695, 696, 701, 703, 704, 706, 707, 709, 710, 711, 719, 721, 722], "excluded_lines": [], "start_line": 660, "executed_branches": [], "missing_branches": [[673, 674], [673, 679], [679, 680], [679, 685], [685, 686], [685, 691], [709, 710], [709, 719]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 66, 85, 92, 123, 152, 259, 314, 315, 346, 347, 404, 405, 434, 452, 464, 490, 511, 512, 542, 543, 545, 546, 549, 550, 553, 554, 555, 556, 558, 559, 560, 562, 630, 660], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"F1Score": {"executed_lines": [79, 80, 82, 83, 89, 90, 107, 108, 109, 110, 112, 113, 118, 119, 121, 131, 133, 136, 138, 143, 145, 148, 150, 163, 164, 166, 167, 168, 170, 173, 175, 185, 186, 187, 197, 198, 199, 201, 202, 210, 220, 229, 230, 242, 243, 247, 275, 276, 277, 281, 284, 285, 286, 289, 294, 297, 298, 299, 300, 301, 302, 303, 304, 308, 310, 312, 321, 325, 326, 328, 329, 331, 332, 333, 334, 336, 337, 338, 339, 341, 343, 344, 374, 375, 377, 380, 381, 382, 383, 385, 386, 387, 388, 389, 390, 391, 392, 394, 395, 396, 397, 401, 402, 418, 423, 424, 425, 428, 429, 431, 432, 436, 437, 438, 439, 444, 445, 446, 447, 448, 449, 453, 456, 459, 460, 461, 468, 469, 470, 472, 473, 475, 476, 478, 479, 480, 481, 482, 484, 485, 486, 488, 499, 500, 501, 502, 505, 508], "summary": {"covered_lines": 148, "num_statements": 164, "percent_covered": 86.77685950413223, "percent_covered_display": "87", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 90.2439024390244, "percent_statements_covered_display": "90", "num_branches": 78, "num_partial_branches": 14, "covered_branches": 62, "missing_branches": 16, "percent_branches_covered": 79.48717948717949, "percent_branches_covered_display": "79"}, "missing_lines": [174, 200, 206, 419, 440, 441, 442, 443, 450, 454, 455, 457, 458, 462, 477, 483], "excluded_lines": [], "start_line": 30, "executed_branches": [[107, 108], [107, 109], [109, 110], [109, 112], [112, 113], [112, 118], [166, 167], [166, 229], [170, 173], [170, 185], [173, 175], [185, 166], [185, 186], [186, 187], [186, 197], [197, 198], [197, 199], [199, 201], [201, 202], [229, 230], [229, 242], [297, 298], [297, 299], [299, 300], [299, 302], [302, 303], [304, 308], [304, 310], [328, 329], [328, 343], [331, 328], [331, 332], [336, 337], [336, 341], [380, 381], [380, 401], [385, 386], [385, 389], [389, 390], [389, 394], [418, 423], [436, 437], [436, 439], [439, 444], [444, 445], [446, 447], [446, 449], [453, 456], [456, 459], [459, 460], [469, 470], [469, 472], [476, 478], [478, 479], [480, 481], [480, 482], [482, 484], [484, 485], [485, 486], [485, 488], [501, 502], [501, 508]], "missing_branches": [[173, 174], [199, 200], [201, 206], [302, 312], [418, 419], [439, 440], [440, 441], [440, 443], [444, 450], [453, 454], [456, 457], [459, 462], [476, 477], [478, 480], [482, 483], [484, 488]]}, "F1ScoreResult": {"executed_lines": [547, 551], "summary": {"covered_lines": 2, "num_statements": 68, "percent_covered": 2.0408163265306123, "percent_covered_display": "2", "missing_lines": 66, "excluded_lines": 1, "percent_statements_covered": 2.9411764705882355, "percent_statements_covered_display": "3", "num_branches": 30, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 30, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [602, 612, 613, 614, 615, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 628, 637, 638, 640, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 658, 669, 670, 671, 673, 674, 675, 676, 677, 679, 680, 681, 682, 683, 685, 686, 687, 688, 689, 691, 693, 694, 695, 696, 701, 703, 704, 706, 707, 709, 710, 711, 719, 721, 722], "excluded_lines": [563], "start_line": 512, "executed_branches": [], "missing_branches": [[612, 613], [612, 614], [614, 615], [614, 617], [618, 619], [618, 621], [621, 622], [621, 624], [624, 625], [624, 628], [645, 646], [645, 649], [647, 648], [647, 649], [649, 650], [649, 653], [651, 652], [651, 653], [653, 654], [653, 658], [655, 656], [655, 658], [673, 674], [673, 679], [679, 680], [679, 685], [685, 686], [685, 691], [709, 710], [709, 719]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 66, 85, 92, 123, 152, 259, 314, 315, 346, 347, 404, 405, 434, 452, 464, 490, 511, 512, 542, 543, 545, 546, 549, 550, 553, 554, 555, 556, 558, 559, 560, 562, 630, 660], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\mean_average_precision.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 29, 30, 56, 57, 59, 60, 62, 63, 64, 66, 68, 69, 71, 73, 74, 76, 78, 79, 80, 81, 82, 83, 84, 86, 145, 180, 249, 255, 266, 267, 268, 269, 270, 271, 273, 274, 277, 278, 280, 281, 282, 284, 288, 289, 290, 291, 292, 293, 295, 296, 297, 299, 300, 301, 303, 304, 305, 308, 309, 310, 311, 312, 314, 332, 335, 336, 341, 346, 353, 362, 365, 366, 368, 386, 387, 411, 412, 414, 430, 431, 432, 445, 455, 457, 459, 470, 471, 473, 477, 478, 479, 481, 484, 489, 493, 497, 502, 503, 508, 509, 510, 513, 514, 516, 518, 520, 521, 522, 523, 527, 528, 529, 532, 535, 540, 541, 542, 543, 546, 551, 554, 555, 558, 566, 574, 576, 584, 589, 599, 601, 604, 605, 609, 611, 613, 614, 616, 618, 620, 622, 623, 625, 630, 633, 635, 638, 641, 642, 643, 646, 647, 648, 651, 652, 653, 656, 657, 659, 672, 673, 676, 677, 678, 681, 682, 686, 689, 690, 693, 695, 698, 700, 719, 720, 723, 724, 726, 730, 731, 732, 734, 737, 738, 741, 742, 745, 752, 753, 754, 757, 758, 760, 761, 762, 764, 766, 768, 770, 772, 775, 776, 777, 779, 788, 789, 790, 793, 794, 795, 796, 799, 804, 811, 825, 830, 831, 832, 833, 834, 835, 839, 849, 853, 865, 866, 869, 870, 873, 877, 881, 887, 895, 896, 899, 900, 903, 904, 907, 910, 914, 917, 918, 921, 924, 929, 930, 933, 934, 937, 940, 944, 945, 948, 949, 950, 951, 953, 955, 957, 959, 963, 968, 969, 970, 972, 975, 976, 978, 979, 982, 983, 986, 990, 994, 1010, 1014, 1015, 1017, 1020, 1021, 1022, 1028, 1030, 1031, 1032, 1035, 1036, 1038, 1043, 1048, 1049, 1052, 1057, 1058, 1061, 1066, 1067, 1070, 1074, 1097, 1192, 1198, 1199, 1200, 1202, 1205, 1212, 1215, 1223, 1226, 1264, 1280, 1281, 1283, 1284, 1285, 1286, 1288, 1295, 1310, 1312, 1315, 1321, 1332, 1333, 1335, 1337, 1341, 1342, 1345, 1346, 1347, 1351, 1354, 1355, 1358, 1360, 1361, 1362, 1365, 1368, 1369, 1370, 1372, 1373, 1375, 1376, 1379, 1388, 1390, 1391, 1393, 1399, 1404, 1405, 1406, 1409, 1412, 1413, 1415, 1416, 1418, 1419, 1420, 1423, 1425, 1426, 1429, 1430, 1434, 1436, 1437, 1439, 1447, 1448, 1450, 1459, 1460, 1462, 1468, 1469, 1471, 1473, 1475, 1478, 1481, 1490, 1499, 1509, 1520], "summary": {"covered_lines": 409, "num_statements": 546, "percent_covered": 70.37533512064343, "percent_covered_display": "70", "missing_lines": 137, "excluded_lines": 2, "percent_statements_covered": 74.9084249084249, "percent_statements_covered_display": "75", "num_branches": 200, "num_partial_branches": 38, "covered_branches": 116, "missing_branches": 84, "percent_branches_covered": 58.0, "percent_branches_covered_display": "58"}, "missing_lines": [116, 121, 130, 152, 153, 155, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 175, 189, 190, 191, 193, 194, 195, 200, 202, 203, 204, 209, 211, 212, 213, 218, 220, 222, 223, 224, 225, 227, 228, 230, 231, 233, 234, 235, 243, 245, 246, 333, 343, 363, 389, 392, 399, 408, 434, 436, 437, 438, 439, 441, 443, 456, 474, 490, 494, 498, 517, 600, 602, 687, 785, 911, 1102, 1108, 1109, 1110, 1111, 1116, 1117, 1118, 1119, 1122, 1124, 1125, 1126, 1127, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1139, 1140, 1143, 1145, 1146, 1147, 1148, 1151, 1154, 1159, 1164, 1169, 1170, 1171, 1172, 1177, 1182, 1187, 1189, 1190, 1292, 1293, 1311, 1313, 1316, 1322, 1323, 1325, 1326, 1327, 1328, 1329, 1330, 1343, 1348, 1352, 1363, 1377, 1407, 1410, 1421, 1463], "excluded_lines": [25, 26], "executed_branches": [[63, 64], [63, 66], [273, 274], [273, 277], [290, 291], [291, 292], [291, 295], [295, 296], [296, 297], [296, 299], [299, 300], [300, 301], [300, 303], [303, 304], [304, 305], [304, 308], [332, 335], [335, 336], [362, 365], [386, 387], [430, 431], [455, 457], [473, 477], [477, 478], [477, 481], [489, 493], [493, 497], [497, 502], [502, 503], [508, 509], [508, 521], [513, 514], [516, 518], [599, 601], [601, 604], [641, 642], [641, 646], [647, 648], [647, 651], [652, 653], [652, 656], [676, 677], [676, 681], [686, 689], [723, 724], [723, 726], [730, 731], [730, 737], [731, 732], [731, 734], [762, 764], [762, 799], [764, 766], [764, 799], [766, 764], [766, 768], [772, 775], [772, 793], [776, 777], [776, 779], [779, 788], [788, 772], [788, 789], [793, 766], [793, 794], [895, 896], [895, 994], [899, 895], [899, 900], [903, 899], [903, 904], [910, 914], [933, 934], [933, 937], [948, 903], [948, 949], [968, 969], [968, 972], [969, 968], [969, 970], [976, 978], [976, 986], [979, 976], [979, 982], [1310, 1312], [1312, 1315], [1315, 1321], [1321, 1332], [1342, 1345], [1346, 1347], [1346, 1390], [1347, 1351], [1351, 1354], [1354, 1346], [1354, 1355], [1360, 1361], [1362, 1365], [1369, 1370], [1369, 1372], [1372, 1373], [1372, 1375], [1376, 1379], [1405, 1406], [1405, 1448], [1406, 1409], [1409, 1412], [1412, 1405], [1412, 1413], [1418, 1419], [1420, 1423], [1425, 1426], [1430, 1434], [1430, 1436], [1436, 1437], [1436, 1439], [1462, 1468]], "missing_branches": [[116, 121], [116, 130], [161, 162], [161, 165], [163, 164], [163, 165], [165, 166], [165, 169], [167, 168], [167, 169], [169, 170], [169, 175], [171, 172], [171, 175], [193, 194], [193, 202], [202, 203], [202, 211], [211, 212], [211, 220], [233, 234], [233, 243], [290, 295], [295, 299], [299, 303], [303, 308], [332, 333], [335, 343], [362, 363], [386, 389], [430, 434], [436, 437], [436, 443], [437, 438], [437, 443], [438, 439], [438, 441], [455, 456], [473, 474], [489, 490], [493, 494], [497, 498], [502, 521], [513, 516], [516, 517], [599, 600], [601, 602], [686, 687], [779, 785], [910, 911], [1119, 1122], [1119, 1131], [1124, 1125], [1124, 1127], [1132, 1133], [1132, 1135], [1136, 1137], [1136, 1139], [1189, -1097], [1189, 1190], [1310, 1311], [1312, 1313], [1315, 1316], [1321, 1322], [1325, 1326], [1325, 1328], [1326, 1325], [1326, 1327], [1328, 1329], [1328, 1332], [1329, 1328], [1329, 1330], [1342, 1343], [1347, 1348], [1351, 1352], [1360, 1368], [1362, 1363], [1376, 1377], [1406, 1407], [1409, 1410], [1418, 1425], [1420, 1421], [1425, 1429], [1462, 1463]], "functions": {"MeanAveragePrecisionResult.map50_95": {"executed_lines": [62, 63, 64, 66], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60, "executed_branches": [[63, 64], [63, 66]], "missing_branches": []}, "MeanAveragePrecisionResult.map50": {"executed_lines": [71], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69, "executed_branches": [], "missing_branches": []}, "MeanAveragePrecisionResult.map75": {"executed_lines": [76], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74, "executed_branches": [], "missing_branches": []}, "MeanAveragePrecisionResult.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [116, 121, 130], "excluded_lines": [], "start_line": 86, "executed_branches": [], "missing_branches": [[116, 121], [116, 130]]}, "MeanAveragePrecisionResult.to_pandas": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 12, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [152, 153, 155, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 175], "excluded_lines": [], "start_line": 145, "executed_branches": [], "missing_branches": [[161, 162], [161, 165], [163, 164], [163, 165], [165, 166], [165, 169], [167, 168], [167, 169], [169, 170], [169, 175], [171, 172], [171, 175]]}, "MeanAveragePrecisionResult.plot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [189, 190, 191, 193, 194, 195, 200, 202, 203, 204, 209, 211, 212, 213, 218, 220, 222, 223, 224, 225, 227, 228, 230, 231, 233, 234, 235, 243, 245, 246], "excluded_lines": [], "start_line": 180, "executed_branches": [], "missing_branches": [[193, 194], [193, 202], [202, 203], [202, 211], [211, 212], [211, 220], [233, 234], [233, 243]]}, "EvaluationDataset.__init__": {"executed_lines": [266, 267, 268, 269, 270, 271, 273, 274, 277, 278], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 255, "executed_branches": [[273, 274], [273, 277]], "missing_branches": []}, "EvaluationDataset.empty": {"executed_lines": [282], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 281, "executed_branches": [], "missing_branches": []}, "EvaluationDataset.create_class_members": {"executed_lines": [288, 289, 290, 291, 292, 293, 295, 296, 297, 299, 300, 301, 303, 304, 305, 308, 309, 310, 311, 312], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 16, "num_partial_branches": 4, "covered_branches": 12, "missing_branches": 4, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "start_line": 284, "executed_branches": [[290, 291], [291, 292], [291, 295], [295, 296], [296, 297], [296, 299], [299, 300], [300, 301], [300, 303], [303, 304], [304, 305], [304, 308]], "missing_branches": [[290, 295], [295, 299], [299, 303], [303, 308]]}, "EvaluationDataset.get_annotation_ids": {"executed_lines": [332, 335, 336, 341, 346, 353, 362, 365, 366], "summary": {"covered_lines": 9, "num_statements": 12, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [333, 343, 363], "excluded_lines": [], "start_line": 314, "executed_branches": [[332, 335], [335, 336], [362, 365]], "missing_branches": [[332, 333], [335, 343], [362, 363]]}, "EvaluationDataset.get_category_ids": {"executed_lines": [386, 387, 411, 412], "summary": {"covered_lines": 4, "num_statements": 8, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [389, 392, 399, 408], "excluded_lines": [], "start_line": 368, "executed_branches": [[386, 387]], "missing_branches": [[386, 389]]}, "EvaluationDataset.get_image_ids": {"executed_lines": [430, 431, 432], "summary": {"covered_lines": 3, "num_statements": 10, "percent_covered": 22.22222222222222, "percent_covered_display": "22", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 30.0, "percent_statements_covered_display": "30", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 7, "percent_branches_covered": 12.5, "percent_branches_covered_display": "12"}, "missing_lines": [434, 436, 437, 438, 439, 441, 443], "excluded_lines": [], "start_line": 414, "executed_branches": [[430, 431]], "missing_branches": [[430, 434], [436, 437], [436, 443], [437, 438], [437, 443], [438, 439], [438, 441]]}, "EvaluationDataset.get_annotations": {"executed_lines": [455, 457], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [456], "excluded_lines": [], "start_line": 445, "executed_branches": [[455, 457]], "missing_branches": [[455, 456]]}, "EvaluationDataset.load_predictions": {"executed_lines": [470, 471, 473, 477, 478, 479, 481, 484, 489, 493, 497, 502, 503, 508, 509, 510, 513, 514, 516, 518, 520, 521, 522, 523], "summary": {"covered_lines": 24, "num_statements": 29, "percent_covered": 74.46808510638297, "percent_covered_display": "74", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 82.75862068965517, "percent_statements_covered_display": "83", "num_branches": 18, "num_partial_branches": 7, "covered_branches": 11, "missing_branches": 7, "percent_branches_covered": 61.111111111111114, "percent_branches_covered_display": "61"}, "missing_lines": [474, 490, 494, 498, 517], "excluded_lines": [], "start_line": 459, "executed_branches": [[473, 477], [477, 478], [477, 481], [489, 493], [493, 497], [497, 502], [502, 503], [508, 509], [508, 521], [513, 514], [516, 518]], "missing_branches": [[473, 474], [489, 490], [493, 494], [497, 498], [502, 521], [513, 516], [516, 517]]}, "COCOEvaluatorParameters.__init__": {"executed_lines": [554, 555, 558, 566, 574, 576], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 551, "executed_branches": [], "missing_branches": []}, "COCOEvaluator.__init__": {"executed_lines": [599, 601, 604, 605, 609, 611, 613, 614, 616, 618, 620, 622, 623], "summary": {"covered_lines": 13, "num_statements": 15, "percent_covered": 78.94736842105263, "percent_covered_display": "79", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 86.66666666666667, "percent_statements_covered_display": "87", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [600, 602], "excluded_lines": [], "start_line": 589, "executed_branches": [[599, 601], [601, 604]], "missing_branches": [[599, 600], [601, 602]]}, "COCOEvaluator._prepare_targets_and_predictions": {"executed_lines": [630, 633, 635, 638, 641, 642, 643, 646, 647, 648, 651, 652, 653, 656, 657], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 625, "executed_branches": [[641, 642], [641, 646], [647, 648], [647, 651], [652, 653], [652, 656]], "missing_branches": []}, "COCOEvaluator._compute_iou": {"executed_lines": [672, 673, 676, 677, 678, 681, 682, 686, 689, 690, 693, 695, 698], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [687], "excluded_lines": [], "start_line": 659, "executed_branches": [[676, 677], [676, 681], [686, 689]], "missing_branches": [[686, 687]]}, "COCOEvaluator._evaluate_image": {"executed_lines": [719, 720, 723, 724, 726, 730, 731, 732, 734, 737, 738, 741, 742, 745, 752, 753, 754, 757, 758, 760, 761, 762, 764, 766, 768, 770, 772, 775, 776, 777, 779, 788, 789, 790, 793, 794, 795, 796, 799, 804, 811], "summary": {"covered_lines": 41, "num_statements": 42, "percent_covered": 96.875, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.61904761904762, "percent_statements_covered_display": "98", "num_branches": 22, "num_partial_branches": 1, "covered_branches": 21, "missing_branches": 1, "percent_branches_covered": 95.45454545454545, "percent_branches_covered_display": "95"}, "missing_lines": [785], "excluded_lines": [], "start_line": 700, "executed_branches": [[723, 724], [723, 726], [730, 731], [730, 737], [731, 732], [731, 734], [762, 764], [762, 799], [764, 766], [764, 799], [766, 764], [766, 768], [772, 775], [772, 793], [776, 777], [776, 779], [779, 788], [788, 772], [788, 789], [793, 766], [793, 794]], "missing_branches": [[779, 785]]}, "COCOEvaluator._accumulate": {"executed_lines": [830, 831, 832, 833, 834, 835, 839, 849, 853, 865, 866, 869, 870, 873, 877, 881, 887, 895, 896, 899, 900, 903, 904, 907, 910, 914, 917, 918, 921, 924, 929, 930, 933, 934, 937, 940, 944, 945, 948, 949, 950, 951, 953, 955, 957, 959, 963, 968, 969, 970, 972, 975, 976, 978, 979, 982, 983, 986, 990, 994, 1010, 1035, 1036, 1038, 1043, 1048, 1049, 1052, 1057, 1058, 1061, 1066, 1067, 1070, 1074], "summary": {"covered_lines": 75, "num_statements": 76, "percent_covered": 97.91666666666667, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.6842105263158, "percent_statements_covered_display": "99", "num_branches": 20, "num_partial_branches": 1, "covered_branches": 19, "missing_branches": 1, "percent_branches_covered": 95.0, "percent_branches_covered_display": "95"}, "missing_lines": [911], "excluded_lines": [], "start_line": 825, "executed_branches": [[895, 896], [895, 994], [899, 895], [899, 900], [903, 899], [903, 904], [910, 914], [933, 934], [933, 937], [948, 903], [948, 949], [968, 969], [968, 972], [969, 968], [969, 970], [976, 978], [976, 986], [979, 976], [979, 982]], "missing_branches": [[910, 911]]}, "COCOEvaluator._accumulate.compute_average_precision": {"executed_lines": [1014, 1015, 1017, 1030, 1031, 1032], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1010, "executed_branches": [], "missing_branches": []}, "COCOEvaluator._accumulate.compute_average_precision.mean_with_mask": {"executed_lines": [1020, 1021, 1022, 1028], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1017, "executed_branches": [], "missing_branches": []}, "COCOEvaluator._pycocotools_summarize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1102, 1145, 1189, 1190], "excluded_lines": [], "start_line": 1097, "executed_branches": [], "missing_branches": [[1189, -1097], [1189, 1190]]}, "COCOEvaluator._pycocotools_summarize._summarize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1108, 1109, 1110, 1111, 1116, 1117, 1118, 1119, 1122, 1124, 1125, 1126, 1127, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1139, 1140, 1143], "excluded_lines": [], "start_line": 1102, "executed_branches": [], "missing_branches": [[1119, 1122], [1119, 1131], [1124, 1125], [1124, 1127], [1132, 1133], [1132, 1135], [1136, 1137], [1136, 1139]]}, "COCOEvaluator._pycocotools_summarize._summarize_predictions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [1146, 1147, 1148, 1151, 1154, 1159, 1164, 1169, 1170, 1171, 1172, 1177, 1182, 1187], "excluded_lines": [], "start_line": 1145, "executed_branches": [], "missing_branches": []}, "COCOEvaluator.evaluate": {"executed_lines": [1198, 1199, 1200, 1202, 1205, 1212, 1215, 1223], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1192, "executed_branches": [], "missing_branches": []}, "MeanAveragePrecision.__init__": {"executed_lines": [1280, 1281, 1283, 1284, 1285, 1286], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1264, "executed_branches": [], "missing_branches": []}, "MeanAveragePrecision.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [1292, 1293], "excluded_lines": [], "start_line": 1288, "executed_branches": [], "missing_branches": []}, "MeanAveragePrecision.update": {"executed_lines": [1310, 1312, 1315, 1321, 1332, 1333, 1335], "summary": {"covered_lines": 7, "num_statements": 18, "percent_covered": 32.35294117647059, "percent_covered_display": "32", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 38.888888888888886, "percent_statements_covered_display": "39", "num_branches": 16, "num_partial_branches": 4, "covered_branches": 4, "missing_branches": 12, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [1311, 1313, 1316, 1322, 1323, 1325, 1326, 1327, 1328, 1329, 1330], "excluded_lines": [], "start_line": 1295, "executed_branches": [[1310, 1312], [1312, 1315], [1315, 1321], [1321, 1332]], "missing_branches": [[1310, 1311], [1312, 1313], [1315, 1316], [1321, 1322], [1325, 1326], [1325, 1328], [1326, 1325], [1326, 1327], [1328, 1329], [1328, 1332], [1329, 1328], [1329, 1330]]}, "MeanAveragePrecision._prepare_targets": {"executed_lines": [1341, 1342, 1345, 1346, 1347, 1351, 1354, 1355, 1358, 1360, 1361, 1362, 1365, 1368, 1369, 1370, 1372, 1373, 1375, 1376, 1379, 1388, 1390, 1391, 1393], "summary": {"covered_lines": 25, "num_statements": 30, "percent_covered": 78.0, "percent_covered_display": "78", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 20, "num_partial_branches": 6, "covered_branches": 14, "missing_branches": 6, "percent_branches_covered": 70.0, "percent_branches_covered_display": "70"}, "missing_lines": [1343, 1348, 1352, 1363, 1377], "excluded_lines": [], "start_line": 1337, "executed_branches": [[1342, 1345], [1346, 1347], [1346, 1390], [1347, 1351], [1351, 1354], [1354, 1346], [1354, 1355], [1360, 1361], [1362, 1365], [1369, 1370], [1369, 1372], [1372, 1373], [1372, 1375], [1376, 1379]], "missing_branches": [[1342, 1343], [1347, 1348], [1351, 1352], [1360, 1368], [1362, 1363], [1376, 1377]]}, "MeanAveragePrecision._prepare_predictions": {"executed_lines": [1404, 1405, 1406, 1409, 1412, 1413, 1415, 1416, 1418, 1419, 1420, 1423, 1425, 1426, 1429, 1430, 1434, 1436, 1437, 1439, 1447, 1448], "summary": {"covered_lines": 22, "num_statements": 25, "percent_covered": 81.3953488372093, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 88.0, "percent_statements_covered_display": "88", "num_branches": 18, "num_partial_branches": 5, "covered_branches": 13, "missing_branches": 5, "percent_branches_covered": 72.22222222222223, "percent_branches_covered_display": "72"}, "missing_lines": [1407, 1410, 1421], "excluded_lines": [], "start_line": 1399, "executed_branches": [[1405, 1406], [1405, 1448], [1406, 1409], [1409, 1412], [1412, 1405], [1412, 1413], [1418, 1419], [1420, 1423], [1425, 1426], [1430, 1434], [1430, 1436], [1436, 1437], [1436, 1439]], "missing_branches": [[1406, 1407], [1409, 1410], [1418, 1425], [1420, 1421], [1425, 1429]]}, "MeanAveragePrecision.compute": {"executed_lines": [1459, 1460, 1462, 1468, 1469, 1471, 1473, 1475, 1478, 1481, 1490, 1499, 1509, 1520], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 88.23529411764706, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [1463], "excluded_lines": [], "start_line": 1450, "executed_branches": [[1462, 1468]], "missing_branches": [[1462, 1463]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 29, 30, 56, 57, 59, 60, 68, 69, 73, 74, 78, 79, 80, 81, 82, 83, 84, 86, 145, 180, 249, 255, 280, 281, 284, 314, 368, 414, 445, 459, 527, 528, 529, 532, 535, 540, 541, 542, 543, 546, 551, 584, 589, 625, 659, 700, 825, 1097, 1192, 1226, 1264, 1288, 1295, 1337, 1399, 1450], "summary": {"covered_lines": 75, "num_statements": 75, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [25, 26], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"MeanAveragePrecisionResult": {"executed_lines": [62, 63, 64, 66, 71, 76], "summary": {"covered_lines": 6, "num_statements": 55, "percent_covered": 10.126582278481013, "percent_covered_display": "10", "missing_lines": 49, "excluded_lines": 0, "percent_statements_covered": 10.909090909090908, "percent_statements_covered_display": "11", "num_branches": 24, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 22, "percent_branches_covered": 8.333333333333334, "percent_branches_covered_display": "8"}, "missing_lines": [116, 121, 130, 152, 153, 155, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 175, 189, 190, 191, 193, 194, 195, 200, 202, 203, 204, 209, 211, 212, 213, 218, 220, 222, 223, 224, 225, 227, 228, 230, 231, 233, 234, 235, 243, 245, 246], "excluded_lines": [], "start_line": 30, "executed_branches": [[63, 64], [63, 66]], "missing_branches": [[116, 121], [116, 130], [161, 162], [161, 165], [163, 164], [163, 165], [165, 166], [165, 169], [167, 168], [167, 169], [169, 170], [169, 175], [171, 172], [171, 175], [193, 194], [193, 202], [202, 203], [202, 211], [211, 212], [211, 220], [233, 234], [233, 243]]}, "EvaluationDataset": {"executed_lines": [266, 267, 268, 269, 270, 271, 273, 274, 277, 278, 282, 288, 289, 290, 291, 292, 293, 295, 296, 297, 299, 300, 301, 303, 304, 305, 308, 309, 310, 311, 312, 332, 335, 336, 341, 346, 353, 362, 365, 366, 386, 387, 411, 412, 430, 431, 432, 455, 457, 470, 471, 473, 477, 478, 479, 481, 484, 489, 493, 497, 502, 503, 508, 509, 510, 513, 514, 516, 518, 520, 521, 522, 523], "summary": {"covered_lines": 73, "num_statements": 93, "percent_covered": 70.74829931972789, "percent_covered_display": "71", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 78.49462365591398, "percent_statements_covered_display": "78", "num_branches": 54, "num_partial_branches": 17, "covered_branches": 31, "missing_branches": 23, "percent_branches_covered": 57.407407407407405, "percent_branches_covered_display": "57"}, "missing_lines": [333, 343, 363, 389, 392, 399, 408, 434, 436, 437, 438, 439, 441, 443, 456, 474, 490, 494, 498, 517], "excluded_lines": [], "start_line": 249, "executed_branches": [[273, 274], [273, 277], [290, 291], [291, 292], [291, 295], [295, 296], [296, 297], [296, 299], [299, 300], [300, 301], [300, 303], [303, 304], [304, 305], [304, 308], [332, 335], [335, 336], [362, 365], [386, 387], [430, 431], [455, 457], [473, 477], [477, 478], [477, 481], [489, 493], [493, 497], [497, 502], [502, 503], [508, 509], [508, 521], [513, 514], [516, 518]], "missing_branches": [[290, 295], [295, 299], [299, 303], [303, 308], [332, 333], [335, 343], [362, 363], [386, 389], [430, 434], [436, 437], [436, 443], [437, 438], [437, 443], [438, 439], [438, 441], [455, 456], [473, 474], [489, 490], [493, 494], [497, 498], [502, 521], [513, 516], [516, 517]]}, "ObjectSize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 535, "executed_branches": [], "missing_branches": []}, "COCOEvaluatorParameters": {"executed_lines": [554, 555, 558, 566, 574, 576], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 546, "executed_branches": [], "missing_branches": []}, "COCOEvaluator": {"executed_lines": [599, 601, 604, 605, 609, 611, 613, 614, 616, 618, 620, 622, 623, 630, 633, 635, 638, 641, 642, 643, 646, 647, 648, 651, 652, 653, 656, 657, 672, 673, 676, 677, 678, 681, 682, 686, 689, 690, 693, 695, 698, 719, 720, 723, 724, 726, 730, 731, 732, 734, 737, 738, 741, 742, 745, 752, 753, 754, 757, 758, 760, 761, 762, 764, 766, 768, 770, 772, 775, 776, 777, 779, 788, 789, 790, 793, 794, 795, 796, 799, 804, 811, 830, 831, 832, 833, 834, 835, 839, 849, 853, 865, 866, 869, 870, 873, 877, 881, 887, 895, 896, 899, 900, 903, 904, 907, 910, 914, 917, 918, 921, 924, 929, 930, 933, 934, 937, 940, 944, 945, 948, 949, 950, 951, 953, 955, 957, 959, 963, 968, 969, 970, 972, 975, 976, 978, 979, 982, 983, 986, 990, 994, 1010, 1014, 1015, 1017, 1020, 1021, 1022, 1028, 1030, 1031, 1032, 1035, 1036, 1038, 1043, 1048, 1049, 1052, 1057, 1058, 1061, 1066, 1067, 1070, 1074, 1198, 1199, 1200, 1202, 1205, 1212, 1215, 1223], "summary": {"covered_lines": 175, "num_statements": 221, "percent_covered": 78.74564459930313, "percent_covered_display": "79", "missing_lines": 46, "excluded_lines": 0, "percent_statements_covered": 79.18552036199095, "percent_statements_covered_display": "79", "num_branches": 66, "num_partial_branches": 5, "covered_branches": 51, "missing_branches": 15, "percent_branches_covered": 77.27272727272727, "percent_branches_covered_display": "77"}, "missing_lines": [600, 602, 687, 785, 911, 1102, 1108, 1109, 1110, 1111, 1116, 1117, 1118, 1119, 1122, 1124, 1125, 1126, 1127, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1139, 1140, 1143, 1145, 1146, 1147, 1148, 1151, 1154, 1159, 1164, 1169, 1170, 1171, 1172, 1177, 1182, 1187, 1189, 1190], "excluded_lines": [], "start_line": 584, "executed_branches": [[599, 601], [601, 604], [641, 642], [641, 646], [647, 648], [647, 651], [652, 653], [652, 656], [676, 677], [676, 681], [686, 689], [723, 724], [723, 726], [730, 731], [730, 737], [731, 732], [731, 734], [762, 764], [762, 799], [764, 766], [764, 799], [766, 764], [766, 768], [772, 775], [772, 793], [776, 777], [776, 779], [779, 788], [788, 772], [788, 789], [793, 766], [793, 794], [895, 896], [895, 994], [899, 895], [899, 900], [903, 899], [903, 904], [910, 914], [933, 934], [933, 937], [948, 903], [948, 949], [968, 969], [968, 972], [969, 968], [969, 970], [976, 978], [976, 986], [979, 976], [979, 982]], "missing_branches": [[599, 600], [601, 602], [686, 687], [779, 785], [910, 911], [1119, 1122], [1119, 1131], [1124, 1125], [1124, 1127], [1132, 1133], [1132, 1135], [1136, 1137], [1136, 1139], [1189, -1097], [1189, 1190]]}, "MeanAveragePrecision": {"executed_lines": [1280, 1281, 1283, 1284, 1285, 1286, 1310, 1312, 1315, 1321, 1332, 1333, 1335, 1341, 1342, 1345, 1346, 1347, 1351, 1354, 1355, 1358, 1360, 1361, 1362, 1365, 1368, 1369, 1370, 1372, 1373, 1375, 1376, 1379, 1388, 1390, 1391, 1393, 1404, 1405, 1406, 1409, 1412, 1413, 1415, 1416, 1418, 1419, 1420, 1423, 1425, 1426, 1429, 1430, 1434, 1436, 1437, 1439, 1447, 1448, 1459, 1460, 1462, 1468, 1469, 1471, 1473, 1475, 1478, 1481, 1490, 1499, 1509, 1520], "summary": {"covered_lines": 74, "num_statements": 96, "percent_covered": 69.73684210526316, "percent_covered_display": "70", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 77.08333333333333, "percent_statements_covered_display": "77", "num_branches": 56, "num_partial_branches": 16, "covered_branches": 32, "missing_branches": 24, "percent_branches_covered": 57.142857142857146, "percent_branches_covered_display": "57"}, "missing_lines": [1292, 1293, 1311, 1313, 1316, 1322, 1323, 1325, 1326, 1327, 1328, 1329, 1330, 1343, 1348, 1352, 1363, 1377, 1407, 1410, 1421, 1463], "excluded_lines": [], "start_line": 1226, "executed_branches": [[1310, 1312], [1312, 1315], [1315, 1321], [1321, 1332], [1342, 1345], [1346, 1347], [1346, 1390], [1347, 1351], [1351, 1354], [1354, 1346], [1354, 1355], [1360, 1361], [1362, 1365], [1369, 1370], [1369, 1372], [1372, 1373], [1372, 1375], [1376, 1379], [1405, 1406], [1405, 1448], [1406, 1409], [1409, 1412], [1412, 1405], [1412, 1413], [1418, 1419], [1420, 1423], [1425, 1426], [1430, 1434], [1430, 1436], [1436, 1437], [1436, 1439], [1462, 1468]], "missing_branches": [[1310, 1311], [1312, 1313], [1315, 1316], [1321, 1322], [1325, 1326], [1325, 1328], [1326, 1325], [1326, 1327], [1328, 1329], [1328, 1332], [1329, 1328], [1329, 1330], [1342, 1343], [1347, 1348], [1351, 1352], [1360, 1368], [1362, 1363], [1376, 1377], [1406, 1407], [1409, 1410], [1418, 1425], [1420, 1421], [1425, 1429], [1462, 1463]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 29, 30, 56, 57, 59, 60, 68, 69, 73, 74, 78, 79, 80, 81, 82, 83, 84, 86, 145, 180, 249, 255, 280, 281, 284, 314, 368, 414, 445, 459, 527, 528, 529, 532, 535, 540, 541, 542, 543, 546, 551, 584, 589, 625, 659, 700, 825, 1097, 1192, 1226, 1264, 1288, 1295, 1337, 1399, 1450], "summary": {"covered_lines": 75, "num_statements": 75, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [25, 26], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\mean_average_recall.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 31, 61, 63, 64, 65, 67, 68, 69, 71, 72, 73, 75, 76, 77, 78, 79, 81, 82, 83, 85, 154, 185, 259, 297, 307, 309, 310, 312, 314, 321, 336, 338, 341, 347, 348, 350, 352, 360, 362, 365, 367, 372, 374, 377, 379, 381, 384, 385, 387, 388, 389, 391, 392, 393, 403, 404, 405, 407, 408, 416, 427, 430, 441, 442, 454, 455, 459, 471, 482, 484, 485, 487, 495, 496, 499, 500, 503, 505, 507, 508, 514, 518, 519, 521, 522, 524, 525, 526, 527, 529, 530, 531, 532, 534, 535, 536, 538, 539, 568, 569, 571, 574, 575, 576, 577, 579, 580, 581, 582, 583, 588, 589, 591, 592, 594, 598, 599, 601, 602, 615, 620, 621, 623, 624, 626, 627, 629, 631, 632, 633, 634, 639, 640, 641, 642, 643, 644, 647, 648, 652, 656, 657, 658, 662, 666, 667, 668, 670, 671, 673, 674, 676, 677, 678, 679, 680, 682, 683, 684, 686, 688, 697, 698, 699, 700, 703, 706], "summary": {"covered_lines": 182, "num_statements": 271, "percent_covered": 62.87262872628726, "percent_covered_display": "63", "missing_lines": 89, "excluded_lines": 3, "percent_statements_covered": 67.15867158671587, "percent_statements_covered_display": "67", "num_branches": 98, "num_partial_branches": 16, "covered_branches": 50, "missing_branches": 48, "percent_branches_covered": 51.02040816326531, "percent_branches_covered_display": "51"}, "missing_lines": [124, 134, 135, 136, 139, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 152, 161, 162, 164, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 183, 193, 194, 195, 197, 198, 199, 200, 205, 207, 208, 209, 210, 215, 217, 218, 219, 220, 225, 227, 229, 230, 231, 232, 235, 237, 238, 240, 241, 243, 244, 245, 253, 255, 256, 318, 319, 337, 339, 342, 406, 412, 584, 585, 586, 616, 635, 636, 637, 638, 645, 649, 650, 653, 654, 660, 675, 681], "excluded_lines": [26, 27, 86], "executed_branches": [[336, 338], [338, 341], [341, 347], [387, 388], [387, 441], [391, 387], [391, 392], [392, 393], [392, 403], [403, 404], [403, 405], [405, 407], [407, 408], [441, 442], [441, 454], [485, 487], [485, 499], [521, 522], [521, 535], [524, 521], [524, 525], [529, 530], [529, 534], [574, 575], [574, 598], [579, 580], [579, 583], [583, 588], [615, 620], [631, 632], [631, 634], [634, 639], [639, 640], [641, 642], [641, 644], [648, 652], [652, 656], [656, 657], [667, 668], [667, 670], [674, 676], [676, 677], [678, 679], [678, 680], [680, 682], [682, 683], [683, 684], [683, 686], [699, 700], [699, 706]], "missing_branches": [[134, 135], [134, 136], [136, 139], [136, 141], [142, 143], [142, 145], [145, 146], [145, 148], [148, 149], [148, 152], [170, 171], [170, 174], [172, 173], [172, 174], [174, 175], [174, 178], [176, 177], [176, 178], [178, 179], [178, 183], [180, 181], [180, 183], [197, 198], [197, 207], [207, 208], [207, 217], [217, 218], [217, 227], [243, 244], [243, 253], [336, 337], [338, 339], [341, 342], [405, 406], [407, 412], [583, 584], [615, 616], [634, 635], [635, 636], [635, 638], [639, 645], [648, 649], [652, 653], [656, 660], [674, 675], [676, 678], [680, 681], [682, 686]], "functions": {"MeanAverageRecallResult.mAR_at_1": {"executed_lines": [65], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64, "executed_branches": [], "missing_branches": []}, "MeanAverageRecallResult.mAR_at_10": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68, "executed_branches": [], "missing_branches": []}, "MeanAverageRecallResult.mAR_at_100": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72, "executed_branches": [], "missing_branches": []}, "MeanAverageRecallResult.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [124, 134, 135, 136, 139, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 152], "excluded_lines": [86], "start_line": 85, "executed_branches": [], "missing_branches": [[134, 135], [134, 136], [136, 139], [136, 141], [142, 143], [142, 145], [145, 146], [145, 148], [148, 149], [148, 152]]}, "MeanAverageRecallResult.to_pandas": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 12, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [161, 162, 164, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 183], "excluded_lines": [], "start_line": 154, "executed_branches": [], "missing_branches": [[170, 171], [170, 174], [172, 173], [172, 174], [174, 175], [174, 178], [176, 177], [176, 178], [178, 179], [178, 183], [180, 181], [180, 183]]}, "MeanAverageRecallResult.plot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [193, 194, 195, 197, 198, 199, 200, 205, 207, 208, 209, 210, 215, 217, 218, 219, 220, 225, 227, 229, 230, 231, 232, 235, 237, 238, 240, 241, 243, 244, 245, 253, 255, 256], "excluded_lines": [], "start_line": 185, "executed_branches": [], "missing_branches": [[197, 198], [197, 207], [207, 208], [207, 217], [217, 218], [217, 227], [243, 244], [243, 253]]}, "MeanAverageRecall.__init__": {"executed_lines": [307, 309, 310, 312], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 297, "executed_branches": [], "missing_branches": []}, "MeanAverageRecall.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [318, 319], "excluded_lines": [], "start_line": 314, "executed_branches": [], "missing_branches": []}, "MeanAverageRecall.update": {"executed_lines": [336, 338, 341, 347, 348, 350], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [337, 339, 342], "excluded_lines": [], "start_line": 321, "executed_branches": [[336, 338], [338, 341], [341, 347]], "missing_branches": [[336, 337], [338, 339], [341, 342]]}, "MeanAverageRecall.compute": {"executed_lines": [360, 362, 365, 367, 372, 374, 377, 379], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 352, "executed_branches": [], "missing_branches": []}, "MeanAverageRecall._compute": {"executed_lines": [384, 385, 387, 388, 389, 391, 392, 393, 403, 404, 405, 407, 408, 416, 427, 430, 441, 442, 454, 455, 459], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 89.1891891891892, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 91.30434782608695, "percent_statements_covered_display": "91", "num_branches": 14, "num_partial_branches": 2, "covered_branches": 12, "missing_branches": 2, "percent_branches_covered": 85.71428571428571, "percent_branches_covered_display": "86"}, "missing_lines": [406, 412], "excluded_lines": [], "start_line": 381, "executed_branches": [[387, 388], [387, 441], [391, 387], [391, 392], [392, 393], [392, 403], [403, 404], [403, 405], [405, 407], [407, 408], [441, 442], [441, 454]], "missing_branches": [[405, 406], [407, 412]]}, "MeanAverageRecall._compute_average_recall_for_classes": {"executed_lines": [482, 484, 485, 487, 495, 496, 499, 500, 503, 505], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 471, "executed_branches": [[485, 487], [485, 499]], "missing_branches": []}, "MeanAverageRecall._match_detection_batch": {"executed_lines": [514, 518, 519, 521, 522, 524, 525, 526, 527, 529, 530, 531, 532, 534, 535, 536], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 508, "executed_branches": [[521, 522], [521, 535], [524, 521], [524, 525], [529, 530], [529, 534]], "missing_branches": []}, "MeanAverageRecall._compute_confusion_matrix": {"executed_lines": [568, 569, 571, 574, 575, 576, 577, 579, 580, 581, 582, 583, 588, 589, 591, 592, 594, 598, 599], "summary": {"covered_lines": 19, "num_statements": 22, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 86.36363636363636, "percent_statements_covered_display": "86", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [584, 585, 586], "excluded_lines": [], "start_line": 539, "executed_branches": [[574, 575], [574, 598], [579, 580], [579, 583], [583, 588]], "missing_branches": [[583, 584]]}, "MeanAverageRecall._compute_recall": {"executed_lines": [615, 620, 621, 623, 624, 626, 627], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [616], "excluded_lines": [], "start_line": 602, "executed_branches": [[615, 620]], "missing_branches": [[615, 616]]}, "MeanAverageRecall._detections_content": {"executed_lines": [631, 632, 633, 634, 639, 640, 641, 642, 643, 644], "summary": {"covered_lines": 10, "num_statements": 15, "percent_covered": 64.0, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 4, "percent_branches_covered": 60.0, "percent_branches_covered_display": "60"}, "missing_lines": [635, 636, 637, 638, 645], "excluded_lines": [], "start_line": 629, "executed_branches": [[631, 632], [631, 634], [634, 639], [639, 640], [641, 642], [641, 644]], "missing_branches": [[634, 635], [635, 636], [635, 638], [639, 645]]}, "MeanAverageRecall._make_empty_content": {"executed_lines": [648, 652, 656, 657, 658], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [649, 650, 653, 654, 660], "excluded_lines": [], "start_line": 647, "executed_branches": [[648, 652], [652, 656], [656, 657]], "missing_branches": [[648, 649], [652, 653], [656, 660]]}, "MeanAverageRecall._filter_detections_by_size": {"executed_lines": [666, 667, 668, 670, 671, 673, 674, 676, 677, 678, 679, 680, 682, 683, 684, 686], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 14, "num_partial_branches": 4, "covered_branches": 10, "missing_branches": 4, "percent_branches_covered": 71.42857142857143, "percent_branches_covered_display": "71"}, "missing_lines": [675, 681], "excluded_lines": [], "start_line": 662, "executed_branches": [[667, 668], [667, 670], [674, 676], [676, 677], [678, 679], [678, 680], [680, 682], [682, 683], [683, 684], [683, 686]], "missing_branches": [[674, 675], [676, 678], [680, 681], [682, 686]]}, "MeanAverageRecall._filter_predictions_and_targets_by_size": {"executed_lines": [697, 698, 699, 700, 703, 706], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 688, "executed_branches": [[699, 700], [699, 706]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 31, 61, 63, 64, 67, 68, 71, 72, 75, 76, 77, 78, 79, 81, 82, 83, 85, 154, 185, 259, 297, 314, 321, 352, 381, 471, 507, 508, 538, 539, 601, 602, 629, 647, 662, 688], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"MeanAverageRecallResult": {"executed_lines": [65, 69, 73], "summary": {"covered_lines": 3, "num_statements": 69, "percent_covered": 3.0303030303030303, "percent_covered_display": "3", "missing_lines": 66, "excluded_lines": 1, "percent_statements_covered": 4.3478260869565215, "percent_statements_covered_display": "4", "num_branches": 30, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 30, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [124, 134, 135, 136, 139, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 152, 161, 162, 164, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 183, 193, 194, 195, 197, 198, 199, 200, 205, 207, 208, 209, 210, 215, 217, 218, 219, 220, 225, 227, 229, 230, 231, 232, 235, 237, 238, 240, 241, 243, 244, 245, 253, 255, 256], "excluded_lines": [86], "start_line": 31, "executed_branches": [], "missing_branches": [[134, 135], [134, 136], [136, 139], [136, 141], [142, 143], [142, 145], [145, 146], [145, 148], [148, 149], [148, 152], [170, 171], [170, 174], [172, 173], [172, 174], [174, 175], [174, 178], [176, 177], [176, 178], [178, 179], [178, 183], [180, 181], [180, 183], [197, 198], [197, 207], [207, 208], [207, 217], [217, 218], [217, 227], [243, 244], [243, 253]]}, "MeanAverageRecall": {"executed_lines": [307, 309, 310, 312, 336, 338, 341, 347, 348, 350, 360, 362, 365, 367, 372, 374, 377, 379, 384, 385, 387, 388, 389, 391, 392, 393, 403, 404, 405, 407, 408, 416, 427, 430, 441, 442, 454, 455, 459, 482, 484, 485, 487, 495, 496, 499, 500, 503, 505, 514, 518, 519, 521, 522, 524, 525, 526, 527, 529, 530, 531, 532, 534, 535, 536, 568, 569, 571, 574, 575, 576, 577, 579, 580, 581, 582, 583, 588, 589, 591, 592, 594, 598, 599, 615, 620, 621, 623, 624, 626, 627, 631, 632, 633, 634, 639, 640, 641, 642, 643, 644, 648, 652, 656, 657, 658, 666, 667, 668, 670, 671, 673, 674, 676, 677, 678, 679, 680, 682, 683, 684, 686, 697, 698, 699, 700, 703, 706], "summary": {"covered_lines": 128, "num_statements": 151, "percent_covered": 81.27853881278538, "percent_covered_display": "81", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 84.76821192052981, "percent_statements_covered_display": "85", "num_branches": 68, "num_partial_branches": 16, "covered_branches": 50, "missing_branches": 18, "percent_branches_covered": 73.52941176470588, "percent_branches_covered_display": "74"}, "missing_lines": [318, 319, 337, 339, 342, 406, 412, 584, 585, 586, 616, 635, 636, 637, 638, 645, 649, 650, 653, 654, 660, 675, 681], "excluded_lines": [], "start_line": 259, "executed_branches": [[336, 338], [338, 341], [341, 347], [387, 388], [387, 441], [391, 387], [391, 392], [392, 393], [392, 403], [403, 404], [403, 405], [405, 407], [407, 408], [441, 442], [441, 454], [485, 487], [485, 499], [521, 522], [521, 535], [524, 521], [524, 525], [529, 530], [529, 534], [574, 575], [574, 598], [579, 580], [579, 583], [583, 588], [615, 620], [631, 632], [631, 634], [634, 639], [639, 640], [641, 642], [641, 644], [648, 652], [652, 656], [656, 657], [667, 668], [667, 670], [674, 676], [676, 677], [678, 679], [678, 680], [680, 682], [682, 683], [683, 684], [683, 686], [699, 700], [699, 706]], "missing_branches": [[336, 337], [338, 339], [341, 342], [405, 406], [407, 412], [583, 584], [615, 616], [634, 635], [635, 636], [635, 638], [639, 645], [648, 649], [652, 653], [656, 660], [674, 675], [676, 678], [680, 681], [682, 686]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 31, 61, 63, 64, 67, 68, 71, 72, 75, 76, 77, 78, 79, 81, 82, 83, 85, 154, 185, 259, 297, 314, 321, 352, 381, 471, 507, 508, 538, 539, 601, 602, 629, 647, 662, 688], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\precision.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 69, 82, 83, 85, 86, 88, 92, 93, 95, 110, 111, 112, 113, 115, 116, 121, 122, 124, 126, 134, 136, 139, 141, 146, 148, 151, 153, 155, 166, 167, 169, 170, 171, 173, 176, 178, 188, 189, 190, 200, 201, 202, 204, 205, 213, 223, 232, 233, 245, 246, 250, 262, 278, 279, 280, 284, 287, 288, 289, 292, 297, 300, 301, 302, 303, 304, 305, 306, 307, 311, 313, 317, 319, 320, 326, 330, 331, 333, 334, 336, 337, 338, 339, 341, 342, 343, 344, 346, 347, 348, 350, 351, 378, 379, 381, 384, 385, 386, 387, 389, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 404, 405, 407, 408, 421, 426, 427, 429, 430, 437, 438, 440, 442, 443, 444, 445, 450, 451, 452, 453, 454, 455, 458, 459, 463, 467, 468, 469, 473, 477, 478, 479, 481, 482, 484, 485, 487, 488, 489, 490, 491, 493, 494, 495, 497, 499, 508, 509, 510, 511, 514, 517, 520, 521, 551, 552, 554, 555, 556, 558, 559, 560, 562, 563, 564, 565, 567, 568, 569, 571, 643, 673], "summary": {"covered_lines": 198, "num_statements": 280, "percent_covered": 67.01030927835052, "percent_covered_display": "67", "missing_lines": 82, "excluded_lines": 3, "percent_statements_covered": 70.71428571428571, "percent_statements_covered_display": "71", "num_branches": 108, "num_partial_branches": 14, "covered_branches": 62, "missing_branches": 46, "percent_branches_covered": 57.407407407407405, "percent_branches_covered_display": "57"}, "missing_lines": [177, 203, 209, 422, 446, 447, 448, 449, 456, 460, 461, 464, 465, 471, 486, 492, 613, 623, 624, 625, 628, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 641, 650, 651, 653, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 671, 682, 683, 684, 686, 687, 688, 689, 690, 692, 693, 694, 695, 696, 698, 699, 700, 701, 702, 704, 706, 707, 708, 709, 714, 716, 717, 719, 720, 722, 723, 724, 732, 734, 735], "excluded_lines": [26, 27, 572], "executed_branches": [[110, 111], [110, 112], [112, 113], [112, 115], [115, 116], [115, 121], [169, 170], [169, 232], [173, 176], [173, 188], [176, 178], [188, 169], [188, 189], [189, 190], [189, 200], [200, 201], [200, 202], [202, 204], [204, 205], [232, 233], [232, 245], [300, 301], [300, 302], [302, 303], [302, 305], [305, 306], [307, 311], [307, 313], [333, 334], [333, 347], [336, 333], [336, 337], [341, 342], [341, 346], [384, 385], [384, 404], [389, 390], [389, 393], [393, 394], [393, 398], [421, 426], [442, 443], [442, 445], [445, 450], [450, 451], [452, 453], [452, 455], [459, 463], [463, 467], [467, 468], [478, 479], [478, 481], [485, 487], [487, 488], [489, 490], [489, 491], [491, 493], [493, 494], [494, 495], [494, 497], [510, 511], [510, 517]], "missing_branches": [[176, 177], [202, 203], [204, 209], [305, 317], [421, 422], [445, 446], [446, 447], [446, 449], [450, 456], [459, 460], [463, 464], [467, 471], [485, 486], [487, 489], [491, 492], [493, 497], [623, 624], [623, 625], [625, 628], [625, 630], [631, 632], [631, 634], [634, 635], [634, 637], [637, 638], [637, 641], [658, 659], [658, 662], [660, 661], [660, 662], [662, 663], [662, 666], [664, 665], [664, 666], [666, 667], [666, 671], [668, 669], [668, 671], [686, 687], [686, 692], [692, 693], [692, 698], [698, 699], [698, 704], [722, 723], [722, 732]], "functions": {"Precision.__init__": {"executed_lines": [82, 83, 85, 86], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69, "executed_branches": [], "missing_branches": []}, "Precision.reset": {"executed_lines": [92, 93], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88, "executed_branches": [], "missing_branches": []}, "Precision.update": {"executed_lines": [110, 111, 112, 113, 115, 116, 121, 122, 124], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 95, "executed_branches": [[110, 111], [110, 112], [112, 113], [112, 115], [115, 116], [115, 121]], "missing_branches": []}, "Precision.compute": {"executed_lines": [134, 136, 139, 141, 146, 148, 151, 153], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 126, "executed_branches": [], "missing_branches": []}, "Precision._compute": {"executed_lines": [166, 167, 169, 170, 171, 173, 176, 178, 188, 189, 190, 200, 201, 202, 204, 205, 213, 223, 232, 233, 245, 246, 250], "summary": {"covered_lines": 23, "num_statements": 26, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 88.46153846153847, "percent_statements_covered_display": "88", "num_branches": 18, "num_partial_branches": 3, "covered_branches": 15, "missing_branches": 3, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [177, 203, 209], "excluded_lines": [], "start_line": 155, "executed_branches": [[169, 170], [169, 232], [173, 176], [173, 188], [176, 178], [188, 169], [188, 189], [189, 190], [189, 200], [200, 201], [200, 202], [202, 204], [204, 205], [232, 233], [232, 245]], "missing_branches": [[176, 177], [202, 203], [204, 209]]}, "Precision._compute_precision_for_classes": {"executed_lines": [278, 279, 280, 284, 287, 288, 289, 292, 297, 300, 301, 302, 303, 304, 305, 306, 307, 311, 313, 317], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 96.42857142857143, "percent_covered_display": "96", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [], "excluded_lines": [], "start_line": 262, "executed_branches": [[300, 301], [300, 302], [302, 303], [302, 305], [305, 306], [307, 311], [307, 313]], "missing_branches": [[305, 317]]}, "Precision._match_detection_batch": {"executed_lines": [326, 330, 331, 333, 334, 336, 337, 338, 339, 341, 342, 343, 344, 346, 347, 348], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 320, "executed_branches": [[333, 334], [333, 347], [336, 333], [336, 337], [341, 342], [341, 346]], "missing_branches": []}, "Precision._compute_confusion_matrix": {"executed_lines": [378, 379, 381, 384, 385, 386, 387, 389, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 404, 405], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 351, "executed_branches": [[384, 385], [384, 404], [389, 390], [389, 393], [393, 394], [393, 398]], "missing_branches": []}, "Precision._compute_precision": {"executed_lines": [421, 426, 427, 429, 430, 437, 438], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [422], "excluded_lines": [], "start_line": 408, "executed_branches": [[421, 426]], "missing_branches": [[421, 422]]}, "Precision._detections_content": {"executed_lines": [442, 443, 444, 445, 450, 451, 452, 453, 454, 455], "summary": {"covered_lines": 10, "num_statements": 15, "percent_covered": 64.0, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 4, "percent_branches_covered": 60.0, "percent_branches_covered_display": "60"}, "missing_lines": [446, 447, 448, 449, 456], "excluded_lines": [], "start_line": 440, "executed_branches": [[442, 443], [442, 445], [445, 450], [450, 451], [452, 453], [452, 455]], "missing_branches": [[445, 446], [446, 447], [446, 449], [450, 456]]}, "Precision._make_empty_content": {"executed_lines": [459, 463, 467, 468, 469], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [460, 461, 464, 465, 471], "excluded_lines": [], "start_line": 458, "executed_branches": [[459, 463], [463, 467], [467, 468]], "missing_branches": [[459, 460], [463, 464], [467, 471]]}, "Precision._filter_detections_by_size": {"executed_lines": [477, 478, 479, 481, 482, 484, 485, 487, 488, 489, 490, 491, 493, 494, 495, 497], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 14, "num_partial_branches": 4, "covered_branches": 10, "missing_branches": 4, "percent_branches_covered": 71.42857142857143, "percent_branches_covered_display": "71"}, "missing_lines": [486, 492], "excluded_lines": [], "start_line": 473, "executed_branches": [[478, 479], [478, 481], [485, 487], [487, 488], [489, 490], [489, 491], [491, 493], [493, 494], [494, 495], [494, 497]], "missing_branches": [[485, 486], [487, 489], [491, 492], [493, 497]]}, "Precision._filter_predictions_and_targets_by_size": {"executed_lines": [508, 509, 510, 511, 514, 517], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 499, "executed_branches": [[510, 511], [510, 517]], "missing_branches": []}, "PrecisionResult.precision_at_50": {"executed_lines": [556], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 555, "executed_branches": [], "missing_branches": []}, "PrecisionResult.precision_at_75": {"executed_lines": [560], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 559, "executed_branches": [], "missing_branches": []}, "PrecisionResult.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [613, 623, 624, 625, 628, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 641], "excluded_lines": [572], "start_line": 571, "executed_branches": [], "missing_branches": [[623, 624], [623, 625], [625, 628], [625, 630], [631, 632], [631, 634], [634, 635], [634, 637], [637, 638], [637, 641]]}, "PrecisionResult.to_pandas": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 12, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [650, 651, 653, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 671], "excluded_lines": [], "start_line": 643, "executed_branches": [], "missing_branches": [[658, 659], [658, 662], [660, 661], [660, 662], [662, 663], [662, 666], [664, 665], [664, 666], [666, 667], [666, 671], [668, 669], [668, 671]]}, "PrecisionResult.plot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [682, 683, 684, 686, 687, 688, 689, 690, 692, 693, 694, 695, 696, 698, 699, 700, 701, 702, 704, 706, 707, 708, 709, 714, 716, 717, 719, 720, 722, 723, 724, 732, 734, 735], "excluded_lines": [], "start_line": 673, "executed_branches": [], "missing_branches": [[686, 687], [686, 692], [692, 693], [692, 698], [698, 699], [698, 704], [722, 723], [722, 732]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 69, 88, 95, 126, 155, 262, 319, 320, 350, 351, 407, 408, 440, 458, 473, 499, 520, 521, 551, 552, 554, 555, 558, 559, 562, 563, 564, 565, 567, 568, 569, 571, 643, 673], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Precision": {"executed_lines": [82, 83, 85, 86, 92, 93, 110, 111, 112, 113, 115, 116, 121, 122, 124, 134, 136, 139, 141, 146, 148, 151, 153, 166, 167, 169, 170, 171, 173, 176, 178, 188, 189, 190, 200, 201, 202, 204, 205, 213, 223, 232, 233, 245, 246, 250, 278, 279, 280, 284, 287, 288, 289, 292, 297, 300, 301, 302, 303, 304, 305, 306, 307, 311, 313, 317, 326, 330, 331, 333, 334, 336, 337, 338, 339, 341, 342, 343, 344, 346, 347, 348, 378, 379, 381, 384, 385, 386, 387, 389, 390, 391, 392, 393, 394, 395, 396, 398, 399, 400, 401, 404, 405, 421, 426, 427, 429, 430, 437, 438, 442, 443, 444, 445, 450, 451, 452, 453, 454, 455, 459, 463, 467, 468, 469, 477, 478, 479, 481, 482, 484, 485, 487, 488, 489, 490, 491, 493, 494, 495, 497, 508, 509, 510, 511, 514, 517], "summary": {"covered_lines": 147, "num_statements": 163, "percent_covered": 86.72199170124482, "percent_covered_display": "87", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 90.1840490797546, "percent_statements_covered_display": "90", "num_branches": 78, "num_partial_branches": 14, "covered_branches": 62, "missing_branches": 16, "percent_branches_covered": 79.48717948717949, "percent_branches_covered_display": "79"}, "missing_lines": [177, 203, 209, 422, 446, 447, 448, 449, 456, 460, 461, 464, 465, 471, 486, 492], "excluded_lines": [], "start_line": 30, "executed_branches": [[110, 111], [110, 112], [112, 113], [112, 115], [115, 116], [115, 121], [169, 170], [169, 232], [173, 176], [173, 188], [176, 178], [188, 169], [188, 189], [189, 190], [189, 200], [200, 201], [200, 202], [202, 204], [204, 205], [232, 233], [232, 245], [300, 301], [300, 302], [302, 303], [302, 305], [305, 306], [307, 311], [307, 313], [333, 334], [333, 347], [336, 333], [336, 337], [341, 342], [341, 346], [384, 385], [384, 404], [389, 390], [389, 393], [393, 394], [393, 398], [421, 426], [442, 443], [442, 445], [445, 450], [450, 451], [452, 453], [452, 455], [459, 463], [463, 467], [467, 468], [478, 479], [478, 481], [485, 487], [487, 488], [489, 490], [489, 491], [491, 493], [493, 494], [494, 495], [494, 497], [510, 511], [510, 517]], "missing_branches": [[176, 177], [202, 203], [204, 209], [305, 317], [421, 422], [445, 446], [446, 447], [446, 449], [450, 456], [459, 460], [463, 464], [467, 471], [485, 486], [487, 489], [491, 492], [493, 497]]}, "PrecisionResult": {"executed_lines": [556, 560], "summary": {"covered_lines": 2, "num_statements": 68, "percent_covered": 2.0408163265306123, "percent_covered_display": "2", "missing_lines": 66, "excluded_lines": 1, "percent_statements_covered": 2.9411764705882355, "percent_statements_covered_display": "3", "num_branches": 30, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 30, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [613, 623, 624, 625, 628, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 641, 650, 651, 653, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 671, 682, 683, 684, 686, 687, 688, 689, 690, 692, 693, 694, 695, 696, 698, 699, 700, 701, 702, 704, 706, 707, 708, 709, 714, 716, 717, 719, 720, 722, 723, 724, 732, 734, 735], "excluded_lines": [572], "start_line": 521, "executed_branches": [], "missing_branches": [[623, 624], [623, 625], [625, 628], [625, 630], [631, 632], [631, 634], [634, 635], [634, 637], [637, 638], [637, 641], [658, 659], [658, 662], [660, 661], [660, 662], [662, 663], [662, 666], [664, 665], [664, 666], [666, 667], [666, 671], [668, 669], [668, 671], [686, 687], [686, 692], [692, 693], [692, 698], [698, 699], [698, 704], [722, 723], [722, 732]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 69, 88, 95, 126, 155, 262, 319, 320, 350, 351, 407, 408, 440, 458, 473, 499, 520, 521, 551, 552, 554, 555, 558, 559, 562, 563, 564, 565, 567, 568, 569, 571, 643, 673], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\recall.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 69, 82, 83, 85, 86, 88, 92, 93, 95, 110, 111, 112, 113, 115, 116, 121, 122, 124, 126, 134, 136, 139, 141, 146, 148, 151, 153, 155, 158, 159, 161, 162, 163, 165, 166, 167, 177, 178, 179, 181, 182, 190, 200, 209, 210, 222, 223, 227, 239, 250, 251, 252, 253, 256, 261, 264, 265, 266, 267, 268, 269, 270, 271, 273, 275, 276, 282, 286, 287, 289, 290, 292, 293, 294, 295, 297, 298, 299, 300, 302, 303, 304, 306, 307, 334, 335, 337, 340, 341, 342, 343, 345, 346, 347, 348, 349, 354, 355, 356, 357, 360, 361, 363, 364, 377, 382, 383, 385, 386, 393, 394, 396, 398, 399, 400, 401, 406, 407, 408, 409, 410, 411, 414, 415, 419, 423, 424, 425, 431, 435, 436, 437, 439, 440, 442, 443, 445, 446, 447, 448, 449, 451, 452, 453, 455, 457, 466, 467, 468, 469, 472, 475, 478, 479, 507, 508, 510, 511, 512, 514, 515, 516, 518, 519, 520, 521, 523, 524, 525, 527, 597, 627], "summary": {"covered_lines": 187, "num_statements": 271, "percent_covered": 65.14745308310992, "percent_covered_display": "65", "missing_lines": 84, "excluded_lines": 3, "percent_statements_covered": 69.00369003690037, "percent_statements_covered_display": "69", "num_branches": 102, "num_partial_branches": 14, "covered_branches": 56, "missing_branches": 46, "percent_branches_covered": 54.90196078431372, "percent_branches_covered_display": "55"}, "missing_lines": [180, 186, 350, 351, 352, 378, 402, 403, 404, 405, 412, 416, 417, 420, 421, 427, 444, 450, 567, 577, 578, 579, 582, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 595, 604, 605, 607, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 625, 636, 637, 638, 640, 641, 642, 643, 644, 646, 647, 648, 649, 650, 652, 653, 654, 655, 656, 658, 660, 661, 662, 663, 668, 670, 671, 673, 674, 676, 677, 678, 686, 688, 689], "excluded_lines": [26, 27, 528], "executed_branches": [[110, 111], [110, 112], [112, 113], [112, 115], [115, 116], [115, 121], [161, 162], [161, 209], [165, 161], [165, 166], [166, 167], [166, 177], [177, 178], [177, 179], [179, 181], [181, 182], [209, 210], [209, 222], [264, 265], [264, 266], [266, 267], [266, 269], [269, 270], [289, 290], [289, 303], [292, 289], [292, 293], [297, 298], [297, 302], [340, 341], [340, 360], [345, 346], [345, 349], [349, 354], [377, 382], [398, 399], [398, 401], [401, 406], [406, 407], [408, 409], [408, 411], [415, 419], [419, 423], [423, 424], [436, 437], [436, 439], [443, 445], [445, 446], [447, 448], [447, 449], [449, 451], [451, 452], [452, 453], [452, 455], [468, 469], [468, 475]], "missing_branches": [[179, 180], [181, 186], [269, 273], [349, 350], [377, 378], [401, 402], [402, 403], [402, 405], [406, 412], [415, 416], [419, 420], [423, 427], [443, 444], [445, 447], [449, 450], [451, 455], [577, 578], [577, 579], [579, 582], [579, 584], [585, 586], [585, 588], [588, 589], [588, 591], [591, 592], [591, 595], [612, 613], [612, 616], [614, 615], [614, 616], [616, 617], [616, 620], [618, 619], [618, 620], [620, 621], [620, 625], [622, 623], [622, 625], [640, 641], [640, 646], [646, 647], [646, 652], [652, 653], [652, 658], [676, 677], [676, 686]], "functions": {"Recall.__init__": {"executed_lines": [82, 83, 85, 86], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69, "executed_branches": [], "missing_branches": []}, "Recall.reset": {"executed_lines": [92, 93], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88, "executed_branches": [], "missing_branches": []}, "Recall.update": {"executed_lines": [110, 111, 112, 113, 115, 116, 121, 122, 124], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 95, "executed_branches": [[110, 111], [110, 112], [112, 113], [112, 115], [115, 116], [115, 121]], "missing_branches": []}, "Recall.compute": {"executed_lines": [134, 136, 139, 141, 146, 148, 151, 153], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 126, "executed_branches": [], "missing_branches": []}, "Recall._compute": {"executed_lines": [158, 159, 161, 162, 163, 165, 166, 167, 177, 178, 179, 181, 182, 190, 200, 209, 210, 222, 223, 227], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 14, "num_partial_branches": 2, "covered_branches": 12, "missing_branches": 2, "percent_branches_covered": 85.71428571428571, "percent_branches_covered_display": "86"}, "missing_lines": [180, 186], "excluded_lines": [], "start_line": 155, "executed_branches": [[161, 162], [161, 209], [165, 161], [165, 166], [166, 167], [166, 177], [177, 178], [177, 179], [179, 181], [181, 182], [209, 210], [209, 222]], "missing_branches": [[179, 180], [181, 186]]}, "Recall._compute_recall_for_classes": {"executed_lines": [250, 251, 252, 253, 256, 261, 264, 265, 266, 267, 268, 269, 270, 271, 273], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [], "excluded_lines": [], "start_line": 239, "executed_branches": [[264, 265], [264, 266], [266, 267], [266, 269], [269, 270]], "missing_branches": [[269, 273]]}, "Recall._match_detection_batch": {"executed_lines": [282, 286, 287, 289, 290, 292, 293, 294, 295, 297, 298, 299, 300, 302, 303, 304], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 276, "executed_branches": [[289, 290], [289, 303], [292, 289], [292, 293], [297, 298], [297, 302]], "missing_branches": []}, "Recall._compute_confusion_matrix": {"executed_lines": [334, 335, 337, 340, 341, 342, 343, 345, 346, 347, 348, 349, 354, 355, 356, 357, 360, 361], "summary": {"covered_lines": 18, "num_statements": 21, "percent_covered": 85.18518518518519, "percent_covered_display": "85", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [350, 351, 352], "excluded_lines": [], "start_line": 307, "executed_branches": [[340, 341], [340, 360], [345, 346], [345, 349], [349, 354]], "missing_branches": [[349, 350]]}, "Recall._compute_recall": {"executed_lines": [377, 382, 383, 385, 386, 393, 394], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [378], "excluded_lines": [], "start_line": 364, "executed_branches": [[377, 382]], "missing_branches": [[377, 378]]}, "Recall._detections_content": {"executed_lines": [398, 399, 400, 401, 406, 407, 408, 409, 410, 411], "summary": {"covered_lines": 10, "num_statements": 15, "percent_covered": 64.0, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 4, "percent_branches_covered": 60.0, "percent_branches_covered_display": "60"}, "missing_lines": [402, 403, 404, 405, 412], "excluded_lines": [], "start_line": 396, "executed_branches": [[398, 399], [398, 401], [401, 406], [406, 407], [408, 409], [408, 411]], "missing_branches": [[401, 402], [402, 403], [402, 405], [406, 412]]}, "Recall._make_empty_content": {"executed_lines": [415, 419, 423, 424, 425], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [416, 417, 420, 421, 427], "excluded_lines": [], "start_line": 414, "executed_branches": [[415, 419], [419, 423], [423, 424]], "missing_branches": [[415, 416], [419, 420], [423, 427]]}, "Recall._filter_detections_by_size": {"executed_lines": [435, 436, 437, 439, 440, 442, 443, 445, 446, 447, 448, 449, 451, 452, 453, 455], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 14, "num_partial_branches": 4, "covered_branches": 10, "missing_branches": 4, "percent_branches_covered": 71.42857142857143, "percent_branches_covered_display": "71"}, "missing_lines": [444, 450], "excluded_lines": [], "start_line": 431, "executed_branches": [[436, 437], [436, 439], [443, 445], [445, 446], [447, 448], [447, 449], [449, 451], [451, 452], [452, 453], [452, 455]], "missing_branches": [[443, 444], [445, 447], [449, 450], [451, 455]]}, "Recall._filter_predictions_and_targets_by_size": {"executed_lines": [466, 467, 468, 469, 472, 475], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 457, "executed_branches": [[468, 469], [468, 475]], "missing_branches": []}, "RecallResult.recall_at_50": {"executed_lines": [512], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 511, "executed_branches": [], "missing_branches": []}, "RecallResult.recall_at_75": {"executed_lines": [516], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 515, "executed_branches": [], "missing_branches": []}, "RecallResult.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [567, 577, 578, 579, 582, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 595], "excluded_lines": [528], "start_line": 527, "executed_branches": [], "missing_branches": [[577, 578], [577, 579], [579, 582], [579, 584], [585, 586], [585, 588], [588, 589], [588, 591], [591, 592], [591, 595]]}, "RecallResult.to_pandas": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 12, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [604, 605, 607, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 625], "excluded_lines": [], "start_line": 597, "executed_branches": [], "missing_branches": [[612, 613], [612, 616], [614, 615], [614, 616], [616, 617], [616, 620], [618, 619], [618, 620], [620, 621], [620, 625], [622, 623], [622, 625]]}, "RecallResult.plot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [636, 637, 638, 640, 641, 642, 643, 644, 646, 647, 648, 649, 650, 652, 653, 654, 655, 656, 658, 660, 661, 662, 663, 668, 670, 671, 673, 674, 676, 677, 678, 686, 688, 689], "excluded_lines": [], "start_line": 627, "executed_branches": [], "missing_branches": [[640, 641], [640, 646], [646, 647], [646, 652], [652, 653], [652, 658], [676, 677], [676, 686]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 69, 88, 95, 126, 155, 239, 275, 276, 306, 307, 363, 364, 396, 414, 431, 457, 478, 479, 507, 508, 510, 511, 514, 515, 518, 519, 520, 521, 523, 524, 525, 527, 597, 627], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Recall": {"executed_lines": [82, 83, 85, 86, 92, 93, 110, 111, 112, 113, 115, 116, 121, 122, 124, 134, 136, 139, 141, 146, 148, 151, 153, 158, 159, 161, 162, 163, 165, 166, 167, 177, 178, 179, 181, 182, 190, 200, 209, 210, 222, 223, 227, 250, 251, 252, 253, 256, 261, 264, 265, 266, 267, 268, 269, 270, 271, 273, 282, 286, 287, 289, 290, 292, 293, 294, 295, 297, 298, 299, 300, 302, 303, 304, 334, 335, 337, 340, 341, 342, 343, 345, 346, 347, 348, 349, 354, 355, 356, 357, 360, 361, 377, 382, 383, 385, 386, 393, 394, 398, 399, 400, 401, 406, 407, 408, 409, 410, 411, 415, 419, 423, 424, 425, 435, 436, 437, 439, 440, 442, 443, 445, 446, 447, 448, 449, 451, 452, 453, 455, 466, 467, 468, 469, 472, 475], "summary": {"covered_lines": 136, "num_statements": 154, "percent_covered": 84.95575221238938, "percent_covered_display": "85", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 88.31168831168831, "percent_statements_covered_display": "88", "num_branches": 72, "num_partial_branches": 14, "covered_branches": 56, "missing_branches": 16, "percent_branches_covered": 77.77777777777777, "percent_branches_covered_display": "78"}, "missing_lines": [180, 186, 350, 351, 352, 378, 402, 403, 404, 405, 412, 416, 417, 420, 421, 427, 444, 450], "excluded_lines": [], "start_line": 30, "executed_branches": [[110, 111], [110, 112], [112, 113], [112, 115], [115, 116], [115, 121], [161, 162], [161, 209], [165, 161], [165, 166], [166, 167], [166, 177], [177, 178], [177, 179], [179, 181], [181, 182], [209, 210], [209, 222], [264, 265], [264, 266], [266, 267], [266, 269], [269, 270], [289, 290], [289, 303], [292, 289], [292, 293], [297, 298], [297, 302], [340, 341], [340, 360], [345, 346], [345, 349], [349, 354], [377, 382], [398, 399], [398, 401], [401, 406], [406, 407], [408, 409], [408, 411], [415, 419], [419, 423], [423, 424], [436, 437], [436, 439], [443, 445], [445, 446], [447, 448], [447, 449], [449, 451], [451, 452], [452, 453], [452, 455], [468, 469], [468, 475]], "missing_branches": [[179, 180], [181, 186], [269, 273], [349, 350], [377, 378], [401, 402], [402, 403], [402, 405], [406, 412], [415, 416], [419, 420], [423, 427], [443, 444], [445, 447], [449, 450], [451, 455]]}, "RecallResult": {"executed_lines": [512, 516], "summary": {"covered_lines": 2, "num_statements": 68, "percent_covered": 2.0408163265306123, "percent_covered_display": "2", "missing_lines": 66, "excluded_lines": 1, "percent_statements_covered": 2.9411764705882355, "percent_statements_covered_display": "3", "num_branches": 30, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 30, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [567, 577, 578, 579, 582, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 595, 604, 605, 607, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 625, 636, 637, 638, 640, 641, 642, 643, 644, 646, 647, 648, 649, 650, 652, 653, 654, 655, 656, 658, 660, 661, 662, 663, 668, 670, 671, 673, 674, 676, 677, 678, 686, 688, 689], "excluded_lines": [528], "start_line": 479, "executed_branches": [], "missing_branches": [[577, 578], [577, 579], [579, 582], [579, 584], [585, 586], [585, 588], [588, 589], [588, 591], [591, 592], [591, 595], [612, 613], [612, 616], [614, 615], [614, 616], [616, 617], [616, 620], [618, 619], [618, 620], [620, 621], [620, 625], [622, 623], [622, 625], [640, 641], [640, 646], [646, 647], [646, 652], [652, 653], [652, 658], [676, 677], [676, 686]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 69, 88, 95, 126, 155, 239, 275, 276, 306, 307, 363, 364, 396, 414, 431, 457, 478, 479, 507, 508, 510, 511, 514, 515, 518, 519, 520, 521, 523, 524, 525, 527, 597, 627], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\utils\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\utils\\object_size.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 16, 19, 40, 41, 42, 43, 46, 85, 111, 114, 115, 116, 118, 119, 120, 121, 122, 123, 126, 168, 193, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 211, 214, 229, 230, 231, 235, 236, 238], "summary": {"covered_lines": 47, "num_statements": 72, "percent_covered": 56.25, "percent_covered_display": "56", "missing_lines": 25, "excluded_lines": 2, "percent_statements_covered": 65.27777777777777, "percent_statements_covered_display": "65", "num_branches": 24, "num_partial_branches": 5, "covered_branches": 7, "missing_branches": 17, "percent_branches_covered": 29.166666666666668, "percent_branches_covered_display": "29"}, "missing_lines": [76, 77, 78, 79, 80, 81, 82, 112, 153, 154, 156, 157, 158, 160, 161, 162, 163, 164, 165, 194, 232, 233, 234, 237, 241], "excluded_lines": [13, 14], "executed_branches": [[111, 114], [193, 197], [229, 230], [229, 231], [231, 235], [235, 236], [236, 238]], "missing_branches": [[76, 77], [76, 78], [78, 79], [78, 80], [80, 81], [80, 82], [111, 112], [153, 154], [153, 156], [156, 157], [156, 158], [193, 194], [231, 232], [232, 233], [232, 234], [235, 241], [236, 237]], "functions": {"get_object_size_category": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [76, 77, 78, 79, 80, 81, 82], "excluded_lines": [], "start_line": 46, "executed_branches": [], "missing_branches": [[76, 77], [76, 78], [78, 79], [78, 80], [80, 81], [80, 82]]}, "get_bbox_size_category": {"executed_lines": [111, 114, 115, 116, 118, 119, 120, 121, 122, 123], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [112], "excluded_lines": [], "start_line": 85, "executed_branches": [[111, 114]], "missing_branches": [[111, 112]]}, "get_mask_size_category": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [153, 154, 156, 157, 158, 160, 161, 162, 163, 164, 165], "excluded_lines": [], "start_line": 126, "executed_branches": [], "missing_branches": [[153, 154], [153, 156], [156, 157], [156, 158]]}, "get_obb_size_category": {"executed_lines": [193, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 211], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [194], "excluded_lines": [], "start_line": 168, "executed_branches": [[193, 197]], "missing_branches": [[193, 194]]}, "get_detection_size_category": {"executed_lines": [229, 230, 231, 235, 236, 238], "summary": {"covered_lines": 6, "num_statements": 11, "percent_covered": 52.38095238095238, "percent_covered_display": "52", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 54.54545454545455, "percent_statements_covered_display": "55", "num_branches": 10, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 5, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [232, 233, 234, 237, 241], "excluded_lines": [], "start_line": 214, "executed_branches": [[229, 230], [229, 231], [231, 235], [235, 236], [236, 238]], "missing_branches": [[231, 232], [232, 233], [232, 234], [235, 241], [236, 237]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 16, 19, 40, 41, 42, 43, 46, 85, 126, 168, 214], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [13, 14], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"ObjectSizeCategory": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 16, 19, 40, 41, 42, 43, 46, 85, 111, 114, 115, 116, 118, 119, 120, 121, 122, 123, 126, 168, 193, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 211, 214, 229, 230, 231, 235, 236, 238], "summary": {"covered_lines": 47, "num_statements": 72, "percent_covered": 56.25, "percent_covered_display": "56", "missing_lines": 25, "excluded_lines": 2, "percent_statements_covered": 65.27777777777777, "percent_statements_covered_display": "65", "num_branches": 24, "num_partial_branches": 5, "covered_branches": 7, "missing_branches": 17, "percent_branches_covered": 29.166666666666668, "percent_branches_covered_display": "29"}, "missing_lines": [76, 77, 78, 79, 80, 81, 82, 112, 153, 154, 156, 157, 158, 160, 161, 162, 163, 164, 165, 194, 232, 233, 234, 237, 241], "excluded_lines": [13, 14], "start_line": 1, "executed_branches": [[111, 114], [193, 197], [229, 230], [229, 231], [231, 235], [235, 236], [236, 238]], "missing_branches": [[76, 77], [76, 78], [78, 79], [78, 80], [80, 81], [80, 82], [111, 112], [153, 154], [153, 156], [156, 157], [156, 158], [193, 194], [231, 232], [232, 233], [232, 234], [235, 241], [236, 237]]}}}, "src\\supervision\\metrics\\utils\\utils.py": {"executed_lines": [1], "summary": {"covered_lines": 1, "num_statements": 5, "percent_covered": 20.0, "percent_covered_display": "20", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 20.0, "percent_statements_covered_display": "20", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [2, 3, 4, 5], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"ensure_pandas_installed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [2, 3, 4, 5], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1], "summary": {"covered_lines": 1, "num_statements": 5, "percent_covered": 20.0, "percent_covered_display": "20", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 20.0, "percent_statements_covered_display": "20", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [2, 3, 4, 5], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\tracker\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\tracker\\byte_tracker\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\tracker\\byte_tracker\\core.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 22, 56, 64, 65, 67, 68, 69, 70, 71, 72, 74, 75, 76, 80, 81, 83, 122, 125, 131, 133, 134, 135, 137, 139, 141, 142, 143, 144, 148, 149, 157, 173, 183, 184, 185, 186, 187, 189, 190, 192, 193, 194, 196, 197, 198, 199, 200, 202, 203, 204, 218, 219, 220, 222, 223, 224, 226, 228, 229, 231, 232, 234, 235, 239, 240, 241, 242, 243, 244, 249, 251, 265, 266, 271, 272, 275, 285, 291, 292, 293, 295, 296, 299, 300, 301, 302, 303, 304, 305, 307, 308, 309, 310, 312, 313, 314, 315, 320, 323, 324, 325, 326, 327, 328, 329, 332, 334, 337, 352, 353, 355, 356, 357, 358, 360, 363, 374, 375, 377, 378, 380, 383, 386, 387, 389, 390, 398, 401, 405], "summary": {"covered_lines": 141, "num_statements": 176, "percent_covered": 76.33928571428571, "percent_covered_display": "76", "missing_lines": 35, "excluded_lines": 0, "percent_statements_covered": 80.11363636363636, "percent_statements_covered_display": "80", "num_branches": 48, "num_partial_branches": 10, "covered_branches": 30, "missing_branches": 18, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [123, 152, 153, 155, 166, 167, 168, 169, 170, 171, 216, 246, 247, 252, 253, 276, 277, 278, 279, 280, 282, 283, 286, 287, 288, 289, 311, 316, 317, 318, 391, 392, 393, 394, 396], "excluded_lines": [], "executed_branches": [[122, 125], [133, 134], [143, 144], [143, 148], [202, 203], [222, 223], [222, 228], [223, 224], [223, 226], [239, 240], [239, 249], [242, 243], [251, 265], [275, 285], [285, 291], [299, 300], [299, 302], [302, 303], [302, 307], [308, 309], [308, 314], [310, 312], [315, 320], [355, 356], [355, 360], [356, 355], [356, 357], [377, 378], [377, 380], [390, 398]], "missing_branches": [[122, 123], [133, 152], [202, 216], [242, 246], [251, 252], [275, 276], [278, 279], [278, 282], [285, 286], [287, 285], [287, 288], [310, 311], [315, 316], [316, 315], [316, 317], [390, 391], [393, 394], [393, 396]], "functions": {"ByteTrack.__init__": {"executed_lines": [64, 65, 67, 68, 69, 70, 71, 72, 74, 75, 76, 80, 81], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56, "executed_branches": [], "missing_branches": []}, "ByteTrack.update_with_detections": {"executed_lines": [122, 125, 131, 133, 134, 135, 137, 139, 141, 142, 143, 144, 148, 149], "summary": {"covered_lines": 14, "num_statements": 18, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 77.77777777777777, "percent_statements_covered_display": "78", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [123, 152, 153, 155], "excluded_lines": [], "start_line": 83, "executed_branches": [[122, 125], [133, 134], [143, 144], [143, 148]], "missing_branches": [[122, 123], [133, 152]]}, "ByteTrack.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [166, 167, 168, 169, 170, 171], "excluded_lines": [], "start_line": 157, "executed_branches": [], "missing_branches": []}, "ByteTrack.update_with_tensors": {"executed_lines": [183, 184, 185, 186, 187, 189, 190, 192, 193, 194, 196, 197, 198, 199, 200, 202, 203, 204, 218, 219, 220, 222, 223, 224, 226, 228, 229, 231, 232, 234, 235, 239, 240, 241, 242, 243, 244, 249, 251, 265, 266, 271, 272, 275, 285, 291, 292, 293, 295, 296, 299, 300, 301, 302, 303, 304, 305, 307, 308, 309, 310, 312, 313, 314, 315, 320, 323, 324, 325, 326, 327, 328, 329, 332, 334], "summary": {"covered_lines": 75, "num_statements": 95, "percent_covered": 74.01574803149606, "percent_covered_display": "74", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 78.94736842105263, "percent_statements_covered_display": "79", "num_branches": 32, "num_partial_branches": 7, "covered_branches": 19, "missing_branches": 13, "percent_branches_covered": 59.375, "percent_branches_covered_display": "59"}, "missing_lines": [216, 246, 247, 252, 253, 276, 277, 278, 279, 280, 282, 283, 286, 287, 288, 289, 311, 316, 317, 318], "excluded_lines": [], "start_line": 173, "executed_branches": [[202, 203], [222, 223], [222, 228], [223, 224], [223, 226], [239, 240], [239, 249], [242, 243], [251, 265], [275, 285], [285, 291], [299, 300], [299, 302], [302, 303], [302, 307], [308, 309], [308, 314], [310, 312], [315, 320]], "missing_branches": [[202, 216], [242, 246], [251, 252], [275, 276], [278, 279], [278, 282], [285, 286], [287, 285], [287, 288], [310, 311], [315, 316], [316, 315], [316, 317]]}, "joint_tracks": {"executed_lines": [352, 353, 355, 356, 357, 358, 360], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 337, "executed_branches": [[355, 356], [355, 360], [356, 355], [356, 357]], "missing_branches": []}, "sub_tracks": {"executed_lines": [374, 375, 377, 378, 380], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 363, "executed_branches": [[377, 378], [377, 380]], "missing_branches": []}, "remove_duplicate_tracks": {"executed_lines": [386, 387, 389, 390, 398, 401, 405], "summary": {"covered_lines": 7, "num_statements": 12, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 58.333333333333336, "percent_statements_covered_display": "58", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 3, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [391, 392, 393, 394, 396], "excluded_lines": [], "start_line": 383, "executed_branches": [[390, 398]], "missing_branches": [[390, 391], [393, 394], [393, 396]]}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 22, 56, 83, 157, 173, 337, 363, 383], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"ByteTrack": {"executed_lines": [64, 65, 67, 68, 69, 70, 71, 72, 74, 75, 76, 80, 81, 122, 125, 131, 133, 134, 135, 137, 139, 141, 142, 143, 144, 148, 149, 183, 184, 185, 186, 187, 189, 190, 192, 193, 194, 196, 197, 198, 199, 200, 202, 203, 204, 218, 219, 220, 222, 223, 224, 226, 228, 229, 231, 232, 234, 235, 239, 240, 241, 242, 243, 244, 249, 251, 265, 266, 271, 272, 275, 285, 291, 292, 293, 295, 296, 299, 300, 301, 302, 303, 304, 305, 307, 308, 309, 310, 312, 313, 314, 315, 320, 323, 324, 325, 326, 327, 328, 329, 332, 334], "summary": {"covered_lines": 102, "num_statements": 132, "percent_covered": 73.52941176470588, "percent_covered_display": "74", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 77.27272727272727, "percent_statements_covered_display": "77", "num_branches": 38, "num_partial_branches": 9, "covered_branches": 23, "missing_branches": 15, "percent_branches_covered": 60.526315789473685, "percent_branches_covered_display": "61"}, "missing_lines": [123, 152, 153, 155, 166, 167, 168, 169, 170, 171, 216, 246, 247, 252, 253, 276, 277, 278, 279, 280, 282, 283, 286, 287, 288, 289, 311, 316, 317, 318], "excluded_lines": [], "start_line": 22, "executed_branches": [[122, 125], [133, 134], [143, 144], [143, 148], [202, 203], [222, 223], [222, 228], [223, 224], [223, 226], [239, 240], [239, 249], [242, 243], [251, 265], [275, 285], [285, 291], [299, 300], [299, 302], [302, 303], [302, 307], [308, 309], [308, 314], [310, 312], [315, 320]], "missing_branches": [[122, 123], [133, 152], [202, 216], [242, 246], [251, 252], [275, 276], [278, 279], [278, 282], [285, 286], [287, 285], [287, 288], [310, 311], [315, 316], [316, 315], [316, 317]]}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 10, 11, 12, 13, 14, 17, 22, 56, 83, 157, 173, 337, 352, 353, 355, 356, 357, 358, 360, 363, 374, 375, 377, 378, 380, 383, 386, 387, 389, 390, 398, 401, 405], "summary": {"covered_lines": 39, "num_statements": 44, "percent_covered": 85.18518518518519, "percent_covered_display": "85", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 88.63636363636364, "percent_statements_covered_display": "89", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 3, "percent_branches_covered": 70.0, "percent_branches_covered_display": "70"}, "missing_lines": [391, 392, 393, 394, 396], "excluded_lines": [], "start_line": 1, "executed_branches": [[355, 356], [355, 360], [356, 355], [356, 357], [377, 378], [377, 380], [390, 398]], "missing_branches": [[390, 391], [393, 394], [393, 396]]}}}, "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py": {"executed_lines": [1, 3, 4, 5, 8, 21, 22, 24, 25, 26, 27, 29, 30, 32, 44, 45, 46, 48, 58, 59, 61, 96, 109, 115, 117, 118, 121, 123, 135, 141, 147, 149, 150, 151, 152, 154, 155, 156, 158, 160, 177, 179, 182, 187, 189, 190, 193], "summary": {"covered_lines": 47, "num_statements": 53, "percent_covered": 89.47368421052632, "percent_covered_display": "89", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 88.67924528301887, "percent_statements_covered_display": "89", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [74, 80, 86, 88, 89, 94], "excluded_lines": [], "executed_branches": [[25, 26], [25, 27], [150, 151], [150, 152]], "missing_branches": [], "functions": {"KalmanFilter.__init__": {"executed_lines": [22, 24, 25, 26, 27, 29, 30], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21, "executed_branches": [[25, 26], [25, 27]], "missing_branches": []}, "KalmanFilter.initiate": {"executed_lines": [44, 45, 46, 48, 58, 59], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32, "executed_branches": [], "missing_branches": []}, "KalmanFilter.predict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [74, 80, 86, 88, 89, 94], "excluded_lines": [], "start_line": 61, "executed_branches": [], "missing_branches": []}, "KalmanFilter.project": {"executed_lines": [109, 115, 117, 118, 121], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 96, "executed_branches": [], "missing_branches": []}, "KalmanFilter.multi_predict": {"executed_lines": [135, 141, 147, 149, 150, 151, 152, 154, 155, 156, 158], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 123, "executed_branches": [[150, 151], [150, 152]], "missing_branches": []}, "KalmanFilter.update": {"executed_lines": [177, 179, 182, 187, 189, 190, 193], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 160, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 21, 32, 61, 96, 123, 160], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"KalmanFilter": {"executed_lines": [22, 24, 25, 26, 27, 29, 30, 44, 45, 46, 48, 58, 59, 109, 115, 117, 118, 121, 135, 141, 147, 149, 150, 151, 152, 154, 155, 156, 158, 177, 179, 182, 187, 189, 190, 193], "summary": {"covered_lines": 36, "num_statements": 42, "percent_covered": 86.95652173913044, "percent_covered_display": "87", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [74, 80, 86, 88, 89, 94], "excluded_lines": [], "start_line": 8, "executed_branches": [[25, 26], [25, 27], [150, 151], [150, 152]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 21, 32, 61, 96, 123, 160], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\tracker\\byte_tracker\\matching.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 15, 18, 19, 21, 22, 23, 24, 27, 30, 31, 37, 38, 39, 41, 44, 48, 54, 55, 57, 58, 59, 60, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75], "summary": {"covered_lines": 38, "num_statements": 40, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 2, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [51, 52], "excluded_lines": [11, 12], "executed_branches": [[30, 31], [30, 37], [48, 54], [58, 59], [58, 60], [68, 69], [68, 70]], "missing_branches": [[48, 51]], "functions": {"indices_to_matches": {"executed_lines": [18, 19, 21, 22, 23, 24], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15, "executed_branches": [], "missing_branches": []}, "linear_assignment": {"executed_lines": [30, 31, 37, 38, 39, 41], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27, "executed_branches": [[30, 31], [30, 37]], "missing_branches": []}, "iou_distance": {"executed_lines": [48, 54, 55, 57, 58, 59, 60, 62], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [51, 52], "excluded_lines": [], "start_line": 44, "executed_branches": [[48, 54], [58, 59], [58, 60]], "missing_branches": [[48, 51]]}, "fuse_score": {"executed_lines": [68, 69, 70, 71, 72, 73, 74, 75], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65, "executed_branches": [[68, 69], [68, 70]], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 15, 27, 44, 65], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [11, 12], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 9, 15, 18, 19, 21, 22, 23, 24, 27, 30, 31, 37, 38, 39, 41, 44, 48, 54, 55, 57, 58, 59, 60, 62, 65, 68, 69, 70, 71, 72, 73, 74, 75], "summary": {"covered_lines": 38, "num_statements": 40, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 2, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [51, 52], "excluded_lines": [11, 12], "start_line": 1, "executed_branches": [[30, 31], [30, 37], [48, 54], [58, 59], [58, 60], [68, 69], [68, 70]], "missing_branches": [[48, 51]]}}}, "src\\supervision\\tracker\\byte_tracker\\single_object_track.py": {"executed_lines": [1, 3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 19, 20, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 41, 42, 44, 46, 47, 48, 49, 51, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 75, 78, 79, 80, 82, 84, 85, 86, 90, 91, 92, 93, 94, 95, 97, 98, 100, 113, 121, 122, 123, 124, 125, 127, 128, 131, 132, 133, 134, 135, 137, 139, 140, 144, 145, 146, 147, 148, 149, 151, 152, 156, 157, 158, 160, 161, 165, 166, 167, 168, 170, 173, 174, 175, 176, 177, 179, 180, 185], "summary": {"covered_lines": 101, "num_statements": 122, "percent_covered": 82.3943661971831, "percent_covered_display": "82", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 82.78688524590164, "percent_statements_covered_display": "83", "num_branches": 20, "num_partial_branches": 2, "covered_branches": 16, "missing_branches": 4, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [52, 53, 54, 55, 56, 57, 58, 73, 101, 102, 103, 104, 107, 108, 110, 111, 171, 181, 182, 183, 186], "excluded_lines": [], "executed_branches": [[64, -62], [64, 65], [67, 68], [67, 75], [72, 67], [78, -62], [78, 79], [92, 93], [92, 97], [94, 95], [132, 133], [132, 137], [134, 135], [134, 137], [144, 145], [144, 146]], "missing_branches": [[56, 57], [56, 58], [72, 73], [94, 97]], "functions": {"STrack.__init__": {"executed_lines": [29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 41, 42, 44, 46, 47, 48, 49], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20, "executed_branches": [], "missing_branches": []}, "STrack.predict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [52, 53, 54, 55, 56, 57, 58], "excluded_lines": [], "start_line": 51, "executed_branches": [], "missing_branches": [[56, 57], [56, 58]]}, "STrack.multi_predict": {"executed_lines": [64, 65, 66, 67, 68, 69, 70, 71, 72, 75, 78, 79, 80], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [73], "excluded_lines": [], "start_line": 63, "executed_branches": [[64, -62], [64, 65], [67, 68], [67, 75], [72, 67], [78, -62], [78, 79]], "missing_branches": [[72, 73]]}, "STrack.activate": {"executed_lines": [84, 85, 86, 90, 91, 92, 93, 94, 95, 97, 98], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "start_line": 82, "executed_branches": [[92, 93], [92, 97], [94, 95]], "missing_branches": [[94, 97]]}, "STrack.re_activate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [101, 102, 103, 104, 107, 108, 110, 111], "excluded_lines": [], "start_line": 100, "executed_branches": [], "missing_branches": []}, "STrack.update": {"executed_lines": [121, 122, 123, 124, 125, 127, 128, 131, 132, 133, 134, 135, 137], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 113, "executed_branches": [[132, 133], [132, 137], [134, 135], [134, 137]], "missing_branches": []}, "STrack.tlwh": {"executed_lines": [144, 145, 146, 147, 148, 149], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 140, "executed_branches": [[144, 145], [144, 146]], "missing_branches": []}, "STrack.tlbr": {"executed_lines": [156, 157, 158], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 152, "executed_branches": [], "missing_branches": []}, "STrack.tlwh_to_xyah": {"executed_lines": [165, 166, 167, 168], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 161, "executed_branches": [], "missing_branches": []}, "STrack.to_xyah": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [171], "excluded_lines": [], "start_line": 170, "executed_branches": [], "missing_branches": []}, "STrack.tlbr_to_tlwh": {"executed_lines": [175, 176, 177], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 174, "executed_branches": [], "missing_branches": []}, "STrack.tlwh_to_tlbr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [181, 182, 183], "excluded_lines": [], "start_line": 180, "executed_branches": [], "missing_branches": []}, "STrack.__repr__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [186], "excluded_lines": [], "start_line": 185, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 19, 20, 51, 62, 63, 82, 100, 113, 139, 140, 151, 152, 160, 161, 170, 173, 174, 179, 180, 185], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TrackState": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "STrack": {"executed_lines": [29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 41, 42, 44, 46, 47, 48, 49, 64, 65, 66, 67, 68, 69, 70, 71, 72, 75, 78, 79, 80, 84, 85, 86, 90, 91, 92, 93, 94, 95, 97, 98, 121, 122, 123, 124, 125, 127, 128, 131, 132, 133, 134, 135, 137, 144, 145, 146, 147, 148, 149, 156, 157, 158, 165, 166, 167, 168, 175, 176, 177], "summary": {"covered_lines": 70, "num_statements": 91, "percent_covered": 77.47747747747748, "percent_covered_display": "77", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 76.92307692307692, "percent_statements_covered_display": "77", "num_branches": 20, "num_partial_branches": 2, "covered_branches": 16, "missing_branches": 4, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [52, 53, 54, 55, 56, 57, 58, 73, 101, 102, 103, 104, 107, 108, 110, 111, 171, 181, 182, 183, 186], "excluded_lines": [], "start_line": 19, "executed_branches": [[64, -62], [64, 65], [67, 68], [67, 75], [72, 67], [78, -62], [78, 79], [92, 93], [92, 97], [94, 95], [132, 133], [132, 137], [134, 135], [134, 137], [144, 145], [144, 146]], "missing_branches": [[56, 57], [56, 58], [72, 73], [94, 97]]}, "": {"executed_lines": [1, 3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 19, 20, 51, 62, 63, 82, 100, 113, 139, 140, 151, 152, 160, 161, 170, 173, 174, 179, 180, 185], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\tracker\\byte_tracker\\utils.py": {"executed_lines": [1, 4, 5, 15, 16, 18, 20, 22, 24, 31, 32, 33, 35, 36, 37], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.75, "percent_statements_covered_display": "94", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [17], "excluded_lines": [], "executed_branches": [[16, 18]], "missing_branches": [[16, 17]], "functions": {"IdCounter.__init__": {"executed_lines": [15, 16, 18], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [17], "excluded_lines": [], "start_line": 5, "executed_branches": [[16, 18]], "missing_branches": [[16, 17]]}, "IdCounter.reset": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20, "executed_branches": [], "missing_branches": []}, "IdCounter.new_id": {"executed_lines": [31, 32, 33], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24, "executed_branches": [], "missing_branches": []}, "IdCounter.NO_ID": {"executed_lines": [37], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 4, 5, 20, 24, 35, 36], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"IdCounter": {"executed_lines": [15, 16, 18, 22, 31, 32, 33, 37], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [17], "excluded_lines": [], "start_line": 4, "executed_branches": [[16, 18]], "missing_branches": [[16, 17]]}, "": {"executed_lines": [1, 4, 5, 20, 24, 35, 36], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\utils\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\utils\\conversion.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 11, 13, 16, 27, 28, 29, 30, 40, 43, 48, 54, 64, 65, 66, 67, 69, 70, 71, 72, 76, 79, 89, 90, 91, 92, 93, 94, 95, 102, 105, 110, 116, 121, 127, 140, 141, 142, 143, 144, 145, 148, 159, 160, 163, 166, 177, 178], "summary": {"covered_lines": 55, "num_statements": 68, "percent_covered": 76.19047619047619, "percent_covered_display": "76", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 80.88235294117646, "percent_statements_covered_display": "81", "num_branches": 16, "num_partial_branches": 3, "covered_branches": 9, "missing_branches": 7, "percent_branches_covered": 56.25, "percent_branches_covered_display": "56"}, "missing_lines": [32, 33, 34, 35, 36, 38, 51, 74, 97, 98, 100, 113, 124], "excluded_lines": [], "executed_branches": [[29, 30], [66, 67], [66, 69], [69, 70], [91, 92], [141, 142], [141, 145], [142, 143], [142, 144]], "missing_branches": [[29, 32], [32, 33], [32, 38], [69, 74], [91, 97], [97, 98], [97, 100]], "functions": {"ensure_cv2_image_for_class_method": {"executed_lines": [27, 28, 40], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16, "executed_branches": [], "missing_branches": []}, "ensure_cv2_image_for_class_method.wrapper": {"executed_lines": [29, 30], "summary": {"covered_lines": 2, "num_statements": 8, "percent_covered": 25.0, "percent_covered_display": "25", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 25.0, "percent_statements_covered_display": "25", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 3, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [32, 33, 34, 35, 36, 38], "excluded_lines": [], "start_line": 28, "executed_branches": [[29, 30]], "missing_branches": [[29, 32], [32, 33], [32, 38]]}, "ensure_cv2_image_for_annotation": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [51], "excluded_lines": [], "start_line": 48, "executed_branches": [], "missing_branches": []}, "ensure_cv2_image_for_standalone_function": {"executed_lines": [64, 65, 76], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54, "executed_branches": [], "missing_branches": []}, "ensure_cv2_image_for_standalone_function.wrapper": {"executed_lines": [66, 67, 69, 70, 71, 72], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [74], "excluded_lines": [], "start_line": 65, "executed_branches": [[66, 67], [66, 69], [69, 70]], "missing_branches": [[69, 74]]}, "ensure_pil_image_for_class_method": {"executed_lines": [89, 90, 102], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79, "executed_branches": [], "missing_branches": []}, "ensure_pil_image_for_class_method.wrapper": {"executed_lines": [91, 92, 93, 94, 95], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 3, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [97, 98, 100], "excluded_lines": [], "start_line": 90, "executed_branches": [[91, 92]], "missing_branches": [[91, 97], [97, 98], [97, 100]]}, "ensure_pil_image_for_annotation": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [113], "excluded_lines": [], "start_line": 110, "executed_branches": [], "missing_branches": []}, "ensure_cv2_image_for_processing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [124], "excluded_lines": [], "start_line": 121, "executed_branches": [], "missing_branches": []}, "images_to_cv2": {"executed_lines": [140, 141, 142, 143, 144, 145], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 127, "executed_branches": [[141, 142], [141, 145], [142, 143], [142, 144]], "missing_branches": []}, "pillow_to_cv2": {"executed_lines": [159, 160, 163], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 148, "executed_branches": [], "missing_branches": []}, "cv2_to_pillow": {"executed_lines": [177, 178], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 166, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 11, 13, 16, 43, 48, 54, 79, 105, 110, 116, 121, 127, 148, 166], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 11, 13, 16, 27, 28, 29, 30, 40, 43, 48, 54, 64, 65, 66, 67, 69, 70, 71, 72, 76, 79, 89, 90, 91, 92, 93, 94, 95, 102, 105, 110, 116, 121, 127, 140, 141, 142, 143, 144, 145, 148, 159, 160, 163, 166, 177, 178], "summary": {"covered_lines": 55, "num_statements": 68, "percent_covered": 76.19047619047619, "percent_covered_display": "76", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 80.88235294117646, "percent_statements_covered_display": "81", "num_branches": 16, "num_partial_branches": 3, "covered_branches": 9, "missing_branches": 7, "percent_branches_covered": 56.25, "percent_branches_covered_display": "56"}, "missing_lines": [32, 33, 34, 35, 36, 38, 51, 74, 97, 98, 100, 113, 124], "excluded_lines": [], "start_line": 1, "executed_branches": [[29, 30], [66, 67], [66, 69], [69, 70], [91, 92], [141, 142], [141, 145], [142, 143], [142, 144]], "missing_branches": [[29, 32], [32, 33], [32, 38], [69, 74], [91, 97], [97, 98], [97, 100]]}}}, "src\\supervision\\utils\\file.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 11, 12, 13, 14, 15, 16, 22, 66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 79, 80, 82, 83, 84, 85, 89, 92, 120, 121, 122, 124, 126, 129, 137, 138, 139, 142, 166, 167, 168, 171, 182, 183, 186, 196, 197, 198, 201, 210, 211], "summary": {"covered_lines": 54, "num_statements": 59, "percent_covered": 87.65432098765432, "percent_covered_display": "88", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 91.52542372881356, "percent_statements_covered_display": "92", "num_branches": 22, "num_partial_branches": 3, "covered_branches": 17, "missing_branches": 5, "percent_branches_covered": 77.27272727272727, "percent_branches_covered_display": "77"}, "missing_lines": [17, 18, 19, 81, 87], "excluded_lines": [], "executed_branches": [[13, 14], [13, 15], [15, 16], [69, 70], [72, 73], [72, 77], [78, 79], [78, 89], [80, 82], [82, 78], [82, 83], [83, 82], [83, 84], [121, 122], [121, 124], [138, -129], [138, 139]], "missing_branches": [[15, 17], [17, 18], [17, 19], [69, 87], [80, 81]], "functions": {"NumpyJsonEncoder.default": {"executed_lines": [13, 14, 15, 16], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [17, 18, 19], "excluded_lines": [], "start_line": 12, "executed_branches": [[13, 14], [13, 15], [15, 16]], "missing_branches": [[15, 17], [17, 18], [17, 19]]}, "list_files_with_extensions": {"executed_lines": [66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 79, 80, 82, 83, 84, 85, 89], "summary": {"covered_lines": 17, "num_statements": 19, "percent_covered": 87.09677419354838, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 89.47368421052632, "percent_statements_covered_display": "89", "num_branches": 12, "num_partial_branches": 2, "covered_branches": 10, "missing_branches": 2, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [81, 87], "excluded_lines": [], "start_line": 22, "executed_branches": [[69, 70], [72, 73], [72, 77], [78, 79], [78, 89], [80, 82], [82, 78], [82, 83], [83, 82], [83, 84]], "missing_branches": [[69, 87], [80, 81]]}, "read_txt_file": {"executed_lines": [120, 121, 122, 124, 126], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [[121, 122], [121, 124]], "missing_branches": []}, "save_text_file": {"executed_lines": [137, 138, 139], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 129, "executed_branches": [[138, -129], [138, 139]], "missing_branches": []}, "read_json_file": {"executed_lines": [166, 167, 168], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142, "executed_branches": [], "missing_branches": []}, "save_json_file": {"executed_lines": [182, 183], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 171, "executed_branches": [], "missing_branches": []}, "read_yaml_file": {"executed_lines": [196, 197, 198], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 186, "executed_branches": [], "missing_branches": []}, "save_yaml_file": {"executed_lines": [210, 211], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 201, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 11, 12, 22, 92, 129, 142, 171, 186, 201], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"NumpyJsonEncoder": {"executed_lines": [13, 14, 15, 16], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [17, 18, 19], "excluded_lines": [], "start_line": 11, "executed_branches": [[13, 14], [13, 15], [15, 16]], "missing_branches": [[15, 17], [17, 18], [17, 19]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 11, 12, 22, 66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 79, 80, 82, 83, 84, 85, 89, 92, 120, 121, 122, 124, 126, 129, 137, 138, 139, 142, 166, 167, 168, 171, 182, 183, 186, 196, 197, 198, 201, 210, 211], "summary": {"covered_lines": 50, "num_statements": 52, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.15384615384616, "percent_statements_covered_display": "96", "num_branches": 16, "num_partial_branches": 2, "covered_branches": 14, "missing_branches": 2, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [81, 87], "excluded_lines": [], "start_line": 1, "executed_branches": [[69, 70], [72, 73], [72, 77], [78, 79], [78, 89], [80, 82], [82, 78], [82, 83], [83, 82], [83, 84], [121, 122], [121, 124], [138, -129], [138, 139]], "missing_branches": [[69, 87], [80, 81]]}}}, "src\\supervision\\utils\\image.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 26, 28, 30, 33, 34, 77, 78, 80, 81, 83, 84, 94, 95, 135, 136, 139, 140, 141, 142, 145, 146, 193, 194, 195, 196, 197, 198, 199, 206, 209, 210, 255, 256, 257, 260, 261, 262, 263, 264, 265, 275, 278, 283, 317, 318, 319, 321, 322, 324, 327, 328, 329, 330, 332, 333, 334, 335, 337, 348, 352, 355, 356, 403, 404, 434, 462, 463, 468, 469, 471, 472, 473, 481, 482, 521, 531, 551, 560, 565, 706, 713, 721, 728, 739, 756, 767, 816, 860, 879, 918], "summary": {"covered_lines": 108, "num_statements": 245, "percent_covered": 37.15170278637771, "percent_covered_display": "37", "missing_lines": 137, "excluded_lines": 0, "percent_statements_covered": 44.08163265306123, "percent_statements_covered_display": "44", "num_branches": 78, "num_partial_branches": 8, "covered_branches": 12, "missing_branches": 66, "percent_branches_covered": 15.384615384615385, "percent_branches_covered_display": "15"}, "missing_lines": [86, 87, 89, 137, 201, 202, 204, 325, 338, 341, 342, 344, 345, 346, 392, 393, 394, 396, 397, 400, 430, 431, 464, 475, 516, 517, 518, 519, 522, 523, 524, 525, 527, 529, 544, 545, 547, 548, 549, 557, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 668, 669, 670, 673, 674, 675, 676, 678, 679, 682, 683, 684, 701, 702, 703, 707, 708, 709, 710, 716, 717, 718, 731, 732, 736, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 757, 758, 759, 760, 761, 762, 763, 764, 784, 796, 797, 798, 799, 802, 803, 807, 828, 829, 830, 835, 836, 837, 840, 841, 842, 843, 844, 845, 856, 857, 865, 866, 867, 868, 869, 870, 871, 872, 874, 875, 876, 886, 890, 901, 902, 905, 906, 907, 908, 909, 921], "excluded_lines": [], "executed_branches": [[77, 78], [77, 80], [83, 84], [136, 139], [194, 195], [197, 198], [324, 327], [337, 348], [462, 463], [462, 471], [463, 468], [471, 472]], "missing_branches": [[83, 86], [86, 87], [86, 89], [136, 137], [194, 204], [197, 201], [324, 325], [337, 338], [393, 394], [393, 396], [463, 464], [471, 475], [522, 523], [522, 527], [523, 524], [523, 529], [544, 545], [544, 547], [653, 654], [653, 655], [655, 656], [655, 657], [660, 661], [660, 662], [669, 670], [669, 673], [673, 674], [673, 675], [675, 676], [675, 678], [701, 702], [701, 703], [708, 709], [708, 710], [731, 732], [731, 736], [743, 744], [743, 745], [745, 746], [745, 749], [749, 750], [749, 753], [757, 758], [757, 759], [762, 763], [762, 764], [798, 799], [798, 802], [802, 803], [802, 807], [828, 829], [828, 830], [835, 836], [835, 840], [841, 842], [841, 857], [842, 843], [842, 845], [866, 867], [866, 876], [867, 868], [867, 870], [871, 872], [871, 874], [906, 907], [906, 909]], "functions": {"crop_image": {"executed_lines": [77, 78, 80, 81, 83, 84], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [86, 87, 89], "excluded_lines": [], "start_line": 34, "executed_branches": [[77, 78], [77, 80], [83, 84]], "missing_branches": [[83, 86], [86, 87], [86, 89]]}, "scale_image": {"executed_lines": [135, 136, 139, 140, 141, 142], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [137], "excluded_lines": [], "start_line": 95, "executed_branches": [[136, 139]], "missing_branches": [[136, 137]]}, "resize_image": {"executed_lines": [193, 194, 195, 196, 197, 198, 199, 206], "summary": {"covered_lines": 8, "num_statements": 11, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 72.72727272727273, "percent_statements_covered_display": "73", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [201, 202, 204], "excluded_lines": [], "start_line": 146, "executed_branches": [[194, 195], [197, 198]], "missing_branches": [[194, 204], [197, 201]]}, "letterbox_image": {"executed_lines": [255, 256, 257, 260, 261, 262, 263, 264, 265, 275], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 210, "executed_branches": [], "missing_branches": []}, "overlay_image": {"executed_lines": [317, 318, 319, 321, 322, 324, 327, 328, 329, 330, 332, 333, 334, 335, 337, 348, 352], "summary": {"covered_lines": 17, "num_statements": 24, "percent_covered": 67.85714285714286, "percent_covered_display": "68", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 70.83333333333333, "percent_statements_covered_display": "71", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [325, 338, 341, 342, 344, 345, 346], "excluded_lines": [], "start_line": 283, "executed_branches": [[324, 327], [337, 348]], "missing_branches": [[324, 325], [337, 338]]}, "tint_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [392, 393, 394, 396, 397, 400], "excluded_lines": [], "start_line": 356, "executed_branches": [], "missing_branches": [[393, 394], [393, 396]]}, "grayscale_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [430, 431], "excluded_lines": [], "start_line": 404, "executed_branches": [], "missing_branches": []}, "get_image_resolution_wh": {"executed_lines": [462, 463, 468, 469, 471, 472, 473], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 73.33333333333333, "percent_covered_display": "73", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 77.77777777777777, "percent_statements_covered_display": "78", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [464, 475], "excluded_lines": [], "start_line": 434, "executed_branches": [[462, 463], [462, 471], [463, 468], [471, 472]], "missing_branches": [[463, 464], [471, 475]]}, "ImageSink.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [516, 517, 518, 519], "excluded_lines": [], "start_line": 482, "executed_branches": [], "missing_branches": []}, "ImageSink.__enter__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [522, 523, 524, 525, 527, 529], "excluded_lines": [], "start_line": 521, "executed_branches": [], "missing_branches": [[522, 523], [522, 527], [523, 524], [523, 529]]}, "ImageSink.save_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [544, 545, 547, 548, 549], "excluded_lines": [], "start_line": 531, "executed_branches": [], "missing_branches": [[544, 545], [544, 547]]}, "ImageSink.__exit__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [557], "excluded_lines": [], "start_line": 551, "executed_branches": [], "missing_branches": []}, "create_tiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 14, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 668, 669, 670, 673, 674, 675, 676, 678, 679, 682, 683, 684, 701, 702, 703], "excluded_lines": [], "start_line": 565, "executed_branches": [], "missing_branches": [[653, 654], [653, 655], [655, 656], [655, 657], [660, 661], [660, 662], [669, 670], [669, 673], [673, 674], [673, 675], [675, 676], [675, 678], [701, 702], [701, 703]]}, "_negotiate_tiles_format": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [707, 708, 709, 710], "excluded_lines": [], "start_line": 706, "executed_branches": [], "missing_branches": [[708, 709], [708, 710]]}, "_calculate_aggregated_images_shape": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [716, 717, 718], "excluded_lines": [], "start_line": 713, "executed_branches": [], "missing_branches": []}, "_aggregate_images_shape": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [731, 732, 736], "excluded_lines": [], "start_line": 728, "executed_branches": [], "missing_branches": [[731, 732], [731, 736]]}, "_establish_grid_size": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753], "excluded_lines": [], "start_line": 739, "executed_branches": [], "missing_branches": [[743, 744], [743, 745], [745, 746], [745, 749], [749, 750], [749, 753]]}, "_negotiate_grid_size": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [757, 758, 759, 760, 761, 762, 763, 764], "excluded_lines": [], "start_line": 756, "executed_branches": [], "missing_branches": [[757, 758], [757, 759], [762, 763], [762, 764]]}, "_generate_tiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [784, 796, 797, 798, 799, 802, 803, 807], "excluded_lines": [], "start_line": 767, "executed_branches": [], "missing_branches": [[798, 799], [798, 802], [802, 803], [802, 807]]}, "_draw_texts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [828, 829, 830, 835, 836, 837, 840, 841, 842, 843, 844, 845, 856, 857], "excluded_lines": [], "start_line": 816, "executed_branches": [], "missing_branches": [[828, 829], [828, 830], [835, 836], [835, 840], [841, 842], [841, 857], [842, 843], [842, 845]]}, "_prepare_default_titles_anchors": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [865, 866, 867, 868, 869, 870, 871, 872, 874, 875, 876], "excluded_lines": [], "start_line": 860, "executed_branches": [], "missing_branches": [[866, 867], [866, 876], [867, 868], [867, 870], [871, 872], [871, 874]]}, "_merge_tiles_elements": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [886, 890, 901, 902, 905, 906, 907, 908, 909], "excluded_lines": [], "start_line": 879, "executed_branches": [], "missing_branches": [[906, 907], [906, 909]]}, "_generate_color_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [921], "excluded_lines": [], "start_line": 918, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 26, 28, 30, 33, 34, 94, 95, 145, 146, 209, 210, 278, 283, 355, 356, 403, 404, 434, 481, 482, 521, 531, 551, 560, 565, 706, 713, 721, 728, 739, 756, 767, 816, 860, 879, 918], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"ImageSink": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [516, 517, 518, 519, 522, 523, 524, 525, 527, 529, 544, 545, 547, 548, 549, 557], "excluded_lines": [], "start_line": 481, "executed_branches": [], "missing_branches": [[522, 523], [522, 527], [523, 524], [523, 529], [544, 545], [544, 547]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 26, 28, 30, 33, 34, 77, 78, 80, 81, 83, 84, 94, 95, 135, 136, 139, 140, 141, 142, 145, 146, 193, 194, 195, 196, 197, 198, 199, 206, 209, 210, 255, 256, 257, 260, 261, 262, 263, 264, 265, 275, 278, 283, 317, 318, 319, 321, 322, 324, 327, 328, 329, 330, 332, 333, 334, 335, 337, 348, 352, 355, 356, 403, 404, 434, 462, 463, 468, 469, 471, 472, 473, 481, 482, 521, 531, 551, 560, 565, 706, 713, 721, 728, 739, 756, 767, 816, 860, 879, 918], "summary": {"covered_lines": 108, "num_statements": 229, "percent_covered": 39.8671096345515, "percent_covered_display": "40", "missing_lines": 121, "excluded_lines": 0, "percent_statements_covered": 47.161572052401745, "percent_statements_covered_display": "47", "num_branches": 72, "num_partial_branches": 8, "covered_branches": 12, "missing_branches": 60, "percent_branches_covered": 16.666666666666668, "percent_branches_covered_display": "17"}, "missing_lines": [86, 87, 89, 137, 201, 202, 204, 325, 338, 341, 342, 344, 345, 346, 392, 393, 394, 396, 397, 400, 430, 431, 464, 475, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 668, 669, 670, 673, 674, 675, 676, 678, 679, 682, 683, 684, 701, 702, 703, 707, 708, 709, 710, 716, 717, 718, 731, 732, 736, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 757, 758, 759, 760, 761, 762, 763, 764, 784, 796, 797, 798, 799, 802, 803, 807, 828, 829, 830, 835, 836, 837, 840, 841, 842, 843, 844, 845, 856, 857, 865, 866, 867, 868, 869, 870, 871, 872, 874, 875, 876, 886, 890, 901, 902, 905, 906, 907, 908, 909, 921], "excluded_lines": [], "start_line": 1, "executed_branches": [[77, 78], [77, 80], [83, 84], [136, 139], [194, 195], [197, 198], [324, 327], [337, 348], [462, 463], [462, 471], [463, 468], [471, 472]], "missing_branches": [[83, 86], [86, 87], [86, 89], [136, 137], [194, 204], [197, 201], [324, 325], [337, 338], [393, 394], [393, 396], [463, 464], [471, 475], [653, 654], [653, 655], [655, 656], [655, 657], [660, 661], [660, 662], [669, 670], [669, 673], [673, 674], [673, 675], [675, 676], [675, 678], [701, 702], [701, 703], [708, 709], [708, 710], [731, 732], [731, 736], [743, 744], [743, 745], [745, 746], [745, 749], [749, 750], [749, 753], [757, 758], [757, 759], [762, 763], [762, 764], [798, 799], [798, 802], [802, 803], [802, 807], [828, 829], [828, 830], [835, 836], [835, 840], [841, 842], [841, 857], [842, 843], [842, 845], [866, 867], [866, 876], [867, 868], [867, 870], [871, 872], [871, 874], [906, 907], [906, 909]]}}}, "src\\supervision\\utils\\internal.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 18, 21, 32, 35, 37, 40, 43, 50, 53, 130, 133, 145, 150, 152, 164, 166, 169, 191, 192, 194, 200, 201, 206, 208], "summary": {"covered_lines": 32, "num_statements": 47, "percent_covered": 64.40677966101696, "percent_covered_display": "64", "missing_lines": 15, "excluded_lines": 1, "percent_statements_covered": 68.08510638297872, "percent_statements_covered_display": "68", "num_branches": 12, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 6, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [38, 102, 103, 104, 105, 106, 107, 108, 110, 112, 121, 123, 125, 127, 165], "excluded_lines": [134], "executed_branches": [[37, 40], [164, 166], [191, 192], [191, 194], [200, 201], [200, 208]], "missing_branches": [[37, 38], [105, 106], [105, 123], [106, 107], [106, 110], [164, 165]], "functions": {"format_warning": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "warn_deprecated": {"executed_lines": [50], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43, "executed_branches": [], "missing_branches": []}, "deprecated_parameter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [102, 103, 127], "excluded_lines": [], "start_line": 53, "executed_branches": [], "missing_branches": []}, "deprecated_parameter.decorator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [104, 125], "excluded_lines": [], "start_line": 102, "executed_branches": [], "missing_branches": []}, "deprecated_parameter.decorator.wrapper": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [105, 106, 107, 108, 110, 112, 121, 123], "excluded_lines": [], "start_line": 104, "executed_branches": [], "missing_branches": [[105, 106], [105, 123], [106, 107], [106, 110]]}, "classproperty.__init__": {"executed_lines": [150], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 145, "executed_branches": [], "missing_branches": []}, "classproperty.__get__": {"executed_lines": [164, 166], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [165], "excluded_lines": [], "start_line": 152, "executed_branches": [[164, 166]], "missing_branches": [[164, 165]]}, "get_instance_variables": {"executed_lines": [191, 192, 194, 200, 201, 206, 208], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 169, "executed_branches": [[191, 192], [191, 194], [200, 201], [200, 208]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 18, 21, 35, 37, 40, 43, 53, 130, 133, 145, 152, 169], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 1, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [38], "excluded_lines": [134], "start_line": 1, "executed_branches": [[37, 40]], "missing_branches": [[37, 38]]}}, "classes": {"SupervisionWarnings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11, "executed_branches": [], "missing_branches": []}, "classproperty": {"executed_lines": [150, 164, 166], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [165], "excluded_lines": [], "start_line": 133, "executed_branches": [[164, 166]], "missing_branches": [[164, 165]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 18, 21, 32, 35, 37, 40, 43, 50, 53, 130, 133, 145, 152, 169, 191, 192, 194, 200, 201, 206, 208], "summary": {"covered_lines": 29, "num_statements": 43, "percent_covered": 64.15094339622641, "percent_covered_display": "64", "missing_lines": 14, "excluded_lines": 1, "percent_statements_covered": 67.44186046511628, "percent_statements_covered_display": "67", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 5, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [38, 102, 103, 104, 105, 106, 107, 108, 110, 112, 121, 123, 125, 127], "excluded_lines": [134], "start_line": 1, "executed_branches": [[37, 40], [191, 192], [191, 194], [200, 201], [200, 208]], "missing_branches": [[37, 38], [105, 106], [105, 123], [106, 107], [106, 110]]}}}, "src\\supervision\\utils\\iterables.py": {"executed_lines": [1, 2, 4, 7, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 71, 72, 73, 76, 96, 97, 98, 99, 100, 102, 103], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[36, 37], [36, 41], [37, 38], [37, 40], [41, -7], [41, 42], [98, 99], [98, 103], [99, 100], [99, 102]], "missing_branches": [], "functions": {"create_batches": {"executed_lines": [34, 35, 36, 37, 38, 39, 40, 41, 42], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7, "executed_branches": [[36, 37], [36, 41], [37, 38], [37, 40], [41, -7], [41, 42]], "missing_branches": []}, "fill": {"executed_lines": [71, 72, 73], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45, "executed_branches": [], "missing_branches": []}, "find_duplicates": {"executed_lines": [96, 97, 98, 99, 100, 102, 103], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 76, "executed_branches": [[98, 99], [98, 103], [99, 100], [99, 102]], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 7, 45, 76], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 7, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 71, 72, 73, 76, 96, 97, 98, 99, 100, 102, 103], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[36, 37], [36, 41], [37, 38], [37, 40], [41, -7], [41, 42], [98, 99], [98, 103], [99, 100], [99, 102]], "missing_branches": []}}}, "src\\supervision\\utils\\logger.py": {"executed_lines": [1, 3, 4, 5, 8, 38, 39, 41, 42, 44, 45, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[38, 39], [38, 41], [44, 45], [44, 63]], "missing_branches": [], "functions": {"_get_logger": {"executed_lines": [38, 39, 41, 42, 44, 45, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8, "executed_branches": [[38, 39], [38, 41], [44, 45], [44, 63]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 8, 38, 39, 41, 42, 44, 45, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[38, 39], [38, 41], [44, 45], [44, 63]], "missing_branches": []}}}, "src\\supervision\\utils\\notebook.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 11, 50], "summary": {"covered_lines": 8, "num_statements": 32, "percent_covered": 16.0, "percent_covered_display": "16", "missing_lines": 24, "excluded_lines": 2, "percent_statements_covered": 25.0, "percent_statements_covered_display": "25", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 18, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [36, 37, 39, 41, 42, 44, 46, 47, 92, 94, 95, 96, 98, 99, 104, 106, 107, 108, 109, 111, 113, 114, 116, 117], "excluded_lines": [14, 57], "executed_branches": [], "missing_branches": [[36, 37], [36, 39], [41, 42], [41, 44], [94, 95], [94, 98], [95, 94], [95, 96], [98, 99], [98, 104], [106, 107], [106, 117], [107, 108], [107, 116], [108, 109], [108, 111], [113, 114], [113, 116]], "functions": {"plot_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [36, 37, 39, 41, 42, 44, 46, 47], "excluded_lines": [14], "start_line": 11, "executed_branches": [], "missing_branches": [[36, 37], [36, 39], [41, 42], [41, 44]]}, "plot_images_grid": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 14, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [92, 94, 95, 96, 98, 99, 104, 106, 107, 108, 109, 111, 113, 114, 116, 117], "excluded_lines": [57], "start_line": 50, "executed_branches": [], "missing_branches": [[94, 95], [94, 98], [95, 94], [95, 96], [98, 99], [98, 104], [106, 107], [106, 117], [107, 108], [107, 116], [108, 109], [108, 111], [113, 114], [113, 116]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 11, 50], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8, 11, 50], "summary": {"covered_lines": 8, "num_statements": 32, "percent_covered": 16.0, "percent_covered_display": "16", "missing_lines": 24, "excluded_lines": 2, "percent_statements_covered": 25.0, "percent_statements_covered_display": "25", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 18, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [36, 37, 39, 41, 42, 44, 46, 47, 92, 94, 95, 96, 98, 99, 104, 106, 107, 108, 109, 111, 113, 114, 116, 117], "excluded_lines": [14, 57], "start_line": 1, "executed_branches": [], "missing_branches": [[36, 37], [36, 39], [41, 42], [41, 44], [94, 95], [94, 98], [95, 94], [95, 96], [98, 99], [98, 104], [106, 107], [106, 117], [107, 108], [107, 116], [108, 109], [108, 111], [113, 114], [113, 116]]}}}, "src\\supervision\\utils\\video.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 22, 25, 26, 53, 54, 55, 56, 58, 59, 60, 61, 64, 65, 66, 67, 68, 69, 71, 72, 73, 76, 99, 100, 101, 102, 103, 105, 106, 107, 111, 117, 119, 127, 128, 130, 136, 137, 140, 147, 148, 149, 153, 155, 156, 157, 161, 162, 188, 189, 190, 196, 197, 198, 199, 203, 204, 207, 210, 211, 213, 214, 216, 217, 219, 225, 226, 228, 231, 265, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 279, 280, 283, 355, 356, 362, 365, 369, 370, 374, 375, 376, 378, 379, 380, 381, 382, 383, 385, 386, 387, 390, 391, 392, 393, 394, 395, 400, 401, 402, 403, 404, 406, 407, 413, 415, 416, 417, 423, 424, 426, 432, 433, 435, 436, 437, 438, 439, 440, 442, 443, 444, 445, 446, 447, 448, 449, 451, 453, 454, 457, 462, 484, 485, 497, 503], "summary": {"covered_lines": 162, "num_statements": 188, "percent_covered": 81.66666666666667, "percent_covered_display": "82", "missing_lines": 26, "excluded_lines": 1, "percent_statements_covered": 86.17021276595744, "percent_statements_covered_display": "86", "num_branches": 52, "num_partial_branches": 10, "covered_branches": 34, "missing_branches": 18, "percent_branches_covered": 65.38461538461539, "percent_branches_covered_display": "65"}, "missing_lines": [62, 108, 109, 110, 212, 215, 220, 221, 222, 223, 224, 278, 388, 389, 396, 397, 398, 399, 408, 482, 492, 493, 494, 495, 501, 507], "excluded_lines": [238], "executed_branches": [[61, 64], [127, 128], [136, 137], [148, 149], [148, 155], [188, 189], [188, 197], [203, 204], [211, 213], [214, 216], [219, 225], [225, 226], [225, 228], [271, 272], [271, 273], [273, 274], [275, 276], [275, 279], [277, 275], [374, 375], [374, 376], [381, 382], [381, 383], [390, 391], [390, 400], [394, 391], [394, 395], [403, -385], [403, 404], [407, 413], [438, 439], [438, 442], [453, -283], [453, 454]], "missing_branches": [[61, 62], [127, -119], [136, -130], [203, -140], [211, 212], [214, 215], [219, 220], [220, 221], [220, 228], [222, 223], [222, 224], [273, 275], [277, 278], [397, 398], [397, 399], [407, 408], [492, 493], [492, 494]], "functions": {"VideoInfo.from_video_path": {"executed_lines": [60, 61, 64, 65, 66, 67, 68, 69], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [62], "excluded_lines": [], "start_line": 59, "executed_branches": [[61, 64]], "missing_branches": [[61, 62]]}, "VideoInfo.resolution_wh": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72, "executed_branches": [], "missing_branches": []}, "VideoSink.__init__": {"executed_lines": [100, 101, 102, 103], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99, "executed_branches": [], "missing_branches": []}, "VideoSink.__enter__": {"executed_lines": [106, 107, 111, 117], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [108, 109, 110], "excluded_lines": [], "start_line": 105, "executed_branches": [], "missing_branches": []}, "VideoSink.write_frame": {"executed_lines": [127, 128], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 119, "executed_branches": [[127, 128]], "missing_branches": [[127, -119]]}, "VideoSink.__exit__": {"executed_lines": [136, 137], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 130, "executed_branches": [[136, 137]], "missing_branches": [[136, -130]]}, "_mux_audio": {"executed_lines": [147, 148, 149, 153, 155, 156, 157, 161, 162, 188, 189, 190, 196, 197, 198, 199, 203, 204], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 95.83333333333333, "percent_covered_display": "96", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [], "excluded_lines": [], "start_line": 140, "executed_branches": [[148, 149], [148, 155], [188, 189], [188, 197], [203, 204]], "missing_branches": [[203, -140]]}, "_validate_and_setup_video": {"executed_lines": [210, 211, 213, 214, 216, 217, 219, 225, 226, 228], "summary": {"covered_lines": 10, "num_statements": 17, "percent_covered": 51.724137931034484, "percent_covered_display": "52", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 58.8235294117647, "percent_statements_covered_display": "59", "num_branches": 12, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 7, "percent_branches_covered": 41.666666666666664, "percent_branches_covered_display": "42"}, "missing_lines": [212, 215, 220, 221, 222, 223, 224], "excluded_lines": [], "start_line": 207, "executed_branches": [[211, 213], [214, 216], [219, 225], [225, 226], [225, 228]], "missing_branches": [[211, 212], [214, 215], [219, 220], [220, 221], [220, 228], [222, 223], [222, 224]]}, "get_video_frames_generator": {"executed_lines": [265, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 279, 280], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 1, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [278], "excluded_lines": [238], "start_line": 231, "executed_branches": [[271, 272], [271, 273], [273, 274], [275, 276], [275, 279], [277, 275]], "missing_branches": [[273, 275], [277, 278]]}, "process_video": {"executed_lines": [355, 356, 362, 365, 369, 378, 385, 406, 415, 416, 417, 423, 424, 426, 432, 433, 435, 436, 437, 438, 439, 440, 442, 443, 444, 445, 446, 447, 448, 449, 451, 453, 454], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 283, "executed_branches": [[438, 439], [438, 442], [453, -283], [453, 454]], "missing_branches": []}, "process_video.reader_thread": {"executed_lines": [370, 374, 375, 376], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 369, "executed_branches": [[374, 375], [374, 376]], "missing_branches": []}, "process_video.writer_thread": {"executed_lines": [379, 380, 381, 382, 383], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 378, "executed_branches": [[381, 382], [381, 383]], "missing_branches": []}, "process_video._drain_and_cleanup": {"executed_lines": [386, 387, 390, 391, 392, 393, 394, 395, 400, 401, 402, 403, 404], "summary": {"covered_lines": 13, "num_statements": 19, "percent_covered": 70.37037037037037, "percent_covered_display": "70", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 68.42105263157895, "percent_statements_covered_display": "68", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [388, 389, 396, 397, 398, 399], "excluded_lines": [], "start_line": 385, "executed_branches": [[390, 391], [390, 400], [394, 391], [394, 395], [403, -385], [403, 404]], "missing_branches": [[397, 398], [397, 399]]}, "process_video._mux_audio_if_needed": {"executed_lines": [407, 413], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [408], "excluded_lines": [], "start_line": 406, "executed_branches": [[407, 413]], "missing_branches": [[407, 408]]}, "FPSMonitor.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [482], "excluded_lines": [], "start_line": 462, "executed_branches": [], "missing_branches": []}, "FPSMonitor.fps": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [492, 493, 494, 495], "excluded_lines": [], "start_line": 485, "executed_branches": [], "missing_branches": [[492, 493], [492, 494]]}, "FPSMonitor.tick": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [501], "excluded_lines": [], "start_line": 497, "executed_branches": [], "missing_branches": []}, "FPSMonitor.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [507], "excluded_lines": [], "start_line": 503, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 22, 25, 26, 53, 54, 55, 56, 58, 59, 71, 72, 76, 99, 105, 119, 130, 140, 207, 231, 283, 457, 462, 484, 485, 497, 503], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"VideoInfo": {"executed_lines": [60, 61, 64, 65, 66, 67, 68, 69, 73], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [62], "excluded_lines": [], "start_line": 26, "executed_branches": [[61, 64]], "missing_branches": [[61, 62]]}, "VideoSink": {"executed_lines": [100, 101, 102, 103, 106, 107, 111, 117, 127, 128, 136, 137], "summary": {"covered_lines": 12, "num_statements": 15, "percent_covered": 73.6842105263158, "percent_covered_display": "74", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [108, 109, 110], "excluded_lines": [], "start_line": 76, "executed_branches": [[127, 128], [136, 137]], "missing_branches": [[127, -119], [136, -130]]}, "FPSMonitor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [482, 492, 493, 494, 495, 501, 507], "excluded_lines": [], "start_line": 457, "executed_branches": [], "missing_branches": [[492, 493], [492, 494]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 22, 25, 26, 53, 54, 55, 56, 58, 59, 71, 72, 76, 99, 105, 119, 130, 140, 147, 148, 149, 153, 155, 156, 157, 161, 162, 188, 189, 190, 196, 197, 198, 199, 203, 204, 207, 210, 211, 213, 214, 216, 217, 219, 225, 226, 228, 231, 265, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 279, 280, 283, 355, 356, 362, 365, 369, 370, 374, 375, 376, 378, 379, 380, 381, 382, 383, 385, 386, 387, 390, 391, 392, 393, 394, 395, 400, 401, 402, 403, 404, 406, 407, 413, 415, 416, 417, 423, 424, 426, 432, 433, 435, 436, 437, 438, 439, 440, 442, 443, 444, 445, 446, 447, 448, 449, 451, 453, 454, 457, 462, 484, 485, 497, 503], "summary": {"covered_lines": 141, "num_statements": 156, "percent_covered": 86.0, "percent_covered_display": "86", "missing_lines": 15, "excluded_lines": 1, "percent_statements_covered": 90.38461538461539, "percent_statements_covered_display": "90", "num_branches": 44, "num_partial_branches": 7, "covered_branches": 31, "missing_branches": 13, "percent_branches_covered": 70.45454545454545, "percent_branches_covered_display": "70"}, "missing_lines": [212, 215, 220, 221, 222, 223, 224, 278, 388, 389, 396, 397, 398, 399, 408], "excluded_lines": [238], "start_line": 1, "executed_branches": [[148, 149], [148, 155], [188, 189], [188, 197], [203, 204], [211, 213], [214, 216], [219, 225], [225, 226], [225, 228], [271, 272], [271, 273], [273, 274], [275, 276], [275, 279], [277, 275], [374, 375], [374, 376], [381, 382], [381, 383], [390, 391], [390, 400], [394, 391], [394, 395], [403, -385], [403, 404], [407, 413], [438, 439], [438, 442], [453, -283], [453, 454]], "missing_branches": [[203, -140], [211, 212], [214, 215], [219, 220], [220, 221], [220, 228], [222, 223], [222, 224], [273, 275], [277, 278], [397, 398], [397, 399], [407, 408]]}}}, "src\\supervision\\validators\\__init__.py": {"executed_lines": [1, 3, 4, 6, 7, 10, 18, 19, 20, 21, 22, 28, 33, 37, 38, 39, 43, 44, 45, 46, 48, 49, 50, 52, 55, 60, 61, 75, 80, 84, 85, 86, 87, 90, 97, 102, 106, 108, 109, 110, 113, 120, 125, 129, 131, 133, 134, 139, 144, 151, 156, 160, 165, 169, 170, 171, 172, 175, 182, 187, 191, 192, 193, 194, 196, 197, 199, 207, 212, 216, 217, 218, 220, 227, 232, 236, 241, 242, 243, 244, 249, 253, 259, 267, 268, 269, 270, 271, 272, 273, 276, 281, 292, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 312, 317, 323, 328, 334, 335, 342, 343, 350, 351, 354, 357, 362], "summary": {"covered_lines": 116, "num_statements": 146, "percent_covered": 76.47058823529412, "percent_covered_display": "76", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 79.45205479452055, "percent_statements_covered_display": "79", "num_branches": 58, "num_partial_branches": 18, "covered_branches": 40, "missing_branches": 18, "percent_branches_covered": 68.96551724137932, "percent_branches_covered_display": "69"}, "missing_lines": [34, 56, 81, 91, 103, 114, 126, 135, 140, 145, 157, 166, 176, 188, 195, 198, 200, 204, 213, 221, 233, 245, 250, 254, 289, 320, 331, 336, 344, 363], "excluded_lines": [], "executed_branches": [[21, -10], [21, 22], [38, 39], [38, 43], [43, 44], [43, 48], [44, 45], [44, 46], [55, 60], [60, -37], [60, 61], [90, -84], [113, -106], [133, -129], [133, 134], [134, 139], [139, 144], [144, -129], [175, -169], [192, -191], [192, 193], [193, 194], [193, 196], [194, 192], [196, 197], [197, 199], [199, 192], [220, -216], [241, 242], [241, 243], [244, 249], [249, 253], [253, -236], [305, 306], [305, 307], [308, 309], [335, 342], [343, 350], [350, 351], [350, 354]], "missing_branches": [[55, 56], [90, 91], [113, 114], [134, 135], [139, 140], [144, 145], [175, 176], [194, 195], [196, 204], [197, 198], [199, 200], [220, 221], [244, 245], [249, 250], [253, 254], [308, -292], [335, 336], [343, 344]], "functions": {"_validate_xyxy": {"executed_lines": [18, 19, 20, 21, 22], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [[21, -10], [21, 22]], "missing_branches": []}, "validate_xyxy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [34], "excluded_lines": [], "start_line": 33, "executed_branches": [], "missing_branches": []}, "_validate_mask": {"executed_lines": [38, 39, 43, 44, 45, 46, 48, 49, 50, 52, 55, 60, 61], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [56], "excluded_lines": [], "start_line": 37, "executed_branches": [[38, 39], [38, 43], [43, 44], [43, 48], [44, 45], [44, 46], [55, 60], [60, -37], [60, 61]], "missing_branches": [[55, 56]]}, "validate_mask": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [81], "excluded_lines": [], "start_line": 80, "executed_branches": [], "missing_branches": []}, "_validate_class_id": {"executed_lines": [85, 86, 87, 90], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [91], "excluded_lines": [], "start_line": 84, "executed_branches": [[90, -84]], "missing_branches": [[90, 91]]}, "validate_class_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [103], "excluded_lines": [], "start_line": 102, "executed_branches": [], "missing_branches": []}, "_validate_confidence": {"executed_lines": [108, 109, 110, 113], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [114], "excluded_lines": [], "start_line": 106, "executed_branches": [[113, -106]], "missing_branches": [[113, 114]]}, "validate_confidence": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [126], "excluded_lines": [], "start_line": 125, "executed_branches": [], "missing_branches": []}, "_validate_keypoint_confidence": {"executed_lines": [131, 133, 134, 139, 144], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62", "num_branches": 8, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 3, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [135, 140, 145], "excluded_lines": [], "start_line": 129, "executed_branches": [[133, -129], [133, 134], [134, 139], [139, 144], [144, -129]], "missing_branches": [[134, 135], [139, 140], [144, 145]]}, "validate_key_point_confidence": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [157], "excluded_lines": [], "start_line": 156, "executed_branches": [], "missing_branches": []}, "validate_keypoint_confidence": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [166], "excluded_lines": [], "start_line": 165, "executed_branches": [], "missing_branches": []}, "_validate_tracker_id": {"executed_lines": [170, 171, 172, 175], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [176], "excluded_lines": [], "start_line": 169, "executed_branches": [[175, -169]], "missing_branches": [[175, 176]]}, "validate_tracker_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [188], "excluded_lines": [], "start_line": 187, "executed_branches": [], "missing_branches": []}, "_validate_data": {"executed_lines": [192, 193, 194, 196, 197, 199], "summary": {"covered_lines": 6, "num_statements": 10, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 12, "num_partial_branches": 4, "covered_branches": 8, "missing_branches": 4, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [195, 198, 200, 204], "excluded_lines": [], "start_line": 191, "executed_branches": [[192, -191], [192, 193], [193, 194], [193, 196], [194, 192], [196, 197], [197, 199], [199, 192]], "missing_branches": [[194, 195], [196, 204], [197, 198], [199, 200]]}, "validate_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [213], "excluded_lines": [], "start_line": 212, "executed_branches": [], "missing_branches": []}, "_validate_xy": {"executed_lines": [217, 218, 220], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [221], "excluded_lines": [], "start_line": 216, "executed_branches": [[220, -216]], "missing_branches": [[220, 221]]}, "validate_xy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [233], "excluded_lines": [], "start_line": 232, "executed_branches": [], "missing_branches": []}, "_validate_visible": {"executed_lines": [241, 242, 243, 244, 249, 253], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 64.70588235294117, "percent_covered_display": "65", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 8, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 3, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [245, 250, 254], "excluded_lines": [], "start_line": 236, "executed_branches": [[241, 242], [241, 243], [244, 249], [249, 253], [253, -236]], "missing_branches": [[244, 245], [249, 250], [253, 254]]}, "_validate_detections_fields": {"executed_lines": [267, 268, 269, 270, 271, 272, 273], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 259, "executed_branches": [], "missing_branches": []}, "validate_detections_fields": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [289], "excluded_lines": [], "start_line": 281, "executed_branches": [], "missing_branches": []}, "_validate_keypoints_fields": {"executed_lines": [300, 301, 302, 303, 304, 305, 306, 307, 308, 309], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "start_line": 292, "executed_branches": [[305, 306], [305, 307], [308, 309]], "missing_branches": [[308, -292]]}, "validate_key_points_fields": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [320], "excluded_lines": [], "start_line": 317, "executed_branches": [], "missing_branches": []}, "validate_keypoints_fields": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [331], "excluded_lines": [], "start_line": 328, "executed_branches": [], "missing_branches": []}, "_validate_resolution": {"executed_lines": [335, 342, 343, 350, 351, 354], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [336, 344], "excluded_lines": [], "start_line": 334, "executed_branches": [[335, 342], [343, 350], [350, 351], [350, 354]], "missing_branches": [[335, 336], [343, 344]]}, "validate_resolution": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [363], "excluded_lines": [], "start_line": 362, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 10, 28, 33, 37, 75, 80, 84, 97, 102, 106, 120, 125, 129, 151, 156, 160, 165, 169, 182, 187, 191, 207, 212, 216, 227, 232, 236, 259, 276, 281, 292, 312, 317, 323, 328, 334, 357, 362], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 10, 18, 19, 20, 21, 22, 28, 33, 37, 38, 39, 43, 44, 45, 46, 48, 49, 50, 52, 55, 60, 61, 75, 80, 84, 85, 86, 87, 90, 97, 102, 106, 108, 109, 110, 113, 120, 125, 129, 131, 133, 134, 139, 144, 151, 156, 160, 165, 169, 170, 171, 172, 175, 182, 187, 191, 192, 193, 194, 196, 197, 199, 207, 212, 216, 217, 218, 220, 227, 232, 236, 241, 242, 243, 244, 249, 253, 259, 267, 268, 269, 270, 271, 272, 273, 276, 281, 292, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 312, 317, 323, 328, 334, 335, 342, 343, 350, 351, 354, 357, 362], "summary": {"covered_lines": 116, "num_statements": 146, "percent_covered": 76.47058823529412, "percent_covered_display": "76", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 79.45205479452055, "percent_statements_covered_display": "79", "num_branches": 58, "num_partial_branches": 18, "covered_branches": 40, "missing_branches": 18, "percent_branches_covered": 68.96551724137932, "percent_branches_covered_display": "69"}, "missing_lines": [34, 56, 81, 91, 103, 114, 126, 135, 140, 145, 157, 166, 176, 188, 195, 198, 200, 204, 213, 221, 233, 245, 250, 254, 289, 320, 331, 336, 344, 363], "excluded_lines": [], "start_line": 1, "executed_branches": [[21, -10], [21, 22], [38, 39], [38, 43], [43, 44], [43, 48], [44, 45], [44, 46], [55, 60], [60, -37], [60, 61], [90, -84], [113, -106], [133, -129], [133, 134], [134, 139], [139, 144], [144, -129], [175, -169], [192, -191], [192, 193], [193, 194], [193, 196], [194, 192], [196, 197], [197, 199], [199, 192], [220, -216], [241, 242], [241, 243], [244, 249], [249, 253], [253, -236], [305, 306], [305, 307], [308, 309], [335, 342], [343, 350], [350, 351], [350, 354]], "missing_branches": [[55, 56], [90, 91], [113, 114], [134, 135], [139, 140], [144, 145], [175, 176], [194, 195], [196, 204], [197, 198], [199, 200], [220, 221], [244, 245], [249, 250], [253, 254], [308, -292], [335, 336], [343, 344]]}}}, "tests\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\annotators\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\annotators\\test_core.py": {"executed_lines": [5, 7, 8, 10, 35, 36, 37, 38, 39, 40, 43, 44, 46, 49, 50, 52, 53, 54, 57, 58, 60, 61, 62, 63, 64, 67, 104, 107, 108, 109, 110, 111, 114, 122, 129, 130, 131, 132, 134, 142, 143, 146, 147, 149, 157, 161, 164, 165, 167, 175, 182, 184, 188, 193, 196, 199, 201, 202, 203, 204, 206, 208, 209, 210, 211, 214, 217, 219, 220, 221, 222, 224, 226, 227, 228, 229, 231, 233, 236, 239, 240, 242, 244, 247, 250, 252, 255, 258, 261, 264, 267, 269, 270, 271, 272, 274, 276, 277, 278, 279, 281, 283, 286, 289, 290, 293, 296, 298, 299, 300, 301, 303, 305, 306, 309, 310, 313, 316, 318, 319, 320, 321, 323, 325, 326, 327, 328, 330, 332, 335, 341, 342, 344, 346, 349, 352, 354, 360, 363, 366, 368, 370, 371, 372, 375, 376, 379, 382, 384, 385, 386, 387, 389, 391, 392, 393, 394, 395, 398, 401, 404, 405, 407, 409, 410, 411, 412, 414, 415, 416, 420, 421, 422, 425, 429, 430, 432, 434, 441, 442, 443, 445, 447, 448, 449, 451, 452, 453, 456, 459, 463, 464, 465, 468, 471, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 498, 499, 500, 504, 507, 511, 512, 514, 516, 517, 518, 521, 522, 523, 525, 526, 530, 531, 533, 536, 539, 543, 544, 545, 546, 547, 548, 550, 552, 553, 554, 555, 557, 561, 562, 563, 564, 565, 567, 571, 572, 573, 574, 575, 576, 579, 582, 584, 585, 586, 587, 589, 591, 592, 595, 596, 599, 602, 604, 605, 606, 607, 609, 611, 612, 618, 619, 622, 625, 627, 628, 629, 630, 632, 634, 635, 638, 639, 642, 645, 647, 648, 649, 650, 652, 654, 655, 661, 662, 665, 668, 670, 671, 672, 673, 675, 677, 678, 679, 682, 685, 688, 690, 691, 692, 693, 695, 697, 698, 699, 702, 705, 708, 710, 711, 712, 713, 715, 717, 718, 719, 720, 722, 723, 725, 726, 728, 730, 731, 732, 733, 736, 739, 741, 742, 743, 744, 746, 748, 749, 750, 751, 753, 760, 762, 763, 764, 765, 767, 773, 775, 776, 777, 778, 780, 785, 786, 787, 788, 789, 791, 792, 794, 795, 797, 799, 800, 801, 802, 805, 808, 810, 811, 812, 813, 815, 817, 818, 821, 822, 825, 828, 830, 831, 832, 833, 835, 837, 838, 841, 842, 845, 848, 850, 851, 852, 853, 855, 857, 860, 861, 862, 865, 868, 870, 871, 872, 873, 875, 877, 878, 879, 880, 883, 886, 888, 889, 890, 891, 893, 895, 896, 897, 898, 899, 901, 903, 904, 905, 907, 908, 909, 911, 912, 913, 916, 919, 922, 924, 925, 926, 927, 930, 932, 934, 935, 936, 937, 938, 941, 944, 947, 954, 959, 960, 961, 962, 963, 965, 972, 973, 974, 975, 976, 977, 984, 987, 990, 992, 997, 1005, 1006, 1007, 1008, 1009, 1010, 1015, 1016, 1018, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1038, 1041, 1044, 1046, 1052, 1057, 1058, 1059, 1061, 1066, 1071, 1072, 1073, 1074, 1075], "summary": {"covered_lines": 509, "num_statements": 509, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 22, "num_partial_branches": 0, "covered_branches": 22, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[61, 62], [61, 64], [62, 61], [62, 63], [108, -67], [108, 109], [491, 492], [491, 495], [961, 962], [961, 963], [976, 977], [976, 990], [1007, 1008], [1007, 1016], [1008, 1007], [1008, 1009], [1030, 1031], [1030, 1044], [1031, 1030], [1031, 1032], [1073, 1074], [1073, 1075]], "missing_branches": [], "functions": {"test_image": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44, "executed_branches": [], "missing_branches": []}, "test_mask": {"executed_lines": [52, 53, 54], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50, "executed_branches": [], "missing_branches": []}, "gradient_image": {"executed_lines": [60, 61, 62, 63, 64], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58, "executed_branches": [[61, 62], [61, 64], [62, 61], [62, 63]], "missing_branches": []}, "test_hex_color_support_across_annotators": {"executed_lines": [107, 108, 109, 110, 111], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 104, "executed_branches": [[108, -67], [108, 109]], "missing_branches": []}, "TestBoxAnnotator.test_annotate_with_no_detections": {"executed_lines": [129, 130, 131, 132], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 122, "executed_branches": [], "missing_branches": []}, "TestBoxAnnotator.test_annotate_with_single_detection": {"executed_lines": [142, 143, 146, 147], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 134, "executed_branches": [], "missing_branches": []}, "TestBoxAnnotator.test_annotate_with_multiple_detections": {"executed_lines": [157, 161, 164, 165], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149, "executed_branches": [], "missing_branches": []}, "TestBoxAnnotator.test_annotate_with_numpy_color_lookup": {"executed_lines": [175, 182, 184, 188, 193], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 167, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxAnnotator.test_annotate_with_no_detections": {"executed_lines": [201, 202, 203, 204], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 199, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxAnnotator.test_annotate_without_oriented_boxes": {"executed_lines": [208, 209, 210, 211], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 206, "executed_branches": [], "missing_branches": []}, "TestMaskAnnotator.test_annotate_with_no_detections": {"executed_lines": [219, 220, 221, 222], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 217, "executed_branches": [], "missing_branches": []}, "TestMaskAnnotator.test_annotate_without_masks": {"executed_lines": [226, 227, 228, 229], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 224, "executed_branches": [], "missing_branches": []}, "TestMaskAnnotator.test_annotate_with_single_mask": {"executed_lines": [233, 236, 239, 240], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 231, "executed_branches": [], "missing_branches": []}, "TestMaskAnnotator.test_annotate_uint8_mask_matches_bool_mask": {"executed_lines": [244, 247, 250, 252, 255, 258, 261], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 242, "executed_branches": [], "missing_branches": []}, "TestPolygonAnnotator.test_annotate_with_no_detections": {"executed_lines": [269, 270, 271, 272], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 267, "executed_branches": [], "missing_branches": []}, "TestPolygonAnnotator.test_annotate_without_masks": {"executed_lines": [276, 277, 278, 279], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 274, "executed_branches": [], "missing_branches": []}, "TestPolygonAnnotator.test_annotate_with_single_mask": {"executed_lines": [283, 286, 289, 290], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 281, "executed_branches": [], "missing_branches": []}, "TestColorAnnotator.test_annotate_with_no_detections": {"executed_lines": [298, 299, 300, 301], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 296, "executed_branches": [], "missing_branches": []}, "TestColorAnnotator.test_annotate_with_single_detection": {"executed_lines": [305, 306, 309, 310], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 303, "executed_branches": [], "missing_branches": []}, "TestHaloAnnotator.test_annotate_with_no_detections": {"executed_lines": [318, 319, 320, 321], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 316, "executed_branches": [], "missing_branches": []}, "TestHaloAnnotator.test_annotate_without_masks": {"executed_lines": [325, 326, 327, 328], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 323, "executed_branches": [], "missing_branches": []}, "TestHaloAnnotator.test_annotate_with_single_mask": {"executed_lines": [332, 335, 341, 342], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 330, "executed_branches": [], "missing_branches": []}, "TestHaloAnnotator.test_annotate_uint8_mask_matches_bool_mask": {"executed_lines": [346, 349, 352, 354, 360, 363, 366], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 344, "executed_branches": [], "missing_branches": []}, "TestHaloAnnotator.test_annotate_with_all_false_mask_preserves_scene": {"executed_lines": [370, 371, 372, 375, 376], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 368, "executed_branches": [], "missing_branches": []}, "TestPaintMasksByArea.test_paint_masks_by_area_is_noop_without_masks": {"executed_lines": [384, 385, 386, 387], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 382, "executed_branches": [], "missing_branches": []}, "TestPaintMasksByArea.test_union_accumulation_dense": {"executed_lines": [391, 392, 393, 394, 395, 398, 401, 404, 405], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 389, "executed_branches": [], "missing_branches": []}, "TestPaintMasksByArea.test_union_accumulation_compact": {"executed_lines": [409, 410, 411, 412, 414, 415, 416, 420, 421, 422, 425, 429, 430, 432], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 407, "executed_branches": [], "missing_branches": []}, "TestPaintMasksByArea.test_compact_mask_drops_pixels_outside_bbox": {"executed_lines": [441, 442, 443, 445, 447, 448, 449, 451, 452, 453, 456, 459, 463, 464, 465], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 434, "executed_branches": [], "missing_branches": []}, "TestCompactMaskParity.test_annotator_compact_mask_matches_dense_mask": {"executed_lines": [486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 498, 499, 500, 504, 507, 511, 512], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 484, "executed_branches": [[491, 492], [491, 495]], "missing_branches": []}, "TestCompactMaskParity.test_annotator_compact_mask_handles_edge_clipping": {"executed_lines": [516, 517, 518, 521, 522, 523, 525, 526, 530, 531, 533], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 514, "executed_branches": [], "missing_branches": []}, "TestHeatMapAnnotator.test_annotate_with_no_detections_does_not_warn": {"executed_lines": [543, 544, 545, 546, 547, 548], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 539, "executed_branches": [], "missing_branches": []}, "TestHeatMapAnnotator.test_annotate_with_single_detection": {"executed_lines": [552, 553, 554, 555], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 550, "executed_branches": [], "missing_branches": []}, "TestHeatMapAnnotator.test_annotate_state_preserved_after_empty_call": {"executed_lines": [561, 562, 563, 564, 565], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 557, "executed_branches": [], "missing_branches": []}, "TestHeatMapAnnotator.test_annotate_empty_after_real_does_not_warn": {"executed_lines": [571, 572, 573, 574, 575, 576], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 567, "executed_branches": [], "missing_branches": []}, "TestEllipseAnnotator.test_annotate_with_no_detections": {"executed_lines": [584, 585, 586, 587], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 582, "executed_branches": [], "missing_branches": []}, "TestEllipseAnnotator.test_annotate_with_single_detection": {"executed_lines": [591, 592, 595, 596], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 589, "executed_branches": [], "missing_branches": []}, "TestBoxCornerAnnotator.test_annotate_with_no_detections": {"executed_lines": [604, 605, 606, 607], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 602, "executed_branches": [], "missing_branches": []}, "TestBoxCornerAnnotator.test_annotate_with_single_detection": {"executed_lines": [611, 612, 618, 619], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 609, "executed_branches": [], "missing_branches": []}, "TestCircleAnnotator.test_annotate_with_no_detections": {"executed_lines": [627, 628, 629, 630], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 625, "executed_branches": [], "missing_branches": []}, "TestCircleAnnotator.test_annotate_with_single_detection": {"executed_lines": [634, 635, 638, 639], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 632, "executed_branches": [], "missing_branches": []}, "TestDotAnnotator.test_annotate_with_no_detections": {"executed_lines": [647, 648, 649, 650], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 645, "executed_branches": [], "missing_branches": []}, "TestDotAnnotator.test_annotate_with_single_detection": {"executed_lines": [654, 655, 661, 662], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 652, "executed_branches": [], "missing_branches": []}, "TestLabelAnnotator.test_annotate_with_no_detections": {"executed_lines": [670, 671, 672, 673], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 668, "executed_branches": [], "missing_branches": []}, "TestLabelAnnotator.test_annotate_with_single_detection": {"executed_lines": [677, 678, 679, 682], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 675, "executed_branches": [], "missing_branches": []}, "TestRichLabelAnnotator.test_annotate_with_no_detections": {"executed_lines": [690, 691, 692, 693], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 688, "executed_branches": [], "missing_branches": []}, "TestRichLabelAnnotator.test_annotate_with_single_detection": {"executed_lines": [697, 698, 699, 702], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 695, "executed_branches": [], "missing_branches": []}, "TestBlurAnnotator.test_annotate_with_no_detections": {"executed_lines": [710, 711, 712, 713], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 708, "executed_branches": [], "missing_branches": []}, "TestBlurAnnotator.test_annotate_with_single_detection": {"executed_lines": [717, 718, 719, 720], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 715, "executed_branches": [], "missing_branches": []}, "TestBlurAnnotator.test_invalid_kernel_size_raises": {"executed_lines": [725, 726], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 723, "executed_branches": [], "missing_branches": []}, "TestBlurAnnotator.test_annotate_zero_area_bbox_is_skipped": {"executed_lines": [730, 731, 732, 733], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 728, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_annotate_with_no_detections": {"executed_lines": [741, 742, 743, 744], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 739, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_annotate_with_single_detection": {"executed_lines": [748, 749, 750, 751], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 746, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_annotate_bbox_smaller_than_pixel_size_does_not_raise": {"executed_lines": [760, 762, 763, 764, 765], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 753, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_annotate_grayscale_image_does_not_raise": {"executed_lines": [773, 775, 776, 777, 778], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 767, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_annotate_grayscale_image_small_roi_does_not_raise": {"executed_lines": [785, 786, 787, 788, 789], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 780, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_invalid_pixel_size_raises": {"executed_lines": [794, 795], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 792, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_annotate_zero_area_bbox_is_skipped": {"executed_lines": [799, 800, 801, 802], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 797, "executed_branches": [], "missing_branches": []}, "TestTriangleAnnotator.test_annotate_with_no_detections": {"executed_lines": [810, 811, 812, 813], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 808, "executed_branches": [], "missing_branches": []}, "TestTriangleAnnotator.test_annotate_with_single_detection": {"executed_lines": [817, 818, 821, 822], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 815, "executed_branches": [], "missing_branches": []}, "TestRoundBoxAnnotator.test_annotate_with_no_detections": {"executed_lines": [830, 831, 832, 833], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 828, "executed_branches": [], "missing_branches": []}, "TestRoundBoxAnnotator.test_annotate_with_single_detection": {"executed_lines": [837, 838, 841, 842], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 835, "executed_branches": [], "missing_branches": []}, "TestPercentageBarAnnotator.test_annotate_with_no_detections": {"executed_lines": [850, 851, 852, 853], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 848, "executed_branches": [], "missing_branches": []}, "TestPercentageBarAnnotator.test_annotate_with_single_detection": {"executed_lines": [857, 860, 861, 862], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 855, "executed_branches": [], "missing_branches": []}, "TestCropAnnotator.test_annotate_with_no_detections": {"executed_lines": [870, 871, 872, 873], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 868, "executed_branches": [], "missing_branches": []}, "TestCropAnnotator.test_annotate_with_single_detection": {"executed_lines": [877, 878, 879, 880], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 875, "executed_branches": [], "missing_branches": []}, "TestBackgroundOverlayAnnotator.test_annotate_with_no_detections": {"executed_lines": [888, 889, 890, 891], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 886, "executed_branches": [], "missing_branches": []}, "TestBackgroundOverlayAnnotator.test_annotate_with_single_detection": {"executed_lines": [895, 896, 897, 898, 899], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 893, "executed_branches": [], "missing_branches": []}, "TestBackgroundOverlayAnnotator.test_annotate_uint8_mask_matches_bool_mask": {"executed_lines": [903, 904, 905, 907, 908, 909, 911, 912, 913, 916], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 901, "executed_branches": [], "missing_branches": []}, "TestComparisonAnnotator.test_annotate_with_no_detections": {"executed_lines": [924, 925, 926, 927, 930], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 922, "executed_branches": [], "missing_branches": []}, "TestComparisonAnnotator.test_annotate_with_single_detection_each": {"executed_lines": [934, 935, 936, 937, 938, 941], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 932, "executed_branches": [], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary.test_stationary_tracker_does_not_crash_spline_fit": {"executed_lines": [954, 959, 960, 961, 962, 963], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 947, "executed_branches": [[961, 962], [961, 963]], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary.test_smooth_trace_still_renders_for_moving_tracker": {"executed_lines": [972, 973, 974, 975, 976, 977, 984, 987, 990], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 965, "executed_branches": [[976, 977], [976, 990]], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary.test_smooth_does_not_crash_for_unique_point_counts": {"executed_lines": [1005, 1006, 1007, 1008, 1009, 1010, 1015, 1016], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 997, "executed_branches": [[1007, 1008], [1007, 1016], [1008, 1007], [1008, 1009]], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary.test_smooth_fallback_matches_raw_when_fewer_than_four_unique_points": {"executed_lines": [1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1038, 1041, 1044], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1018, "executed_branches": [[1030, 1031], [1030, 1044], [1031, 1030], [1031, 1032]], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary.test_smooth_true_single_frame_does_not_crash": {"executed_lines": [1052, 1057, 1058, 1059], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1046, "executed_branches": [], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary.test_smooth_false_stationary_tracker_does_not_crash": {"executed_lines": [1066, 1071, 1072, 1073, 1074, 1075], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1061, "executed_branches": [[1073, 1074], [1073, 1075]], "missing_branches": []}, "": {"executed_lines": [5, 7, 8, 10, 35, 36, 37, 38, 39, 40, 43, 44, 49, 50, 57, 58, 67, 104, 114, 122, 134, 149, 167, 196, 199, 206, 214, 217, 224, 231, 242, 264, 267, 274, 281, 293, 296, 303, 313, 316, 323, 330, 344, 368, 379, 382, 389, 407, 434, 468, 471, 484, 514, 536, 539, 550, 557, 567, 579, 582, 589, 599, 602, 609, 622, 625, 632, 642, 645, 652, 665, 668, 675, 685, 688, 695, 705, 708, 715, 722, 723, 728, 736, 739, 746, 753, 767, 780, 791, 792, 797, 805, 808, 815, 825, 828, 835, 845, 848, 855, 865, 868, 875, 883, 886, 893, 901, 919, 922, 932, 944, 947, 965, 992, 997, 1018, 1046, 1061], "summary": {"covered_lines": 118, "num_statements": 118, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestBoxAnnotator": {"executed_lines": [129, 130, 131, 132, 142, 143, 146, 147, 157, 161, 164, 165, 175, 182, 184, 188, 193], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 114, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxAnnotator": {"executed_lines": [201, 202, 203, 204, 208, 209, 210, 211], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 196, "executed_branches": [], "missing_branches": []}, "TestMaskAnnotator": {"executed_lines": [219, 220, 221, 222, 226, 227, 228, 229, 233, 236, 239, 240, 244, 247, 250, 252, 255, 258, 261], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 214, "executed_branches": [], "missing_branches": []}, "TestPolygonAnnotator": {"executed_lines": [269, 270, 271, 272, 276, 277, 278, 279, 283, 286, 289, 290], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 264, "executed_branches": [], "missing_branches": []}, "TestColorAnnotator": {"executed_lines": [298, 299, 300, 301, 305, 306, 309, 310], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 293, "executed_branches": [], "missing_branches": []}, "TestHaloAnnotator": {"executed_lines": [318, 319, 320, 321, 325, 326, 327, 328, 332, 335, 341, 342, 346, 349, 352, 354, 360, 363, 366, 370, 371, 372, 375, 376], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 313, "executed_branches": [], "missing_branches": []}, "TestPaintMasksByArea": {"executed_lines": [384, 385, 386, 387, 391, 392, 393, 394, 395, 398, 401, 404, 405, 409, 410, 411, 412, 414, 415, 416, 420, 421, 422, 425, 429, 430, 432, 441, 442, 443, 445, 447, 448, 449, 451, 452, 453, 456, 459, 463, 464, 465], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 379, "executed_branches": [], "missing_branches": []}, "TestCompactMaskParity": {"executed_lines": [486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 498, 499, 500, 504, 507, 511, 512, 516, 517, 518, 521, 522, 523, 525, 526, 530, 531, 533], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 468, "executed_branches": [[491, 492], [491, 495]], "missing_branches": []}, "TestHeatMapAnnotator": {"executed_lines": [543, 544, 545, 546, 547, 548, 552, 553, 554, 555, 561, 562, 563, 564, 565, 571, 572, 573, 574, 575, 576], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 536, "executed_branches": [], "missing_branches": []}, "TestEllipseAnnotator": {"executed_lines": [584, 585, 586, 587, 591, 592, 595, 596], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 579, "executed_branches": [], "missing_branches": []}, "TestBoxCornerAnnotator": {"executed_lines": [604, 605, 606, 607, 611, 612, 618, 619], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 599, "executed_branches": [], "missing_branches": []}, "TestCircleAnnotator": {"executed_lines": [627, 628, 629, 630, 634, 635, 638, 639], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 622, "executed_branches": [], "missing_branches": []}, "TestDotAnnotator": {"executed_lines": [647, 648, 649, 650, 654, 655, 661, 662], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 642, "executed_branches": [], "missing_branches": []}, "TestLabelAnnotator": {"executed_lines": [670, 671, 672, 673, 677, 678, 679, 682], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 665, "executed_branches": [], "missing_branches": []}, "TestRichLabelAnnotator": {"executed_lines": [690, 691, 692, 693, 697, 698, 699, 702], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 685, "executed_branches": [], "missing_branches": []}, "TestBlurAnnotator": {"executed_lines": [710, 711, 712, 713, 717, 718, 719, 720, 725, 726, 730, 731, 732, 733], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 705, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator": {"executed_lines": [741, 742, 743, 744, 748, 749, 750, 751, 760, 762, 763, 764, 765, 773, 775, 776, 777, 778, 785, 786, 787, 788, 789, 794, 795, 799, 800, 801, 802], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 736, "executed_branches": [], "missing_branches": []}, "TestTriangleAnnotator": {"executed_lines": [810, 811, 812, 813, 817, 818, 821, 822], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 805, "executed_branches": [], "missing_branches": []}, "TestRoundBoxAnnotator": {"executed_lines": [830, 831, 832, 833, 837, 838, 841, 842], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 825, "executed_branches": [], "missing_branches": []}, "TestPercentageBarAnnotator": {"executed_lines": [850, 851, 852, 853, 857, 860, 861, 862], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 845, "executed_branches": [], "missing_branches": []}, "TestCropAnnotator": {"executed_lines": [870, 871, 872, 873, 877, 878, 879, 880], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 865, "executed_branches": [], "missing_branches": []}, "TestBackgroundOverlayAnnotator": {"executed_lines": [888, 889, 890, 891, 895, 896, 897, 898, 899, 903, 904, 905, 907, 908, 909, 911, 912, 913, 916], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 883, "executed_branches": [], "missing_branches": []}, "TestComparisonAnnotator": {"executed_lines": [924, 925, 926, 927, 930, 934, 935, 936, 937, 938, 941], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 919, "executed_branches": [], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary": {"executed_lines": [954, 959, 960, 961, 962, 963, 972, 973, 974, 975, 976, 977, 984, 987, 990, 1005, 1006, 1007, 1008, 1009, 1010, 1015, 1016, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1038, 1041, 1044, 1052, 1057, 1058, 1059, 1066, 1071, 1072, 1073, 1074, 1075], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 944, "executed_branches": [[961, 962], [961, 963], [976, 977], [976, 990], [1007, 1008], [1007, 1016], [1008, 1007], [1008, 1009], [1030, 1031], [1030, 1044], [1031, 1030], [1031, 1032], [1073, 1074], [1073, 1075]], "missing_branches": []}, "": {"executed_lines": [5, 7, 8, 10, 35, 36, 37, 38, 39, 40, 43, 44, 46, 49, 50, 52, 53, 54, 57, 58, 60, 61, 62, 63, 64, 67, 104, 107, 108, 109, 110, 111, 114, 122, 134, 149, 167, 196, 199, 206, 214, 217, 224, 231, 242, 264, 267, 274, 281, 293, 296, 303, 313, 316, 323, 330, 344, 368, 379, 382, 389, 407, 434, 468, 471, 484, 514, 536, 539, 550, 557, 567, 579, 582, 589, 599, 602, 609, 622, 625, 632, 642, 645, 652, 665, 668, 675, 685, 688, 695, 705, 708, 715, 722, 723, 728, 736, 739, 746, 753, 767, 780, 791, 792, 797, 805, 808, 815, 825, 828, 835, 845, 848, 855, 865, 868, 875, 883, 886, 893, 901, 919, 922, 932, 944, 947, 965, 992, 997, 1018, 1046, 1061], "summary": {"covered_lines": 132, "num_statements": 132, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[61, 62], [61, 64], [62, 61], [62, 63], [108, -67], [108, 109]], "missing_branches": []}}}, "tests\\annotators\\test_docs.py": {"executed_lines": [3, 4, 5, 7, 9, 10, 11, 13, 15, 38, 45, 46, 48, 49, 51, 52, 58, 59, 64, 70, 72, 73, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 88, 95, 96, 97, 100, 108, 110, 114, 115, 118, 124, 125, 127, 129, 130, 131, 132, 133], "summary": {"covered_lines": 50, "num_statements": 56, "percent_covered": 82.05128205128206, "percent_covered_display": "82", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 89.28571428571429, "percent_statements_covered_display": "89", "num_branches": 22, "num_partial_branches": 4, "covered_branches": 14, "missing_branches": 8, "percent_branches_covered": 63.63636363636363, "percent_branches_covered_display": "64"}, "missing_lines": [53, 60, 65, 135, 136, 144], "excluded_lines": [], "executed_branches": [[10, 11], [10, 13], [52, 58], [59, 64], [64, 70], [75, 76], [75, 85], [76, 75], [76, 77], [80, 81], [80, 83], [83, 84], [129, -118], [129, 130]], "missing_branches": [[52, 53], [59, 60], [64, 65], [83, 75], [135, 129], [135, 136], [136, 135], [136, 144]], "functions": {"_extract_annotator_tab_groups": {"executed_lines": [45, 46, 48, 49, 51, 52, 58, 59, 64, 70, 72, 73, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85], "summary": {"covered_lines": 22, "num_statements": 25, "percent_covered": 82.05128205128206, "percent_covered_display": "82", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 88.0, "percent_statements_covered_display": "88", "num_branches": 14, "num_partial_branches": 4, "covered_branches": 10, "missing_branches": 4, "percent_branches_covered": 71.42857142857143, "percent_branches_covered_display": "71"}, "missing_lines": [53, 60, 65], "excluded_lines": [], "start_line": 38, "executed_branches": [[52, 58], [59, 64], [64, 70], [75, 76], [75, 85], [76, 75], [76, 77], [80, 81], [80, 83], [83, 84]], "missing_branches": [[52, 53], [59, 60], [64, 65], [83, 75]]}, "test_all_expected_annotators_have_tab_entries": {"executed_lines": [95, 96, 97, 100], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88, "executed_branches": [], "missing_branches": []}, "test_annotator_example_tab_groups_stay_within_material_limit": {"executed_lines": [110, 114, 115], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 108, "executed_branches": [], "missing_branches": []}, "test_annotator_code_examples_have_no_tuple_assignment": {"executed_lines": [124, 125, 127, 129, 130, 131, 132, 133], "summary": {"covered_lines": 8, "num_statements": 11, "percent_covered": 58.8235294117647, "percent_covered_display": "59", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 72.72727272727273, "percent_statements_covered_display": "73", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 4, "percent_branches_covered": 33.333333333333336, "percent_branches_covered_display": "33"}, "missing_lines": [135, 136, 144], "excluded_lines": [], "start_line": 118, "executed_branches": [[129, -118], [129, 130]], "missing_branches": [[135, 129], [135, 136], [136, 135], [136, 144]]}, "": {"executed_lines": [3, 4, 5, 7, 9, 10, 11, 13, 15, 38, 88, 108, 118], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[10, 11], [10, 13]], "missing_branches": []}}, "classes": {"": {"executed_lines": [3, 4, 5, 7, 9, 10, 11, 13, 15, 38, 45, 46, 48, 49, 51, 52, 58, 59, 64, 70, 72, 73, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 88, 95, 96, 97, 100, 108, 110, 114, 115, 118, 124, 125, 127, 129, 130, 131, 132, 133], "summary": {"covered_lines": 50, "num_statements": 56, "percent_covered": 82.05128205128206, "percent_covered_display": "82", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 89.28571428571429, "percent_statements_covered_display": "89", "num_branches": 22, "num_partial_branches": 4, "covered_branches": 14, "missing_branches": 8, "percent_branches_covered": 63.63636363636363, "percent_branches_covered_display": "64"}, "missing_lines": [53, 60, 65, 135, 136, 144], "excluded_lines": [], "start_line": 1, "executed_branches": [[10, 11], [10, 13], [52, 58], [59, 64], [64, 70], [75, 76], [75, 85], [76, 75], [76, 77], [80, 81], [80, 83], [83, 84], [129, -118], [129, 130]], "missing_branches": [[52, 53], [59, 60], [64, 65], [83, 75], [135, 129], [135, 136], [136, 135], [136, 144]]}}}, "tests\\annotators\\test_utils.py": {"executed_lines": [1, 3, 5, 6, 8, 16, 17, 20, 104, 111, 112, 117, 120, 173, 179, 180, 181, 184, 195, 198, 201, 202, 203, 204, 207, 216, 217, 220, 229, 230, 231, 234, 247, 248], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_resolve_color_idx": {"executed_lines": [111, 112, 117], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 104, "executed_branches": [], "missing_branches": []}, "test_wrap_text": {"executed_lines": [179, 180, 181], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 173, "executed_branches": [], "missing_branches": []}, "test_hex_to_rgba_valid": {"executed_lines": [198], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 195, "executed_branches": [], "missing_branches": []}, "test_hex_to_rgba_invalid": {"executed_lines": [203, 204], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 202, "executed_branches": [], "missing_branches": []}, "test_rgba_to_hex": {"executed_lines": [217], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 216, "executed_branches": [], "missing_branches": []}, "test_rgba_to_hex_invalid": {"executed_lines": [230, 231], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 229, "executed_branches": [], "missing_branches": []}, "test_is_valid_hex": {"executed_lines": [248], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 247, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 16, 17, 20, 104, 120, 173, 184, 195, 201, 202, 207, 216, 220, 229, 234, 247], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 8, 16, 17, 20, 104, 111, 112, 117, 120, 173, 179, 180, 181, 184, 195, 198, 201, 202, 203, 204, 207, 216, 217, 220, 229, 230, 231, 234, 247, 248], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\assets\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\assets\\test_downloader.py": {"executed_lines": [1, 3, 5, 6, 9, 10, 12, 13, 15, 19, 21, 23, 24, 26, 30, 32, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 47, 49, 50, 51, 55, 56, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 84, 86, 87, 88, 89, 90, 92, 95, 97, 98, 99, 100, 101, 102, 104, 105, 107, 109, 110, 112, 113, 115, 116, 118, 120, 121, 123, 124, 126, 127, 128, 129, 130, 131, 132, 133, 144, 146, 147, 148, 149, 150, 152, 153, 155, 156, 157, 159, 160, 161, 162, 163, 164, 165, 166, 177, 179, 180, 181, 182, 183, 185, 186, 188, 189, 190], "summary": {"covered_lines": 111, "num_statements": 111, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestMD5HashMatching.test_file_exists_matching_hash": {"executed_lines": [12, 13, 15, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "TestMD5HashMatching.test_file_exists_not_matching_hash": {"executed_lines": [23, 24, 26, 30], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "TestMD5HashMatching.test_file_not_exists": {"executed_lines": [34, 35], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_already_exists_and_valid": {"executed_lines": [44, 45, 46, 47], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_already_exists_but_corrupted": {"executed_lines": [60, 61, 62, 63, 64], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_download_new_file": {"executed_lines": [84, 86, 87, 88, 89, 90, 92, 95, 97, 98, 99, 100, 101, 102], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_invalid_asset": {"executed_lines": [107, 109, 110, 112, 113], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 105, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_invalid_asset_when_file_exists": {"executed_lines": [118, 120, 121, 123, 124], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 116, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_with_video_enum": {"executed_lines": [144, 146, 147, 148, 149, 150, 152, 153, 155, 156, 157], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_with_image_enum": {"executed_lines": [177, 179, 180, 181, 182, 183, 185, 186, 188, 189, 190], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 166, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 9, 10, 21, 32, 38, 39, 40, 41, 42, 49, 50, 51, 55, 56, 66, 67, 68, 69, 70, 71, 72, 73, 104, 105, 115, 116, 126, 127, 128, 129, 130, 131, 132, 133, 159, 160, 161, 162, 163, 164, 165, 166], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestMD5HashMatching": {"executed_lines": [12, 13, 15, 19, 23, 24, 26, 30, 34, 35], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets": {"executed_lines": [44, 45, 46, 47, 60, 61, 62, 63, 64, 84, 86, 87, 88, 89, 90, 92, 95, 97, 98, 99, 100, 101, 102, 107, 109, 110, 112, 113, 118, 120, 121, 123, 124, 144, 146, 147, 148, 149, 150, 152, 153, 155, 156, 157, 177, 179, 180, 181, 182, 183, 185, 186, 188, 189, 190], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 9, 10, 21, 32, 38, 39, 40, 41, 42, 49, 50, 51, 55, 56, 66, 67, 68, 69, 70, 71, 72, 73, 104, 105, 115, 116, 126, 127, 128, 129, 130, 131, 132, 133, 159, 160, 161, 162, 163, 164, 165, 166], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\assets\\test_list.py": {"executed_lines": [1, 10, 12, 24, 27, 29, 33, 36, 38, 39, 40, 43, 45, 46, 47, 50, 52, 55, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 97.05882352941177, "percent_covered_display": "97", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[60, -58], [60, 61], [62, 63], [62, 64], [64, 65]], "missing_branches": [[64, 66]], "functions": {"test_video_assets_list": {"executed_lines": [12, 24], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "test_image_assets_list": {"executed_lines": [29, 33], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27, "executed_branches": [], "missing_branches": []}, "test_video_assets_values": {"executed_lines": [38, 39, 40], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "test_image_assets_values": {"executed_lines": [45, 46, 47], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43, "executed_branches": [], "missing_branches": []}, "test_media_assets_dict_keys": {"executed_lines": [52, 55], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50, "executed_branches": [], "missing_branches": []}, "test_media_assets_dict_values": {"executed_lines": [60, 61, 62, 63, 64, 65, 66, 67, 68], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [], "excluded_lines": [], "start_line": 58, "executed_branches": [[60, -58], [60, 61], [62, 63], [62, 64], [64, 65]], "missing_branches": [[64, 66]]}, "": {"executed_lines": [1, 10, 27, 36, 43, 50, 58], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 10, 12, 24, 27, 29, 33, 36, 38, 39, 40, 43, 45, 46, 47, 50, 52, 55, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 97.05882352941177, "percent_covered_display": "97", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[60, -58], [60, 61], [62, 63], [62, 64], [64, 65]], "missing_branches": [[64, 66]]}}}, "tests\\classification\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\classification\\test_core.py": {"executed_lines": [1, 3, 5, 6, 8, 11, 12, 13, 15, 16, 18, 19, 21, 22, 24, 25, 28, 68, 75, 76, 80, 81, 84, 85, 87, 88, 89, 92, 93, 95, 96, 97], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"_MockTensor.__init__": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "_MockTensor.softmax": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15, "executed_branches": [], "missing_branches": []}, "_MockTensor.cpu": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18, "executed_branches": [], "missing_branches": []}, "_MockTensor.detach": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "_MockTensor.numpy": {"executed_lines": [25], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24, "executed_branches": [], "missing_branches": []}, "test_top_k": {"executed_lines": [75, 76, 80, 81], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68, "executed_branches": [], "missing_branches": []}, "test_from_clip_empty_output_dtypes": {"executed_lines": [85, 87, 88, 89], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 84, "executed_branches": [], "missing_branches": []}, "test_from_timm_empty_output_dtypes": {"executed_lines": [93, 95, 96, 97], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 11, 12, 15, 18, 21, 24, 28, 68, 84, 92], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"_MockTensor": {"executed_lines": [13, 16, 19, 22, 25], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 11, 12, 15, 18, 21, 24, 28, 68, 75, 76, 80, 81, 84, 85, 87, 88, 89, 92, 93, 95, 96, 97], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\conftest.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 13, 16, 17, 18, 67, 68, 69], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"scene": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "sample_key_points": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17, "executed_branches": [], "missing_branches": []}, "empty_key_points": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 67, 68], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 13, 16, 17, 18, 67, 68, 69], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\dataset\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\dataset\\formats\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\dataset\\formats\\test_coco.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 25, 34, 35, 36, 47, 49, 50, 51, 52, 55, 56, 57, 110, 111, 112, 132, 172, 175, 176, 177, 180, 188, 191, 192, 193, 194, 197, 248, 251, 252, 253, 256, 760, 768, 769, 775, 778, 824, 830, 831, 834, 837, 952, 959, 960, 965, 968, 969, 986, 987, 994, 995, 996, 999, 1012, 1026, 1028, 1029, 1037, 1044, 1048, 1052, 1053, 1054, 1055, 1056, 1057, 1060, 1062, 1063, 1068, 1070, 1073, 1075, 1081, 1087, 1088, 1089, 1090, 1093, 1097, 1103, 1109, 1110, 1111, 1112, 1115, 1117, 1118, 1120, 1126, 1132, 1133, 1134, 1137, 1139, 1140, 1142, 1149, 1155, 1156, 1159, 1161, 1166, 1172, 1173, 1174, 1177, 1180, 1181, 1182, 1184, 1188, 1195, 1196, 1198, 1199, 1200, 1201, 1202, 1204, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1219, 1220, 1223, 1226, 1227, 1228, 1230, 1235, 1241, 1242, 1243, 1244, 1246, 1247, 1250, 1254, 1259, 1260, 1261, 1263, 1268, 1270, 1271, 1277, 1285, 1290, 1291, 1292, 1294, 1306, 1308, 1309, 1315, 1317, 1318, 1319, 1321, 1333, 1335, 1336, 1342, 1346, 1347, 1348, 1349, 1351, 1356, 1358, 1359, 1365, 1367, 1368, 1369, 1370, 1372, 1377, 1379, 1383, 1384, 1387, 1390, 1391, 1392, 1394, 1408, 1410, 1416, 1417, 1418, 1419, 1420, 1421, 1424, 1425, 1426, 1460, 1463, 1464, 1471, 1472, 1473, 1475, 1479, 1485, 1486, 1487, 1488, 1504, 1506, 1507, 1508, 1510, 1530, 1532, 1537, 1538, 1539, 1545, 1553, 1557, 1559, 1562, 1564, 1569, 1575, 1578, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1595, 1596, 1597, 1601, 1602, 1605, 1606, 1607, 1608, 1611, 1615, 1616, 1617, 1618, 1619, 1625, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1642, 1647, 1652, 1653, 1654, 1655, 1656, 1657, 1660, 1661, 1662, 1664, 1668, 1669, 1670, 1672, 1673, 1676, 1677, 1678, 1680, 1687, 1688, 1689, 1690, 1691, 1694, 1697, 1698, 1699, 1701, 1702, 1703, 1705, 1706, 1711, 1717, 1718, 1719, 1720, 1721, 1722, 1724, 1727, 1731, 1732, 1735, 1738, 1739, 1741, 1748, 1749, 1750, 1751, 1752, 1755, 1758, 1759, 1764, 1765, 1768, 1771, 1772, 1774, 1781, 1782, 1783, 1784, 1785, 1790, 1793, 1794, 1796, 1800, 1801, 1802, 1803, 1804, 1810, 1813, 1814, 1815, 1816, 1818, 1843, 1844, 1846, 1851, 1852, 1853, 1854, 1860, 1868, 1872, 1873, 1875, 1876, 1887, 1889, 1894, 1895, 1905, 1907, 1908, 1910, 1921, 1922, 1924, 1925, 1926, 1928, 1932, 1933, 1934, 1940, 1945, 1955, 1956, 1965, 1968, 1969, 1970, 1972, 1978, 1981, 1982, 1984, 1985, 1988, 2007, 2021, 2022, 2024, 2025, 2028, 2029, 2041, 2047, 2048, 2050, 2051, 2054, 2055, 2056, 2057, 2060, 2064, 2069, 2074, 2076, 2079, 2082, 2083, 2086, 2088, 2089, 2090, 2092, 2097, 2100, 2101, 2102, 2103, 2104], "summary": {"covered_lines": 441, "num_statements": 441, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[34, 35], [34, 36], [50, 51], [50, 52], [1587, 1588], [1587, 1597], [1616, -1578], [1616, 1617], [1634, 1635], [1634, 1647], [1719, 1720], [1719, 1724]], "missing_branches": [], "functions": {"mock_coco_annotation": {"executed_lines": [34, 35, 36], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25, "executed_branches": [[34, 35], [34, 36]], "missing_branches": []}, "_empty_raw_segs": {"executed_lines": [49, 50, 51, 52], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47, "executed_branches": [[50, 51], [50, 52]], "missing_branches": []}, "coco_data_with_and_without_segmentation": {"executed_lines": [57], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56, "executed_branches": [], "missing_branches": []}, "coco_data_with_unannotated_image": {"executed_lines": [112], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 111, "executed_branches": [], "missing_branches": []}, "test_coco_categories_to_classes": {"executed_lines": [175, 176, 177], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 172, "executed_branches": [], "missing_branches": []}, "test_classes_to_coco_categories_and_back_to_classes": {"executed_lines": [191, 192, 193, 194], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 188, "executed_branches": [], "missing_branches": []}, "test_group_coco_annotations_by_image_id": {"executed_lines": [251, 252, 253], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 248, "executed_branches": [], "missing_branches": []}, "test_coco_annotations_to_detections": {"executed_lines": [768, 769, 775], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 760, "executed_branches": [], "missing_branches": []}, "test_build_coco_class_index_mapping": {"executed_lines": [830, 831, 834], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 824, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations": {"executed_lines": [959, 960, 965], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 952, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_handles_empty_approximated_polygons": {"executed_lines": [969, 986, 987, 994, 995, 996], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 968, "executed_branches": [], "missing_branches": []}, "_make_iscrowd0_detections": {"executed_lines": [1028, 1029], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1026, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_segmentation_count": {"executed_lines": [1048, 1052, 1053, 1054, 1055, 1056, 1057], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1044, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_round_trip_disjoint_mask": {"executed_lines": [1062, 1063, 1068, 1070], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1060, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_preserves_area_from_data": {"executed_lines": [1075, 1081, 1087, 1088, 1089, 1090], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1073, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_preserves_iscrowd_from_data_when_no_mask": {"executed_lines": [1097, 1103, 1109, 1110, 1111, 1112], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1093, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_iscrowd_is_int_when_mask_provided": {"executed_lines": [1117, 1118, 1120, 1126, 1132, 1133, 1134], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1115, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_data_area_overrides_bbox_with_mask": {"executed_lines": [1139, 1140, 1142, 1149, 1155, 1156], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1137, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_fallback_area_when_no_data": {"executed_lines": [1161, 1166, 1172, 1173, 1174], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1159, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_infers_masks_from_segmentation_field": {"executed_lines": [1180, 1181, 1182, 1184, 1188, 1195, 1196, 1198, 1199, 1200, 1201, 1202, 1204, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1219, 1220], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1177, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_force_masks_with_no_annotations": {"executed_lines": [1226, 1227, 1228, 1230, 1235, 1241, 1242, 1243, 1244, 1246, 1247], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1223, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_rejects_file_name_resolving_to_images_directory": {"executed_lines": [1259, 1260, 1261, 1263, 1268, 1270, 1271], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1254, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_rejects_file_name_outside_images_directory": {"executed_lines": [1290, 1291, 1292, 1294, 1306, 1308, 1309], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1285, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_rejects_absolute_file_name": {"executed_lines": [1317, 1318, 1319, 1321, 1333, 1335, 1336], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1315, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_rejects_file_name_resolving_to_directory": {"executed_lines": [1346, 1347, 1348, 1349, 1351, 1356, 1358, 1359], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1342, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_accepts_valid_nested_file_name": {"executed_lines": [1367, 1368, 1369, 1370, 1372, 1377, 1379, 1383, 1384], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1365, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_force_masks_handles_missing_segmentation": {"executed_lines": [1390, 1391, 1392, 1394, 1408, 1410, 1416, 1417, 1418, 1419, 1420, 1421], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1387, "executed_branches": [], "missing_branches": []}, "coco_data_with_multi_segment_segmentation": {"executed_lines": [1426], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1425, "executed_branches": [], "missing_branches": []}, "TestFromCocoMasks.test_multi_segment_masks_merged": {"executed_lines": [1471, 1472, 1473, 1475, 1479, 1485, 1486, 1487, 1488], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1464, "executed_branches": [], "missing_branches": []}, "TestFromCocoMasks.test_multi_segment_masks_uneven_length_no_value_error": {"executed_lines": [1506, 1507, 1508, 1510, 1530, 1532, 1537, 1538, 1539], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1504, "executed_branches": [], "missing_branches": []}, "test_classes_to_coco_categories_ids_start_at_one": {"executed_lines": [1557, 1559], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1553, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_category_id_is_one_indexed": {"executed_lines": [1564, 1569, 1575], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1562, "executed_branches": [], "missing_branches": []}, "test_coco_round_trip_preserves_class_ids_and_writes_one_indexed_categories": {"executed_lines": [1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1595, 1596, 1597, 1601, 1602, 1605, 1606, 1607, 1608, 1611, 1615, 1616, 1617, 1618, 1619], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1578, "executed_branches": [[1587, 1588], [1587, 1597], [1616, -1578], [1616, 1617]], "missing_branches": []}, "_tiny_detection_dataset": {"executed_lines": [1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1642, 1647], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1625, "executed_branches": [[1634, 1635], [1634, 1647]], "missing_branches": []}, "_read_ids": {"executed_lines": [1653, 1654, 1655, 1656, 1657], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1652, "executed_branches": [], "missing_branches": []}, "test_save_coco_annotations_defaults_start_at_one": {"executed_lines": [1661, 1662, 1664, 1668, 1669, 1670, 1672, 1673], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1660, "executed_branches": [], "missing_branches": []}, "test_save_coco_annotations_respects_starting_ids": {"executed_lines": [1677, 1678, 1680, 1687, 1688, 1689, 1690, 1691], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1676, "executed_branches": [], "missing_branches": []}, "test_as_coco_chains_ids_across_splits_without_collision": {"executed_lines": [1697, 1698, 1699, 1701, 1702, 1703, 1705, 1706, 1711, 1717, 1718, 1719, 1720, 1721, 1722, 1724, 1727, 1731, 1732], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1694, "executed_branches": [[1719, 1720], [1719, 1724]], "missing_branches": []}, "test_save_coco_annotations_empty_dataset_returns_starting_ids": {"executed_lines": [1738, 1739, 1741, 1748, 1749, 1750, 1751, 1752], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1735, "executed_branches": [], "missing_branches": []}, "test_as_coco_without_annotations_path_returns_starting_ids": {"executed_lines": [1758, 1759, 1764, 1765], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1755, "executed_branches": [], "missing_branches": []}, "test_save_coco_annotations_annotation_image_id_references_correct_image": {"executed_lines": [1771, 1772, 1774, 1781, 1782, 1783, 1784, 1785], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1768, "executed_branches": [], "missing_branches": []}, "test_save_coco_annotations_zero_annotation_images": {"executed_lines": [1793, 1794, 1796, 1800, 1801, 1802, 1803, 1804], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1790, "executed_branches": [], "missing_branches": []}, "test_from_coco_loads_legacy_zero_indexed_category_ids": {"executed_lines": [1813, 1814, 1815, 1816, 1818, 1843, 1844, 1846, 1851, 1852, 1853, 1854], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1810, "executed_branches": [], "missing_branches": []}, "test_save_coco_annotations_rejects_zero_starting_ids": {"executed_lines": [1872, 1873, 1875, 1876], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1868, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_raises_when_class_id_is_none": {"executed_lines": [1889, 1894, 1895], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1887, "executed_branches": [], "missing_branches": []}, "test_coco_round_trip_multi_class_single_image": {"executed_lines": [1907, 1908, 1910, 1921, 1922, 1924, 1925, 1926, 1928, 1932, 1933, 1934], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1905, "executed_branches": [], "missing_branches": []}, "_coco_annotation_with_segmentation": {"executed_lines": [1945], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1940, "executed_branches": [], "missing_branches": []}, "_single_image_coco_data": {"executed_lines": [1956], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1955, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_exports_all_polygons": {"executed_lines": [1968, 1969, 1970, 1972, 1978, 1981, 1982, 1984, 1985], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1965, "executed_branches": [], "missing_branches": []}, "test_coco_polygon_segmentation_survives_roundtrip": {"executed_lines": [2021, 2022, 2024, 2025, 2028, 2029, 2041, 2047, 2048, 2050, 2051, 2054, 2055, 2056, 2057], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2007, "executed_branches": [], "missing_branches": []}, "test_coco_raw_segmentation_preserved_when_masks_not_decoded": {"executed_lines": [2064, 2069, 2074, 2076, 2079, 2082, 2083], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2060, "executed_branches": [], "missing_branches": []}, "test_coco_iscrowd_mask_exports_as_rle": {"executed_lines": [2088, 2089, 2090, 2092, 2097, 2100, 2101, 2102, 2103, 2104], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2086, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 25, 47, 55, 56, 110, 111, 132, 172, 180, 188, 197, 248, 256, 760, 778, 824, 837, 952, 968, 999, 1012, 1026, 1037, 1044, 1060, 1073, 1093, 1115, 1137, 1159, 1177, 1223, 1250, 1254, 1277, 1285, 1315, 1342, 1365, 1387, 1424, 1425, 1460, 1463, 1464, 1504, 1545, 1553, 1562, 1578, 1625, 1652, 1660, 1676, 1694, 1735, 1755, 1768, 1790, 1810, 1860, 1868, 1887, 1905, 1940, 1955, 1965, 1988, 2007, 2060, 2086], "summary": {"covered_lines": 80, "num_statements": 80, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestFromCocoMasks": {"executed_lines": [1471, 1472, 1473, 1475, 1479, 1485, 1486, 1487, 1488, 1506, 1507, 1508, 1510, 1530, 1532, 1537, 1538, 1539], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1460, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 25, 34, 35, 36, 47, 49, 50, 51, 52, 55, 56, 57, 110, 111, 112, 132, 172, 175, 176, 177, 180, 188, 191, 192, 193, 194, 197, 248, 251, 252, 253, 256, 760, 768, 769, 775, 778, 824, 830, 831, 834, 837, 952, 959, 960, 965, 968, 969, 986, 987, 994, 995, 996, 999, 1012, 1026, 1028, 1029, 1037, 1044, 1048, 1052, 1053, 1054, 1055, 1056, 1057, 1060, 1062, 1063, 1068, 1070, 1073, 1075, 1081, 1087, 1088, 1089, 1090, 1093, 1097, 1103, 1109, 1110, 1111, 1112, 1115, 1117, 1118, 1120, 1126, 1132, 1133, 1134, 1137, 1139, 1140, 1142, 1149, 1155, 1156, 1159, 1161, 1166, 1172, 1173, 1174, 1177, 1180, 1181, 1182, 1184, 1188, 1195, 1196, 1198, 1199, 1200, 1201, 1202, 1204, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1219, 1220, 1223, 1226, 1227, 1228, 1230, 1235, 1241, 1242, 1243, 1244, 1246, 1247, 1250, 1254, 1259, 1260, 1261, 1263, 1268, 1270, 1271, 1277, 1285, 1290, 1291, 1292, 1294, 1306, 1308, 1309, 1315, 1317, 1318, 1319, 1321, 1333, 1335, 1336, 1342, 1346, 1347, 1348, 1349, 1351, 1356, 1358, 1359, 1365, 1367, 1368, 1369, 1370, 1372, 1377, 1379, 1383, 1384, 1387, 1390, 1391, 1392, 1394, 1408, 1410, 1416, 1417, 1418, 1419, 1420, 1421, 1424, 1425, 1426, 1460, 1463, 1464, 1504, 1545, 1553, 1557, 1559, 1562, 1564, 1569, 1575, 1578, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1595, 1596, 1597, 1601, 1602, 1605, 1606, 1607, 1608, 1611, 1615, 1616, 1617, 1618, 1619, 1625, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1642, 1647, 1652, 1653, 1654, 1655, 1656, 1657, 1660, 1661, 1662, 1664, 1668, 1669, 1670, 1672, 1673, 1676, 1677, 1678, 1680, 1687, 1688, 1689, 1690, 1691, 1694, 1697, 1698, 1699, 1701, 1702, 1703, 1705, 1706, 1711, 1717, 1718, 1719, 1720, 1721, 1722, 1724, 1727, 1731, 1732, 1735, 1738, 1739, 1741, 1748, 1749, 1750, 1751, 1752, 1755, 1758, 1759, 1764, 1765, 1768, 1771, 1772, 1774, 1781, 1782, 1783, 1784, 1785, 1790, 1793, 1794, 1796, 1800, 1801, 1802, 1803, 1804, 1810, 1813, 1814, 1815, 1816, 1818, 1843, 1844, 1846, 1851, 1852, 1853, 1854, 1860, 1868, 1872, 1873, 1875, 1876, 1887, 1889, 1894, 1895, 1905, 1907, 1908, 1910, 1921, 1922, 1924, 1925, 1926, 1928, 1932, 1933, 1934, 1940, 1945, 1955, 1956, 1965, 1968, 1969, 1970, 1972, 1978, 1981, 1982, 1984, 1985, 1988, 2007, 2021, 2022, 2024, 2025, 2028, 2029, 2041, 2047, 2048, 2050, 2051, 2054, 2055, 2056, 2057, 2060, 2064, 2069, 2074, 2076, 2079, 2082, 2083, 2086, 2088, 2089, 2090, 2092, 2097, 2100, 2101, 2102, 2103, 2104], "summary": {"covered_lines": 423, "num_statements": 423, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[34, 35], [34, 36], [50, 51], [50, 52], [1587, 1588], [1587, 1597], [1616, -1578], [1616, 1617], [1634, 1635], [1634, 1647], [1719, 1720], [1719, 1724]], "missing_branches": []}}}, "tests\\dataset\\formats\\test_pascal_voc.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 15, 18, 19, 27, 28, 31, 34, 64, 71, 72, 73, 76, 78, 79, 81, 83, 84, 89, 91, 92, 94, 96, 101, 103, 104, 106, 109, 113, 114, 117, 131, 136, 137, 138, 141, 147, 152, 160, 161, 169, 222, 225, 226, 227, 228, 231, 232, 235, 236, 243, 244, 245, 246], "summary": {"covered_lines": 59, "num_statements": 61, "percent_covered": 94.02985074626865, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.72131147540983, "percent_statements_covered_display": "97", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [25, 29], "excluded_lines": [], "executed_branches": [[19, 27], [27, 28], [27, 31], [28, 27]], "missing_branches": [[19, 25], [28, 29]], "functions": {"are_xml_elements_equal": {"executed_lines": [19, 27, 28, 31], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [25, 29], "excluded_lines": [], "start_line": 18, "executed_branches": [[19, 27], [27, 28], [27, 31], [28, 27]], "missing_branches": [[19, 25], [28, 29]]}, "test_object_to_pascal_voc": {"executed_lines": [71, 72, 73], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64, "executed_branches": [], "missing_branches": []}, "test_object_to_pascal_voc_does_not_mutate_inputs": {"executed_lines": [78, 79, 81, 83, 84], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 76, "executed_branches": [], "missing_branches": []}, "test_object_to_pascal_voc_does_not_mutate_view_input": {"executed_lines": [91, 92, 94, 96], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 89, "executed_branches": [], "missing_branches": []}, "test_detections_to_pascal_voc_does_not_mutate_detections": {"executed_lines": [103, 104, 106, 109, 113, 114], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 101, "executed_branches": [], "missing_branches": []}, "test_parse_polygon_points": {"executed_lines": [136, 137, 138], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 131, "executed_branches": [], "missing_branches": []}, "test_detections_from_xml_obj": {"executed_lines": [225, 226, 227, 228], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 222, "executed_branches": [], "missing_branches": []}, "test_detections_from_xml_obj_mixed_polygon_and_bbox_masks_aligned": {"executed_lines": [235, 236, 243, 244, 245, 246], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 232, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 15, 18, 34, 64, 76, 89, 101, 117, 131, 141, 147, 152, 160, 161, 169, 222, 231, 232], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 9, 15, 18, 19, 27, 28, 31, 34, 64, 71, 72, 73, 76, 78, 79, 81, 83, 84, 89, 91, 92, 94, 96, 101, 103, 104, 106, 109, 113, 114, 117, 131, 136, 137, 138, 141, 147, 152, 160, 161, 169, 222, 225, 226, 227, 228, 231, 232, 235, 236, 243, 244, 245, 246], "summary": {"covered_lines": 59, "num_statements": 61, "percent_covered": 94.02985074626865, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.72131147540983, "percent_statements_covered_display": "97", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [25, 29], "excluded_lines": [], "start_line": 1, "executed_branches": [[19, 27], [27, 28], [27, 31], [28, 27]], "missing_branches": [[19, 25], [28, 29]]}}}, "tests\\dataset\\formats\\test_yolo.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 12, 21, 24, 25, 26, 27, 28, 32, 35, 36, 37, 40, 66, 69, 70, 71, 74, 198, 205, 206, 209, 210, 211, 216, 229, 232, 233, 234, 237, 268, 275, 276, 277, 278, 281, 336, 344, 345, 348, 351, 352, 357, 358, 363, 386, 393, 394, 395, 396, 397, 398, 399, 401, 408, 409, 412, 418, 420, 422, 425, 429, 433, 434, 435, 436, 437, 442, 443, 447, 448, 449, 450, 453, 454, 456, 457, 459, 460, 462, 471, 475, 477, 484, 485, 486, 487, 488, 491, 495, 499, 505, 507, 508, 512, 513, 516, 520, 521, 523, 524, 525, 526, 527, 529, 530, 536, 538, 541, 547, 551, 552, 553, 556, 557, 564, 566, 570, 571, 576, 578, 581, 584, 586, 593, 601, 605, 606, 607, 608, 611, 612, 613, 620, 622, 626, 632, 636, 637, 642, 649, 653, 654, 655, 656, 657, 658, 659, 661, 668, 669, 675, 676, 681, 683, 684, 685, 686, 688, 689, 690, 692, 699, 700, 706, 712, 713, 714, 721, 725, 726, 727, 728, 729, 730, 731, 733, 735, 742, 743, 749, 750, 751], "summary": {"covered_lines": 190, "num_statements": 190, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[606, 607], [606, 611]], "missing_branches": [], "functions": {"_mock_simple_mask": {"executed_lines": [25, 26, 27, 28], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24, "executed_branches": [], "missing_branches": []}, "_arrays_almost_equal": {"executed_lines": [35, 36, 37], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32, "executed_branches": [], "missing_branches": []}, "test_with_mask": {"executed_lines": [69, 70, 71], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66, "executed_branches": [], "missing_branches": []}, "test_yolo_annotations_to_detections": {"executed_lines": [205, 206, 209, 210, 211], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 198, "executed_branches": [], "missing_branches": []}, "test_image_name_to_annotation_name": {"executed_lines": [232, 233, 234], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 229, "executed_branches": [], "missing_branches": []}, "test_extract_class_names_sorts_numeric_string_keys": {"executed_lines": [275, 276, 277, 278], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 268, "executed_branches": [], "missing_branches": []}, "test_object_to_yolo": {"executed_lines": [344, 345, 348], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 336, "executed_branches": [], "missing_branches": []}, "test_detections_to_yolo_annotations_raises_for_non_integer_class_id": {"executed_lines": [352, 357, 358], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 351, "executed_branches": [], "missing_branches": []}, "test_load_yolo_annotations_mask_behaviour": {"executed_lines": [393, 394, 395, 396, 397, 398, 399, 401, 408, 409], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 386, "executed_branches": [], "missing_branches": []}, "test_polygons_to_masks_multiple_polygons_shape": {"executed_lines": [418, 420, 422, 425, 429, 433, 434, 435, 436, 437], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 412, "executed_branches": [], "missing_branches": []}, "yolo_mask_round_trip_sample": {"executed_lines": [447, 448, 449, 450, 453, 454, 456, 457, 459, 460, 462], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 443, "executed_branches": [], "missing_branches": []}, "test_yolo_polygon_mask_precision_no_coord_drift_loads_mask": {"executed_lines": [475, 477, 484, 485, 486, 487, 488], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 471, "executed_branches": [], "missing_branches": []}, "test_yolo_polygon_mask_precision_no_coord_drift_round_trip_iou": {"executed_lines": [495, 499, 505, 507, 508, 512, 513, 516, 520, 521, 523, 524, 525, 526, 527, 529, 530], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 491, "executed_branches": [], "missing_branches": []}, "test_detections_to_yolo_annotations_obb_emits_nine_tokens": {"executed_lines": [538, 541, 547, 551, 552, 553, 556, 557], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 536, "executed_branches": [], "missing_branches": []}, "test_detections_to_yolo_annotations_obb_raises_without_corners": {"executed_lines": [566, 570, 571], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 564, "executed_branches": [], "missing_branches": []}, "test_detections_to_yolo_annotations_obb_empty_emits_no_lines": {"executed_lines": [578, 581], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 576, "executed_branches": [], "missing_branches": []}, "test_detections_to_yolo_annotations_obb_multiple_detections": {"executed_lines": [586, 593, 601, 605, 606, 607, 608, 611, 612, 613], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 584, "executed_branches": [[606, 607], [606, 611]], "missing_branches": []}, "test_detections_to_yolo_annotations_obb_data_ignored_when_is_obb_false": {"executed_lines": [622, 626, 632, 636, 637], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 620, "executed_branches": [], "missing_branches": []}, "test_dataset_as_yolo_obb_output_token_count": {"executed_lines": [653, 654, 655, 656, 657, 658, 659, 661, 668, 669, 675, 676], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 649, "executed_branches": [], "missing_branches": []}, "test_dataset_as_yolo_obb_round_trip_corner_accuracy": {"executed_lines": [683, 684, 685, 686, 688, 689, 690, 692, 699, 700, 706, 712, 713, 714], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 681, "executed_branches": [], "missing_branches": []}, "test_dataset_as_yolo_obb_round_trip_with_background_image": {"executed_lines": [725, 726, 727, 728, 729, 730, 731, 733, 735, 742, 743, 749, 750, 751], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 721, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 12, 21, 24, 32, 40, 66, 74, 198, 216, 229, 237, 268, 281, 336, 351, 363, 386, 412, 442, 443, 471, 491, 536, 564, 576, 584, 620, 642, 649, 681, 721], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 12, 21, 24, 25, 26, 27, 28, 32, 35, 36, 37, 40, 66, 69, 70, 71, 74, 198, 205, 206, 209, 210, 211, 216, 229, 232, 233, 234, 237, 268, 275, 276, 277, 278, 281, 336, 344, 345, 348, 351, 352, 357, 358, 363, 386, 393, 394, 395, 396, 397, 398, 399, 401, 408, 409, 412, 418, 420, 422, 425, 429, 433, 434, 435, 436, 437, 442, 443, 447, 448, 449, 450, 453, 454, 456, 457, 459, 460, 462, 471, 475, 477, 484, 485, 486, 487, 488, 491, 495, 499, 505, 507, 508, 512, 513, 516, 520, 521, 523, 524, 525, 526, 527, 529, 530, 536, 538, 541, 547, 551, 552, 553, 556, 557, 564, 566, 570, 571, 576, 578, 581, 584, 586, 593, 601, 605, 606, 607, 608, 611, 612, 613, 620, 622, 626, 632, 636, 637, 642, 649, 653, 654, 655, 656, 657, 658, 659, 661, 668, 669, 675, 676, 681, 683, 684, 685, 686, 688, 689, 690, 692, 699, 700, 706, 712, 713, 714, 721, 725, 726, 727, 728, 729, 730, 731, 733, 735, 742, 743, 749, 750, 751], "summary": {"covered_lines": 190, "num_statements": 190, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[606, 607], [606, 611]], "missing_branches": []}}}, "tests\\dataset\\test_core.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 14, 178, 190, 191, 192, 195, 198, 200, 210, 211, 212, 217, 219, 224, 225, 226, 228, 230, 235, 237, 239, 246, 253, 257, 258, 259, 263, 264, 265, 269, 271, 274, 280, 281, 282, 283, 284], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 97.95918367346938, "percent_covered_display": "98", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[280, -269], [280, 281], [281, 282]], "missing_branches": [[281, 280]], "functions": {"test_dataset_merge": {"executed_lines": [190, 191, 192], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 178, "executed_branches": [], "missing_branches": []}, "TestClassNamePopulation.test_class_name_populated_on_init": {"executed_lines": [200, 210, 211, 212], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 198, "executed_branches": [], "missing_branches": []}, "TestClassNamePopulation.test_class_name_with_empty_annotations": {"executed_lines": [219, 224, 225, 226], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 217, "executed_branches": [], "missing_branches": []}, "TestClassNamePopulation.test_class_name_with_empty_classes": {"executed_lines": [230, 235], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 228, "executed_branches": [], "missing_branches": []}, "TestClassNamePopulation.test_class_name_after_merge": {"executed_lines": [239, 246, 253, 257, 258, 259, 263, 264, 265], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 237, "executed_branches": [], "missing_branches": []}, "TestClassNamePopulation.test_class_name_from_yolo": {"executed_lines": [271, 274, 280, 281, 282, 283, 284], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "start_line": 269, "executed_branches": [[280, -269], [280, 281], [281, 282]], "missing_branches": [[281, 280]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 14, 178, 195, 198, 217, 228, 237, 269], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestClassNamePopulation": {"executed_lines": [200, 210, 211, 212, 219, 224, 225, 226, 230, 235, 239, 246, 253, 257, 258, 259, 263, 264, 265, 271, 274, 280, 281, 282, 283, 284], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 96.66666666666667, "percent_covered_display": "97", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "start_line": 195, "executed_branches": [[280, -269], [280, 281], [281, 282]], "missing_branches": [[281, 280]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 14, 178, 190, 191, 192, 195, 198, 217, 228, 237, 269], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\dataset\\test_utils.py": {"executed_lines": [1, 3, 4, 6, 8, 9, 15, 17, 20, 74, 82, 83, 89, 92, 118, 121, 122, 123, 126, 163, 169, 170, 173, 176, 223, 229, 230, 233], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_train_test_split": {"executed_lines": [82, 83, 89], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74, "executed_branches": [], "missing_branches": []}, "test_merge_class_maps": {"executed_lines": [121, 122, 123], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 118, "executed_branches": [], "missing_branches": []}, "test_build_class_index_mapping": {"executed_lines": [169, 170, 173], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 163, "executed_branches": [], "missing_branches": []}, "test_map_detections_class_id": {"executed_lines": [229, 230, 233], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 223, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 15, 17, 20, 74, 92, 118, 126, 163, 176, 223], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 8, 9, 15, 17, 20, 74, 82, 83, 89, 92, 118, 121, 122, 123, 126, 163, 169, 170, 173, 176, 223, 229, 230, 233], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\test_compact_mask.py": {"executed_lines": [3, 5, 7, 8, 10, 14, 20, 28, 30, 31, 32, 33, 36, 45, 64, 68, 69, 70, 71, 73, 74, 75, 76, 80, 89, 91, 92, 94, 113, 117, 119, 128, 130, 133, 141, 149, 150, 151, 152, 153, 154, 156, 158, 159, 160, 162, 163, 165, 168, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 192, 193, 194, 199, 201, 202, 203, 204, 205, 207, 208, 209, 210, 212, 213, 214, 216, 217, 218, 219, 220, 222, 223, 224, 225, 226, 227, 229, 231, 232, 233, 234, 236, 237, 238, 239, 240, 243, 251, 252, 253, 254, 256, 257, 258, 259, 261, 262, 268, 270, 271, 272, 274, 275, 276, 277, 278, 280, 281, 283, 284, 290, 293, 301, 302, 303, 304, 305, 306, 308, 309, 310, 313, 320, 321, 322, 323, 324, 326, 327, 328, 330, 331, 332, 333, 334, 335, 338, 347, 348, 349, 350, 351, 352, 354, 355, 356, 357, 361, 362, 363, 369, 370, 372, 373, 375, 376, 377, 379, 380, 386, 392, 393, 396, 403, 404, 405, 406, 407, 408, 410, 411, 412, 413, 414, 415, 416, 417, 419, 420, 421, 422, 423, 426, 435, 437, 438, 439, 440, 441, 443, 444, 445, 446, 447, 448, 449, 451, 453, 454, 455, 456, 457, 458, 459, 461, 462, 468, 469, 470, 472, 473, 474, 475, 476, 478, 479, 480, 481, 482, 483, 485, 486, 487, 488, 490, 492, 493, 494, 495, 496, 498, 499, 500, 506, 508, 510, 511, 512, 513, 514, 516, 517, 518, 524, 526, 528, 529, 530, 533, 534, 537, 539, 542, 543, 545, 547, 549, 550, 551, 553, 554, 555, 557, 558, 559, 561, 563, 569, 570, 571, 573, 575, 576, 577, 580, 581, 582, 584, 585, 586, 589, 596, 598, 599, 600, 602, 603, 605, 607, 608, 610, 612, 614, 615, 616, 618, 619, 621, 623, 625, 626, 627, 628, 630, 631, 633, 635, 637, 643, 644, 647, 655, 680, 684, 685, 686, 688, 689, 690, 693, 700, 734, 738, 739, 740, 742, 743, 744, 745, 753, 767, 781, 782, 783, 784, 785, 786, 787, 789, 790, 791, 793, 794, 797, 804, 805, 806, 807, 808, 809, 810, 819, 820, 822, 823, 824, 825, 826, 827, 829, 830, 832, 833, 834, 835, 836, 837, 844, 847, 848, 849, 850, 851, 852, 854, 855, 863, 864, 866, 867, 868, 869, 870, 873, 876, 877, 878, 879, 880, 881, 883, 885, 886, 888, 889, 891, 892, 893, 899, 900, 902, 903, 904, 905, 907, 908, 912, 913, 914, 921, 924, 925, 926, 928, 929, 930, 931, 934, 935, 937, 938, 944, 953, 954, 956, 957, 958, 959, 960, 962, 963, 964, 966, 967, 969, 971, 972, 973, 975, 982, 985, 987, 989, 990, 991, 992, 994, 996, 998, 999, 1000, 1001, 1003, 1005, 1007, 1008, 1009, 1010, 1012, 1013, 1015, 1020, 1021, 1022, 1023, 1024, 1025, 1027, 1028, 1029, 1032, 1033, 1034, 1040, 1048, 1053, 1054, 1055, 1059, 1062, 1069, 1092, 1100, 1101, 1102, 1103, 1104, 1106, 1108, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1119, 1121, 1122, 1123, 1124, 1126, 1128, 1129, 1130, 1131, 1132, 1134, 1136, 1137, 1138, 1140, 1142, 1143, 1145, 1154, 1156, 1157, 1158, 1159, 1161, 1162, 1164, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1176, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1187, 1189, 1190, 1191, 1192, 1194, 1196, 1197, 1198, 1199, 1200, 1202, 1203, 1205, 1207, 1208, 1209, 1210, 1211, 1212, 1214, 1215, 1217, 1218, 1223, 1224, 1225, 1231, 1239, 1241, 1243, 1252, 1253, 1254, 1255, 1257, 1259, 1261, 1263, 1270, 1271, 1272, 1274, 1277, 1279, 1281, 1283, 1285, 1294, 1295, 1296, 1298, 1301, 1303, 1305, 1307, 1309, 1310, 1311, 1312, 1313, 1314, 1316, 1319, 1321, 1330, 1334, 1336, 1337, 1338, 1339, 1340, 1342, 1351, 1355, 1357, 1358, 1359, 1360, 1361, 1363, 1365, 1367, 1369, 1370, 1371, 1372, 1373, 1375, 1378, 1380, 1381, 1383, 1385, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1395, 1396, 1398, 1403, 1404, 1410, 1419, 1423, 1425, 1427, 1428, 1429, 1430, 1431, 1433, 1438, 1440, 1449, 1453, 1455, 1457, 1458, 1459, 1460, 1461, 1463, 1468, 1470, 1477, 1484, 1486, 1487, 1488, 1489, 1491, 1492, 1494, 1496, 1498, 1499, 1500, 1501, 1502, 1504, 1506, 1507, 1508, 1510, 1516, 1518, 1522, 1524, 1526, 1527, 1528, 1529, 1530, 1535, 1536, 1537, 1540, 1541, 1544, 1547, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1558, 1559, 1561, 1562, 1564, 1565, 1567, 1569, 1570, 1571, 1572, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1582, 1583, 1585, 1586, 1587, 1590, 1591], "summary": {"covered_lines": 752, "num_statements": 752, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 32, "num_partial_branches": 0, "covered_branches": 32, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[68, 69], [68, 73], [193, 194], [193, 199], [602, 603], [602, 605], [782, 783], [782, 793], [789, 790], [789, 791], [836, -829], [836, 837], [885, 886], [885, 888], [972, 973], [972, 975], [1028, 1029], [1028, 1032], [1131, -1119], [1131, 1132], [1181, -1164], [1181, 1182], [1217, -1202], [1217, 1218], [1491, 1492], [1491, 1494], [1552, 1553], [1552, 1555], [1564, -1547], [1564, 1565], [1576, 1577], [1576, 1579]], "missing_branches": [], "functions": {"_make_cm": {"executed_lines": [30, 31, 32, 33], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28, "executed_branches": [], "missing_branches": []}, "TestRleHelpers.test_encode_decode_round_trip": {"executed_lines": [68, 69, 70, 71, 73, 74, 75, 76], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64, "executed_branches": [[68, 69], [68, 73]], "missing_branches": []}, "TestRleHelpers.test_area_matches_numpy_sum": {"executed_lines": [91, 92], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 89, "executed_branches": [], "missing_branches": []}, "TestRleHelpers.test_encode_matches_coco_f_order": {"executed_lines": [117], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 113, "executed_branches": [], "missing_branches": []}, "TestRleHelpers.test_encode_agrees_with_mask_to_rle": {"executed_lines": [130], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 128, "executed_branches": [], "missing_branches": []}, "TestFromDenseToDense.test_round_trip": {"executed_lines": [150, 151, 152, 153, 154], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149, "executed_branches": [], "missing_branches": []}, "TestFromDenseToDense.test_round_trip_with_mask_to_xyxy": {"executed_lines": [158, 159, 160, 162, 163, 165], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 156, "executed_branches": [], "missing_branches": []}, "TestGetItem.test_int_returns_2d_dense": {"executed_lines": [179, 180, 181, 182, 184, 185, 186, 187, 188], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 178, "executed_branches": [], "missing_branches": []}, "TestGetItem.test_list_returns_compact_mask": {"executed_lines": [191, 192, 193, 194, 199, 201, 202, 203, 204, 205], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 190, "executed_branches": [[193, 194], [193, 199]], "missing_branches": []}, "TestGetItem.test_slice_returns_compact_mask": {"executed_lines": [208, 209, 210, 212, 213, 214], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 207, "executed_branches": [], "missing_branches": []}, "TestGetItem.test_bool_ndarray": {"executed_lines": [217, 218, 219, 220, 222, 223, 224, 225, 226, 227], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 216, "executed_branches": [], "missing_branches": []}, "TestGetItem.test_bool_list": {"executed_lines": [231, 232, 233, 234, 236, 237, 238, 239, 240], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 229, "executed_branches": [], "missing_branches": []}, "TestProperties.test_len": {"executed_lines": [252, 253, 254], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 251, "executed_branches": [], "missing_branches": []}, "TestProperties.test_shape": {"executed_lines": [257, 258, 259], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 256, "executed_branches": [], "missing_branches": []}, "TestProperties.test_shape_empty": {"executed_lines": [262, 268], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 261, "executed_branches": [], "missing_branches": []}, "TestProperties.test_dtype": {"executed_lines": [271, 272], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 270, "executed_branches": [], "missing_branches": []}, "TestProperties.test_area_matches_dense": {"executed_lines": [275, 276, 277, 278, 280, 281], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 274, "executed_branches": [], "missing_branches": []}, "TestProperties.test_area_empty": {"executed_lines": [284, 290], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 283, "executed_branches": [], "missing_branches": []}, "TestCrop.test_returns_crop_shape": {"executed_lines": [302, 303, 304, 305, 306, 308, 309, 310], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 301, "executed_branches": [], "missing_branches": []}, "TestArrayProtocol.test_array_protocol": {"executed_lines": [321, 322, 323, 324, 326, 327, 328], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 320, "executed_branches": [], "missing_branches": []}, "TestArrayProtocol.test_dtype_cast": {"executed_lines": [331, 332, 333, 334, 335], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 330, "executed_branches": [], "missing_branches": []}, "TestMerge.test_merge": {"executed_lines": [348, 349, 350, 351, 352, 354, 355, 356, 357], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 347, "executed_branches": [], "missing_branches": []}, "TestMerge.test_merge_with_empty": {"executed_lines": [362, 363, 369, 370, 372, 373], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 361, "executed_branches": [], "missing_branches": []}, "TestMerge.test_merge_empty_list_raises": {"executed_lines": [376, 377], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 375, "executed_branches": [], "missing_branches": []}, "TestMerge.test_merge_mismatched_image_shape_raises": {"executed_lines": [380, 386, 392, 393], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 379, "executed_branches": [], "missing_branches": []}, "TestEquality.test_eq_identical": {"executed_lines": [404, 405, 406, 407, 408], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 403, "executed_branches": [], "missing_branches": []}, "TestEquality.test_eq_different": {"executed_lines": [411, 412, 413, 414, 415, 416, 417], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 410, "executed_branches": [], "missing_branches": []}, "TestEquality.test_eq_with_dense_array": {"executed_lines": [420, 421, 422, 423], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 419, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_zero_area_mask_clipped_to_1x1": {"executed_lines": [437, 438, 439, 440, 441], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 435, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_mask_at_image_boundary": {"executed_lines": [444, 445, 446, 447, 448, 449], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 443, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_xyxy_beyond_image_clipped": {"executed_lines": [453, 454, 455, 456, 457, 458, 459], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 451, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_empty_compact_mask_to_dense": {"executed_lines": [462, 468, 469, 470], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 461, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_sum_axis_1_2_equals_area": {"executed_lines": [473, 474, 475, 476], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 472, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_with_offset": {"executed_lines": [479, 480, 481, 482, 483, 485, 486, 487, 488], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 478, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_with_offset_clips_partial_overlap_like_move_masks": {"executed_lines": [492, 493, 494, 495, 496, 498, 499, 500, 506], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 490, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_with_offset_clips_full_outside_like_move_masks": {"executed_lines": [510, 511, 512, 513, 514, 516, 517, 518, 524], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 508, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_repack_tightens_loose_bbox": {"executed_lines": [528, 529, 530, 533, 534, 537, 539, 542, 543, 545], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 526, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_repack_preserves_all_false_mask": {"executed_lines": [549, 550, 551, 553, 554, 555, 557, 558, 559], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 547, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_repack_empty_collection": {"executed_lines": [563, 569, 570, 571], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 561, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_repack_already_tight": {"executed_lines": [575, 576, 577, 580, 581, 582, 584, 585, 586], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 573, "executed_branches": [], "missing_branches": []}, "TestCalculateMasksCentroidsCompact.test_centroids_compact_matches_dense": {"executed_lines": [598, 599, 600, 602, 603, 605, 607, 608, 610], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 596, "executed_branches": [[602, 603], [602, 605]], "missing_branches": []}, "TestCalculateMasksCentroidsCompact.test_centroids_empty_mask": {"executed_lines": [614, 615, 616, 618, 619, 621], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 612, "executed_branches": [], "missing_branches": []}, "TestCalculateMasksCentroidsCompact.test_centroids_empty_mask_with_tight_bbox": {"executed_lines": [625, 626, 627, 628, 630, 631, 633], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 623, "executed_branches": [], "missing_branches": []}, "TestCalculateMasksCentroidsCompact.test_centroids_zero_masks_returns_empty": {"executed_lines": [637, 643, 644], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 635, "executed_branches": [], "missing_branches": []}, "TestContainsHolesCompact.test_contains_holes_compact_roundtrip": {"executed_lines": [684, 685, 686, 688, 689, 690], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 680, "executed_branches": [], "missing_branches": []}, "TestContainsMultipleSegmentsCompact.test_contains_multiple_segments_compact_roundtrip": {"executed_lines": [738, 739, 740, 742, 743, 744, 745], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 734, "executed_branches": [], "missing_branches": []}, "_random_masks_and_xyxy": {"executed_lines": [781, 782, 783, 784, 785, 786, 787, 789, 790, 791, 793, 794], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 767, "executed_branches": [[782, 783], [782, 793], [789, 790], [789, 791]], "missing_branches": []}, "TestCompactMaskRoundtripRandom.test_parity_seed": {"executed_lines": [806, 807, 808, 809, 810], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 805, "executed_branches": [], "missing_branches": []}, "TestCompactMaskRoundtripRandom.test_shape_and_len": {"executed_lines": [822, 823, 824, 825, 826, 827], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 820, "executed_branches": [], "missing_branches": []}, "TestCompactMaskRoundtripRandom.test_individual_mask_access": {"executed_lines": [832, 833, 834, 835, 836, 837], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 830, "executed_branches": [[836, -829], [836, 837]], "missing_branches": []}, "TestCompactMaskAreaRandom.test_parity_seed": {"executed_lines": [849, 850, 851, 852, 854, 855], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 848, "executed_branches": [], "missing_branches": []}, "TestCompactMaskAreaRandom.test_sum_axis_matches_area": {"executed_lines": [866, 867, 868, 869, 870], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 864, "executed_branches": [], "missing_branches": []}, "TestCompactMaskFilterRandom.test_parity_seed": {"executed_lines": [878, 879, 880, 881, 883, 885, 886, 888, 889, 891, 892, 893], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 877, "executed_branches": [[885, 886], [885, 888]], "missing_branches": []}, "TestCompactMaskFilterRandom.test_list_index": {"executed_lines": [902, 903, 904, 905, 907, 908, 912, 913, 914], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 900, "executed_branches": [], "missing_branches": []}, "TestCompactMaskWithOffsetRandom.test_parity_seed": {"executed_lines": [926, 928, 929, 930, 931, 934, 935, 937, 938, 944], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 925, "executed_branches": [], "missing_branches": []}, "TestCompactMaskWithOffsetRandom.test_offset_into_larger_canvas": {"executed_lines": [956, 957, 958, 959, 960, 962, 963, 964, 966, 967, 969, 971, 972, 973, 975], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 954, "executed_branches": [[972, 973], [972, 975]], "missing_branches": []}, "TestRleSplitCols.test_all_true_2x2": {"executed_lines": [987, 989, 990, 991, 992], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 985, "executed_branches": [], "missing_branches": []}, "TestRleSplitCols.test_all_false_3x3": {"executed_lines": [996, 998, 999, 1000, 1001], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 994, "executed_branches": [], "missing_branches": []}, "TestRleSplitCols.test_mixed_2x2": {"executed_lines": [1005, 1007, 1008, 1009, 1010], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1003, "executed_branches": [], "missing_branches": []}, "TestRleSplitCols.test_round_trip_random": {"executed_lines": [1015, 1020, 1021, 1022, 1023, 1024, 1025, 1027, 1028, 1029, 1032, 1033, 1034], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1013, "executed_branches": [[1028, 1029], [1028, 1032]], "missing_branches": []}, "TestRleSplitCols.test_join_true_true_junction_no_zero_run": {"executed_lines": [1048, 1053, 1054, 1055, 1059], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1040, "executed_branches": [], "missing_branches": []}, "TestCompactMaskResize.test_scale_shape_and_offsets": {"executed_lines": [1100, 1101, 1102, 1103, 1104, 1106, 1108, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1092, "executed_branches": [], "missing_branches": []}, "TestCompactMaskResize.test_identity_preserves_rle": {"executed_lines": [1121, 1122, 1123, 1124, 1126, 1128, 1129, 1130, 1131, 1132], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1119, "executed_branches": [[1131, -1119], [1131, 1132]], "missing_branches": []}, "TestCompactMaskResize.test_empty_n0": {"executed_lines": [1136, 1137, 1138, 1140, 1142, 1143], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1134, "executed_branches": [], "missing_branches": []}, "TestCompactMaskResize.test_invalid_dimensions_raises": {"executed_lines": [1156, 1157, 1158, 1159, 1161, 1162], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1154, "executed_branches": [], "missing_branches": []}, "TestCompactMaskResize.test_multi_mask_each_scales_independently": {"executed_lines": [1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1176, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1164, "executed_branches": [[1181, -1164], [1181, 1182]], "missing_branches": []}, "TestCompactMaskResize.test_zero_extent_extreme_downscale": {"executed_lines": [1189, 1190, 1191, 1192, 1194, 1196, 1197, 1198, 1199, 1200], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1187, "executed_branches": [], "missing_branches": []}, "TestCompactMaskResize.test_dense_parity_roundtrip": {"executed_lines": [1205, 1207, 1208, 1209, 1210, 1211, 1212, 1214, 1215, 1217, 1218, 1223, 1224, 1225], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1203, "executed_branches": [[1217, -1202], [1217, 1218]], "missing_branches": []}, "TestRleResize.test_identity_4x4": {"executed_lines": [1241, 1243, 1252, 1253, 1254, 1255], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1239, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_2x_upscale": {"executed_lines": [1259, 1261, 1263, 1270, 1271, 1272, 1274, 1277], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1257, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_2x_downscale": {"executed_lines": [1281, 1283, 1285, 1294, 1295, 1296, 1298, 1301], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1279, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_non_square_scale": {"executed_lines": [1305, 1307, 1309, 1310, 1311, 1312, 1313, 1314, 1316, 1319], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1303, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_all_false": {"executed_lines": [1334, 1336, 1337, 1338, 1339, 1340], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1330, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_all_true": {"executed_lines": [1355, 1357, 1358, 1359, 1360, 1361], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1351, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_single_pixel_true_upscale": {"executed_lines": [1365, 1367, 1369, 1370, 1371, 1372, 1373, 1375, 1378], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1363, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_roundtrip_parity_with_cv2": {"executed_lines": [1383, 1385, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1395, 1396, 1398, 1403, 1404], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1381, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_tall_and_wide_crops": {"executed_lines": [1423, 1425, 1427, 1428, 1429, 1430, 1431, 1433, 1438], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1419, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_prime_sized_crops": {"executed_lines": [1453, 1455, 1457, 1458, 1459, 1460, 1461, 1463, 1468], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1449, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_large_scale_ratio": {"executed_lines": [1484, 1486, 1487, 1488, 1489, 1491, 1492, 1494], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1477, "executed_branches": [[1491, 1492], [1491, 1494]], "missing_branches": []}, "TestRleResize.test_resize_dispatch_uses_l3_for_sparse": {"executed_lines": [1498, 1499, 1500, 1501, 1502, 1504, 1506, 1507, 1508], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1496, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_resize_dispatch_uses_cv2_for_dense": {"executed_lines": [1516, 1518, 1522, 1524, 1526, 1527, 1528, 1529, 1530, 1535, 1536, 1537, 1540, 1541], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1510, "executed_branches": [], "missing_branches": []}, "TestResizeParallelPath.test_parallel_resize_correctness": {"executed_lines": [1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1558, 1559, 1561, 1562, 1564, 1565], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1547, "executed_branches": [[1552, 1553], [1552, 1555], [1564, -1547], [1564, 1565]], "missing_branches": []}, "TestResizeParallelPath.test_parallel_matches_sequential": {"executed_lines": [1569, 1570, 1571, 1572, 1574, 1582, 1583, 1585, 1586, 1587, 1590, 1591], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1567, "executed_branches": [], "missing_branches": []}, "TestResizeParallelPath.test_parallel_matches_sequential._make_masks": {"executed_lines": [1575, 1576, 1577, 1578, 1579, 1580], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1574, "executed_branches": [[1576, 1577], [1576, 1579]], "missing_branches": []}, "": {"executed_lines": [3, 5, 7, 8, 10, 14, 20, 28, 36, 45, 64, 80, 89, 94, 113, 119, 128, 133, 141, 149, 156, 168, 178, 190, 207, 216, 229, 243, 251, 256, 261, 270, 274, 283, 293, 301, 313, 320, 330, 338, 347, 361, 375, 379, 396, 403, 410, 419, 426, 435, 443, 451, 461, 472, 478, 490, 508, 526, 547, 561, 573, 589, 596, 612, 623, 635, 647, 655, 680, 693, 700, 734, 753, 767, 797, 804, 805, 819, 820, 829, 830, 844, 847, 848, 863, 864, 873, 876, 877, 899, 900, 921, 924, 925, 953, 954, 982, 985, 994, 1003, 1012, 1013, 1040, 1062, 1069, 1092, 1119, 1134, 1145, 1154, 1164, 1187, 1202, 1203, 1231, 1239, 1257, 1279, 1303, 1321, 1330, 1342, 1351, 1363, 1380, 1381, 1410, 1419, 1440, 1449, 1470, 1477, 1496, 1510, 1544, 1547, 1567], "summary": {"covered_lines": 137, "num_statements": 137, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestRleHelpers": {"executed_lines": [68, 69, 70, 71, 73, 74, 75, 76, 91, 92, 117, 130], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [[68, 69], [68, 73]], "missing_branches": []}, "TestFromDenseToDense": {"executed_lines": [150, 151, 152, 153, 154, 158, 159, 160, 162, 163, 165], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133, "executed_branches": [], "missing_branches": []}, "TestGetItem": {"executed_lines": [179, 180, 181, 182, 184, 185, 186, 187, 188, 191, 192, 193, 194, 199, 201, 202, 203, 204, 205, 208, 209, 210, 212, 213, 214, 217, 218, 219, 220, 222, 223, 224, 225, 226, 227, 231, 232, 233, 234, 236, 237, 238, 239, 240], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 168, "executed_branches": [[193, 194], [193, 199]], "missing_branches": []}, "TestProperties": {"executed_lines": [252, 253, 254, 257, 258, 259, 262, 268, 271, 272, 275, 276, 277, 278, 280, 281, 284, 290], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 243, "executed_branches": [], "missing_branches": []}, "TestCrop": {"executed_lines": [302, 303, 304, 305, 306, 308, 309, 310], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 293, "executed_branches": [], "missing_branches": []}, "TestArrayProtocol": {"executed_lines": [321, 322, 323, 324, 326, 327, 328, 331, 332, 333, 334, 335], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 313, "executed_branches": [], "missing_branches": []}, "TestMerge": {"executed_lines": [348, 349, 350, 351, 352, 354, 355, 356, 357, 362, 363, 369, 370, 372, 373, 376, 377, 380, 386, 392, 393], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 338, "executed_branches": [], "missing_branches": []}, "TestEquality": {"executed_lines": [404, 405, 406, 407, 408, 411, 412, 413, 414, 415, 416, 417, 420, 421, 422, 423], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 396, "executed_branches": [], "missing_branches": []}, "TestEdgeCases": {"executed_lines": [437, 438, 439, 440, 441, 444, 445, 446, 447, 448, 449, 453, 454, 455, 456, 457, 458, 459, 462, 468, 469, 470, 473, 474, 475, 476, 479, 480, 481, 482, 483, 485, 486, 487, 488, 492, 493, 494, 495, 496, 498, 499, 500, 506, 510, 511, 512, 513, 514, 516, 517, 518, 524, 528, 529, 530, 533, 534, 537, 539, 542, 543, 545, 549, 550, 551, 553, 554, 555, 557, 558, 559, 563, 569, 570, 571, 575, 576, 577, 580, 581, 582, 584, 585, 586], "summary": {"covered_lines": 85, "num_statements": 85, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 426, "executed_branches": [], "missing_branches": []}, "TestCalculateMasksCentroidsCompact": {"executed_lines": [598, 599, 600, 602, 603, 605, 607, 608, 610, 614, 615, 616, 618, 619, 621, 625, 626, 627, 628, 630, 631, 633, 637, 643, 644], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 589, "executed_branches": [[602, 603], [602, 605]], "missing_branches": []}, "TestContainsHolesCompact": {"executed_lines": [684, 685, 686, 688, 689, 690], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 647, "executed_branches": [], "missing_branches": []}, "TestContainsMultipleSegmentsCompact": {"executed_lines": [738, 739, 740, 742, 743, 744, 745], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 693, "executed_branches": [], "missing_branches": []}, "TestCompactMaskRoundtripRandom": {"executed_lines": [806, 807, 808, 809, 810, 822, 823, 824, 825, 826, 827, 832, 833, 834, 835, 836, 837], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 797, "executed_branches": [[836, -829], [836, 837]], "missing_branches": []}, "TestCompactMaskAreaRandom": {"executed_lines": [849, 850, 851, 852, 854, 855, 866, 867, 868, 869, 870], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 844, "executed_branches": [], "missing_branches": []}, "TestCompactMaskFilterRandom": {"executed_lines": [878, 879, 880, 881, 883, 885, 886, 888, 889, 891, 892, 893, 902, 903, 904, 905, 907, 908, 912, 913, 914], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 873, "executed_branches": [[885, 886], [885, 888]], "missing_branches": []}, "TestCompactMaskWithOffsetRandom": {"executed_lines": [926, 928, 929, 930, 931, 934, 935, 937, 938, 944, 956, 957, 958, 959, 960, 962, 963, 964, 966, 967, 969, 971, 972, 973, 975], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 921, "executed_branches": [[972, 973], [972, 975]], "missing_branches": []}, "TestRleSplitCols": {"executed_lines": [987, 989, 990, 991, 992, 996, 998, 999, 1000, 1001, 1005, 1007, 1008, 1009, 1010, 1015, 1020, 1021, 1022, 1023, 1024, 1025, 1027, 1028, 1029, 1032, 1033, 1034, 1048, 1053, 1054, 1055, 1059], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 982, "executed_branches": [[1028, 1029], [1028, 1032]], "missing_branches": []}, "TestCompactMaskResize": {"executed_lines": [1100, 1101, 1102, 1103, 1104, 1106, 1108, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1121, 1122, 1123, 1124, 1126, 1128, 1129, 1130, 1131, 1132, 1136, 1137, 1138, 1140, 1142, 1143, 1156, 1157, 1158, 1159, 1161, 1162, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1176, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1189, 1190, 1191, 1192, 1194, 1196, 1197, 1198, 1199, 1200, 1205, 1207, 1208, 1209, 1210, 1211, 1212, 1214, 1215, 1217, 1218, 1223, 1224, 1225], "summary": {"covered_lines": 79, "num_statements": 79, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1062, "executed_branches": [[1131, -1119], [1131, 1132], [1181, -1164], [1181, 1182], [1217, -1202], [1217, 1218]], "missing_branches": []}, "TestRleResize": {"executed_lines": [1241, 1243, 1252, 1253, 1254, 1255, 1259, 1261, 1263, 1270, 1271, 1272, 1274, 1277, 1281, 1283, 1285, 1294, 1295, 1296, 1298, 1301, 1305, 1307, 1309, 1310, 1311, 1312, 1313, 1314, 1316, 1319, 1334, 1336, 1337, 1338, 1339, 1340, 1355, 1357, 1358, 1359, 1360, 1361, 1365, 1367, 1369, 1370, 1371, 1372, 1373, 1375, 1378, 1383, 1385, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1395, 1396, 1398, 1403, 1404, 1423, 1425, 1427, 1428, 1429, 1430, 1431, 1433, 1438, 1453, 1455, 1457, 1458, 1459, 1460, 1461, 1463, 1468, 1484, 1486, 1487, 1488, 1489, 1491, 1492, 1494, 1498, 1499, 1500, 1501, 1502, 1504, 1506, 1507, 1508, 1516, 1518, 1522, 1524, 1526, 1527, 1528, 1529, 1530, 1535, 1536, 1537, 1540, 1541], "summary": {"covered_lines": 116, "num_statements": 116, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1231, "executed_branches": [[1491, 1492], [1491, 1494]], "missing_branches": []}, "TestResizeParallelPath": {"executed_lines": [1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1558, 1559, 1561, 1562, 1564, 1565, 1569, 1570, 1571, 1572, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1582, 1583, 1585, 1586, 1587, 1590, 1591], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1544, "executed_branches": [[1552, 1553], [1552, 1555], [1564, -1547], [1564, 1565], [1576, 1577], [1576, 1579]], "missing_branches": []}, "": {"executed_lines": [3, 5, 7, 8, 10, 14, 20, 28, 30, 31, 32, 33, 36, 45, 64, 80, 89, 94, 113, 119, 128, 133, 141, 149, 156, 168, 178, 190, 207, 216, 229, 243, 251, 256, 261, 270, 274, 283, 293, 301, 313, 320, 330, 338, 347, 361, 375, 379, 396, 403, 410, 419, 426, 435, 443, 451, 461, 472, 478, 490, 508, 526, 547, 561, 573, 589, 596, 612, 623, 635, 647, 655, 680, 693, 700, 734, 753, 767, 781, 782, 783, 784, 785, 786, 787, 789, 790, 791, 793, 794, 797, 804, 805, 819, 820, 829, 830, 844, 847, 848, 863, 864, 873, 876, 877, 899, 900, 921, 924, 925, 953, 954, 982, 985, 994, 1003, 1012, 1013, 1040, 1062, 1069, 1092, 1119, 1134, 1145, 1154, 1164, 1187, 1202, 1203, 1231, 1239, 1257, 1279, 1303, 1321, 1330, 1342, 1351, 1363, 1380, 1381, 1410, 1419, 1440, 1449, 1470, 1477, 1496, 1510, 1544, 1547, 1567], "summary": {"covered_lines": 153, "num_statements": 153, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[782, 783], [782, 793], [789, 790], [789, 791]], "missing_branches": []}}}, "tests\\detection\\test_compact_mask_integration.py": {"executed_lines": [3, 5, 7, 8, 10, 11, 12, 15, 17, 20, 28, 29, 30, 31, 32, 38, 41, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 61, 64, 71, 72, 74, 75, 76, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 94, 102, 103, 104, 105, 106, 107, 108, 109, 110, 113, 120, 121, 122, 123, 124, 130, 133, 140, 141, 142, 143, 146, 156, 157, 158, 160, 161, 162, 163, 164, 171, 172, 173, 174, 175, 177, 179, 180, 181, 182, 183, 190, 191, 192, 194, 195, 197, 198, 199, 200, 201, 202, 209, 210, 211, 212, 213, 220, 221, 222, 225, 234, 235, 236, 237, 244, 245, 247, 248, 250, 256, 257, 259, 260, 261, 262, 263, 265, 266, 268, 269, 271, 272, 274], "summary": {"covered_lines": 133, "num_statements": 133, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[105, -102], [105, 106]], "missing_branches": [], "functions": {"_full_xyxy": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15, "executed_branches": [], "missing_branches": []}, "_make_compact_detections": {"executed_lines": [28, 29, 30, 31, 32, 38], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20, "executed_branches": [], "missing_branches": []}, "TestConstruction.test_detections_construction_with_compact_mask": {"executed_lines": [50, 51, 52, 53], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49, "executed_branches": [], "missing_branches": []}, "TestConstruction.test_detections_compact_mask_validation_mismatch": {"executed_lines": [56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 55, "executed_branches": [], "missing_branches": []}, "TestFiltering.test_int_wraps_to_compact_mask": {"executed_lines": [72, 74, 75, 76], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 71, "executed_branches": [], "missing_branches": []}, "TestFiltering.test_slice_preserves_compact_mask": {"executed_lines": [79, 80, 81, 82, 83], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 78, "executed_branches": [], "missing_branches": []}, "TestFiltering.test_bool_array_preserves_compact_mask": {"executed_lines": [86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85, "executed_branches": [], "missing_branches": []}, "TestIteration.test_iter_yields_2d_dense": {"executed_lines": [103, 104, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 102, "executed_branches": [[105, -102], [105, 106]], "missing_branches": []}, "TestEquality.test_compact_vs_dense": {"executed_lines": [121, 122, 123, 124, 130], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 120, "executed_branches": [], "missing_branches": []}, "TestArea.test_compact_matches_dense": {"executed_lines": [141, 142, 143], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 140, "executed_branches": [], "missing_branches": []}, "TestMerge.test_all_compact": {"executed_lines": [157, 158, 160, 161, 162, 163, 164, 171, 172, 173, 174, 175], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 156, "executed_branches": [], "missing_branches": []}, "TestMerge.test_mixed_compact_and_dense": {"executed_lines": [179, 180, 181, 182, 183, 190, 191, 192], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 177, "executed_branches": [], "missing_branches": []}, "TestMerge.test_inner_pair_with_compact": {"executed_lines": [195, 197, 198, 199, 200, 201, 202, 209, 210, 211, 212, 213, 220, 221, 222], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 194, "executed_branches": [], "missing_branches": []}, "TestAnnotators.test_mask_annotator": {"executed_lines": [235, 236, 237, 244, 245, 247, 248, 250], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 234, "executed_branches": [], "missing_branches": []}, "TestAnnotators.test_polygon_annotator": {"executed_lines": [257, 259, 260, 261, 262, 263, 265, 266, 268, 269, 271, 272, 274], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 256, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [3, 5, 7, 8, 10, 11, 12, 15, 20, 41, 49, 55, 64, 71, 78, 85, 94, 102, 113, 120, 133, 140, 146, 156, 177, 194, 225, 234, 256], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestConstruction": {"executed_lines": [50, 51, 52, 53, 56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "TestFiltering": {"executed_lines": [72, 74, 75, 76, 79, 80, 81, 82, 83, 86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64, "executed_branches": [], "missing_branches": []}, "TestIteration": {"executed_lines": [103, 104, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94, "executed_branches": [[105, -102], [105, 106]], "missing_branches": []}, "TestEquality": {"executed_lines": [121, 122, 123, 124, 130], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 113, "executed_branches": [], "missing_branches": []}, "TestArea": {"executed_lines": [141, 142, 143], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133, "executed_branches": [], "missing_branches": []}, "TestMerge": {"executed_lines": [157, 158, 160, 161, 162, 163, 164, 171, 172, 173, 174, 175, 179, 180, 181, 182, 183, 190, 191, 192, 195, 197, 198, 199, 200, 201, 202, 209, 210, 211, 212, 213, 220, 221, 222], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 146, "executed_branches": [], "missing_branches": []}, "TestAnnotators": {"executed_lines": [235, 236, 237, 244, 245, 247, 248, 250, 257, 259, 260, 261, 262, 263, 265, 266, 268, 269, 271, 272, 274], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 225, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [3, 5, 7, 8, 10, 11, 12, 15, 17, 20, 28, 29, 30, 31, 32, 38, 41, 49, 55, 64, 71, 78, 85, 94, 102, 113, 120, 133, 140, 146, 156, 177, 194, 225, 234, 256], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\test_compact_mask_iou.py": {"executed_lines": [11, 13, 14, 16, 17, 30, 32, 33, 34, 37, 40, 42, 44, 45, 48, 54, 57, 65, 67, 68, 69, 71, 72, 74, 75, 77, 78, 79, 81, 83, 84, 85, 86, 88, 89, 91, 92, 94, 96, 97, 98, 99, 101, 102, 104, 105, 107, 108, 110, 112, 113, 114, 115, 117, 118, 120, 121, 123, 125, 127, 130, 131, 133, 134, 136, 137, 139, 141, 142, 144, 146, 147, 148, 149, 151, 152, 154, 155, 157, 159, 161, 162, 163, 165, 166, 168, 169, 170, 172, 174, 175, 181, 182, 184, 185, 187, 188, 190, 192, 193, 194, 196, 197, 199, 200, 202, 203, 204, 207, 216, 217, 218, 219, 220, 222, 223, 225, 226, 228, 230, 232, 233, 234, 235, 237, 239, 240, 241, 244, 252, 255, 256, 257, 258, 259, 261, 262, 266, 268, 269, 271, 273, 280, 281, 283, 284, 286, 287, 288, 290, 291, 293, 295, 297, 298, 299, 300, 301, 303, 304, 305, 307, 308, 310, 312, 313, 314, 316, 317, 318, 319, 321, 322, 323, 326, 333, 335, 336, 337, 338, 339, 341, 342, 343, 345, 346, 348, 349, 351, 353, 355, 356, 357, 358, 359, 361, 362, 363, 365, 366, 367, 369, 371, 372, 373, 374, 376, 377, 378, 380, 381, 382, 390, 404, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 425, 432, 433, 434, 435, 436, 438, 439, 441, 442, 444, 445, 447, 450, 457, 458, 460, 461, 462, 464, 465, 467, 474, 475, 477, 479, 480, 481, 483, 484, 486, 487, 489, 490, 492, 493, 495], "summary": {"covered_lines": 262, "num_statements": 262, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[196, 197], [196, 199], [413, 414], [413, 422], [419, 420], [419, 421]], "missing_branches": [], "functions": {"_cm_from_masks": {"executed_lines": [32, 33, 34, 37], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30, "executed_branches": [], "missing_branches": []}, "_cm_tight": {"executed_lines": [42, 44, 45], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40, "executed_branches": [], "missing_branches": []}, "_dense_iou": {"executed_lines": [54], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 48, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_no_overlap_gives_zero": {"executed_lines": [67, 68, 69, 71, 72, 74, 75, 77, 78, 79], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_identical_masks_give_one": {"executed_lines": [83, 84, 85, 86, 88, 89, 91, 92], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 81, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_matches_dense_random": {"executed_lines": [96, 97, 98, 99, 101, 102, 104, 105, 107, 108], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_matches_dense_with_tight_bboxes": {"executed_lines": [112, 113, 114, 115, 117, 118, 120, 121, 123], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_partial_overlap": {"executed_lines": [127, 130, 131, 133, 134, 136, 137, 139, 141, 142], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 125, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_ios_metric": {"executed_lines": [146, 147, 148, 149, 151, 152, 154, 155, 157], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 144, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_all_false_masks": {"executed_lines": [161, 162, 163, 165, 166, 168, 169, 170], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 159, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_empty_inputs": {"executed_lines": [174, 175, 181, 182, 184, 185, 187, 188], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 172, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_n_by_n_pairwise": {"executed_lines": [192, 193, 194, 196, 197, 199, 200, 202, 203, 204], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 190, "executed_branches": [[196, 197], [196, 199]], "missing_branches": []}, "TestMaskIouBatchDispatch.test_both_compact_dispatches_to_rle": {"executed_lines": [217, 218, 219, 220, 222, 223, 225, 226, 228], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 216, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatchDispatch.test_mixed_compact_and_dense": {"executed_lines": [232, 233, 234, 235, 237, 239, 240, 241], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 230, "executed_branches": [], "missing_branches": []}, "TestNmsWithCompactMask.test_nms_compact_matches_dense": {"executed_lines": [255, 256, 257, 258, 259, 261, 262, 266, 268, 269, 271], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 252, "executed_branches": [], "missing_branches": []}, "TestNmsWithCompactMask.test_nms_compact_matches_dense_borderline": {"executed_lines": [280, 281, 283, 284, 286, 287, 288, 290, 291, 293], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 273, "executed_branches": [], "missing_branches": []}, "TestNmsWithCompactMask.test_nms_compact_no_suppression": {"executed_lines": [297, 298, 299, 300, 301, 303, 304, 305, 307, 308], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 295, "executed_branches": [], "missing_branches": []}, "TestNmsWithCompactMask.test_nms_compact_full_suppression": {"executed_lines": [312, 313, 314, 316, 317, 318, 319, 321, 322, 323], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 310, "executed_branches": [], "missing_branches": []}, "TestNmmWithCompactMask.test_nmm_compact_matches_dense": {"executed_lines": [335, 336, 337, 338, 339, 341, 342, 343, 345, 346, 348, 351], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 333, "executed_branches": [], "missing_branches": []}, "TestNmmWithCompactMask.test_nmm_compact_matches_dense.normalise": {"executed_lines": [349], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 348, "executed_branches": [], "missing_branches": []}, "TestNmmWithCompactMask.test_nmm_no_merge": {"executed_lines": [355, 356, 357, 358, 359, 361, 362, 363, 365, 366, 367], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 353, "executed_branches": [], "missing_branches": []}, "TestNmmWithCompactMask.test_nmm_full_merge": {"executed_lines": [371, 372, 373, 374, 376, 377, 378, 380, 381, 382], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 369, "executed_branches": [], "missing_branches": []}, "_random_masks": {"executed_lines": [412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 404, "executed_branches": [[413, 414], [413, 422], [419, 420], [419, 421]], "missing_branches": []}, "TestCompactMaskIouRandom.test_parity_seed": {"executed_lines": [434, 435, 436, 438, 439, 441, 442, 444, 445, 447, 450], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 433, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouRandom.test_self_iou_diagonal": {"executed_lines": [460, 461, 462, 464, 465, 467], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 458, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouRandom.test_tight_bbox_parity": {"executed_lines": [477, 479, 480, 481, 483, 484, 486, 487, 489, 490, 492, 493, 495], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 475, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [11, 13, 14, 16, 17, 30, 40, 48, 57, 65, 81, 94, 110, 125, 144, 159, 172, 190, 207, 216, 230, 244, 252, 273, 295, 310, 326, 333, 353, 369, 390, 404, 425, 432, 433, 457, 458, 474, 475], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestCompactMaskIouBatch": {"executed_lines": [67, 68, 69, 71, 72, 74, 75, 77, 78, 79, 83, 84, 85, 86, 88, 89, 91, 92, 96, 97, 98, 99, 101, 102, 104, 105, 107, 108, 112, 113, 114, 115, 117, 118, 120, 121, 123, 127, 130, 131, 133, 134, 136, 137, 139, 141, 142, 146, 147, 148, 149, 151, 152, 154, 155, 157, 161, 162, 163, 165, 166, 168, 169, 170, 174, 175, 181, 182, 184, 185, 187, 188, 192, 193, 194, 196, 197, 199, 200, 202, 203, 204], "summary": {"covered_lines": 82, "num_statements": 82, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57, "executed_branches": [[196, 197], [196, 199]], "missing_branches": []}, "TestMaskIouBatchDispatch": {"executed_lines": [217, 218, 219, 220, 222, 223, 225, 226, 228, 232, 233, 234, 235, 237, 239, 240, 241], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 207, "executed_branches": [], "missing_branches": []}, "TestNmsWithCompactMask": {"executed_lines": [255, 256, 257, 258, 259, 261, 262, 266, 268, 269, 271, 280, 281, 283, 284, 286, 287, 288, 290, 291, 293, 297, 298, 299, 300, 301, 303, 304, 305, 307, 308, 312, 313, 314, 316, 317, 318, 319, 321, 322, 323], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 244, "executed_branches": [], "missing_branches": []}, "TestNmmWithCompactMask": {"executed_lines": [335, 336, 337, 338, 339, 341, 342, 343, 345, 346, 348, 349, 351, 355, 356, 357, 358, 359, 361, 362, 363, 365, 366, 367, 371, 372, 373, 374, 376, 377, 378, 380, 381, 382], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 326, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouRandom": {"executed_lines": [434, 435, 436, 438, 439, 441, 442, 444, 445, 447, 450, 460, 461, 462, 464, 465, 467, 477, 479, 480, 481, 483, 484, 486, 487, 489, 490, 492, 493, 495], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 425, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [11, 13, 14, 16, 17, 30, 32, 33, 34, 37, 40, 42, 44, 45, 48, 54, 57, 65, 81, 94, 110, 125, 144, 159, 172, 190, 207, 216, 230, 244, 252, 273, 295, 310, 326, 333, 353, 369, 390, 404, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 425, 432, 433, 457, 458, 474, 475], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[413, 414], [413, 422], [419, 420], [419, 421]], "missing_branches": []}}}, "tests\\detection\\test_core.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 22, 37, 45, 46, 47, 58, 69, 88, 99, 102, 110, 120, 126, 131, 135, 142, 143, 144, 145, 146, 150, 155, 156, 160, 166, 299, 310, 311, 312, 315, 579, 584, 585, 586, 589, 660, 666, 667, 668, 671, 716, 719, 722, 880, 886, 887, 888, 891, 941, 943, 946, 948, 949, 963, 964, 967, 968, 971, 974, 975, 976, 979, 980, 983, 986, 987, 988, 990, 991, 992, 995, 998, 999, 1000, 1001, 1004, 1007, 1011, 1012, 1013, 1021, 1024, 1031, 1035, 1036, 1037, 1039, 1041, 1043, 1050, 1052, 1058, 1060, 1063, 1066, 1125, 1129, 1130, 1131, 1132, 1134, 1137, 1140, 1445, 1451, 1452, 1453, 1454, 1455, 1459, 1460, 1461, 1463, 1464, 1465, 1467, 1468, 1469, 1471, 1472, 1473, 1474, 1475, 1476, 1479, 1482, 1655, 1668, 1669, 1673, 1680, 1687, 1688, 1690, 1691, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1710, 1712, 1713, 1714, 1716, 1721, 1736, 1737, 1739, 1740, 1741, 1743, 1745, 1759, 1761, 1763, 1764, 1766, 1768, 1775, 1777, 1780, 1783, 1792, 1796, 1797, 1799, 1801, 1803, 1808, 1809, 1811, 1814, 1815, 1816, 1817, 1824, 1826, 1829, 1835, 1837, 1840, 1841, 1843, 1845, 1849, 1854, 1856, 1858, 1865, 1867, 1868, 1874, 1875, 1877, 1885, 1889, 1890, 1891, 1892, 1893, 1898, 1899, 1900, 1906], "summary": {"covered_lines": 220, "num_statements": 220, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 24, "num_partial_branches": 0, "covered_branches": 24, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[975, 976], [975, 979], [1131, 1132], [1131, 1134], [1454, 1455], [1454, 1459], [1460, 1461], [1460, 1463], [1464, 1465], [1464, 1467], [1468, 1469], [1468, 1471], [1472, 1473], [1472, 1474], [1474, -1140], [1474, 1475], [1668, 1669], [1668, 1687], [1700, 1701], [1700, 1702], [1889, 1890], [1889, 1892], [1892, 1893], [1892, 1898]], "missing_branches": [], "functions": {"test_detections_bool_mask_types_do_not_warn": {"executed_lines": [144, 145, 146, 150], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 143, "executed_branches": [], "missing_branches": []}, "test_detections_non_bool_mask_warns_with_migration_path": {"executed_lines": [156, 160], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 155, "executed_branches": [], "missing_branches": []}, "test_getitem": {"executed_lines": [310, 311, 312], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 299, "executed_branches": [], "missing_branches": []}, "test_merge": {"executed_lines": [584, 585, 586], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 579, "executed_branches": [], "missing_branches": []}, "test_get_anchor_coordinates": {"executed_lines": [666, 667, 668], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 660, "executed_branches": [], "missing_branches": []}, "test_equal": {"executed_lines": [719], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 716, "executed_branches": [], "missing_branches": []}, "test_merge_inner_detection_object_pair": {"executed_lines": [886, 887, 888], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 880, "executed_branches": [], "missing_branches": []}, "test_is_empty": {"executed_lines": [943], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 941, "executed_branches": [], "missing_branches": []}, "test_from_inference_empty_class_name_dtype_matches_non_empty": {"executed_lines": [948, 949, 963, 964, 967, 968, 971, 974, 975, 976, 979, 980], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 946, "executed_branches": [[975, 976], [975, 979]], "missing_branches": []}, "test_from_inference_sdk_dict_path_empty_preserves_class_name_dtype": {"executed_lines": [986, 987, 990, 991, 992], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 983, "executed_branches": [], "missing_branches": []}, "test_from_inference_sdk_dict_path_empty_preserves_class_name_dtype._FakeSdkResult.dict": {"executed_lines": [988], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 987, "executed_branches": [], "missing_branches": []}, "_rotated_rect": {"executed_lines": [998, 999, 1000, 1001, 1004], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 995, "executed_branches": [], "missing_branches": []}, "_make_obb_detections": {"executed_lines": [1011, 1012, 1013], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1007, "executed_branches": [], "missing_branches": []}, "TestDetectionsObbDispatch.test_uses_obb_iou_when_oriented_box_coordinates_present": {"executed_lines": [1035, 1036, 1037, 1039, 1041], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1031, "executed_branches": [], "missing_branches": []}, "TestDetectionsObbDispatch.test_falls_back_without_obb_data": {"executed_lines": [1052, 1058, 1060], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1050, "executed_branches": [], "missing_branches": []}, "TestMergeObbCorners.test_merge": {"executed_lines": [1129, 1130, 1131, 1132, 1134], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1125, "executed_branches": [[1131, 1132], [1131, 1134]], "missing_branches": []}, "TestMergeDetectionGroup.test_merge": {"executed_lines": [1451, 1452, 1453, 1454, 1455, 1459, 1460, 1461, 1463, 1464, 1465, 1467, 1468, 1469, 1471, 1472, 1473, 1474, 1475, 1476], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1445, "executed_branches": [[1454, 1455], [1454, 1459], [1460, 1461], [1460, 1463], [1464, 1465], [1464, 1467], [1468, 1469], [1468, 1471], [1472, 1473], [1472, 1474], [1474, -1140], [1474, 1475]], "missing_branches": []}, "TestDetectionsWithNMM.test_obb_nmm_merge": {"executed_lines": [1668, 1669, 1673, 1680, 1687, 1688, 1690, 1691, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1655, "executed_branches": [[1668, 1669], [1668, 1687], [1700, 1701], [1700, 1702]], "missing_branches": []}, "TestDetectionsWithNMM.test_obb_nmm_matches_aabb_for_axis_aligned": {"executed_lines": [1712, 1713, 1714, 1716, 1721, 1736, 1737, 1739, 1740, 1741], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1710, "executed_branches": [], "missing_branches": []}, "TestDetectionsWithNMM.test_staircase_obb_merge_within_union": {"executed_lines": [1745, 1759, 1761, 1763, 1764], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1743, "executed_branches": [], "missing_branches": []}, "TestDetectionsWithNMM.test_obb_nmm_empty_detections": {"executed_lines": [1768, 1775, 1777], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1766, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_uses_oriented_box_corners_when_present": {"executed_lines": [1796, 1797, 1799], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1792, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_falls_back_to_box_area_without_obb_data": {"executed_lines": [1803, 1808, 1809], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1801, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_mask_takes_precedence_over_oriented_box": {"executed_lines": [1814, 1815, 1816, 1817, 1824], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1811, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_empty_detections_with_obb_data_returns_empty_array": {"executed_lines": [1829, 1835], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1826, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_degenerate_oriented_box_has_zero_area": {"executed_lines": [1840, 1841, 1843], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1837, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_handles_batched_oriented_boxes": {"executed_lines": [1849, 1854, 1856], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1845, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_raises_on_malformed_obb_coordinates_shape": {"executed_lines": [1867, 1868, 1874, 1875], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1865, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_area_return_dtype_per_branch": {"executed_lines": [1889, 1890, 1891, 1892, 1893, 1898, 1899, 1900, 1906], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1885, "executed_branches": [[1889, 1890], [1889, 1892], [1892, 1893], [1892, 1898]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 22, 37, 45, 46, 47, 58, 69, 88, 99, 102, 110, 120, 126, 131, 135, 142, 143, 155, 166, 299, 315, 579, 589, 660, 671, 716, 722, 880, 891, 941, 946, 983, 995, 1007, 1021, 1024, 1031, 1043, 1050, 1063, 1066, 1125, 1137, 1140, 1445, 1479, 1482, 1655, 1710, 1743, 1766, 1780, 1783, 1792, 1801, 1811, 1826, 1837, 1845, 1858, 1865, 1877, 1885], "summary": {"covered_lines": 75, "num_statements": 75, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"test_from_inference_sdk_dict_path_empty_preserves_class_name_dtype._FakeSdkResult": {"executed_lines": [988], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 986, "executed_branches": [], "missing_branches": []}, "TestDetectionsObbDispatch": {"executed_lines": [1035, 1036, 1037, 1039, 1041, 1052, 1058, 1060], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1021, "executed_branches": [], "missing_branches": []}, "TestMergeObbCorners": {"executed_lines": [1129, 1130, 1131, 1132, 1134], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1063, "executed_branches": [[1131, 1132], [1131, 1134]], "missing_branches": []}, "TestMergeDetectionGroup": {"executed_lines": [1451, 1452, 1453, 1454, 1455, 1459, 1460, 1461, 1463, 1464, 1465, 1467, 1468, 1469, 1471, 1472, 1473, 1474, 1475, 1476], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1137, "executed_branches": [[1454, 1455], [1454, 1459], [1460, 1461], [1460, 1463], [1464, 1465], [1464, 1467], [1468, 1469], [1468, 1471], [1472, 1473], [1472, 1474], [1474, -1140], [1474, 1475]], "missing_branches": []}, "TestDetectionsWithNMM": {"executed_lines": [1668, 1669, 1673, 1680, 1687, 1688, 1690, 1691, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1712, 1713, 1714, 1716, 1721, 1736, 1737, 1739, 1740, 1741, 1745, 1759, 1761, 1763, 1764, 1768, 1775, 1777], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1479, "executed_branches": [[1668, 1669], [1668, 1687], [1700, 1701], [1700, 1702]], "missing_branches": []}, "TestDetectionsArea": {"executed_lines": [1796, 1797, 1799, 1803, 1808, 1809, 1814, 1815, 1816, 1817, 1824, 1829, 1835, 1840, 1841, 1843, 1849, 1854, 1856, 1867, 1868, 1874, 1875, 1889, 1890, 1891, 1892, 1893, 1898, 1899, 1900, 1906], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1780, "executed_branches": [[1889, 1890], [1889, 1892], [1892, 1893], [1892, 1898]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 22, 37, 45, 46, 47, 58, 69, 88, 99, 102, 110, 120, 126, 131, 135, 142, 143, 144, 145, 146, 150, 155, 156, 160, 166, 299, 310, 311, 312, 315, 579, 584, 585, 586, 589, 660, 666, 667, 668, 671, 716, 719, 722, 880, 886, 887, 888, 891, 941, 943, 946, 948, 949, 963, 964, 967, 968, 971, 974, 975, 976, 979, 980, 983, 986, 987, 990, 991, 992, 995, 998, 999, 1000, 1001, 1004, 1007, 1011, 1012, 1013, 1021, 1024, 1031, 1043, 1050, 1063, 1066, 1125, 1137, 1140, 1445, 1479, 1482, 1655, 1710, 1743, 1766, 1780, 1783, 1792, 1801, 1811, 1826, 1837, 1845, 1858, 1865, 1877, 1885], "summary": {"covered_lines": 120, "num_statements": 120, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[975, 976], [975, 979]], "missing_branches": []}}}, "tests\\detection\\test_csv.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 11, 12, 15, 293, 301, 302, 303, 305, 306, 307, 309, 311, 314, 501, 509, 510, 511, 512, 513, 515, 518, 519, 520, 521, 522, 526, 529, 540, 541], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[302, 303], [302, 305], [306, 307], [306, 309], [521, 522], [521, 526]], "missing_branches": [], "functions": {"test_csv_sink": {"executed_lines": [301, 302, 303, 305, 306, 307, 309, 311], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 293, "executed_branches": [[302, 303], [302, 305], [306, 307], [306, 309]], "missing_branches": []}, "test_csv_sink_manual": {"executed_lines": [509, 510, 511, 512, 513, 515], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 501, "executed_branches": [], "missing_branches": []}, "assert_csv_equal": {"executed_lines": [519, 520, 521, 522, 526], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 518, "executed_branches": [[521, 522], [521, 526]], "missing_branches": []}, "test_csv_sink_slice_value": {"executed_lines": [541], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 540, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 11, 12, 15, 293, 314, 501, 518, 529, 540], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 11, 12, 15, 293, 301, 302, 303, 305, 306, 307, 309, 311, 314, 501, 509, 510, 511, 512, 513, 515, 518, 519, 520, 521, 522, 526, 529, 540, 541], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[302, 303], [302, 305], [306, 307], [306, 309], [521, 522], [521, 526]], "missing_branches": []}}}, "tests\\detection\\test_from_adapters.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 18, 19, 26, 28, 30, 31, 32, 33, 36, 37, 38, 39, 40, 42, 43, 45, 47, 48, 49, 50, 52, 53, 54, 57, 60, 62, 63, 65, 68, 70, 72, 73, 74, 77, 94, 100, 105, 107, 109, 110, 111, 112, 113], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[110, -77], [110, 111]], "missing_branches": [], "functions": {"test_from_yolov5_maps_columns_correctly": {"executed_lines": [19, 26, 28, 30, 31, 32, 33], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18, "executed_branches": [], "missing_branches": []}, "test_from_ultralytics_boxes_branch_maps_fields_and_class_names": {"executed_lines": [37, 38, 39, 40, 42, 43, 45, 47, 48, 49, 50, 52, 53, 54], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "test_from_ultralytics_segmentation_only_branch_uses_masks_and_arange": {"executed_lines": [60, 62, 63, 65, 68, 70, 72, 73, 74], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57, "executed_branches": [], "missing_branches": []}, "test_from_yolo_nas_handles_empty_and_non_empty": {"executed_lines": [100, 105, 107, 109, 110, 111, 112, 113], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94, "executed_branches": [[110, -77], [110, 111]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 18, 36, 57, 77, 94], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 18, 19, 26, 28, 30, 31, 32, 33, 36, 37, 38, 39, 40, 42, 43, 45, 47, 48, 49, 50, 52, 53, 54, 57, 60, 62, 63, 65, 68, 70, 72, 73, 74, 77, 94, 100, 105, 107, 109, 110, 111, 112, 113], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[110, -77], [110, 111]], "missing_branches": []}}}, "tests\\detection\\test_from_sam.py": {"executed_lines": [1, 3, 4, 6, 8, 40, 66, 83, 100, 105, 107, 108, 109, 111, 114, 179, 186, 190, 191, 192, 195, 196, 197, 200], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[108, 109], [108, 111]], "missing_branches": [], "functions": {"test_from_sam": {"executed_lines": [105, 107, 108, 109, 111], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 100, "executed_branches": [[108, 109], [108, 111]], "missing_branches": []}, "test_from_sam3": {"executed_lines": [186, 190, 191, 192], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 179, "executed_branches": [], "missing_branches": []}, "test_from_sam3_invalid_resolution": {"executed_lines": [196, 197, 200], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 195, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 40, 66, 83, 100, 114, 179, 195], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 8, 40, 66, 83, 100, 105, 107, 108, 109, 111, 114, 179, 186, 190, 191, 192, 195, 196, 197, 200], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[108, 109], [108, 111]], "missing_branches": []}}}, "tests\\detection\\test_inference_slicer_compact.py": {"executed_lines": [9, 11, 13, 14, 15, 18, 20, 21, 22, 23, 24, 25, 33, 45, 47, 48, 55, 56, 60, 62, 63, 70, 71, 72, 74, 76, 78, 86, 95, 96, 98, 100, 101, 104, 105, 107, 108, 110, 116, 118, 120, 122, 124, 125, 127, 135, 137, 138, 142, 145, 146, 147, 153, 154, 161, 162], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"_fake_seg_callback": {"executed_lines": [20, 21, 22, 23, 24, 25], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_compact_masks_flag_converts_dense_to_compact": {"executed_lines": [47, 48, 55, 56], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_compact_masks_false_keeps_dense": {"executed_lines": [62, 63, 70, 71, 72], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_compact_and_dense_pipelines_give_same_masks": {"executed_lines": [76, 78, 86, 95, 96, 98, 100, 101, 104, 107, 108, 110], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_compact_and_dense_pipelines_give_same_masks._sort_key": {"executed_lines": [105], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 104, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_nms_with_overlapping_tiles_uses_rle_iou": {"executed_lines": [118, 120, 122, 127, 135, 137, 138], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 116, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_nms_with_overlapping_tiles_uses_rle_iou.counting_callback": {"executed_lines": [124, 125], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 122, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_no_mask_callback_unaffected": {"executed_lines": [145, 153, 154, 161, 162], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_no_mask_callback_unaffected.box_only_callback": {"executed_lines": [146, 147], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 145, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [9, 11, 13, 14, 15, 18, 33, 45, 60, 74, 116, 142], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestInferenceSlicerCompactMasks": {"executed_lines": [47, 48, 55, 56, 62, 63, 70, 71, 72, 76, 78, 86, 95, 96, 98, 100, 101, 104, 105, 107, 108, 110, 118, 120, 122, 124, 125, 127, 135, 137, 138, 145, 146, 147, 153, 154, 161, 162], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [9, 11, 13, 14, 15, 18, 20, 21, 22, 23, 24, 25, 33, 45, 60, 74, 116, 142], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\test_json.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 11, 14, 377, 385, 386, 387, 389, 390, 391, 393, 395, 398, 408, 412, 413, 418, 419, 420, 421, 422, 425, 427, 428, 432, 433, 434, 435, 436, 439, 441, 442, 445, 446, 447, 448, 452], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[386, 387], [386, 389], [390, 391], [390, 393]], "missing_branches": [], "functions": {"test_json_sink": {"executed_lines": [385, 386, 387, 389, 390, 391, 393, 395], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 377, "executed_branches": [[386, 387], [386, 389], [390, 391], [390, 393]], "missing_branches": []}, "test_json_sink_serializes_numpy_scalar_custom_data": {"executed_lines": [412, 413, 418, 419, 420, 421, 422], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 408, "executed_branches": [], "missing_branches": []}, "test_json_sink_serializes_nested_numpy_array_custom_data": {"executed_lines": [427, 428, 432, 433, 434, 435, 436], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 425, "executed_branches": [], "missing_branches": []}, "test_json_default_raises_for_unserializable_type": {"executed_lines": [441, 442], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 439, "executed_branches": [], "missing_branches": []}, "assert_json_equal": {"executed_lines": [446, 447, 448, 452], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 445, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 11, 14, 377, 398, 408, 425, 439, 445], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 11, 14, 377, 385, 386, 387, 389, 390, 391, 393, 395, 398, 408, 412, 413, 418, 419, 420, 421, 422, 425, 427, 428, 432, 433, 434, 435, 436, 439, 441, 442, 445, 446, 447, 448, 452], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[386, 387], [386, 389], [390, 391], [390, 393]], "missing_branches": []}}}, "tests\\detection\\test_line_counter.py": {"executed_lines": [1, 3, 5, 6, 8, 9, 10, 13, 68, 73, 74, 75, 78, 236, 242, 244, 245, 246, 247, 251, 252, 253, 255, 258, 263, 403, 410, 414, 415, 416, 417, 421, 422, 423, 425, 428, 433, 481, 489, 490, 493, 494, 495, 496, 500, 501, 502, 504, 505, 508, 596, 604, 611, 612, 613, 614, 618, 619, 620, 622, 625, 630, 769, 780, 781, 787, 788, 789, 790, 791, 792, 796, 797, 798, 799, 800, 802, 803, 804, 805, 808, 863, 870, 872, 875, 878, 880, 881, 884, 885, 886, 887, 888, 890, 892, 893, 894, 896, 897], "summary": {"covered_lines": 99, "num_statements": 99, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[246, 247], [246, 255], [416, 417], [416, 425], [495, 496], [495, 504], [613, 614], [613, 622], [791, 792], [791, 802], [872, 875], [872, 880], [886, 887], [886, 890]], "missing_branches": [], "functions": {"test_calculate_region_of_interest_limits": {"executed_lines": [73, 74, 75], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68, "executed_branches": [], "missing_branches": []}, "test_line_zone_one_detection_default_anchors": {"executed_lines": [242, 244, 245, 246, 247, 251, 252, 253, 255, 258], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 236, "executed_branches": [[246, 247], [246, 255]], "missing_branches": []}, "test_line_zone_one_detection": {"executed_lines": [410, 414, 415, 416, 417, 421, 422, 423, 425, 428], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 403, "executed_branches": [[416, 417], [416, 425]], "missing_branches": []}, "test_line_zone_multiple_detections": {"executed_lines": [489, 490, 493, 494, 495, 496, 500, 501, 502, 504, 505], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 481, "executed_branches": [[495, 496], [495, 504]], "missing_branches": []}, "test_line_zone_one_detection_long_horizon": {"executed_lines": [604, 611, 612, 613, 614, 618, 619, 620, 622, 625], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 596, "executed_branches": [[613, 614], [613, 622]], "missing_branches": []}, "test_line_zone_long_horizon_disappearing_detections": {"executed_lines": [780, 781, 787, 788, 789, 790, 791, 792, 796, 797, 798, 799, 800, 802, 803, 804, 805], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 769, "executed_branches": [[791, 792], [791, 802]], "missing_branches": []}, "test_line_zone_tracker_id_reuse_with_different_classes": {"executed_lines": [870, 872, 875, 878, 880, 881], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 863, "executed_branches": [[872, 875], [872, 880]], "missing_branches": []}, "test_line_zone_annotator_multiclass_supports_none_class_id": {"executed_lines": [885, 886, 887, 888, 890, 892, 893, 894, 896, 897], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 884, "executed_branches": [[886, 887], [886, 890]], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 9, 10, 13, 68, 78, 236, 263, 403, 433, 481, 508, 596, 630, 769, 808, 863, 884], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 8, 9, 10, 13, 68, 73, 74, 75, 78, 236, 242, 244, 245, 246, 247, 251, 252, 253, 255, 258, 263, 403, 410, 414, 415, 416, 417, 421, 422, 423, 425, 428, 433, 481, 489, 490, 493, 494, 495, 496, 500, 501, 502, 504, 505, 508, 596, 604, 611, 612, 613, 614, 618, 619, 620, 622, 625, 630, 769, 780, 781, 787, 788, 789, 790, 791, 792, 796, 797, 798, 799, 800, 802, 803, 804, 805, 808, 863, 870, 872, 875, 878, 880, 881, 884, 885, 886, 887, 888, 890, 892, 893, 894, 896, 897], "summary": {"covered_lines": 99, "num_statements": 99, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[246, 247], [246, 255], [416, 417], [416, 425], [495, 496], [495, 504], [613, 614], [613, 622], [791, 792], [791, 802], [872, 875], [872, 880], [886, 887], [886, 890]], "missing_branches": []}}}, "tests\\detection\\test_polygon_zone_annotator.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 10, 16, 24, 54, 59, 60], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_polygon_zone_annotator": {"executed_lines": [59, 60], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 10, 16, 24, 54], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 10, 16, 24, 54, 59, 60], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\test_polygonzone.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 24, 28, 31, 32, 43, 44, 45, 48, 49, 98, 105, 106, 107, 108, 110, 122, 125, 128, 133, 137, 140, 142, 144, 149, 153, 154, 156, 158, 159, 161, 165, 166], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestPolygonZoneInit.test_empty_anchors_raises": {"executed_lines": [44, 45], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43, "executed_branches": [], "missing_branches": []}, "TestPolygonZoneTrigger.test_anchor_configurations": {"executed_lines": [105, 106, 107, 108], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 98, "executed_branches": [], "missing_branches": []}, "TestPolygonZoneTrigger.test_straddling_detection_assigned_to_one_zone": {"executed_lines": [122, 125, 128, 133, 137, 140], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110, "executed_branches": [], "missing_branches": []}, "TestPolygonZoneTrigger.test_out_of_bounds_anchor_excluded": {"executed_lines": [144, 149, 153, 154], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142, "executed_branches": [], "missing_branches": []}, "TestPolygonZoneTrigger.test_anchor_on_polygon_boundary_included": {"executed_lines": [158, 159, 161, 165, 166], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 156, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 24, 28, 31, 32, 43, 48, 49, 98, 110, 142, 156], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestPolygonZoneInit": {"executed_lines": [44, 45], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31, "executed_branches": [], "missing_branches": []}, "TestPolygonZoneTrigger": {"executed_lines": [105, 106, 107, 108, 122, 125, 128, 133, 137, 140, 144, 149, 153, 154, 158, 159, 161, 165, 166], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 48, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 24, 28, 31, 32, 43, 48, 49, 98, 110, 142, 156], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\test_vlm.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 22, 200, 207, 208, 211, 212, 213, 216, 410, 418, 419, 425, 426, 427, 428, 431, 565, 572, 573, 576, 577, 578, 579, 582, 679, 685, 686, 690, 691, 694, 921, 929, 930, 931, 932, 933, 935, 936, 937, 939, 940, 941, 943, 946, 1149, 1157, 1158, 1168, 1171, 1172, 1174, 1175, 1177, 1178, 1180, 1181, 1183, 1184, 1185, 1187, 1188, 1190, 1191, 1192, 1195, 1271, 1278, 1279, 1286, 1289, 1291, 1292, 1294, 1295, 1296, 1302, 1304, 1310, 1314, 1315, 1316, 1317, 1318, 1319, 1322, 1337, 1339, 1340, 1341, 1343, 1345], "summary": {"covered_lines": 99, "num_statements": 101, "percent_covered": 94.4, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 98.01980198019803, "percent_statements_covered_display": "98", "num_branches": 24, "num_partial_branches": 5, "covered_branches": 19, "missing_branches": 5, "percent_branches_covered": 79.16666666666667, "percent_branches_covered_display": "79"}, "missing_lines": [1169, 1287], "excluded_lines": [], "executed_branches": [[425, 426], [576, 577], [690, 691], [932, 933], [932, 935], [936, 937], [936, 939], [940, 941], [940, 943], [1168, 1171], [1180, 1181], [1180, 1183], [1187, 1188], [1187, 1190], [1286, 1289], [1291, 1292], [1291, 1294], [1340, 1341], [1340, 1343]], "missing_branches": [[425, -216], [576, -431], [690, -582], [1168, 1169], [1286, 1287]], "functions": {"test_from_paligemma": {"executed_lines": [207, 208, 211, 212, 213], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 200, "executed_branches": [], "missing_branches": []}, "test_from_qwen_2_5_vl": {"executed_lines": [418, 419, 425, 426, 427, 428], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 410, "executed_branches": [[425, 426]], "missing_branches": [[425, -216]]}, "test_from_google_gemini": {"executed_lines": [572, 573, 576, 577, 578, 579], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 565, "executed_branches": [[576, 577]], "missing_branches": [[576, -431]]}, "test_from_moondream": {"executed_lines": [685, 686, 690, 691], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 679, "executed_branches": [[690, 691]], "missing_branches": [[690, -582]]}, "test_florence_2": {"executed_lines": [929, 930, 931, 932, 933, 935, 936, 937, 939, 940, 941, 943], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 921, "executed_branches": [[932, 933], [932, 935], [936, 937], [936, 939], [940, 941], [940, 943]], "missing_branches": []}, "test_from_google_gemini_2_5": {"executed_lines": [1157, 1158, 1168, 1171, 1172, 1174, 1175, 1177, 1178, 1180, 1181, 1183, 1184, 1185, 1187, 1188, 1190, 1191, 1192], "summary": {"covered_lines": 19, "num_statements": 20, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1169], "excluded_lines": [], "start_line": 1149, "executed_branches": [[1168, 1171], [1180, 1181], [1180, 1183], [1187, 1188], [1187, 1190]], "missing_branches": [[1168, 1169]]}, "test_from_deepseek_vl_2": {"executed_lines": [1278, 1279, 1286, 1289, 1291, 1292, 1294, 1295, 1296], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [1287], "excluded_lines": [], "start_line": 1271, "executed_branches": [[1286, 1289], [1291, 1292], [1291, 1294]], "missing_branches": [[1286, 1287]]}, "test_from_google_gemini_2_5_malformed_mask_keeps_confidence_aligned": {"executed_lines": [1304, 1310, 1314, 1315, 1316, 1317, 1318, 1319], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1302, "executed_branches": [], "missing_branches": []}, "test_vlm_parsers_degrade_on_malformed_json": {"executed_lines": [1339, 1340, 1341, 1343, 1345], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1337, "executed_branches": [[1340, 1341], [1340, 1343]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 22, 200, 216, 410, 431, 565, 582, 679, 694, 921, 946, 1149, 1195, 1271, 1302, 1322, 1337], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 22, 200, 207, 208, 211, 212, 213, 216, 410, 418, 419, 425, 426, 427, 428, 431, 565, 572, 573, 576, 577, 578, 579, 582, 679, 685, 686, 690, 691, 694, 921, 929, 930, 931, 932, 933, 935, 936, 937, 939, 940, 941, 943, 946, 1149, 1157, 1158, 1168, 1171, 1172, 1174, 1175, 1177, 1178, 1180, 1181, 1183, 1184, 1185, 1187, 1188, 1190, 1191, 1192, 1195, 1271, 1278, 1279, 1286, 1289, 1291, 1292, 1294, 1295, 1296, 1302, 1304, 1310, 1314, 1315, 1316, 1317, 1318, 1319, 1322, 1337, 1339, 1340, 1341, 1343, 1345], "summary": {"covered_lines": 99, "num_statements": 101, "percent_covered": 94.4, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 98.01980198019803, "percent_statements_covered_display": "98", "num_branches": 24, "num_partial_branches": 5, "covered_branches": 19, "missing_branches": 5, "percent_branches_covered": 79.16666666666667, "percent_branches_covered_display": "79"}, "missing_lines": [1169, 1287], "excluded_lines": [], "start_line": 1, "executed_branches": [[425, 426], [576, 577], [690, 691], [932, 933], [932, 935], [936, 937], [936, 939], [940, 941], [940, 943], [1168, 1171], [1180, 1181], [1180, 1183], [1187, 1188], [1187, 1190], [1286, 1289], [1291, 1292], [1291, 1294], [1340, 1341], [1340, 1343]], "missing_branches": [[425, -216], [576, -431], [690, -582], [1168, 1169], [1286, 1287]]}}}, "tests\\detection\\tools\\test_inference_slicer.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 16, 17, 26, 189, 195, 201, 206, 210, 212, 218, 219, 221, 222, 225, 229, 230, 236, 237, 239, 240, 241, 243, 249, 252, 256, 257, 263, 264, 266, 267, 268, 270, 276, 279, 283, 286, 292, 293, 297, 298, 301, 305, 306, 313, 314, 321, 322, 323, 325, 331, 334, 338, 340, 346, 347, 349, 350, 351, 353, 359, 362, 366, 367, 373, 374, 376, 377, 378, 379, 381, 387, 390, 393, 394, 395, 396, 398, 401, 402, 403, 404, 407, 408, 410, 421, 422, 429, 430, 432, 433, 434, 437, 440, 441, 442, 443, 446, 449, 453, 464, 465, 466, 472, 479, 480, 487, 488, 497, 499], "summary": {"covered_lines": 119, "num_statements": 123, "percent_covered": 96.0, "percent_covered_display": "96", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 96.7479674796748, "percent_statements_covered_display": "97", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [20, 21, 23, 405], "excluded_lines": [], "executed_branches": [[404, 407]], "missing_branches": [[404, 405]], "functions": {"mock_callback": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [20, 23], "excluded_lines": [], "start_line": 17, "executed_branches": [], "missing_branches": []}, "mock_callback.callback": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [21], "excluded_lines": [], "start_line": 20, "executed_branches": [], "missing_branches": []}, "test_generate_offset": {"executed_lines": [195, 201], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 189, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_when_detections_outside_slice_bounds": {"executed_lines": [210, 218, 219, 221, 222], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 206, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_when_detections_outside_slice_bounds.out_of_bounds_callback": {"executed_lines": [212], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 210, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_only_once_for_out_of_bounds_detections": {"executed_lines": [229, 236, 237, 239, 240, 241, 243, 249], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 225, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_only_once_for_out_of_bounds_detections.out_of_bounds_callback": {"executed_lines": [230], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 229, "executed_branches": [], "missing_branches": []}, "test_run_callback_no_warning_when_detections_inside_slice_bounds": {"executed_lines": [256, 263, 264, 266, 267, 268, 270, 276], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 252, "executed_branches": [], "missing_branches": []}, "test_run_callback_no_warning_when_detections_inside_slice_bounds.in_bounds_callback": {"executed_lines": [257], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 256, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_when_detections_have_negative_coordinates": {"executed_lines": [283, 292, 293, 297, 298], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 279, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_when_detections_have_negative_coordinates.negative_coords_callback": {"executed_lines": [286], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 283, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_only_once_with_multiple_threads": {"executed_lines": [305, 313, 314, 321, 322, 323, 325, 331], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 301, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_only_once_with_multiple_threads.out_of_bounds_callback": {"executed_lines": [306], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 305, "executed_branches": [], "missing_branches": []}, "test_run_callback_no_warning_for_detection_exactly_at_slice_boundary": {"executed_lines": [338, 346, 347, 349, 350, 351, 353, 359], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 334, "executed_branches": [], "missing_branches": []}, "test_run_callback_no_warning_for_detection_exactly_at_slice_boundary.at_boundary_callback": {"executed_lines": [340], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 338, "executed_branches": [], "missing_branches": []}, "test_run_callback_does_not_rewarn_on_second_call": {"executed_lines": [366, 373, 374, 376, 377, 378, 379, 381, 387], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 362, "executed_branches": [], "missing_branches": []}, "test_run_callback_does_not_rewarn_on_second_call.out_of_bounds_callback": {"executed_lines": [367], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 366, "executed_branches": [], "missing_branches": []}, "test_obb_callbacks_run_sequentially_even_with_multiple_workers": {"executed_lines": [393, 394, 395, 396, 398, 421, 422, 429, 430, 432, 433, 434], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 390, "executed_branches": [], "missing_branches": []}, "test_obb_callbacks_run_sequentially_even_with_multiple_workers.obb_callback": {"executed_lines": [401, 402, 403, 404, 407, 408, 410], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [405], "excluded_lines": [], "start_line": 398, "executed_branches": [[404, 407]], "missing_branches": [[404, 405]]}, "_rotated_rect": {"executed_lines": [440, 441, 442, 443, 446], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 437, "executed_branches": [], "missing_branches": []}, "test_inference_slicer_keeps_crossed_obb_detections": {"executed_lines": [464, 465, 466, 472, 479, 487, 488, 497, 499], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 453, "executed_branches": [], "missing_branches": []}, "test_inference_slicer_keeps_crossed_obb_detections.callback": {"executed_lines": [480], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 479, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 16, 17, 26, 189, 206, 225, 252, 279, 301, 334, 362, 390, 437, 449, 453], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 16, 17, 26, 189, 195, 201, 206, 210, 212, 218, 219, 221, 222, 225, 229, 230, 236, 237, 239, 240, 241, 243, 249, 252, 256, 257, 263, 264, 266, 267, 268, 270, 276, 279, 283, 286, 292, 293, 297, 298, 301, 305, 306, 313, 314, 321, 322, 323, 325, 331, 334, 338, 340, 346, 347, 349, 350, 351, 353, 359, 362, 366, 367, 373, 374, 376, 377, 378, 379, 381, 387, 390, 393, 394, 395, 396, 398, 401, 402, 403, 404, 407, 408, 410, 421, 422, 429, 430, 432, 433, 434, 437, 440, 441, 442, 443, 446, 449, 453, 464, 465, 466, 472, 479, 480, 487, 488, 497, 499], "summary": {"covered_lines": 119, "num_statements": 123, "percent_covered": 96.0, "percent_covered_display": "96", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 96.7479674796748, "percent_statements_covered_display": "97", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [20, 21, 23, 405], "excluded_lines": [], "start_line": 1, "executed_branches": [[404, 407]], "missing_branches": [[404, 405]]}}}, "tests\\detection\\tools\\test_smoother.py": {"executed_lines": [3, 5, 6, 7, 9, 10, 11, 14, 15, 38, 45, 46, 53, 61, 62, 63, 65, 66, 68, 70, 71, 78, 85, 86, 88, 90, 91, 96, 97, 99, 101, 103, 104, 111, 118, 126, 127, 128], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[62, 63], [62, 65]], "missing_branches": [], "functions": {"TestDetectionsSmoother.test_smoother_confidence_scenarios": {"executed_lines": [45, 46, 53, 61, 62, 63, 65, 66], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38, "executed_branches": [[62, 63], [62, 65]], "missing_branches": []}, "TestDetectionsSmoother.test_smoother_multi_track_mixed_confidence_does_not_crash": {"executed_lines": [70, 71, 78, 85, 86], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68, "executed_branches": [], "missing_branches": []}, "TestDetectionsSmoother.test_smoother_tracker_id_none_warns_and_returns_unchanged": {"executed_lines": [90, 91, 96, 97, 99], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88, "executed_branches": [], "missing_branches": []}, "TestDetectionsSmoother.test_smoother_window_full_averages_all_frames": {"executed_lines": [103, 104, 111, 118, 126, 127, 128], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 101, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [3, 5, 6, 7, 9, 10, 11, 14, 15, 38, 68, 88, 101], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestDetectionsSmoother": {"executed_lines": [45, 46, 53, 61, 62, 63, 65, 66, 70, 71, 78, 85, 86, 90, 91, 96, 97, 99, 103, 104, 111, 118, 126, 127, 128], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14, "executed_branches": [[62, 63], [62, 65]], "missing_branches": []}, "": {"executed_lines": [3, 5, 6, 7, 9, 10, 11, 14, 15, 38, 68, 88, 101], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\utils\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\utils\\test_boxes.py": {"executed_lines": [1, 3, 5, 6, 8, 17, 52, 57, 58, 61, 96, 102, 103, 104, 107, 142, 148, 149, 150, 153, 222, 229, 230, 235, 238, 269, 271, 272], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_clip_boxes": {"executed_lines": [57, 58], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52, "executed_branches": [], "missing_branches": []}, "test_move_boxes": {"executed_lines": [102, 103, 104], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 96, "executed_branches": [], "missing_branches": []}, "test_scale_boxes": {"executed_lines": [148, 149, 150], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142, "executed_branches": [], "missing_branches": []}, "test_denormalize_boxes": {"executed_lines": [229, 230, 235], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 222, "executed_branches": [], "missing_branches": []}, "test_xyxyxyxy_to_xyxy": {"executed_lines": [271, 272], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 269, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 17, 52, 61, 96, 107, 142, 153, 222, 238, 269], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 8, 17, 52, 57, 58, 61, 96, 102, 103, 104, 107, 142, 148, 149, 150, 153, 222, 229, 230, 235, 238, 269, 271, 272], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\utils\\test_converters.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 28, 46, 47, 48, 51, 69, 70, 71, 74, 120, 121, 122, 125, 143, 144, 145, 148, 312, 313, 314, 315, 316, 319, 321, 322, 323, 324, 325, 331, 334, 335, 375, 379, 381, 382, 383, 385, 386, 388, 389, 390, 392, 393, 395, 396, 399, 469, 475, 476, 477, 480, 582, 588, 589, 590, 593, 594, 602, 603, 604, 612, 625, 627, 635, 645, 647, 650, 657, 659, 660, 663, 673, 675, 678, 691, 693, 701, 713, 715, 718, 729, 731, 734, 743, 745, 753, 789, 793, 796, 850, 857, 858, 861, 877, 879, 880, 881, 882], "summary": {"covered_lines": 104, "num_statements": 104, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[322, 323], [322, 331], [324, 322], [324, 325]], "missing_branches": [], "functions": {"test_xywh_to_xyxy": {"executed_lines": [47, 48], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46, "executed_branches": [], "missing_branches": []}, "test_xyxy_to_xywh": {"executed_lines": [70, 71], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69, "executed_branches": [], "missing_branches": []}, "test_xyxy_to_xcycarh": {"executed_lines": [121, 122], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 120, "executed_branches": [], "missing_branches": []}, "test_xcycwh_to_xyxy": {"executed_lines": [144, 145], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 143, "executed_branches": [], "missing_branches": []}, "test_xyxy_to_mask": {"executed_lines": [313, 314, 315, 316], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 312, "executed_branches": [], "missing_branches": []}, "_mask_to_xyxy_reference": {"executed_lines": [321, 322, 323, 324, 325, 331], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 319, "executed_branches": [[322, 323], [322, 331], [324, 322], [324, 325]], "missing_branches": []}, "TestMaskToXyxy.test_mask_to_xyxy_known_values": {"executed_lines": [379, 381, 382, 383], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 375, "executed_branches": [], "missing_branches": []}, "TestMaskToXyxy.test_mask_to_xyxy_matches_reference": {"executed_lines": [388, 389, 390, 392, 393, 395, 396], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 386, "executed_branches": [], "missing_branches": []}, "test_mask_to_rle": {"executed_lines": [475, 476, 477], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 469, "executed_branches": [], "missing_branches": []}, "test_rle_to_mask": {"executed_lines": [588, 589, 590], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 582, "executed_branches": [], "missing_branches": []}, "test_mask_rle_compressed_round_trip": {"executed_lines": [594, 602, 603, 604], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 593, "executed_branches": [], "missing_branches": []}, "test_is_compressed_rle": {"executed_lines": [627], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 625, "executed_branches": [], "missing_branches": []}, "test_base48_decode": {"executed_lines": [647], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 645, "executed_branches": [], "missing_branches": []}, "test_base48_decode_malformed": {"executed_lines": [659, 660], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 657, "executed_branches": [], "missing_branches": []}, "test_base48_encode": {"executed_lines": [675], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 673, "executed_branches": [], "missing_branches": []}, "test_base48_round_trip": {"executed_lines": [693], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 691, "executed_branches": [], "missing_branches": []}, "test_delta_decode": {"executed_lines": [715], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 713, "executed_branches": [], "missing_branches": []}, "test_delta_encode": {"executed_lines": [731], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 729, "executed_branches": [], "missing_branches": []}, "test_delta_round_trip": {"executed_lines": [745], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 743, "executed_branches": [], "missing_branches": []}, "test_mask_to_rle_counts": {"executed_lines": [793], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 789, "executed_branches": [], "missing_branches": []}, "test_rle_counts_to_mask": {"executed_lines": [857, 858], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 850, "executed_branches": [], "missing_branches": []}, "test_mask_rle_counts_round_trip": {"executed_lines": [879, 880, 881, 882], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 877, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 28, 46, 51, 69, 74, 120, 125, 143, 148, 312, 319, 334, 335, 375, 385, 386, 399, 469, 480, 582, 593, 612, 625, 635, 645, 650, 657, 663, 673, 678, 691, 701, 713, 718, 729, 734, 743, 753, 789, 796, 850, 861, 877], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestMaskToXyxy": {"executed_lines": [379, 381, 382, 383, 388, 389, 390, 392, 393, 395, 396], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 334, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 28, 46, 47, 48, 51, 69, 70, 71, 74, 120, 121, 122, 125, 143, 144, 145, 148, 312, 313, 314, 315, 316, 319, 321, 322, 323, 324, 325, 331, 334, 335, 375, 385, 386, 399, 469, 475, 476, 477, 480, 582, 588, 589, 590, 593, 594, 602, 603, 604, 612, 625, 627, 635, 645, 647, 650, 657, 659, 660, 663, 673, 675, 678, 691, 693, 701, 713, 715, 718, 729, 731, 734, 743, 745, 753, 789, 793, 796, 850, 857, 858, 861, 877, 879, 880, 881, 882], "summary": {"covered_lines": 93, "num_statements": 93, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[322, 323], [322, 331], [324, 322], [324, 325]], "missing_branches": []}}}, "tests\\detection\\utils\\test_internal.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 17, 18, 20, 21, 23, 24, 25, 28, 454, 461, 462, 463, 464, 465, 466, 469, 472, 473, 474, 477, 488, 675, 680, 681, 682, 685, 686, 687, 691, 696, 850, 856, 857, 858, 859, 860, 864, 869, 1032, 1033, 1034, 1035, 1037, 1038, 1039, 1040, 1042], "summary": {"covered_lines": 54, "num_statements": 57, "percent_covered": 92.20779220779221, "percent_covered_display": "92", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 94.73684210526316, "percent_statements_covered_display": "95", "num_branches": 20, "num_partial_branches": 3, "covered_branches": 17, "missing_branches": 3, "percent_branches_covered": 85.0, "percent_branches_covered_display": "85"}, "missing_lines": [483, 683, 1036], "excluded_lines": [], "executed_branches": [[472, -28], [472, 473], [473, 474], [682, 685], [685, -488], [685, 686], [686, 687], [686, 691], [858, -696], [858, 859], [859, 860], [859, 864], [1035, 1037], [1037, -869], [1037, 1038], [1039, 1040], [1039, 1042]], "missing_branches": [[473, 483], [682, 683], [1035, 1036]], "functions": {"test_process_roboflow_result": {"executed_lines": [461, 462, 463, 464, 465, 466, 469, 472, 473, 474, 477], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [483], "excluded_lines": [], "start_line": 454, "executed_branches": [[472, -28], [472, 473], [473, 474]], "missing_branches": [[473, 483]]}, "test_merge_data": {"executed_lines": [680, 681, 682, 685, 686, 687, 691], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [683], "excluded_lines": [], "start_line": 675, "executed_branches": [[682, 685], [685, -488], [685, 686], [686, 687], [686, 691]], "missing_branches": [[682, 683]]}, "test_get_data_item": {"executed_lines": [856, 857, 858, 859, 860, 864], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 850, "executed_branches": [[858, -696], [858, 859], [859, 860], [859, 864]], "missing_branches": []}, "test_merge_metadata": {"executed_lines": [1033, 1034, 1035, 1037, 1038, 1039, 1040, 1042], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1036], "excluded_lines": [], "start_line": 1032, "executed_branches": [[1035, 1037], [1037, -869], [1037, 1038], [1039, 1040], [1039, 1042]], "missing_branches": [[1035, 1036]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 17, 18, 20, 21, 23, 24, 25, 28, 454, 488, 675, 696, 850, 869, 1032], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 17, 18, 20, 21, 23, 24, 25, 28, 454, 461, 462, 463, 464, 465, 466, 469, 472, 473, 474, 477, 488, 675, 680, 681, 682, 685, 686, 687, 691, 696, 850, 856, 857, 858, 859, 860, 864, 869, 1032, 1033, 1034, 1035, 1037, 1038, 1039, 1040, 1042], "summary": {"covered_lines": 54, "num_statements": 57, "percent_covered": 92.20779220779221, "percent_covered_display": "92", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 94.73684210526316, "percent_statements_covered_display": "95", "num_branches": 20, "num_partial_branches": 3, "covered_branches": 17, "missing_branches": 3, "percent_branches_covered": 85.0, "percent_branches_covered_display": "85"}, "missing_lines": [483, 683, 1036], "excluded_lines": [], "start_line": 1, "executed_branches": [[472, -28], [472, 473], [473, 474], [682, 685], [685, -488], [685, 686], [686, 687], [686, 691], [858, -696], [858, 859], [859, 860], [859, 864], [1035, 1037], [1037, -869], [1037, 1038], [1039, 1040], [1039, 1042]], "missing_branches": [[473, 483], [682, 683], [1035, 1036]]}}}, "tests\\detection\\utils\\test_iou_and_nms.py": {"executed_lines": [1, 3, 5, 6, 8, 21, 24, 28, 29, 30, 31, 34, 37, 39, 50, 163, 169, 170, 174, 177, 269, 275, 276, 279, 282, 474, 481, 482, 485, 488, 654, 661, 662, 665, 666, 667, 670, 822, 829, 830, 835, 838, 1093, 1100, 1101, 1107, 1108, 1109, 1117, 1130, 1134, 1139, 1140, 1142, 1147, 1153, 1154, 1155, 1163, 1170, 1180, 1181, 1183, 1184, 1186, 1187, 1188, 1189, 1192, 1195, 1203, 1211, 1212, 1213, 1215, 1220, 1221, 1222, 1223, 1225, 1228, 1229, 1231, 1232, 1235, 1236, 1238, 1240, 1241, 1243, 1246, 1248, 1250, 1251, 1253, 1255, 1257, 1272, 1276, 1278, 1279, 1280, 1282, 1288, 1289, 1291, 1293, 1295, 1297, 1299, 1300, 1302, 1325, 1337, 1338, 1340, 1348, 1350, 1351, 1353, 1355, 1356, 1357, 1359, 1367, 1371, 1372, 1374, 1375, 1378, 1381, 1385, 1386, 1387, 1388, 1396, 1397, 1399, 1402, 1404, 1411, 1415, 1416, 1417, 1418, 1426, 1428, 1431, 1433, 1436, 1437, 1438, 1439, 1443, 1445, 1446, 1448, 1452, 1453, 1455, 1456, 1458, 1459, 1460, 1462, 1468, 1470, 1477, 1482, 1483, 1484, 1485, 1493, 1494, 1496, 1502, 1504, 1511, 1515, 1516, 1517, 1518, 1526, 1533, 1536, 1539, 1541, 1542, 1544, 1548, 1550, 1552, 1553, 1554, 1556, 1560, 1562, 1565, 1566, 1567, 1568, 1569, 1578, 1582, 1583, 1586, 1592, 1593, 1594, 1595, 1596, 1598, 1599, 1607, 1610, 1617, 1625, 1634, 1635, 1636, 1638, 1640, 1641, 1643, 1645, 1646, 1647, 1649, 1650, 1652, 1655, 1658, 1660, 1662, 1663, 1664, 1665, 1667, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1677, 1679, 1680, 1681, 1682, 1684, 1685, 1686, 1689, 1690, 1693, 1694, 1698, 1702, 1703, 1704, 1705, 1706, 1707, 1711, 1715, 1716, 1717, 1719, 1721, 1722, 1724, 1725, 1726, 1727, 1729, 1730, 1731, 1733, 1735, 1736, 1738, 1739, 1740, 1741], "summary": {"covered_lines": 285, "num_statements": 285, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[1279, -1257], [1279, 1280], [1595, 1596], [1595, 1598]], "missing_branches": [], "functions": {"_rotated_rect": {"executed_lines": [28, 29, 30, 31, 34], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24, "executed_branches": [], "missing_branches": []}, "_aabb_of": {"executed_lines": [39], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37, "executed_branches": [], "missing_branches": []}, "test_group_overlapping_boxes": {"executed_lines": [169, 170, 174], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 163, "executed_branches": [], "missing_branches": []}, "test_box_non_max_suppression": {"executed_lines": [275, 276, 279], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 269, "executed_branches": [], "missing_branches": []}, "test_mask_non_max_suppression": {"executed_lines": [481, 482, 485], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 474, "executed_branches": [], "missing_branches": []}, "test_mask_non_max_merge": {"executed_lines": [661, 662, 665, 666, 667], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 654, "executed_branches": [], "missing_branches": []}, "test_box_iou": {"executed_lines": [829, 830, 835], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 822, "executed_branches": [], "missing_branches": []}, "test_box_iou_batch": {"executed_lines": [1100, 1101, 1107, 1108, 1109], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1093, "executed_branches": [], "missing_branches": []}, "test_box_iou_batch_symmetric_large": {"executed_lines": [1139, 1140, 1142, 1147, 1153, 1154, 1155], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1134, "executed_branches": [], "missing_branches": []}, "test_oriented_box_iou_batch_is_invariant_to_non_square_scaling": {"executed_lines": [1180, 1181, 1183, 1184, 1186, 1187, 1188, 1189], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1170, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_is_invariant_to_canvas_transforms": {"executed_lines": [1211, 1212, 1213, 1215, 1220, 1221, 1222, 1223], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1203, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_supports_overlap_metric": {"executed_lines": [1228, 1229, 1231, 1232, 1235, 1236], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1225, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_half_overlap_matches_analytic_value": {"executed_lines": [1240, 1241, 1243, 1246], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1238, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_disjoint_boxes_score_zero": {"executed_lines": [1250, 1251, 1253, 1255], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1248, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_self_comparison_is_symmetric_with_unit_diagonal": {"executed_lines": [1276, 1278, 1279, 1280], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1272, "executed_branches": [[1279, -1257], [1279, 1280]], "missing_branches": []}, "TestOrientedBoxIouBatch.test_envelope_overlap_without_polygon_overlap_scores_zero": {"executed_lines": [1288, 1289, 1291, 1293], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1282, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_rejects_unsupported_overlap_metric": {"executed_lines": [1297, 1299, 1300], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1295, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_degenerate_boxes_score_zero": {"executed_lines": [1337, 1338], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1325, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_empty_input_returns_correct_shape": {"executed_lines": [1350, 1351, 1353, 1355, 1356, 1357], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1348, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_invalid_shape_raises_value_error": {"executed_lines": [1371, 1372, 1374, 1375], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1367, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_keeps_x_pattern": {"executed_lines": [1385, 1386, 1387, 1388, 1396, 1397, 1399, 1402], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1381, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_suppression_is_class_aware": {"executed_lines": [1415, 1416, 1417, 1418, 1426, 1428, 1431], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1411, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_length_mismatch_raises": {"executed_lines": [1436, 1437, 1438, 1439], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1433, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_empty_predictions": {"executed_lines": [1445, 1446, 1448, 1452, 1453], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1443, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_keeps_single_prediction": {"executed_lines": [1458, 1459, 1460, 1462, 1468], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1456, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_threshold_extremes": {"executed_lines": [1482, 1483, 1484, 1485, 1493, 1494, 1496, 1502], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1477, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_overlap_metric_determines_suppression": {"executed_lines": [1515, 1516, 1517, 1518, 1526, 1533], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1511, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxMerge.test_empty_predictions_returns_empty_groups": {"executed_lines": [1541, 1542, 1544, 1548], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1539, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxMerge.test_single_prediction_returns_singleton_group": {"executed_lines": [1552, 1553, 1554, 1556, 1560], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1550, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxMerge.test_groups_overlapping_oriented_boxes": {"executed_lines": [1565, 1566, 1567, 1568, 1569, 1578, 1582, 1583], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1562, "executed_branches": [], "missing_branches": []}, "_naive_mask_iou": {"executed_lines": [1592, 1593, 1594, 1595, 1596, 1598, 1599], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1586, "executed_branches": [[1595, 1596], [1595, 1598]], "missing_branches": []}, "TestMaskIouBatch.test_matches_naive_reference_on_random_masks": {"executed_lines": [1634, 1635, 1636, 1638, 1640, 1641], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1625, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_chunking_matches_single_pass": {"executed_lines": [1645, 1646, 1647, 1649, 1650, 1652, 1655, 1658], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1643, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_mismatched_spatial_shape_raises": {"executed_lines": [1662, 1663, 1664, 1665], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1660, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_invalid_ndim_raises": {"executed_lines": [1669, 1670, 1671, 1672, 1673, 1674, 1675], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1667, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_identical_disjoint_and_empty": {"executed_lines": [1679, 1680, 1681, 1682, 1684, 1685, 1686, 1689, 1690, 1693, 1694], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1677, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_matmul_emits_no_runtime_warnings": {"executed_lines": [1702, 1703, 1704, 1705, 1706, 1707], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1698, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_float64_promotion_for_large_float32_masks": {"executed_lines": [1715, 1716, 1717], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1711, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_compact_mask_mixed_input_gives_same_result": {"executed_lines": [1721, 1722, 1724, 1725, 1726, 1727, 1729, 1730, 1731], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1719, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_detection_exceeds_limit_warns_and_completes": {"executed_lines": [1735, 1736, 1738, 1739, 1740, 1741], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1733, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 21, 24, 37, 50, 163, 177, 269, 282, 474, 488, 654, 670, 822, 838, 1093, 1117, 1130, 1134, 1163, 1170, 1192, 1195, 1203, 1225, 1238, 1248, 1257, 1272, 1282, 1295, 1302, 1325, 1340, 1348, 1359, 1367, 1378, 1381, 1404, 1411, 1433, 1443, 1455, 1456, 1470, 1477, 1504, 1511, 1536, 1539, 1550, 1562, 1586, 1607, 1610, 1617, 1625, 1643, 1660, 1667, 1677, 1698, 1711, 1719, 1733], "summary": {"covered_lines": 70, "num_statements": 70, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestOrientedBoxIouBatch": {"executed_lines": [1211, 1212, 1213, 1215, 1220, 1221, 1222, 1223, 1228, 1229, 1231, 1232, 1235, 1236, 1240, 1241, 1243, 1246, 1250, 1251, 1253, 1255, 1276, 1278, 1279, 1280, 1288, 1289, 1291, 1293, 1297, 1299, 1300, 1337, 1338, 1350, 1351, 1353, 1355, 1356, 1357, 1371, 1372, 1374, 1375], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1192, "executed_branches": [[1279, -1257], [1279, 1280]], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression": {"executed_lines": [1385, 1386, 1387, 1388, 1396, 1397, 1399, 1402, 1415, 1416, 1417, 1418, 1426, 1428, 1431, 1436, 1437, 1438, 1439, 1445, 1446, 1448, 1452, 1453, 1458, 1459, 1460, 1462, 1468, 1482, 1483, 1484, 1485, 1493, 1494, 1496, 1502, 1515, 1516, 1517, 1518, 1526, 1533], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1378, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxMerge": {"executed_lines": [1541, 1542, 1544, 1548, 1552, 1553, 1554, 1556, 1560, 1565, 1566, 1567, 1568, 1569, 1578, 1582, 1583], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1536, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch": {"executed_lines": [1634, 1635, 1636, 1638, 1640, 1641, 1645, 1646, 1647, 1649, 1650, 1652, 1655, 1658, 1662, 1663, 1664, 1665, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1679, 1680, 1681, 1682, 1684, 1685, 1686, 1689, 1690, 1693, 1694, 1702, 1703, 1704, 1705, 1706, 1707, 1715, 1716, 1717, 1721, 1722, 1724, 1725, 1726, 1727, 1729, 1730, 1731, 1735, 1736, 1738, 1739, 1740, 1741], "summary": {"covered_lines": 60, "num_statements": 60, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1607, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 21, 24, 28, 29, 30, 31, 34, 37, 39, 50, 163, 169, 170, 174, 177, 269, 275, 276, 279, 282, 474, 481, 482, 485, 488, 654, 661, 662, 665, 666, 667, 670, 822, 829, 830, 835, 838, 1093, 1100, 1101, 1107, 1108, 1109, 1117, 1130, 1134, 1139, 1140, 1142, 1147, 1153, 1154, 1155, 1163, 1170, 1180, 1181, 1183, 1184, 1186, 1187, 1188, 1189, 1192, 1195, 1203, 1225, 1238, 1248, 1257, 1272, 1282, 1295, 1302, 1325, 1340, 1348, 1359, 1367, 1378, 1381, 1404, 1411, 1433, 1443, 1455, 1456, 1470, 1477, 1504, 1511, 1536, 1539, 1550, 1562, 1586, 1592, 1593, 1594, 1595, 1596, 1598, 1599, 1607, 1610, 1617, 1625, 1643, 1660, 1667, 1677, 1698, 1711, 1719, 1733], "summary": {"covered_lines": 120, "num_statements": 120, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[1595, 1596], [1595, 1598]], "missing_branches": []}}}, "tests\\detection\\utils\\test_masks.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 18, 268, 275, 276, 277, 280, 361, 366, 367, 368, 371, 418, 421, 422, 423, 426, 495, 501, 502, 503, 506, 719, 728, 729, 736], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_move_masks": {"executed_lines": [275, 276, 277], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 268, "executed_branches": [], "missing_branches": []}, "test_calculate_masks_centroids": {"executed_lines": [366, 367, 368], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 361, "executed_branches": [], "missing_branches": []}, "test_contains_holes": {"executed_lines": [421, 422, 423], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 418, "executed_branches": [], "missing_branches": []}, "test_contains_multiple_segments": {"executed_lines": [501, 502, 503], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 495, "executed_branches": [], "missing_branches": []}, "test_filter_segments_by_distance_sweep": {"executed_lines": [728, 729, 736], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 719, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 18, 268, 280, 361, 371, 418, 426, 495, 506, 719], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 9, 18, 268, 275, 276, 277, 280, 361, 366, 367, 368, 371, 418, 421, 422, 423, 426, 495, 501, 502, 503, 506, 719, 728, 729, 736], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\utils\\test_polygons.py": {"executed_lines": [1, 3, 5, 6, 8, 14, 92, 99, 100, 103, 104, 105, 108, 109, 110, 115, 116, 117, 118, 126, 127, 129, 131, 132, 133, 134, 135, 137, 139, 141, 143, 145, 154, 156, 157, 158, 160, 167, 169, 170, 171], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[104, -14], [104, 105], [134, -116], [134, 135]], "missing_branches": [], "functions": {"test_filter_polygons_by_area": {"executed_lines": [99, 100, 103, 104, 105], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [[104, -14], [104, 105]], "missing_branches": []}, "_regular_polygon": {"executed_lines": [109, 110], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 108, "executed_branches": [], "missing_branches": []}, "TestApproximatePolygon.test_within_budget_and_valid": {"executed_lines": [126, 127, 129, 131, 132, 133, 134, 135], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 118, "executed_branches": [[134, -116], [134, 135]], "missing_branches": []}, "TestApproximatePolygon.test_zero_percentage_keeps_polygon": {"executed_lines": [139, 141, 143], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 137, "executed_branches": [], "missing_branches": []}, "TestApproximatePolygon.test_raises_on_out_of_range_percentage": {"executed_lines": [156, 157, 158], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 154, "executed_branches": [], "missing_branches": []}, "TestApproximatePolygon.test_raises_on_non_positive_epsilon_step": {"executed_lines": [169, 170, 171], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 167, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 14, 92, 108, 115, 116, 117, 118, 137, 145, 154, 160, 167], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestApproximatePolygon": {"executed_lines": [126, 127, 129, 131, 132, 133, 134, 135, 139, 141, 143, 156, 157, 158, 169, 170, 171], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 115, "executed_branches": [[134, -116], [134, 135]], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 14, 92, 99, 100, 103, 104, 105, 108, 109, 110, 115, 116, 117, 118, 137, 145, 154, 160, 167], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[104, -14], [104, 105]], "missing_branches": []}}}, "tests\\detection\\utils\\test_vlms.py": {"executed_lines": [1, 3, 6, 63, 64, 70, 106, 109], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_edit_distance": {"executed_lines": [64], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 63, "executed_branches": [], "missing_branches": []}, "test_fuzzy_match_index": {"executed_lines": [109], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 106, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 6, 63, 70, 106], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 6, 63, 64, 70, 106, 109], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\draw\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\draw\\test_color.py": {"executed_lines": [1, 3, 5, 7, 10, 58, 70, 71, 72, 75, 91, 101, 102, 103, 106, 139, 144, 145, 146, 149, 182, 187, 188, 189, 192, 214, 219, 220, 221, 224, 246, 251, 252, 253, 256, 264, 269, 270, 271, 274, 282, 287, 288, 289, 292, 302, 303, 306, 315, 316, 317], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_color_from_hex": {"executed_lines": [70, 71, 72], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58, "executed_branches": [], "missing_branches": []}, "test_color_as_hex": {"executed_lines": [101, 102, 103], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 91, "executed_branches": [], "missing_branches": []}, "test_color_from_rgb_tuple": {"executed_lines": [144, 145, 146], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 139, "executed_branches": [], "missing_branches": []}, "test_color_from_bgr_tuple": {"executed_lines": [187, 188, 189], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 182, "executed_branches": [], "missing_branches": []}, "test_color_from_rgba_tuple": {"executed_lines": [219, 220, 221], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 214, "executed_branches": [], "missing_branches": []}, "test_color_from_bgra_tuple": {"executed_lines": [251, 252, 253], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 246, "executed_branches": [], "missing_branches": []}, "test_color_as_rgba": {"executed_lines": [269, 270, 271], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 264, "executed_branches": [], "missing_branches": []}, "test_color_as_bgra": {"executed_lines": [287, 288, 289], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 282, "executed_branches": [], "missing_branches": []}, "test_color_repr": {"executed_lines": [303], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 302, "executed_branches": [], "missing_branches": []}, "test_color_hash": {"executed_lines": [316, 317], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 315, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 7, 10, 58, 75, 91, 106, 139, 149, 182, 192, 214, 224, 246, 256, 264, 274, 282, 292, 302, 306, 315], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 10, 58, 70, 71, 72, 75, 91, 101, 102, 103, 106, 139, 144, 145, 146, 149, 182, 187, 188, 189, 192, 214, 219, 220, 221, 224, 246, 251, 252, 253, 256, 264, 269, 270, 271, 274, 282, 287, 288, 289, 292, 302, 303, 306, 315, 316, 317], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\geometry\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\geometry\\test_core.py": {"executed_lines": [1, 3, 6, 29, 39, 40, 43, 64, 72, 73], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_vector_cross_product": {"executed_lines": [39, 40], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29, "executed_branches": [], "missing_branches": []}, "test_vector_magnitude": {"executed_lines": [72, 73], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 6, 29, 43, 64], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 6, 29, 39, 40, 43, 64, 72, 73], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\geometry\\test_utils.py": {"executed_lines": [1, 2, 4, 5, 8, 29, 30, 31, 32, 34, 37, 50, 59, 60], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"generate_test_polygon": {"executed_lines": [29, 30, 31, 32, 34], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8, "executed_branches": [], "missing_branches": []}, "test_get_polygon_center": {"executed_lines": [59, 60], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 37, 50], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 29, 30, 31, 32, 34, 37, 50, 59, 60], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\helpers.py": {"executed_lines": [9, 11, 13, 15, 16, 19, 62, 63, 65, 79, 125, 126, 128, 144, 178, 180, 181, 183, 184, 185, 187, 188, 189, 190, 192, 194, 197, 215, 218, 231, 234, 235, 236, 239, 245, 248, 251, 252, 254, 255, 257, 258, 260, 264, 267, 268, 271, 274, 281, 282, 283, 284, 287, 290, 291, 292, 293, 294, 295, 297, 298, 301, 304, 305, 306, 307, 310, 313, 314, 317, 320, 321, 322, 323, 326, 329, 330, 331, 334, 335, 336, 337, 338, 341, 342, 343, 346, 347, 355, 356, 357, 360, 403, 405, 407, 408, 410, 412, 413, 414, 415, 416, 418, 419, 420, 422, 424, 425, 426, 429, 430, 431, 433, 434, 436, 437, 438, 439, 442, 443, 445, 448, 451, 452, 453, 456, 457, 458, 460, 471, 492, 498, 499, 500, 502, 503, 505, 506, 507, 509, 512, 513, 514, 515, 518, 519, 520, 521, 525, 526, 527, 528, 530], "summary": {"covered_lines": 153, "num_statements": 155, "percent_covered": 98.26589595375722, "percent_covered_display": "98", "missing_lines": 2, "excluded_lines": 1, "percent_statements_covered": 98.70967741935483, "percent_statements_covered_display": "99", "num_branches": 18, "num_partial_branches": 1, "covered_branches": 17, "missing_branches": 1, "percent_branches_covered": 94.44444444444444, "percent_branches_covered_display": "94"}, "missing_lines": [261, 494], "excluded_lines": [198], "executed_branches": [[183, 184], [183, 194], [322, -320], [322, 323], [407, 408], [407, 410], [422, 424], [422, 456], [433, 434], [433, 451], [492, 498], [502, 503], [502, 530], [503, 505], [503, 509], [509, 512], [509, 525]], "missing_branches": [[492, 494]], "functions": {"_create_detections": {"executed_lines": [62, 65], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19, "executed_branches": [], "missing_branches": []}, "_create_detections.convert_data": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62, "executed_branches": [], "missing_branches": []}, "_create_key_points": {"executed_lines": [125, 128], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79, "executed_branches": [], "missing_branches": []}, "_create_key_points.convert_data": {"executed_lines": [126], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 125, "executed_branches": [], "missing_branches": []}, "_generate_random_boxes": {"executed_lines": [178, 180, 181, 183, 184, 185, 187, 188, 189, 190, 192, 194], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 144, "executed_branches": [[183, 184], [183, 194]], "missing_branches": []}, "assert_almost_equal": {"executed_lines": [215], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [198], "start_line": 197, "executed_branches": [], "missing_branches": []}, "assert_image_mostly_same": {"executed_lines": [231, 234, 235, 236, 239, 245], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 218, "executed_branches": [], "missing_branches": []}, "_FakeTensor.__init__": {"executed_lines": [252], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 251, "executed_branches": [], "missing_branches": []}, "_FakeTensor.cpu": {"executed_lines": [255], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 254, "executed_branches": [], "missing_branches": []}, "_FakeTensor.numpy": {"executed_lines": [258], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 257, "executed_branches": [], "missing_branches": []}, "_FakeTensor.int": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [261], "excluded_lines": [], "start_line": 260, "executed_branches": [], "missing_branches": []}, "_FakeYOLOv5Results.__init__": {"executed_lines": [268], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 267, "executed_branches": [], "missing_branches": []}, "_FakeUltralyticsBoxes.__init__": {"executed_lines": [281, 282, 283, 284], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 274, "executed_branches": [], "missing_branches": []}, "_FakeUltralyticsResults.__init__": {"executed_lines": [291, 292, 293, 294, 295], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 290, "executed_branches": [], "missing_branches": []}, "_FakeUltralyticsResults.__len__": {"executed_lines": [298], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 297, "executed_branches": [], "missing_branches": []}, "_FakeYoloNasPrediction.__init__": {"executed_lines": [305, 306, 307], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 304, "executed_branches": [], "missing_branches": []}, "_FakeYoloNasResults.__init__": {"executed_lines": [314], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 313, "executed_branches": [], "missing_branches": []}, "_FakeYoloNasKeyPoint.__init__": {"executed_lines": [321, 322, 323], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 320, "executed_branches": [[322, -320], [322, 323]], "missing_branches": []}, "_FakeYoloNasKeyPointResults.__init__": {"executed_lines": [330, 331], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 329, "executed_branches": [], "missing_branches": []}, "_FakeMediapipeLandmark.__init__": {"executed_lines": [336, 337, 338], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 335, "executed_branches": [], "missing_branches": []}, "_FakeMediapipePose.__init__": {"executed_lines": [343], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 342, "executed_branches": [], "missing_branches": []}, "_FakeMediapipeResults.__init__": {"executed_lines": [355, 356, 357], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 347, "executed_branches": [], "missing_branches": []}, "create_yolo_dataset": {"executed_lines": [403, 405, 407, 408, 410, 412, 413, 414, 415, 416, 418, 419, 420, 422, 424, 425, 426, 429, 430, 431, 433, 434, 436, 437, 438, 439, 442, 443, 445, 448, 451, 452, 453, 456, 457, 458, 460], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 360, "executed_branches": [[407, 408], [407, 410], [422, 424], [422, 456], [433, 434], [433, 451]], "missing_branches": []}, "create_predictions_with_class_iou_tests": {"executed_lines": [492, 498, 499, 500, 502, 503, 505, 506, 507, 509, 512, 513, 514, 515, 518, 519, 520, 521, 525, 526, 527, 528, 530], "summary": {"covered_lines": 23, "num_statements": 24, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.83333333333333, "percent_statements_covered_display": "96", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [494], "excluded_lines": [], "start_line": 471, "executed_branches": [[492, 498], [502, 503], [502, 530], [503, 505], [503, 509], [509, 512], [509, 525]], "missing_branches": [[492, 494]]}, "": {"executed_lines": [9, 11, 13, 15, 16, 19, 79, 144, 197, 218, 248, 251, 254, 257, 260, 264, 267, 271, 274, 287, 290, 297, 301, 304, 310, 313, 317, 320, 326, 329, 334, 335, 341, 342, 346, 347, 360, 471], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"_FakeTensor": {"executed_lines": [252, 255, 258], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [261], "excluded_lines": [], "start_line": 248, "executed_branches": [], "missing_branches": []}, "_FakeYOLOv5Results": {"executed_lines": [268], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 264, "executed_branches": [], "missing_branches": []}, "_FakeUltralyticsBoxes": {"executed_lines": [281, 282, 283, 284], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 271, "executed_branches": [], "missing_branches": []}, "_FakeUltralyticsResults": {"executed_lines": [291, 292, 293, 294, 295, 298], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 287, "executed_branches": [], "missing_branches": []}, "_FakeYoloNasPrediction": {"executed_lines": [305, 306, 307], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 301, "executed_branches": [], "missing_branches": []}, "_FakeYoloNasResults": {"executed_lines": [314], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 310, "executed_branches": [], "missing_branches": []}, "_FakeYoloNasKeyPoint": {"executed_lines": [321, 322, 323], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 317, "executed_branches": [[322, -320], [322, 323]], "missing_branches": []}, "_FakeYoloNasKeyPointResults": {"executed_lines": [330, 331], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 326, "executed_branches": [], "missing_branches": []}, "_FakeMediapipeLandmark": {"executed_lines": [336, 337, 338], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 334, "executed_branches": [], "missing_branches": []}, "_FakeMediapipePose": {"executed_lines": [343], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 341, "executed_branches": [], "missing_branches": []}, "_FakeMediapipeResults": {"executed_lines": [355, 356, 357], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 346, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [9, 11, 13, 15, 16, 19, 62, 63, 65, 79, 125, 126, 128, 144, 178, 180, 181, 183, 184, 185, 187, 188, 189, 190, 192, 194, 197, 215, 218, 231, 234, 235, 236, 239, 245, 248, 251, 254, 257, 260, 264, 267, 271, 274, 287, 290, 297, 301, 304, 310, 313, 317, 320, 326, 329, 334, 335, 341, 342, 346, 347, 360, 403, 405, 407, 408, 410, 412, 413, 414, 415, 416, 418, 419, 420, 422, 424, 425, 426, 429, 430, 431, 433, 434, 436, 437, 438, 439, 442, 443, 445, 448, 451, 452, 453, 456, 457, 458, 460, 471, 492, 498, 499, 500, 502, 503, 505, 506, 507, 509, 512, 513, 514, 515, 518, 519, 520, 521, 525, 526, 527, 528, 530], "summary": {"covered_lines": 123, "num_statements": 124, "percent_covered": 98.57142857142857, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 1, "percent_statements_covered": 99.19354838709677, "percent_statements_covered_display": "99", "num_branches": 16, "num_partial_branches": 1, "covered_branches": 15, "missing_branches": 1, "percent_branches_covered": 93.75, "percent_branches_covered_display": "94"}, "missing_lines": [494], "excluded_lines": [198], "start_line": 1, "executed_branches": [[183, 184], [183, 194], [407, 408], [407, 410], [422, 424], [422, 456], [433, 434], [433, 451], [492, 498], [502, 503], [502, 530], [503, 505], [503, 509], [509, 512], [509, 525]], "missing_branches": [[492, 494]]}}}, "tests\\key_points\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\key_points\\test_annotators.py": {"executed_lines": [1, 2, 4, 5, 8, 16, 23, 24, 27, 31, 39, 40, 41, 42, 45, 49, 56, 57, 60, 62, 64, 68, 69, 70, 72, 74, 78, 79, 80, 82, 84, 87, 88, 89, 92, 100, 107, 108, 111, 115, 123, 124, 125, 128, 132, 139, 140, 143, 145, 147, 151, 152, 153, 155, 157, 161, 162, 163, 165, 173, 178, 179, 181, 184, 190, 195, 199, 200, 201, 203, 206, 208, 209, 211, 216, 217, 219, 221, 226, 228, 229, 231, 236, 237, 239, 240, 242, 244, 245, 250, 255, 257, 260, 264, 265, 267, 269, 270, 274, 276, 278, 279, 281, 290, 292, 293, 296, 299, 300, 304, 305, 306, 308, 313, 315, 316, 318, 319, 320, 322, 324, 325, 326, 331, 336, 338, 341, 345, 346, 349, 352, 353, 357, 358, 359, 361, 365, 367, 368, 370, 371, 372, 374, 376, 377, 378, 383, 388, 390, 393, 397, 398, 401, 402, 428, 431, 432, 434, 467, 468, 469, 471, 488, 489, 490, 492, 502, 503, 504], "summary": {"covered_lines": 169, "num_statements": 169, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestVertexAnnotator.test_annotate_with_default_parameters": {"executed_lines": [23, 24, 27], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16, "executed_branches": [], "missing_branches": []}, "TestVertexAnnotator.test_annotate_with_custom_color_and_radius": {"executed_lines": [39, 40, 41, 42, 45], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31, "executed_branches": [], "missing_branches": []}, "TestVertexAnnotator.test_annotate_empty_key_points": {"executed_lines": [56, 57, 60], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49, "executed_branches": [], "missing_branches": []}, "TestVertexAnnotator.test_visible_false_skips_vertex": {"executed_lines": [64, 68, 69, 70], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62, "executed_branches": [], "missing_branches": []}, "TestVertexAnnotator.test_visible_true_draws_vertex": {"executed_lines": [74, 78, 79, 80], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72, "executed_branches": [], "missing_branches": []}, "TestVertexAnnotator.test_visible_none_draws_all": {"executed_lines": [84, 87, 88, 89], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 82, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator.test_annotate_with_default_parameters": {"executed_lines": [107, 108, 111], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 100, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator.test_annotate_with_custom_edges": {"executed_lines": [123, 124, 125, 128], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 115, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator.test_annotate_empty_key_points": {"executed_lines": [139, 140, 143], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 132, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator.test_visible_false_skips_edge": {"executed_lines": [147, 151, 152, 153], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 145, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator.test_visible_true_draws_edge": {"executed_lines": [157, 161, 162, 163], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 155, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator.test_annotate_no_edges_found": {"executed_lines": [173, 178, 179, 181], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 165, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_annotate_with_covariance_data": {"executed_lines": [195, 199, 200, 201, 203, 206, 208, 209], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 190, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_annotate_empty_key_points": {"executed_lines": [216, 217, 219], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 211, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_annotate_missing_covariance_data_raises": {"executed_lines": [226, 228, 229], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 221, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_annotate_invalid_covariance_shape_raises": {"executed_lines": [236, 237, 239, 240], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 231, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_visible_false_skips_keypoint": {"executed_lines": [244, 245, 250, 255, 257, 260, 264, 265], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 242, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_max_axis_caps_large_eigenvalue": {"executed_lines": [269, 270, 274, 276, 278, 279], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 267, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_constructor_raises_on_invalid_params": {"executed_lines": [292, 293], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 290, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseOutlineAnnotator.test_annotate_draws_outlines": {"executed_lines": [300, 304, 305, 306, 308, 313, 315, 316], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 299, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseOutlineAnnotator.test_annotate_empty_key_points": {"executed_lines": [319, 320, 322], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 318, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseOutlineAnnotator.test_visible_false_skips_keypoint": {"executed_lines": [325, 326, 331, 336, 338, 341, 345, 346], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 324, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseHaloAnnotator.test_annotate_draws_halo": {"executed_lines": [353, 357, 358, 359, 361, 365, 367, 368], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 352, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseHaloAnnotator.test_annotate_empty_key_points": {"executed_lines": [371, 372, 374], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 370, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseHaloAnnotator.test_visible_false_skips_keypoint": {"executed_lines": [377, 378, 383, 388, 390, 393, 397, 398], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 376, "executed_branches": [], "missing_branches": []}, "TestVertexLabelAnnotator.test_resolve_labels_returns_expected": {"executed_lines": [431, 432], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 428, "executed_branches": [], "missing_branches": []}, "TestVertexLabelAnnotator.test_resolve_labels_raises": {"executed_lines": [468, 469], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 467, "executed_branches": [], "missing_branches": []}, "TestVertexLabelAnnotator.test_resolve_color_list_returns_expected": {"executed_lines": [489, 490], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 488, "executed_branches": [], "missing_branches": []}, "TestVertexLabelAnnotator.test_resolve_color_list_wrong_length_raises": {"executed_lines": [503, 504], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 502, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 16, 31, 49, 62, 72, 82, 92, 100, 115, 132, 145, 155, 165, 184, 190, 211, 221, 231, 242, 267, 281, 290, 296, 299, 318, 324, 349, 352, 370, 376, 401, 402, 428, 434, 467, 471, 488, 492, 502], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestVertexAnnotator": {"executed_lines": [23, 24, 27, 39, 40, 41, 42, 45, 56, 57, 60, 64, 68, 69, 70, 74, 78, 79, 80, 84, 87, 88, 89], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator": {"executed_lines": [107, 108, 111, 123, 124, 125, 128, 139, 140, 143, 147, 151, 152, 153, 157, 161, 162, 163, 173, 178, 179, 181], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator": {"executed_lines": [195, 199, 200, 201, 203, 206, 208, 209, 216, 217, 219, 226, 228, 229, 236, 237, 239, 240, 244, 245, 250, 255, 257, 260, 264, 265, 269, 270, 274, 276, 278, 279, 292, 293], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 184, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseOutlineAnnotator": {"executed_lines": [300, 304, 305, 306, 308, 313, 315, 316, 319, 320, 322, 325, 326, 331, 336, 338, 341, 345, 346], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 296, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseHaloAnnotator": {"executed_lines": [353, 357, 358, 359, 361, 365, 367, 368, 371, 372, 374, 377, 378, 383, 388, 390, 393, 397, 398], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 349, "executed_branches": [], "missing_branches": []}, "TestVertexLabelAnnotator": {"executed_lines": [431, 432, 468, 469, 489, 490, 503, 504], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 401, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 16, 31, 49, 62, 72, 82, 92, 100, 115, 132, 145, 155, 165, 184, 190, 211, 221, 231, 242, 267, 281, 290, 296, 299, 318, 324, 349, 352, 370, 376, 401, 402, 428, 434, 467, 471, 488, 492, 502], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\key_points\\test_core.py": {"executed_lines": [1, 3, 4, 6, 7, 16, 31, 371, 372, 373, 374, 377, 393, 508, 510, 511, 514, 517, 518, 523, 525, 526, 531, 532, 533, 535, 536, 546, 547, 548, 550, 551, 557, 558, 559, 561, 562, 568, 569, 570, 572, 573, 582, 583, 584, 585, 589, 590, 594, 595, 597, 598, 603, 608, 613, 614, 616, 617, 621, 626, 629, 631, 632, 633, 634, 637, 639, 640, 642, 647, 650, 652, 658, 659, 660, 662, 663, 666, 691, 695, 696, 697, 698, 699, 702, 704, 705, 706, 709, 711, 717, 719, 722, 724, 731, 733, 736, 738, 744, 746, 749, 751, 757, 759, 760, 763, 765, 771, 774, 775, 778, 780, 785, 786, 787, 788, 791, 793, 799, 800, 801, 802, 803, 804, 805, 806, 809, 811, 816, 817, 820, 861, 863, 864, 867, 869, 872, 875, 876, 879, 905, 907, 908, 911, 913, 916, 919, 922, 948, 950, 951, 954, 991, 993, 996, 999, 1002, 1004, 1006, 1007, 1009, 1010, 1012, 1013, 1015, 1028, 1032, 1033, 1034, 1036, 1037, 1039, 1041, 1043, 1044, 1046, 1047, 1048, 1050, 1051, 1053, 1055, 1057, 1059, 1060, 1061, 1063, 1065, 1067, 1069, 1070, 1072, 1074, 1075, 1077, 1078, 1082, 1087, 1396, 1398, 1399, 1402, 1437, 1439, 1440], "summary": {"covered_lines": 205, "num_statements": 205, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[800, 801], [800, 806], [816, -809], [816, 817]], "missing_branches": [], "functions": {"test_key_points_getitem": {"executed_lines": [372, 373, 374], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 371, "executed_branches": [], "missing_branches": []}, "test_key_points_getitem_detection_level": {"executed_lines": [510, 511], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 508, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_defaults_to_none": {"executed_lines": [518, 523], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 517, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_set_from_confidence_threshold": {"executed_lines": [526, 531, 532, 533], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 525, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_preserved_on_skeleton_filter": {"executed_lines": [536, 546, 547, 548], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 535, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_preserved_on_int_index": {"executed_lines": [551, 557, 558, 559], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 550, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_preserved_on_anchor_slice": {"executed_lines": [562, 568, 569, 570], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 561, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_preserved_on_2d_bool_mask": {"executed_lines": [573, 582, 583, 584, 585], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 572, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_none_stays_none_on_filter": {"executed_lines": [590, 594, 595], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 589, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_equality_with_visible": {"executed_lines": [598, 603, 608, 613, 614], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 597, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_equality_visible_none_vs_set": {"executed_lines": [617, 621, 626], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 616, "executed_branches": [], "missing_branches": []}, "test_key_points_empty": {"executed_lines": [631, 632, 633, 634], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 629, "executed_branches": [], "missing_branches": []}, "test_key_points_is_empty": {"executed_lines": [639, 640, 642, 647], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 637, "executed_branches": [], "missing_branches": []}, "test_key_points_setitem": {"executed_lines": [652, 658, 659, 660, 662, 663], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 650, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections": {"executed_lines": [695, 696, 697, 698, 699], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 691, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_empty": {"executed_lines": [704, 705, 706], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 702, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_ignores_missing_keypoints": {"executed_lines": [711, 717, 719], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 709, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_uses_detection_confidence": {"executed_lines": [724, 731, 733], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 722, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_selected_keypoint_indices": {"executed_lines": [738, 744, 746], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 736, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_confidence_over_selected_indices": {"executed_lines": [751, 757, 759, 760], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 749, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_mixed_valid_invalid_batch": {"executed_lines": [765, 771, 774, 775], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 763, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_with_data": {"executed_lines": [780, 785, 786, 787, 788], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 778, "executed_branches": [], "missing_branches": []}, "test_key_points_iteration": {"executed_lines": [793, 799, 800, 801, 802, 803, 804, 805, 806], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 791, "executed_branches": [[800, 801], [800, 806]], "missing_branches": []}, "test_key_points_iteration_no_confidence": {"executed_lines": [811, 816, 817], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 809, "executed_branches": [[816, -809], [816, 817]], "missing_branches": []}, "test_key_points_equality": {"executed_lines": [863, 864], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 861, "executed_branches": [], "missing_branches": []}, "test_key_points_equality_with_data": {"executed_lines": [869, 872, 875, 876], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 867, "executed_branches": [], "missing_branches": []}, "test_from_inference_input": {"executed_lines": [907, 908], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 905, "executed_branches": [], "missing_branches": []}, "test_from_inference_invalid_input": {"executed_lines": [913, 916, 919], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 911, "executed_branches": [], "missing_branches": []}, "test_from_yolo_nas_input": {"executed_lines": [950, 951], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 948, "executed_branches": [], "missing_branches": []}, "test_from_mediapipe_input": {"executed_lines": [993, 996], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 991, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor.test_constructor_accepts_and_warns_on_deprecated_confidence_kwarg": {"executed_lines": [1004, 1006, 1007, 1009, 1010, 1012, 1013], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1002, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor.test_constructor_rejects_both_confidence_and_keypoint_confidence": {"executed_lines": [1032, 1033, 1034, 1036, 1037], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1028, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor.test_constructor_normal_keypoint_confidence_path": {"executed_lines": [1041, 1043, 1044, 1046, 1047, 1048, 1050, 1051], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1039, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor.test_constructor_confidence_none_does_not_warn": {"executed_lines": [1055, 1057, 1059, 1060, 1061, 1063], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1053, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor.test_constructor_data_none_defaults_to_empty_dict": {"executed_lines": [1067, 1069, 1070], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1065, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor.test_keypoints_init_covers_all_dataclass_fields": {"executed_lines": [1074, 1075, 1077, 1078, 1082], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1072, "executed_branches": [], "missing_branches": []}, "test_with_nms": {"executed_lines": [1398, 1399], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1396, "executed_branches": [], "missing_branches": []}, "test_with_nms_raises": {"executed_lines": [1439, 1440], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1437, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 16, 31, 371, 377, 393, 508, 514, 517, 525, 535, 550, 561, 572, 589, 597, 616, 629, 637, 650, 666, 691, 702, 709, 722, 736, 749, 763, 778, 791, 809, 820, 861, 867, 879, 905, 911, 922, 948, 954, 991, 999, 1002, 1015, 1028, 1039, 1053, 1065, 1072, 1087, 1396, 1402, 1437], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestKeyPointsVisible": {"executed_lines": [518, 523, 526, 531, 532, 533, 536, 546, 547, 548, 551, 557, 558, 559, 562, 568, 569, 570, 573, 582, 583, 584, 585, 590, 594, 595, 598, 603, 608, 613, 614, 617, 621, 626], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 514, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor": {"executed_lines": [1004, 1006, 1007, 1009, 1010, 1012, 1013, 1032, 1033, 1034, 1036, 1037, 1041, 1043, 1044, 1046, 1047, 1048, 1050, 1051, 1055, 1057, 1059, 1060, 1061, 1063, 1067, 1069, 1070, 1074, 1075, 1077, 1078, 1082], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 999, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 16, 31, 371, 372, 373, 374, 377, 393, 508, 510, 511, 514, 517, 525, 535, 550, 561, 572, 589, 597, 616, 629, 631, 632, 633, 634, 637, 639, 640, 642, 647, 650, 652, 658, 659, 660, 662, 663, 666, 691, 695, 696, 697, 698, 699, 702, 704, 705, 706, 709, 711, 717, 719, 722, 724, 731, 733, 736, 738, 744, 746, 749, 751, 757, 759, 760, 763, 765, 771, 774, 775, 778, 780, 785, 786, 787, 788, 791, 793, 799, 800, 801, 802, 803, 804, 805, 806, 809, 811, 816, 817, 820, 861, 863, 864, 867, 869, 872, 875, 876, 879, 905, 907, 908, 911, 913, 916, 919, 922, 948, 950, 951, 954, 991, 993, 996, 999, 1002, 1015, 1028, 1039, 1053, 1065, 1072, 1087, 1396, 1398, 1399, 1402, 1437, 1439, 1440], "summary": {"covered_lines": 137, "num_statements": 137, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[800, 801], [800, 806], [816, -809], [816, 817]], "missing_branches": []}}}, "tests\\key_points\\test_skeletons.py": {"executed_lines": [1, 8, 9, 11, 12, 13, 17, 20, 23, 24, 25, 27, 30, 34, 35, 36, 37, 39, 41, 43, 44, 45, 47, 49, 50, 51, 53, 56, 59, 60], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[11, -9], [11, 12], [35, 36], [35, 39], [50, 51], [50, 56], [59, -47], [59, 60]], "missing_branches": [], "functions": {"TestSkeletons.test_skeleton_enum_values": {"executed_lines": [11, 12, 13], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9, "executed_branches": [[11, -9], [11, 12]], "missing_branches": []}, "TestSkeletons.test_skeletons_by_vertex_count": {"executed_lines": [20, 23, 24, 25], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17, "executed_branches": [], "missing_branches": []}, "TestSkeletons.test_skeletons_by_edge_count": {"executed_lines": [30, 34, 35, 36, 37, 39], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27, "executed_branches": [[35, 36], [35, 39]], "missing_branches": []}, "TestSkeletons.test_unique_vertices_calculation": {"executed_lines": [43, 44, 45], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "TestSkeletons.test_skeletons_by_vertex_count_mapping_behaviour": {"executed_lines": [49, 50, 51, 53, 56, 59, 60], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47, "executed_branches": [[50, 51], [50, 56], [59, -47], [59, 60]], "missing_branches": []}, "": {"executed_lines": [1, 8, 9, 17, 27, 41, 47], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestSkeletons": {"executed_lines": [11, 12, 13, 20, 23, 24, 25, 30, 34, 35, 36, 37, 39, 43, 44, 45, 49, 50, 51, 53, 56, 59, 60], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8, "executed_branches": [[11, -9], [11, 12], [35, 36], [35, 39], [50, 51], [50, 56], [59, -47], [59, 60]], "missing_branches": []}, "": {"executed_lines": [1, 8, 9, 17, 27, 41, 47], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\conftest.py": {"executed_lines": [1, 3, 4, 6, 9, 10, 11, 18, 19, 20, 26, 27, 28, 35, 36, 37, 44, 45, 46, 52, 53, 54, 66, 67, 82, 83, 96, 97, 98, 105, 106, 107, 113, 114, 115, 128, 129, 130, 137, 138, 139, 145, 163, 165, 168, 178, 179, 194, 202, 203, 219], "summary": {"covered_lines": 51, "num_statements": 54, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [68, 84, 166], "excluded_lines": [], "executed_branches": [[165, 168]], "missing_branches": [[165, 166]], "functions": {"detections_50_50": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "targets_50_50": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19, "executed_branches": [], "missing_branches": []}, "dummy_prediction": {"executed_lines": [28], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27, "executed_branches": [], "missing_branches": []}, "predictions_no_overlap": {"executed_lines": [37], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "targets_no_overlap": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45, "executed_branches": [], "missing_branches": []}, "targets_two_objects_class_0": {"executed_lines": [54], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53, "executed_branches": [], "missing_branches": []}, "predictions_multiple_classes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [68], "excluded_lines": [], "start_line": 67, "executed_branches": [], "missing_branches": []}, "targets_multiple_classes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [84], "excluded_lines": [], "start_line": 83, "executed_branches": [], "missing_branches": []}, "predictions_iou_064": {"executed_lines": [98], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 97, "executed_branches": [], "missing_branches": []}, "targets_iou_064": {"executed_lines": [107], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 106, "executed_branches": [], "missing_branches": []}, "predictions_confidence_ranking": {"executed_lines": [115], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 114, "executed_branches": [], "missing_branches": []}, "prediction_class_1": {"executed_lines": [130], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 129, "executed_branches": [], "missing_branches": []}, "target_class_1": {"executed_lines": [139], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 138, "executed_branches": [], "missing_branches": []}, "_yolo_dataset_factory": {"executed_lines": [163, 165, 168], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [166], "excluded_lines": [], "start_line": 145, "executed_branches": [[165, 168]], "missing_branches": [[165, 166]]}, "yolo_dataset_structure": {"executed_lines": [194], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 179, "executed_branches": [], "missing_branches": []}, "yolo_dataset_two_classes": {"executed_lines": [219], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 203, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 9, 10, 18, 19, 26, 27, 35, 36, 44, 45, 52, 53, 66, 67, 82, 83, 96, 97, 105, 106, 113, 114, 128, 129, 137, 138, 145, 178, 179, 202, 203], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 9, 10, 11, 18, 19, 20, 26, 27, 28, 35, 36, 37, 44, 45, 46, 52, 53, 54, 66, 67, 82, 83, 96, 97, 98, 105, 106, 107, 113, 114, 115, 128, 129, 130, 137, 138, 139, 145, 163, 165, 168, 178, 179, 194, 202, 203, 219], "summary": {"covered_lines": 51, "num_statements": 54, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [68, 84, 166], "excluded_lines": [], "start_line": 1, "executed_branches": [[165, 168]], "missing_branches": [[165, 166]]}}}, "tests\\metrics\\test_detection.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 18, 25, 26, 45, 46, 54, 55, 65, 74, 75, 77, 92, 108, 113, 119, 130, 142, 151, 152, 153, 154, 155, 157, 158, 159, 160, 161, 162, 164, 165, 166, 167, 168, 169, 170, 172, 173, 177, 181, 185, 364, 379, 380, 385, 387, 505, 515, 516, 524, 525, 527, 549, 559, 560, 568, 569, 571, 581, 587, 588, 590, 592, 621, 635, 636, 639, 641, 1097, 1107, 1108, 1118, 1120, 1130, 1131, 1134, 1141, 1145, 1152, 1156, 1161, 1164, 1169, 1170, 1172, 1173, 1174, 1179, 1188, 1189, 1194, 1195, 1197, 1202, 1203, 1207, 1213, 1243, 1247, 1248, 1250, 1258, 1262, 1265, 1272, 1281, 1288, 1289, 1293, 1294, 1304, 1312, 1313, 1316, 1324, 1330, 1331, 1333, 1347, 1348, 1349, 1350, 1353, 1363, 1374, 1375, 1380, 1387, 1397, 1404, 1405, 1406, 1409, 1416, 1417, 1419, 1445, 1449, 1456, 1458, 1475, 1477, 1478, 1480, 1482, 1485, 1502, 1519, 1527, 1528, 1529, 1531, 1533, 1534, 1544, 1546, 1548, 1554], "summary": {"covered_lines": 166, "num_statements": 166, "percent_covered": 99.42528735632185, "percent_covered_display": "99", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[153, 154], [159, 160], [159, 162], [166, 167], [166, 170], [1172, 1173], [1172, 1179]], "missing_branches": [[153, 155]], "functions": {"_call_confusion_matrix_from_detections_masks": {"executed_lines": [26], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25, "executed_branches": [], "missing_branches": []}, "_call_confusion_matrix_from_tensors_masks": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45, "executed_branches": [], "missing_branches": []}, "_call_confusion_matrix_evaluate_detection_batch_masks": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.create_empty_conf_matrix": {"executed_lines": [153, 154, 155], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 152, "executed_branches": [[153, 154]], "missing_branches": [[153, 155]]}, "TestDetectionMetrics.update_ideal_conf_matrix": {"executed_lines": [159, 160, 161, 162], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 158, "executed_branches": [[159, 160], [159, 162]], "missing_branches": []}, "TestDetectionMetrics.worsen_ideal_conf_matrix": {"executed_lines": [166, 167, 168, 169, 170], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 165, "executed_branches": [[166, 167], [166, 170]], "missing_branches": []}, "TestDetectionMetrics.test_detections_to_tensor": {"executed_lines": [379, 380, 385], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 364, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_from_tensors": {"executed_lines": [515, 516, 524, 525], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 505, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_evaluate_detection_batch": {"executed_lines": [559, 560, 568, 569], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 549, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_drop_extra_matches": {"executed_lines": [587, 588, 590], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 581, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_compute_average_precision": {"executed_lines": [635, 636, 639], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 621, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix": {"executed_lines": [1107, 1108, 1118], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1097, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_on_yolo_dataset": {"executed_lines": [1130, 1131, 1134, 1141, 1145, 1152, 1156, 1161, 1164, 1169, 1170, 1172, 1173, 1174, 1179, 1188, 1189, 1194, 1195, 1197, 1202, 1203, 1207], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1120, "executed_branches": [[1172, 1173], [1172, 1179]], "missing_branches": []}, "TestDetectionMetrics.test_validate_input_tensors_obb": {"executed_lines": [1247, 1248], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1243, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_obb": {"executed_lines": [1258, 1262, 1265, 1272, 1281, 1288, 1289, 1293, 1294, 1304, 1312, 1313, 1316, 1324, 1330, 1331], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1250, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_obb_regression_1760": {"executed_lines": [1347, 1348, 1349, 1350, 1353, 1363, 1374, 1375, 1380, 1387, 1397, 1404, 1405, 1406, 1409, 1416, 1417], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1333, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_from_tensors_obb": {"executed_lines": [1449, 1456], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1445, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_masks_rejection": {"executed_lines": [1477, 1478], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1475, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_multiclass_obb": {"executed_lines": [1482, 1485, 1502, 1519, 1527, 1528, 1529], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1480, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_metric_target_persistence_from_detections": {"executed_lines": [1533, 1534, 1544], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1531, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_metric_target_persistence_from_tensors": {"executed_lines": [1548, 1554], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1546, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 18, 25, 45, 54, 65, 74, 75, 77, 92, 108, 113, 119, 130, 142, 151, 152, 157, 158, 164, 165, 172, 173, 177, 181, 185, 364, 387, 505, 527, 549, 571, 581, 592, 621, 641, 1097, 1120, 1213, 1243, 1250, 1333, 1419, 1445, 1458, 1475, 1480, 1531, 1546], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestDetectionMetrics": {"executed_lines": [153, 154, 155, 159, 160, 161, 162, 166, 167, 168, 169, 170, 379, 380, 385, 515, 516, 524, 525, 559, 560, 568, 569, 587, 588, 590, 635, 636, 639, 1107, 1108, 1118, 1130, 1131, 1134, 1141, 1145, 1152, 1156, 1161, 1164, 1169, 1170, 1172, 1173, 1174, 1179, 1188, 1189, 1194, 1195, 1197, 1202, 1203, 1207, 1247, 1248, 1258, 1262, 1265, 1272, 1281, 1288, 1289, 1293, 1294, 1304, 1312, 1313, 1316, 1324, 1330, 1331, 1347, 1348, 1349, 1350, 1353, 1363, 1374, 1375, 1380, 1387, 1397, 1404, 1405, 1406, 1409, 1416, 1417, 1449, 1456, 1477, 1478, 1482, 1485, 1502, 1519, 1527, 1528, 1529, 1533, 1534, 1544, 1548, 1554], "summary": {"covered_lines": 106, "num_statements": 106, "percent_covered": 99.12280701754386, "percent_covered_display": "99", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [], "excluded_lines": [], "start_line": 65, "executed_branches": [[153, 154], [159, 160], [159, 162], [166, 167], [166, 170], [1172, 1173], [1172, 1179]], "missing_branches": [[153, 155]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 18, 25, 26, 45, 46, 54, 55, 65, 74, 75, 77, 92, 108, 113, 119, 130, 142, 151, 152, 157, 158, 164, 165, 172, 173, 177, 181, 185, 364, 387, 505, 527, 549, 571, 581, 592, 621, 641, 1097, 1120, 1213, 1243, 1250, 1333, 1419, 1445, 1458, 1475, 1480, 1531, 1546], "summary": {"covered_lines": 60, "num_statements": 60, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\test_f1_score.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 12, 13, 26, 27, 28, 39, 41, 42, 43, 44, 45, 47, 49, 53, 54, 56, 58, 61, 64, 65, 68, 69, 70, 72, 74, 75, 82, 83, 84, 85, 87, 89, 90, 96, 97, 99, 101, 103, 104, 110, 111, 113, 115, 117, 118, 124, 125, 127, 129, 134, 138, 144, 145, 151, 152, 154, 170, 173, 180, 185, 186, 191, 193, 195, 201, 202, 205, 207, 211, 212, 218, 219, 220, 222, 226, 227, 233, 234, 235, 237, 241, 242, 249, 250, 251, 252, 253, 255, 257, 258, 263, 264, 266, 268, 269, 275, 276, 278, 282, 283, 288, 289, 291, 293, 296, 297, 299, 303, 305, 306, 309, 310, 312, 316, 317, 322, 323, 325, 329, 330, 335, 336, 338, 342, 343, 348, 349], "summary": {"covered_lines": 135, "num_statements": 135, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestF1Score.predictions_multiple_classes": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "TestF1Score.targets_multiple_classes": {"executed_lines": [28], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_initialization_default": {"executed_lines": [41, 42, 43, 44, 45], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_initialization_custom": {"executed_lines": [49, 53, 54], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_reset": {"executed_lines": [58, 61, 64, 65, 68, 69, 70], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_perfect_match": {"executed_lines": [74, 75, 82, 83, 84, 85], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_no_overlap": {"executed_lines": [89, 90, 96, 97], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 87, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_empty_predictions": {"executed_lines": [101, 103, 104, 110, 111], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_empty_targets": {"executed_lines": [115, 117, 118, 124, 125], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 113, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_false_positives_on_background_image_counted": {"executed_lines": [129, 134, 138, 144, 145, 151, 152], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 127, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_false_positives_of_absent_class_counted": {"executed_lines": [173, 180, 185, 186, 191], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 170, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_false_positives_on_background_image_weighted_returns_zero": {"executed_lines": [195, 201, 202, 205], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 193, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_single_class_mixed_results": {"executed_lines": [211, 212, 218, 219, 220], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 207, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_precision_recall_imbalance": {"executed_lines": [226, 227, 233, 234, 235], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 222, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_multiple_classes": {"executed_lines": [241, 242, 249, 250, 251, 252, 253], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 237, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_different_iou_thresholds": {"executed_lines": [257, 258, 263, 264], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 255, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_confidence_ranking": {"executed_lines": [268, 269, 275, 276], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 266, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_list_inputs": {"executed_lines": [282, 283, 288, 289], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 278, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_mismatched_list_lengths": {"executed_lines": [293, 296, 297], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 291, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_averaging_methods": {"executed_lines": [305, 306, 309, 310], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 303, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_macro_averaging": {"executed_lines": [316, 317, 322, 323], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 312, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_micro_averaging": {"executed_lines": [329, 330, 335, 336], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 325, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_weighted_averaging": {"executed_lines": [342, 343, 348, 349], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 338, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 12, 26, 27, 39, 47, 56, 72, 87, 99, 113, 127, 154, 170, 193, 207, 222, 237, 255, 266, 278, 291, 299, 303, 312, 325, 338], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestF1Score": {"executed_lines": [13, 28, 41, 42, 43, 44, 45, 49, 53, 54, 58, 61, 64, 65, 68, 69, 70, 74, 75, 82, 83, 84, 85, 89, 90, 96, 97, 101, 103, 104, 110, 111, 115, 117, 118, 124, 125, 129, 134, 138, 144, 145, 151, 152, 173, 180, 185, 186, 191, 195, 201, 202, 205, 211, 212, 218, 219, 220, 226, 227, 233, 234, 235, 241, 242, 249, 250, 251, 252, 253, 257, 258, 263, 264, 268, 269, 275, 276, 282, 283, 288, 289, 293, 296, 297, 305, 306, 309, 310, 316, 317, 322, 323, 329, 330, 335, 336, 342, 343, 348, 349], "summary": {"covered_lines": 101, "num_statements": 101, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 12, 26, 27, 39, 47, 56, 72, 87, 99, 113, 127, 154, 170, 193, 207, 222, 237, 255, 266, 278, 291, 299, 303, 312, 325, 338], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\test_mean_average_precision.py": {"executed_lines": [1, 3, 4, 5, 6, 9, 10, 12, 13, 14, 17, 19, 22, 31, 32, 33, 36, 38, 47, 51, 57, 63, 66, 67, 69, 71, 73, 75, 76, 77, 78, 81, 83, 86, 94, 99, 107, 115, 125, 126, 127, 128, 129, 132, 133, 137, 140, 148, 153, 156, 166, 167, 168, 169, 170, 173, 175, 178, 186, 192, 195, 205, 206, 207, 208, 209, 212, 214, 217, 225, 229, 240, 253, 254, 255, 256, 257, 260, 262, 264, 267, 280, 281, 282, 284, 287, 288, 289, 291, 296, 300, 303, 308, 310, 311, 312, 313, 314, 317, 319, 321, 323, 324, 325, 328, 329, 330, 333, 334, 335], "summary": {"covered_lines": 110, "num_statements": 110, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[281, 282], [281, 284]], "missing_branches": [], "functions": {"TestMeanAveragePrecision.test_single_perfect_detection": {"executed_lines": [12, 13, 14, 17], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_multiple_perfect_detections": {"executed_lines": [22, 31, 32, 33, 36], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_perfect_non_square_oriented_boxes_get_full_map": {"executed_lines": [47, 51, 57, 63, 66, 67, 69], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_batch_updates_perfect_detections": {"executed_lines": [73, 75, 76, 77, 78, 81], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 71, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_scenario_1_success_case_imperfect_match": {"executed_lines": [86, 94, 99, 107, 115, 125, 126, 127, 128, 129, 132, 133], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 83, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_scenario_2_missed_detection": {"executed_lines": [140, 148, 153, 156, 166, 167, 168, 169, 170, 173], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 137, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_scenario_3_false_positive": {"executed_lines": [178, 186, 192, 195, 205, 206, 207, 208, 209, 212], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 175, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_scenario_4_no_data": {"executed_lines": [217, 225, 229, 240, 253, 254, 255, 256, 257, 260, 262], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 214, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_scenario_5_only_one_class_present": {"executed_lines": [267, 280, 281, 282, 284, 287, 288, 289], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 264, "executed_branches": [[281, 282], [281, 284]], "missing_branches": []}, "TestMeanAveragePrecision.test_mixed_classes_with_missing_detections": {"executed_lines": [296, 300, 303, 308, 310, 311, 312, 313, 314, 317, 319], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 291, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_empty_predictions_and_targets": {"executed_lines": [323, 324, 325, 328, 329, 330, 333, 334, 335], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 321, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 9, 10, 19, 38, 71, 83, 137, 175, 214, 264, 291, 321], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestMeanAveragePrecision": {"executed_lines": [12, 13, 14, 17, 22, 31, 32, 33, 36, 47, 51, 57, 63, 66, 67, 69, 73, 75, 76, 77, 78, 81, 86, 94, 99, 107, 115, 125, 126, 127, 128, 129, 132, 133, 140, 148, 153, 156, 166, 167, 168, 169, 170, 173, 178, 186, 192, 195, 205, 206, 207, 208, 209, 212, 217, 225, 229, 240, 253, 254, 255, 256, 257, 260, 262, 267, 280, 281, 282, 284, 287, 288, 289, 296, 300, 303, 308, 310, 311, 312, 313, 314, 317, 319, 323, 324, 325, 328, 329, 330, 333, 334, 335], "summary": {"covered_lines": 93, "num_statements": 93, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9, "executed_branches": [[281, 282], [281, 284]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 9, 10, 19, 38, 71, 83, 137, 175, 214, 264, 291, 321], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\test_mean_average_precision_area.py": {"executed_lines": [1, 3, 4, 6, 7, 10, 13, 45, 49, 53, 59, 60, 63, 64, 65, 70, 72, 73, 77, 81, 82, 86, 90, 91, 95, 99, 101, 108, 110, 115, 117, 118, 120, 121, 123, 128, 129], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[72, 73], [72, 77], [81, 82], [81, 86], [90, 91], [90, 95]], "missing_branches": [], "functions": {"TestMeanAveragePrecisionArea.test_area_calculation_and_size_specific_map": {"executed_lines": [49, 53, 59, 60, 63, 64, 65, 70, 72, 73, 77, 81, 82, 86, 90, 91, 95], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45, "executed_branches": [[72, 73], [72, 77], [81, 82], [81, 86], [90, 91], [90, 95]], "missing_branches": []}, "TestMeanAveragePrecisionArea.test_area_preserved_from_data": {"executed_lines": [101, 108, 110, 115, 117, 118, 120, 121, 123, 128, 129], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 10, 13, 45, 99], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestMeanAveragePrecisionArea": {"executed_lines": [49, 53, 59, 60, 63, 64, 65, 70, 72, 73, 77, 81, 82, 86, 90, 91, 95, 101, 108, 110, 115, 117, 118, 120, 121, 123, 128, 129], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [[72, 73], [72, 77], [81, 82], [81, 86], [90, 91], [90, 95]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 10, 13, 45, 99], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\test_mean_average_recall.py": {"executed_lines": [1, 2, 4, 5, 8, 9, 16, 146, 147, 156, 285, 286, 298, 309, 322, 325, 326, 338, 348, 359, 362, 364, 369, 370, 371, 374, 375, 378, 383, 384, 393, 394, 396, 397, 398, 401, 403, 406, 435, 437, 438, 439, 442, 443, 444, 448, 449, 450, 454, 461, 485, 487, 488, 489, 492, 493, 497, 498, 502, 508, 522, 524, 525, 528, 534, 535, 538, 539, 541, 542, 545, 546, 548, 549, 552, 553, 555, 566, 567, 568, 571, 574, 575, 576, 579, 580, 583, 587], "summary": {"covered_lines": 88, "num_statements": 89, "percent_covered": 97.84946236559139, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.87640449438203, "percent_statements_covered_display": "99", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [563], "excluded_lines": [], "executed_branches": [[541, 542], [541, 566], [545, 546]], "missing_branches": [[545, 563]], "functions": {"complex_scenario_targets": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9, "executed_branches": [], "missing_branches": []}, "complex_scenario_predictions": {"executed_lines": [156], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 147, "executed_branches": [], "missing_branches": []}, "two_class_two_image_detections": {"executed_lines": [298, 309, 322], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 286, "executed_branches": [], "missing_branches": []}, "three_class_single_image_detections": {"executed_lines": [338, 348, 359], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 326, "executed_branches": [], "missing_branches": []}, "test_single_perfect_detection": {"executed_lines": [364, 369, 370, 371, 374, 375], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 362, "executed_branches": [], "missing_branches": []}, "test_complex_integration_scenario": {"executed_lines": [383, 393, 394, 396, 397, 398, 401, 403], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 378, "executed_branches": [], "missing_branches": []}, "test_complex_integration_scenario.mock_detections_list": {"executed_lines": [384], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 383, "executed_branches": [], "missing_branches": []}, "test_mar_at_k_limits_per_image_not_per_class": {"executed_lines": [435, 437, 438, 439, 442, 443, 444, 448, 449, 450, 454], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 406, "executed_branches": [], "missing_branches": []}, "test_three_class_single_image_scenario": {"executed_lines": [485, 487, 488, 489, 492, 493, 497, 498, 502], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 461, "executed_branches": [], "missing_branches": []}, "test_dataset_split_integration": {"executed_lines": [522, 524, 525, 528, 534, 535, 538, 539, 541, 542, 545, 546, 548, 549, 552, 553, 555, 566, 567, 568, 571, 574, 575, 576, 579, 580, 583, 587], "summary": {"covered_lines": 28, "num_statements": 29, "percent_covered": 93.93939393939394, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.55172413793103, "percent_statements_covered_display": "97", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [563], "excluded_lines": [], "start_line": 508, "executed_branches": [[541, 542], [541, 566], [545, 546]], "missing_branches": [[545, 563]]}, "": {"executed_lines": [1, 2, 4, 5, 8, 9, 146, 147, 285, 286, 325, 326, 362, 378, 406, 461, 508], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 9, 16, 146, 147, 156, 285, 286, 298, 309, 322, 325, 326, 338, 348, 359, 362, 364, 369, 370, 371, 374, 375, 378, 383, 384, 393, 394, 396, 397, 398, 401, 403, 406, 435, 437, 438, 439, 442, 443, 444, 448, 449, 450, 454, 461, 485, 487, 488, 489, 492, 493, 497, 498, 502, 508, 522, 524, 525, 528, 534, 535, 538, 539, 541, 542, 545, 546, 548, 549, 552, 553, 555, 566, 567, 568, 571, 574, 575, 576, 579, 580, 583, 587], "summary": {"covered_lines": 88, "num_statements": 89, "percent_covered": 97.84946236559139, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.87640449438203, "percent_statements_covered_display": "99", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [563], "excluded_lines": [], "start_line": 1, "executed_branches": [[541, 542], [541, 566], [545, 546]], "missing_branches": [[545, 563]]}}}, "tests\\metrics\\test_oriented_bounding_box_metrics.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 19, 27, 36, 41, 42, 44, 45, 47, 50, 57, 58, 60, 61, 63], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"_non_square_obb_detections": {"executed_lines": [15, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14, "executed_branches": [], "missing_branches": []}, "test_perfect_non_square_oriented_boxes_score_as_perfect": {"executed_lines": [41, 42, 44, 45, 47], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "test_mean_average_precision_accepts_obb_metric_target": {"executed_lines": [57, 58, 60, 61, 63], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 14, 27, 36, 50], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 19, 27, 36, 41, 42, 44, 45, 47, 50, 57, 58, 60, 61, 63], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\test_precision.py": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 11, 12, 25, 26, 27, 39, 41, 42, 43, 44, 45, 47, 49, 53, 54, 56, 58, 61, 64, 65, 68, 69, 70, 72, 74, 75, 80, 81, 82, 83, 85, 87, 88, 92, 93, 95, 97, 99, 100, 103, 104, 106, 108, 110, 111, 115, 116, 118, 120, 125, 129, 135, 136, 142, 143, 145, 161, 164, 171, 176, 177, 182, 184, 186, 192, 193, 196, 198, 200, 201, 205, 206, 208, 212, 213, 221, 222, 223, 224, 225, 227, 229, 230, 234, 235, 237, 239, 240, 244, 246, 250, 251, 256, 257, 259, 261, 264, 265, 267, 271, 273, 274, 277, 278], "summary": {"covered_lines": 111, "num_statements": 111, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestPrecision.predictions_multiple_classes": {"executed_lines": [12], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11, "executed_branches": [], "missing_branches": []}, "TestPrecision.targets_multiple_classes": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_initialization_default": {"executed_lines": [41, 42, 43, 44, 45], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_initialization_custom": {"executed_lines": [49, 53, 54], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_reset": {"executed_lines": [58, 61, 64, 65, 68, 69, 70], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_perfect_match": {"executed_lines": [74, 75, 80, 81, 82, 83], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_no_overlap": {"executed_lines": [87, 88, 92, 93], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_empty_predictions": {"executed_lines": [97, 99, 100, 103, 104], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 95, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_empty_targets": {"executed_lines": [108, 110, 111, 115, 116], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 106, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_false_positives_on_background_image_counted": {"executed_lines": [120, 125, 129, 135, 136, 142, 143], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 118, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_false_positives_of_absent_class_counted": {"executed_lines": [164, 171, 176, 177, 182], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 161, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_false_positives_on_background_image_weighted_returns_zero": {"executed_lines": [186, 192, 193, 196], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 184, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_single_class": {"executed_lines": [200, 201, 205, 206], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 198, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_multiple_classes": {"executed_lines": [212, 213, 221, 222, 223, 224, 225], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 208, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_different_iou_thresholds": {"executed_lines": [229, 230, 234, 235], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 227, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_confidence_ranking": {"executed_lines": [239, 240, 244], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 237, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_list_inputs": {"executed_lines": [250, 251, 256, 257], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 246, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_mismatched_list_lengths": {"executed_lines": [261, 264, 265], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 259, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_averaging_methods": {"executed_lines": [273, 274, 277, 278], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 271, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 11, 25, 26, 39, 47, 56, 72, 85, 95, 106, 118, 145, 161, 184, 198, 208, 227, 237, 246, 259, 267, 271], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestPrecision": {"executed_lines": [12, 27, 41, 42, 43, 44, 45, 49, 53, 54, 58, 61, 64, 65, 68, 69, 70, 74, 75, 80, 81, 82, 83, 87, 88, 92, 93, 97, 99, 100, 103, 104, 108, 110, 111, 115, 116, 120, 125, 129, 135, 136, 142, 143, 164, 171, 176, 177, 182, 186, 192, 193, 196, 200, 201, 205, 206, 212, 213, 221, 222, 223, 224, 225, 229, 230, 234, 235, 239, 240, 244, 250, 251, 256, 257, 261, 264, 265, 273, 274, 277, 278], "summary": {"covered_lines": 82, "num_statements": 82, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 11, 25, 26, 39, 47, 56, 72, 85, 95, 106, 118, 145, 161, 184, 198, 208, 227, 237, 246, 259, 267, 271], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\test_recall.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 12, 13, 25, 26, 27, 39, 41, 42, 43, 44, 45, 47, 49, 53, 54, 56, 58, 61, 64, 65, 68, 69, 70, 72, 74, 75, 79, 80, 81, 82, 84, 86, 87, 91, 92, 94, 96, 98, 99, 102, 103, 105, 107, 109, 110, 113, 114, 116, 120, 121, 125, 126, 128, 132, 133, 140, 141, 142, 143, 144, 145, 147, 149, 150, 154, 155, 157, 159, 160, 164, 166, 170, 171, 175, 177, 181, 182, 187, 188, 190, 192, 195, 196, 198, 202, 204, 205, 208, 209, 211, 217, 229, 241, 242, 245], "summary": {"covered_lines": 103, "num_statements": 103, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestRecall.predictions_multiple_classes": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "TestRecall.targets_multiple_classes": {"executed_lines": [27], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26, "executed_branches": [], "missing_branches": []}, "TestRecall.test_initialization_default": {"executed_lines": [41, 42, 43, 44, 45], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39, "executed_branches": [], "missing_branches": []}, "TestRecall.test_initialization_custom": {"executed_lines": [49, 53, 54], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47, "executed_branches": [], "missing_branches": []}, "TestRecall.test_reset": {"executed_lines": [58, 61, 64, 65, 68, 69, 70], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56, "executed_branches": [], "missing_branches": []}, "TestRecall.test_perfect_match": {"executed_lines": [74, 75, 79, 80, 81, 82], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72, "executed_branches": [], "missing_branches": []}, "TestRecall.test_no_overlap": {"executed_lines": [86, 87, 91, 92], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 84, "executed_branches": [], "missing_branches": []}, "TestRecall.test_empty_predictions": {"executed_lines": [96, 98, 99, 102, 103], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94, "executed_branches": [], "missing_branches": []}, "TestRecall.test_empty_targets": {"executed_lines": [107, 109, 110, 113, 114], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 105, "executed_branches": [], "missing_branches": []}, "TestRecall.test_single_class_missed_detections": {"executed_lines": [120, 121, 125, 126], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 116, "executed_branches": [], "missing_branches": []}, "TestRecall.test_multiple_classes": {"executed_lines": [132, 133, 140, 141, 142, 143, 144, 145], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 128, "executed_branches": [], "missing_branches": []}, "TestRecall.test_different_iou_thresholds": {"executed_lines": [149, 150, 154, 155], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 147, "executed_branches": [], "missing_branches": []}, "TestRecall.test_confidence_ranking": {"executed_lines": [159, 160, 164], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 157, "executed_branches": [], "missing_branches": []}, "TestRecall.test_multiple_predictions_one_target": {"executed_lines": [170, 171, 175], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 166, "executed_branches": [], "missing_branches": []}, "TestRecall.test_list_inputs": {"executed_lines": [181, 182, 187, 188], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 177, "executed_branches": [], "missing_branches": []}, "TestRecall.test_mismatched_list_lengths": {"executed_lines": [192, 195, 196], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 190, "executed_branches": [], "missing_branches": []}, "TestRecall.test_averaging_methods": {"executed_lines": [204, 205, 208, 209], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 202, "executed_branches": [], "missing_branches": []}, "TestRecall.test_macro_averaging": {"executed_lines": [217, 229, 241, 242, 245], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 211, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 12, 25, 26, 39, 47, 56, 72, 84, 94, 105, 116, 128, 147, 157, 166, 177, 190, 198, 202, 211], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestRecall": {"executed_lines": [13, 27, 41, 42, 43, 44, 45, 49, 53, 54, 58, 61, 64, 65, 68, 69, 70, 74, 75, 79, 80, 81, 82, 86, 87, 91, 92, 96, 98, 99, 102, 103, 107, 109, 110, 113, 114, 120, 121, 125, 126, 132, 133, 140, 141, 142, 143, 144, 145, 149, 150, 154, 155, 159, 160, 164, 170, 171, 175, 181, 182, 187, 188, 192, 195, 196, 204, 205, 208, 209, 217, 229, 241, 242, 245], "summary": {"covered_lines": 75, "num_statements": 75, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 12, 25, 26, 39, 47, 56, 72, 84, 94, 105, 116, 128, 147, 157, 166, 177, 190, 198, 202, 211], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\test_validate_deprecations.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 33, 34, 41, 97, 98, 99, 102, 103, 104, 105, 106, 114, 116, 119], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"_detections": {"executed_lines": [34], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33, "executed_branches": [], "missing_branches": []}, "test_validate_public_shims_warn": {"executed_lines": [98, 99], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 97, "executed_branches": [], "missing_branches": []}, "test_private_validation_paths_do_not_warn": {"executed_lines": [103, 104, 105, 106, 114, 116, 119], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 102, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 33, 41, 97, 102], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 33, 34, 41, 97, 98, 99, 102, 103, 104, 105, 106, 114, 116, 119], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\tracker\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\tracker\\test_byte_tracker.py": {"executed_lines": [1, 2, 4, 7, 32, 36, 37, 38, 41, 42, 43, 51, 59, 61, 62, 63], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_byte_tracker": {"executed_lines": [36, 37, 38], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32, "executed_branches": [], "missing_branches": []}, "test_byte_tracker_does_not_skip_external_ids_for_short_lived_tracks": {"executed_lines": [42, 51, 59, 61, 62, 63], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "test_byte_tracker_does_not_skip_external_ids_for_short_lived_tracks.detections_from_boxes": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 7, 32, 41], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 7, 32, 36, 37, 38, 41, 42, 43, 51, 59, 61, 62, 63], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\utils\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\utils\\conftest.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 14, 17, 18, 19, 22, 23, 27, 28, 32, 33, 37, 38, 42, 43, 47, 48, 52, 53, 57, 58, 62, 63, 67, 68, 72, 73, 77, 78, 82, 83, 87, 88, 94, 95], "summary": {"covered_lines": 43, "num_statements": 58, "percent_covered": 74.13793103448276, "percent_covered_display": "74", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 74.13793103448276, "percent_statements_covered_display": "74", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [24, 29, 34, 39, 44, 49, 54, 59, 64, 69, 74, 79, 84, 89, 96], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"empty_cv2_image": {"executed_lines": [14], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13, "executed_branches": [], "missing_branches": []}, "empty_pillow_image": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18, "executed_branches": [], "missing_branches": []}, "all_images": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [24], "excluded_lines": [], "start_line": 23, "executed_branches": [], "missing_branches": []}, "one_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [29], "excluded_lines": [], "start_line": 28, "executed_branches": [], "missing_branches": []}, "two_images": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [34], "excluded_lines": [], "start_line": 33, "executed_branches": [], "missing_branches": []}, "three_images": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [39], "excluded_lines": [], "start_line": 38, "executed_branches": [], "missing_branches": []}, "four_images": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [44], "excluded_lines": [], "start_line": 43, "executed_branches": [], "missing_branches": []}, "all_images_tile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [49], "excluded_lines": [], "start_line": 48, "executed_branches": [], "missing_branches": []}, "all_images_tile_and_custom_colors": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [54], "excluded_lines": [], "start_line": 53, "executed_branches": [], "missing_branches": []}, "all_images_tile_and_custom_grid": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [59], "excluded_lines": [], "start_line": 58, "executed_branches": [], "missing_branches": []}, "four_images_tile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [64], "excluded_lines": [], "start_line": 63, "executed_branches": [], "missing_branches": []}, "single_image_tile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [69], "excluded_lines": [], "start_line": 68, "executed_branches": [], "missing_branches": []}, "single_image_tile_enforced_grid": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [74], "excluded_lines": [], "start_line": 73, "executed_branches": [], "missing_branches": []}, "three_images_tile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [79], "excluded_lines": [], "start_line": 78, "executed_branches": [], "missing_branches": []}, "two_images_tile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [84], "excluded_lines": [], "start_line": 83, "executed_branches": [], "missing_branches": []}, "all_images_tile_and_custom_colors_and_titles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [89], "excluded_lines": [], "start_line": 88, "executed_branches": [], "missing_branches": []}, "all_images_tile_and_titles_with_custom_configs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [96], "excluded_lines": [], "start_line": 95, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 17, 18, 22, 23, 27, 28, 32, 33, 37, 38, 42, 43, 47, 48, 52, 53, 57, 58, 62, 63, 67, 68, 72, 73, 77, 78, 82, 83, 87, 88, 94, 95], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 14, 17, 18, 19, 22, 23, 27, 28, 32, 33, 37, 38, 42, 43, 47, 48, 52, 53, 57, 58, 62, 63, 67, 68, 72, 73, 77, 78, 82, 83, 87, 88, 94, 95], "summary": {"covered_lines": 43, "num_statements": 58, "percent_covered": 74.13793103448276, "percent_covered_display": "74", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 74.13793103448276, "percent_statements_covered_display": "74", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [24, 29, 34, 39, 44, 49, 54, 59, 64, 69, 74, 79, 84, 89, 96], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\utils\\test_conversion.py": {"executed_lines": [1, 2, 4, 12, 16, 17, 19, 20, 25, 28, 31, 34, 37, 44, 45, 51, 55, 56, 58, 59, 64, 67, 70, 73, 76, 83, 86, 90, 93, 94, 99, 103, 106, 111, 113, 116, 119, 123, 126, 129, 130, 131, 136, 141, 144, 147, 148, 149, 154, 159, 162, 165, 166, 169], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[130, -119], [130, 131], [148, -136], [148, 149]], "missing_branches": [], "functions": {"test_ensure_cv2_image_for_processing_when_pillow_image_submitted": {"executed_lines": [16, 17, 19, 20, 37, 44, 45], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "test_ensure_cv2_image_for_processing_when_pillow_image_submitted.my_custom_processing_function": {"executed_lines": [25, 28, 31, 34], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20, "executed_branches": [], "missing_branches": []}, "test_ensure_cv2_image_for_processing_when_cv2_image_submitted": {"executed_lines": [55, 56, 58, 59, 76, 83], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51, "executed_branches": [], "missing_branches": []}, "test_ensure_cv2_image_for_processing_when_cv2_image_submitted.my_custom_processing_function": {"executed_lines": [64, 67, 70, 73], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59, "executed_branches": [], "missing_branches": []}, "test_cv2_to_pillow": {"executed_lines": [90, 93, 94], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 86, "executed_branches": [], "missing_branches": []}, "test_pillow_to_cv2": {"executed_lines": [103, 106], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99, "executed_branches": [], "missing_branches": []}, "test_images_to_cv2_when_empty_input_provided": {"executed_lines": [113, 116], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 111, "executed_branches": [], "missing_branches": []}, "test_images_to_cv2_when_only_cv2_images_provided": {"executed_lines": [123, 126, 129, 130, 131], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 119, "executed_branches": [[130, -119], [130, 131]], "missing_branches": []}, "test_images_to_cv2_when_only_pillow_images_provided": {"executed_lines": [141, 144, 147, 148, 149], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 136, "executed_branches": [[148, -136], [148, 149]], "missing_branches": []}, "test_images_to_cv2_when_mixed_input_provided": {"executed_lines": [159, 162, 165, 166, 169], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 154, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 12, 51, 86, 99, 111, 119, 136, 154], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 12, 16, 17, 19, 20, 25, 28, 31, 34, 37, 44, 45, 51, 55, 56, 58, 59, 64, 67, 70, 73, 76, 83, 86, 90, 93, 94, 99, 103, 106, 111, 113, 116, 119, 123, 126, 129, 130, 131, 136, 141, 144, 147, 148, 149, 154, 159, 162, 165, 166, 169], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[130, -119], [130, 131], [148, -136], [148, 149]], "missing_branches": []}}}, "tests\\utils\\test_file.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 11, 16, 22, 30, 31, 32, 33, 34, 35, 36, 37, 39, 41, 42, 43, 46, 62, 68, 69, 70, 73, 94, 101, 102, 104, 106], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[101, 102], [101, 104]], "missing_branches": [], "functions": {"setup_and_teardown_files": {"executed_lines": [32, 33, 34, 35, 36, 37, 39, 41, 42, 43], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31, "executed_branches": [], "missing_branches": []}, "test_read_txt_file": {"executed_lines": [68, 69, 70], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62, "executed_branches": [], "missing_branches": []}, "test_list_files_with_extensions_normalization": {"executed_lines": [101, 102, 104, 106], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94, "executed_branches": [[101, 102], [101, 104]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 11, 16, 22, 30, 31, 46, 62, 73, 94], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 9, 11, 16, 22, 30, 31, 32, 33, 34, 35, 36, 37, 39, 41, 42, 43, 46, 62, 68, 69, 70, 73, 94, 101, 102, 104, 106], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[101, 102], [101, 104]], "missing_branches": []}}}, "tests\\utils\\test_image.py": {"executed_lines": [1, 2, 3, 5, 13, 15, 16, 19, 26, 31, 33, 34, 37, 44, 45, 46, 51, 53, 54, 64, 69, 75, 76, 77, 86, 88, 89, 92, 95, 96, 97, 100, 103, 104, 105, 106, 107, 110, 112, 113, 125, 130, 134, 135, 140, 169, 170, 171, 172, 173, 174, 176, 177, 180, 193, 194, 195], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[171, 172], [171, 176]], "missing_branches": [], "functions": {"test_resize_image_for_opencv_image": {"executed_lines": [15, 16, 19, 26], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13, "executed_branches": [], "missing_branches": []}, "test_resize_image_for_pillow_image": {"executed_lines": [33, 34, 37, 44, 45, 46], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31, "executed_branches": [], "missing_branches": []}, "test_letterbox_image_for_opencv_image": {"executed_lines": [53, 54, 64, 69], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51, "executed_branches": [], "missing_branches": []}, "test_letterbox_image_for_grayscale_opencv_image": {"executed_lines": [76, 77, 86, 88, 89], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75, "executed_branches": [], "missing_branches": []}, "test_letterbox_image_for_rgba_opencv_image": {"executed_lines": [95, 96, 97, 100, 103, 104, 105, 106, 107], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [], "missing_branches": []}, "test_letterbox_image_for_pillow_image": {"executed_lines": [112, 113, 125, 130, 134, 135], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110, "executed_branches": [], "missing_branches": []}, "test_crop_image": {"executed_lines": [170, 171, 172, 173, 174, 176, 177], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 169, "executed_branches": [[171, 172], [171, 176]], "missing_branches": []}, "test_get_image_resolution_wh": {"executed_lines": [194, 195], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 193, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 5, 13, 31, 51, 75, 92, 110, 140, 169, 180, 193], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 13, 15, 16, 19, 26, 31, 33, 34, 37, 44, 45, 46, 51, 53, 54, 64, 69, 75, 76, 77, 86, 88, 89, 92, 95, 96, 97, 100, 103, 104, 105, 106, 107, 110, 112, 113, 125, 130, 134, 135, 140, 169, 170, 171, 172, 173, 174, 176, 177, 180, 193, 194, 195], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[171, 172], [171, 176]], "missing_branches": []}}}, "tests\\utils\\test_internal.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 18, 21, 24, 27, 28, 29, 31, 32, 33, 35, 36, 37, 40, 41, 42, 43, 44, 46, 47, 48, 50, 51, 52, 54, 57, 60, 63, 64, 65, 67, 68, 69, 71, 72, 73, 76, 189, 195, 196, 199], "summary": {"covered_lines": 52, "num_statements": 58, "percent_covered": 89.65517241379311, "percent_covered_display": "90", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 89.65517241379311, "percent_statements_covered_display": "90", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [19, 22, 25, 55, 58, 61], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"MockClass.__init__": {"executed_lines": [14, 15, 16], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13, "executed_branches": [], "missing_branches": []}, "MockClass.public_method": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [19], "excluded_lines": [], "start_line": 18, "executed_branches": [], "missing_branches": []}, "MockClass._protected_method": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [22], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "MockClass.__private_method": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [25], "excluded_lines": [], "start_line": 24, "executed_branches": [], "missing_branches": []}, "MockClass.public_property": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28, "executed_branches": [], "missing_branches": []}, "MockClass._protected_property": {"executed_lines": [33], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32, "executed_branches": [], "missing_branches": []}, "MockClass.__private_property": {"executed_lines": [37], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "MockDataclass.public_method": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [55], "excluded_lines": [], "start_line": 54, "executed_branches": [], "missing_branches": []}, "MockDataclass._protected_method": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [58], "excluded_lines": [], "start_line": 57, "executed_branches": [], "missing_branches": []}, "MockDataclass.__private_method": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [61], "excluded_lines": [], "start_line": 60, "executed_branches": [], "missing_branches": []}, "MockDataclass.public_property": {"executed_lines": [65], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64, "executed_branches": [], "missing_branches": []}, "MockDataclass._protected_property": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68, "executed_branches": [], "missing_branches": []}, "MockDataclass.__private_property": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72, "executed_branches": [], "missing_branches": []}, "test_get_instance_variables": {"executed_lines": [195, 196, 199], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 189, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 12, 13, 18, 21, 24, 27, 28, 31, 32, 35, 36, 40, 41, 42, 43, 44, 46, 47, 48, 50, 51, 52, 54, 57, 60, 63, 64, 67, 68, 71, 72, 76, 189], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"MockClass": {"executed_lines": [14, 15, 16, 29, 33, 37], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [19, 22, 25], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "MockDataclass": {"executed_lines": [65, 69, 73], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [55, 58, 61], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 12, 13, 18, 21, 24, 27, 28, 31, 32, 35, 36, 40, 41, 42, 43, 44, 46, 47, 48, 50, 51, 52, 54, 57, 60, 63, 64, 67, 68, 71, 72, 76, 189, 195, 196, 199], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\utils\\test_iterables.py": {"executed_lines": [1, 3, 6, 21, 22, 23, 26, 41, 42, 43], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_create_batches": {"executed_lines": [22, 23], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "test_fill": {"executed_lines": [42, 43], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 6, 21, 26, 41], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 6, 21, 22, 23, 26, 41, 42, 43], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\utils\\test_logger.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 13, 14, 16, 18, 19, 21, 23, 25, 26, 28, 30, 31, 33, 35, 36, 37, 39, 41, 42, 43, 45, 47, 48, 50, 52, 53, 58, 60, 62, 63, 68, 70, 72, 73, 75, 77, 78, 79, 80, 81, 82], "summary": {"covered_lines": 48, "num_statements": 48, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestGetLogger.test_default_name": {"executed_lines": [13, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_custom_name": {"executed_lines": [18, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_default_level_is_info": {"executed_lines": [23, 25, 26], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_explicit_level": {"executed_lines": [30, 31], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_log_level_env_var": {"executed_lines": [35, 36, 37], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_log_level_env_var_warning": {"executed_lines": [41, 42, 43], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_two_handlers_configured": {"executed_lines": [47, 48], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_stdout_handler_present": {"executed_lines": [52, 53, 58], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_stderr_handler_present": {"executed_lines": [62, 63, 68], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_no_propagation": {"executed_lines": [72, 73], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 70, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_idempotent_no_duplicate_handlers": {"executed_lines": [77, 78, 79, 80, 81, 82], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 16, 21, 28, 33, 39, 45, 50, 60, 70, 75], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestGetLogger": {"executed_lines": [13, 14, 18, 19, 23, 25, 26, 30, 31, 35, 36, 37, 41, 42, 43, 47, 48, 52, 53, 58, 62, 63, 68, 72, 73, 77, 78, 79, 80, 81, 82], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 16, 21, 28, 33, 39, 45, 50, 60, 70, 75], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\utils\\test_video.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 37, 39, 40, 41, 42, 44, 45, 52, 60, 62, 63, 66, 70, 73, 80, 82, 83, 84, 85, 87, 88, 97, 105, 106, 108, 109, 110, 112, 119, 120, 123, 131, 133, 134, 137, 145, 148, 156, 157, 158, 159, 160, 161, 162, 165, 173, 175, 176, 177, 178, 180, 182, 183, 184, 185, 188, 196, 197, 198, 199, 200, 203, 211, 212, 213, 216, 224, 226, 227, 233, 238, 246, 248, 249, 254, 257, 273, 277, 278, 279, 281, 285, 287, 290, 292, 293, 295, 296, 297, 299, 304, 306, 307, 310, 318, 319, 320], "summary": {"covered_lines": 115, "num_statements": 115, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[22, 23], [22, 25], [40, 41], [40, 42], [83, 84], [83, 85], [176, 177], [176, 178]], "missing_branches": [], "functions": {"dummy_video_path": {"executed_lines": [19, 20, 21, 22, 23, 24, 25, 26], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18, "executed_branches": [[22, 23], [22, 25]], "missing_branches": []}, "test_process_video_exception_handling": {"executed_lines": [37, 39, 44, 45], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29, "executed_branches": [], "missing_branches": []}, "test_process_video_exception_handling.callback_with_exception": {"executed_lines": [40, 41, 42], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39, "executed_branches": [[40, 41], [40, 42]], "missing_branches": []}, "test_process_video_success": {"executed_lines": [60, 62, 66, 70], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52, "executed_branches": [], "missing_branches": []}, "test_process_video_success.callback_success": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62, "executed_branches": [], "missing_branches": []}, "test_process_video_exception_with_small_buffer": {"executed_lines": [80, 82, 87, 88], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73, "executed_branches": [], "missing_branches": []}, "test_process_video_exception_with_small_buffer.callback_with_exception": {"executed_lines": [83, 84, 85], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 82, "executed_branches": [[83, 84], [83, 85]], "missing_branches": []}, "test_process_video_max_frames": {"executed_lines": [105, 106, 108, 112, 119, 120], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 97, "executed_branches": [], "missing_branches": []}, "test_process_video_max_frames.callback": {"executed_lines": [109, 110], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 108, "executed_branches": [], "missing_branches": []}, "test_process_video_custom_params": {"executed_lines": [131, 133, 137, 145], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 123, "executed_branches": [], "missing_branches": []}, "test_process_video_custom_params.callback": {"executed_lines": [134], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133, "executed_branches": [], "missing_branches": []}, "test_video_info": {"executed_lines": [156, 157, 158, 159, 160, 161, 162], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 148, "executed_branches": [], "missing_branches": []}, "test_video_info_float_fps": {"executed_lines": [173, 175, 180, 182, 183, 184, 185], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 165, "executed_branches": [], "missing_branches": []}, "test_video_info_float_fps.mocked_get": {"executed_lines": [176, 177, 178], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 175, "executed_branches": [[176, 177], [176, 178]], "missing_branches": []}, "test_get_video_frames_generator": {"executed_lines": [196, 197, 198, 199, 200], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 188, "executed_branches": [], "missing_branches": []}, "test_get_video_frames_generator_with_stride": {"executed_lines": [211, 212, 213], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 203, "executed_branches": [], "missing_branches": []}, "test_process_video_preserve_audio_calls_mux": {"executed_lines": [224, 226, 227, 233], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 216, "executed_branches": [], "missing_branches": []}, "test_process_video_no_audio_by_default": {"executed_lines": [246, 248, 249, 254], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 238, "executed_branches": [], "missing_branches": []}, "test_mux_audio_file_unchanged_on_failure": {"executed_lines": [277, 278, 279, 281, 285, 287], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 273, "executed_branches": [], "missing_branches": []}, "test_mux_audio_replaces_file_on_success": {"executed_lines": [292, 293, 295, 296, 297, 299, 304, 306, 307], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 290, "executed_branches": [], "missing_branches": []}, "test_get_video_frames_generator_with_start_end": {"executed_lines": [318, 319, 320], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 310, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 17, 18, 29, 52, 73, 97, 123, 148, 165, 188, 203, 216, 238, 257, 273, 290, 310], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 37, 39, 40, 41, 42, 44, 45, 52, 60, 62, 63, 66, 70, 73, 80, 82, 83, 84, 85, 87, 88, 97, 105, 106, 108, 109, 110, 112, 119, 120, 123, 131, 133, 134, 137, 145, 148, 156, 157, 158, 159, 160, 161, 162, 165, 173, 175, 176, 177, 178, 180, 182, 183, 184, 185, 188, 196, 197, 198, 199, 200, 203, 211, 212, 213, 216, 224, 226, 227, 233, 238, 246, 248, 249, 254, 257, 273, 277, 278, 279, 281, 285, 287, 290, 292, 293, 295, 296, 297, 299, 304, 306, 307, 310, 318, 319, 320], "summary": {"covered_lines": 115, "num_statements": 115, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[22, 23], [22, 25], [40, 41], [40, 42], [83, 84], [83, 85], [176, 177], [176, 178]], "missing_branches": []}}}}, "totals": {"covered_lines": 13066, "num_statements": 15334, "percent_covered": 81.81333333333333, "percent_covered_display": "82", "missing_lines": 2268, "excluded_lines": 50, "percent_statements_covered": 85.20933872440328, "percent_statements_covered_display": "85", "num_branches": 3416, "num_partial_branches": 430, "covered_branches": 2274, "missing_branches": 1142, "percent_branches_covered": 66.56908665105387, "percent_branches_covered_display": "67"}} \ No newline at end of file diff --git a/metrics-before-pytest/coverage_antes.xml b/metrics-before-pytest/coverage_antes.xml new file mode 100644 index 0000000000..348638eb3f --- /dev/null +++ b/metrics-before-pytest/coverage_antes.xml @@ -0,0 +1,16232 @@ + + + + + + C:\Users\ediva\ufc\manutencao\supervision_refactory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/metrics-before-pytest/pytest_antes.html b/metrics-before-pytest/pytest_antes.html new file mode 100644 index 0000000000..5f78be73b0 --- /dev/null +++ b/metrics-before-pytest/pytest_antes.html @@ -0,0 +1,1094 @@ + + + + + pytest_antes.html + + + + +

pytest_antes.html

+

Report generated on 25-Jun-2026 at 18:53:51 by pytest-html + v4.2.0

+
+

Environment

+
+
+ + + + + +
+
+

Summary

+
+
+

2068 tests took 00:01:10.

+

(Un)check the boxes to filter the results.

+
+ +
+
+
+
+ + 4 Failed, + + 2064 Passed, + + 0 Skipped, + + 0 Expected failures, + + 0 Unexpected passes, + + 0 Errors, + + 0 Reruns + + 0 Retried, +
+
+  /  +
+
+
+
+
+
+
+
+ + + + + + + + + +
ResultTestDurationLinks
+
+
+ +
+ + \ No newline at end of file diff --git a/metrics-before-pytest/pytest_antes.xml b/metrics-before-pytest/pytest_antes.xml new file mode 100644 index 0000000000..14f567a065 --- /dev/null +++ b/metrics-before-pytest/pytest_antes.xml @@ -0,0 +1,138 @@ +self = <tests.detection.test_compact_mask.TestCompactMaskRoundtripRandom object at 0x000001FBC17BBA10> +seed = 6 + + @pytest.mark.parametrize("seed", list(range(10))) + def test_parity_seed(self, seed: int) -> None: + rng = np.random.default_rng(seed) + num_masks, img_h, img_w = _RANDOM_CONFIGS[seed] +> masks, xyxy = _random_masks_and_xyxy(rng, num_masks, img_h, img_w) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +tests\detection\test_compact_mask.py:808: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +rng = Generator(PCG64) at 0x1FBC64111C0, num_masks = 5, img_h = 1080 +img_w = 1920, fill_prob = 0.3 + + def _random_masks_and_xyxy( + rng: np.random.Generator, + num_masks: int, + img_h: int, + img_w: int, + fill_prob: float = 0.3, + ) -> tuple[np.ndarray, np.ndarray]: + """Generate *num_masks* random boolean masks with matching tight xyxy boxes. + + Each mask is built by filling a random sub-rectangle with Bernoulli noise at + ``fill_prob``, then computing tight bounding boxes via ``mask_to_xyxy``. + This guarantees every mask has at least one True pixel (for non-degenerate + bounding boxes). + """ +> masks = np.zeros((num_masks, img_h, img_w), dtype=bool) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +E numpy._core._exceptions._ArrayMemoryError: Unable to allocate 9.89 MiB for an array with shape (5, 1080, 1920) and data type bool + +tests\detection\test_compact_mask.py:781: MemoryErrorself = <tests.detection.test_compact_mask.TestCompactMaskRoundtripRandom object at 0x000001FBC17BBAD0> +seed = 7 + + @pytest.mark.parametrize("seed", list(range(10))) + def test_parity_seed(self, seed: int) -> None: + rng = np.random.default_rng(seed) + num_masks, img_h, img_w = _RANDOM_CONFIGS[seed] +> masks, xyxy = _random_masks_and_xyxy(rng, num_masks, img_h, img_w) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +tests\detection\test_compact_mask.py:808: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +rng = Generator(PCG64) at 0x1FBC6411FC0, num_masks = 1, img_h = 1080 +img_w = 1920, fill_prob = 0.3 + + def _random_masks_and_xyxy( + rng: np.random.Generator, + num_masks: int, + img_h: int, + img_w: int, + fill_prob: float = 0.3, + ) -> tuple[np.ndarray, np.ndarray]: + """Generate *num_masks* random boolean masks with matching tight xyxy boxes. + + Each mask is built by filling a random sub-rectangle with Bernoulli noise at + ``fill_prob``, then computing tight bounding boxes via ``mask_to_xyxy``. + This guarantees every mask has at least one True pixel (for non-degenerate + bounding boxes). + """ +> masks = np.zeros((num_masks, img_h, img_w), dtype=bool) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +E numpy._core._exceptions._ArrayMemoryError: Unable to allocate 1.98 MiB for an array with shape (1, 1080, 1920) and data type bool + +tests\detection\test_compact_mask.py:781: MemoryErrorself = <tests.detection.test_compact_mask.TestCompactMaskRoundtripRandom object at 0x000001FBC17BBB90> +seed = 8 + + @pytest.mark.parametrize("seed", list(range(10))) + def test_parity_seed(self, seed: int) -> None: + rng = np.random.default_rng(seed) + num_masks, img_h, img_w = _RANDOM_CONFIGS[seed] +> masks, xyxy = _random_masks_and_xyxy(rng, num_masks, img_h, img_w) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +tests\detection\test_compact_mask.py:808: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +rng = Generator(PCG64) at 0x1FBC6412B20, num_masks = 20, img_h = 480 +img_w = 640, fill_prob = 0.3 + + def _random_masks_and_xyxy( + rng: np.random.Generator, + num_masks: int, + img_h: int, + img_w: int, + fill_prob: float = 0.3, + ) -> tuple[np.ndarray, np.ndarray]: + """Generate *num_masks* random boolean masks with matching tight xyxy boxes. + + Each mask is built by filling a random sub-rectangle with Bernoulli noise at + ``fill_prob``, then computing tight bounding boxes via ``mask_to_xyxy``. + This guarantees every mask has at least one True pixel (for non-degenerate + bounding boxes). + """ +> masks = np.zeros((num_masks, img_h, img_w), dtype=bool) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +E numpy._core._exceptions._ArrayMemoryError: Unable to allocate 5.86 MiB for an array with shape (20, 480, 640) and data type bool + +tests\detection\test_compact_mask.py:781: MemoryErrorself = <tests.detection.test_compact_mask.TestCompactMaskRoundtripRandom object at 0x000001FBC16BC5C0> +seed = 6 + + @pytest.mark.parametrize("seed", list(range(10))) + def test_shape_and_len(self, seed: int) -> None: + """len() and .shape must agree with the dense array.""" + rng = np.random.default_rng(seed) + num_masks, img_h, img_w = _RANDOM_CONFIGS[seed] +> masks, xyxy = _random_masks_and_xyxy(rng, num_masks, img_h, img_w) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +tests\detection\test_compact_mask.py:824: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +rng = Generator(PCG64) at 0x1FBC6411E00, num_masks = 5, img_h = 1080 +img_w = 1920, fill_prob = 0.3 + + def _random_masks_and_xyxy( + rng: np.random.Generator, + num_masks: int, + img_h: int, + img_w: int, + fill_prob: float = 0.3, + ) -> tuple[np.ndarray, np.ndarray]: + """Generate *num_masks* random boolean masks with matching tight xyxy boxes. + + Each mask is built by filling a random sub-rectangle with Bernoulli noise at + ``fill_prob``, then computing tight bounding boxes via ``mask_to_xyxy``. + This guarantees every mask has at least one True pixel (for non-degenerate + bounding boxes). + """ +> masks = np.zeros((num_masks, img_h, img_w), dtype=bool) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +E numpy._core._exceptions._ArrayMemoryError: Unable to allocate 9.89 MiB for an array with shape (5, 1080, 1920) and data type bool + +tests\detection\test_compact_mask.py:781: MemoryError \ No newline at end of file diff --git a/metrics-before-radon/cc_antes.json b/metrics-before-radon/cc_antes.json new file mode 100644 index 0000000000..1d8d745603 --- /dev/null +++ b/metrics-before-radon/cc_antes.json @@ -0,0 +1,14211 @@ +{ + "src\\supervision\\annotators\\base.py": [ + { + "type": "class", + "rank": "A", + "endline": 12, + "complexity": 2, + "lineno": 7, + "col_offset": 0, + "name": "BaseAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 12, + "complexity": 1, + "lineno": 9, + "col_offset": 4, + "name": "annotate", + "classname": "BaseAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 12, + "complexity": 1, + "lineno": 9, + "col_offset": 4, + "name": "annotate", + "classname": "BaseAnnotator", + "closures": [] + } + ], + "src\\supervision\\annotators\\core.py": [ + { + "type": "method", + "rank": "C", + "endline": 2748, + "complexity": 11, + "lineno": 2722, + "col_offset": 4, + "name": "calculate_border_coordinates", + "classname": "PercentageBarAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 2942, + "complexity": 11, + "lineno": 2904, + "col_offset": 4, + "name": "calculate_crop_coordinates", + "classname": "CropAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2116, + "complexity": 10, + "lineno": 2017, + "col_offset": 4, + "name": "annotate", + "classname": "TraceAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2322, + "complexity": 10, + "lineno": 2250, + "col_offset": 4, + "name": "annotate", + "classname": "PixelateAnnotator", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 420, + "complexity": 8, + "lineno": 365, + "col_offset": 0, + "name": "_paint_masks_by_area", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 2322, + "complexity": 8, + "lineno": 2231, + "col_offset": 0, + "name": "PixelateAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 2247, + "complexity": 3, + "lineno": 2236, + "col_offset": 4, + "name": "__init__", + "classname": "PixelateAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2322, + "complexity": 10, + "lineno": 2250, + "col_offset": 4, + "name": "annotate", + "classname": "PixelateAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 991, + "complexity": 7, + "lineno": 926, + "col_offset": 4, + "name": "annotate", + "classname": "BoxCornerAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1881, + "complexity": 7, + "lineno": 1812, + "col_offset": 4, + "name": "annotate", + "classname": "IconAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 2116, + "complexity": 7, + "lineno": 1974, + "col_offset": 0, + "name": "TraceAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 2014, + "complexity": 1, + "lineno": 1985, + "col_offset": 4, + "name": "__init__", + "classname": "TraceAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2116, + "complexity": 10, + "lineno": 2017, + "col_offset": 4, + "name": "annotate", + "classname": "TraceAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 2775, + "complexity": 7, + "lineno": 2751, + "col_offset": 4, + "name": "_validate_custom_values", + "classname": "PercentageBarAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 2942, + "complexity": 7, + "lineno": 2790, + "col_offset": 0, + "name": "CropAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 2820, + "complexity": 1, + "lineno": 2795, + "col_offset": 4, + "name": "__init__", + "classname": "CropAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2901, + "complexity": 6, + "lineno": 2823, + "col_offset": 4, + "name": "annotate", + "classname": "CropAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 2942, + "complexity": 11, + "lineno": 2904, + "col_offset": 4, + "name": "calculate_crop_coordinates", + "classname": "CropAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 3168, + "complexity": 7, + "lineno": 3161, + "col_offset": 4, + "name": "_use_obb", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 3179, + "complexity": 7, + "lineno": 3172, + "col_offset": 4, + "name": "_use_mask", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 361, + "complexity": 6, + "lineno": 301, + "col_offset": 4, + "name": "annotate", + "classname": "OrientedBoxAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 603, + "complexity": 6, + "lineno": 539, + "col_offset": 4, + "name": "annotate", + "classname": "PolygonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 797, + "complexity": 6, + "lineno": 730, + "col_offset": 4, + "name": "annotate", + "classname": "HaloAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1194, + "complexity": 6, + "lineno": 1122, + "col_offset": 4, + "name": "annotate", + "classname": "DotAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1467, + "complexity": 6, + "lineno": 1387, + "col_offset": 4, + "name": "_draw_labels", + "classname": "LabelAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 1971, + "complexity": 6, + "lineno": 1897, + "col_offset": 0, + "name": "BlurAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 1911, + "complexity": 3, + "lineno": 1902, + "col_offset": 4, + "name": "__init__", + "classname": "BlurAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1971, + "complexity": 6, + "lineno": 1914, + "col_offset": 4, + "name": "annotate", + "classname": "BlurAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 1971, + "complexity": 6, + "lineno": 1914, + "col_offset": 4, + "name": "annotate", + "classname": "BlurAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2228, + "complexity": 6, + "lineno": 2155, + "col_offset": 4, + "name": "annotate", + "classname": "HeatMapAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2444, + "complexity": 6, + "lineno": 2364, + "col_offset": 4, + "name": "annotate", + "classname": "TriangleAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2580, + "complexity": 6, + "lineno": 2480, + "col_offset": 4, + "name": "annotate", + "classname": "RoundBoxAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 2787, + "complexity": 6, + "lineno": 2583, + "col_offset": 0, + "name": "PercentageBarAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 2620, + "complexity": 2, + "lineno": 2588, + "col_offset": 4, + "name": "__init__", + "classname": "PercentageBarAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2719, + "complexity": 6, + "lineno": 2624, + "col_offset": 4, + "name": "annotate", + "classname": "PercentageBarAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 2748, + "complexity": 11, + "lineno": 2722, + "col_offset": 4, + "name": "calculate_border_coordinates", + "classname": "PercentageBarAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2775, + "complexity": 7, + "lineno": 2751, + "col_offset": 4, + "name": "_validate_custom_values", + "classname": "PercentageBarAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2787, + "complexity": 1, + "lineno": 2783, + "col_offset": 4, + "name": "validate_custom_values", + "classname": "PercentageBarAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 2719, + "complexity": 6, + "lineno": 2624, + "col_offset": 4, + "name": "annotate", + "classname": "PercentageBarAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2901, + "complexity": 6, + "lineno": 2823, + "col_offset": 4, + "name": "annotate", + "classname": "CropAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 3029, + "complexity": 6, + "lineno": 2978, + "col_offset": 4, + "name": "annotate", + "classname": "BackgroundOverlayAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 3158, + "complexity": 6, + "lineno": 3081, + "col_offset": 4, + "name": "annotate", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 361, + "complexity": 5, + "lineno": 277, + "col_offset": 0, + "name": "OrientedBoxAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 298, + "complexity": 1, + "lineno": 282, + "col_offset": 4, + "name": "__init__", + "classname": "OrientedBoxAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 361, + "complexity": 6, + "lineno": 301, + "col_offset": 4, + "name": "annotate", + "classname": "OrientedBoxAnnotator", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 603, + "complexity": 5, + "lineno": 511, + "col_offset": 0, + "name": "PolygonAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 536, + "complexity": 1, + "lineno": 520, + "col_offset": 4, + "name": "__init__", + "classname": "PolygonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 603, + "complexity": 6, + "lineno": 539, + "col_offset": 4, + "name": "annotate", + "classname": "PolygonAnnotator", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 797, + "complexity": 5, + "lineno": 698, + "col_offset": 0, + "name": "HaloAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 727, + "complexity": 1, + "lineno": 707, + "col_offset": 4, + "name": "__init__", + "classname": "HaloAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 797, + "complexity": 6, + "lineno": 730, + "col_offset": 4, + "name": "annotate", + "classname": "HaloAnnotator", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 991, + "complexity": 5, + "lineno": 899, + "col_offset": 0, + "name": "BoxCornerAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 923, + "complexity": 1, + "lineno": 904, + "col_offset": 4, + "name": "__init__", + "classname": "BoxCornerAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 991, + "complexity": 7, + "lineno": 926, + "col_offset": 4, + "name": "annotate", + "classname": "BoxCornerAnnotator", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 1194, + "complexity": 5, + "lineno": 1086, + "col_offset": 0, + "name": "DotAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 1119, + "complexity": 1, + "lineno": 1092, + "col_offset": 4, + "name": "__init__", + "classname": "DotAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1194, + "complexity": 6, + "lineno": 1122, + "col_offset": 4, + "name": "annotate", + "classname": "DotAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 1762, + "complexity": 5, + "lineno": 1701, + "col_offset": 4, + "name": "_draw_labels", + "classname": "RichLabelAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 2228, + "complexity": 5, + "lineno": 2119, + "col_offset": 0, + "name": "HeatMapAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 2152, + "complexity": 1, + "lineno": 2126, + "col_offset": 4, + "name": "__init__", + "classname": "HeatMapAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2228, + "complexity": 6, + "lineno": 2155, + "col_offset": 4, + "name": "annotate", + "classname": "HeatMapAnnotator", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 2444, + "complexity": 5, + "lineno": 2325, + "col_offset": 0, + "name": "TriangleAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 2361, + "complexity": 1, + "lineno": 2331, + "col_offset": 4, + "name": "__init__", + "classname": "TriangleAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2444, + "complexity": 6, + "lineno": 2364, + "col_offset": 4, + "name": "annotate", + "classname": "TriangleAnnotator", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 2580, + "complexity": 5, + "lineno": 2447, + "col_offset": 0, + "name": "RoundBoxAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 2477, + "complexity": 2, + "lineno": 2453, + "col_offset": 4, + "name": "__init__", + "classname": "RoundBoxAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2580, + "complexity": 6, + "lineno": 2480, + "col_offset": 4, + "name": "annotate", + "classname": "RoundBoxAnnotator", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 3029, + "complexity": 5, + "lineno": 2945, + "col_offset": 0, + "name": "BackgroundOverlayAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 2975, + "complexity": 1, + "lineno": 2960, + "col_offset": 4, + "name": "__init__", + "classname": "BackgroundOverlayAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 3029, + "complexity": 6, + "lineno": 2978, + "col_offset": 4, + "name": "annotate", + "classname": "BackgroundOverlayAnnotator", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 3294, + "complexity": 5, + "lineno": 3032, + "col_offset": 0, + "name": "ComparisonAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 3078, + "complexity": 1, + "lineno": 3043, + "col_offset": 4, + "name": "__init__", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 3158, + "complexity": 6, + "lineno": 3081, + "col_offset": 4, + "name": "annotate", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 3168, + "complexity": 7, + "lineno": 3161, + "col_offset": 4, + "name": "_use_obb", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 3179, + "complexity": 7, + "lineno": 3172, + "col_offset": 4, + "name": "_use_mask", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 3196, + "complexity": 3, + "lineno": 3183, + "col_offset": 4, + "name": "_mask_from_xyxy", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 3211, + "complexity": 3, + "lineno": 3199, + "col_offset": 4, + "name": "_mask_from_obb", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 3224, + "complexity": 4, + "lineno": 3214, + "col_offset": 4, + "name": "_mask_from_mask", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 3294, + "complexity": 3, + "lineno": 3226, + "col_offset": 4, + "name": "_draw_labels", + "classname": "ComparisonAnnotator", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 274, + "complexity": 4, + "lineno": 190, + "col_offset": 0, + "name": "BoxAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 211, + "complexity": 1, + "lineno": 195, + "col_offset": 4, + "name": "__init__", + "classname": "BoxAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 274, + "complexity": 4, + "lineno": 214, + "col_offset": 4, + "name": "annotate", + "classname": "BoxAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 274, + "complexity": 4, + "lineno": 214, + "col_offset": 4, + "name": "annotate", + "classname": "BoxAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 508, + "complexity": 4, + "lineno": 423, + "col_offset": 0, + "name": "MaskAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 448, + "complexity": 1, + "lineno": 432, + "col_offset": 4, + "name": "__init__", + "classname": "MaskAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 508, + "complexity": 4, + "lineno": 451, + "col_offset": 4, + "name": "annotate", + "classname": "MaskAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 508, + "complexity": 4, + "lineno": 451, + "col_offset": 4, + "name": "annotate", + "classname": "MaskAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 695, + "complexity": 4, + "lineno": 606, + "col_offset": 0, + "name": "ColorAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 627, + "complexity": 1, + "lineno": 611, + "col_offset": 4, + "name": "__init__", + "classname": "ColorAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 695, + "complexity": 4, + "lineno": 630, + "col_offset": 4, + "name": "annotate", + "classname": "ColorAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 695, + "complexity": 4, + "lineno": 630, + "col_offset": 4, + "name": "annotate", + "classname": "ColorAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 896, + "complexity": 4, + "lineno": 800, + "col_offset": 0, + "name": "EllipseAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 827, + "complexity": 1, + "lineno": 805, + "col_offset": 4, + "name": "__init__", + "classname": "EllipseAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 896, + "complexity": 4, + "lineno": 830, + "col_offset": 4, + "name": "annotate", + "classname": "EllipseAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 896, + "complexity": 4, + "lineno": 830, + "col_offset": 4, + "name": "annotate", + "classname": "EllipseAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 1083, + "complexity": 4, + "lineno": 994, + "col_offset": 0, + "name": "CircleAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 1016, + "complexity": 1, + "lineno": 999, + "col_offset": 4, + "name": "__init__", + "classname": "CircleAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1083, + "complexity": 4, + "lineno": 1019, + "col_offset": 4, + "name": "annotate", + "classname": "CircleAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 1083, + "complexity": 4, + "lineno": 1019, + "col_offset": 4, + "name": "annotate", + "classname": "CircleAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 1509, + "complexity": 4, + "lineno": 1197, + "col_offset": 0, + "name": "LabelAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 1248, + "complexity": 1, + "lineno": 1202, + "col_offset": 4, + "name": "__init__", + "classname": "LabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1331, + "complexity": 3, + "lineno": 1252, + "col_offset": 4, + "name": "annotate", + "classname": "LabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1385, + "complexity": 4, + "lineno": 1333, + "col_offset": 4, + "name": "_get_label_properties", + "classname": "LabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1467, + "complexity": 6, + "lineno": 1387, + "col_offset": 4, + "name": "_draw_labels", + "classname": "LabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1509, + "complexity": 3, + "lineno": 1470, + "col_offset": 4, + "name": "draw_rounded_rectangle", + "classname": "LabelAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 1385, + "complexity": 4, + "lineno": 1333, + "col_offset": 4, + "name": "_get_label_properties", + "classname": "LabelAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 1785, + "complexity": 4, + "lineno": 1512, + "col_offset": 0, + "name": "RichLabelAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 1565, + "complexity": 1, + "lineno": 1518, + "col_offset": 4, + "name": "__init__", + "classname": "RichLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1647, + "complexity": 3, + "lineno": 1569, + "col_offset": 4, + "name": "annotate", + "classname": "RichLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1699, + "complexity": 4, + "lineno": 1649, + "col_offset": 4, + "name": "_get_label_properties", + "classname": "RichLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1762, + "complexity": 5, + "lineno": 1701, + "col_offset": 4, + "name": "_draw_labels", + "classname": "RichLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1785, + "complexity": 3, + "lineno": 1765, + "col_offset": 4, + "name": "_load_font", + "classname": "RichLabelAnnotator", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 1774, + "complexity": 2, + "lineno": 1768, + "col_offset": 8, + "name": "load_default_font", + "closures": [] + } + ] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 1699, + "complexity": 4, + "lineno": 1649, + "col_offset": 4, + "name": "_get_label_properties", + "classname": "RichLabelAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 1894, + "complexity": 4, + "lineno": 1788, + "col_offset": 0, + "name": "IconAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 1809, + "complexity": 1, + "lineno": 1793, + "col_offset": 4, + "name": "__init__", + "classname": "IconAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1881, + "complexity": 7, + "lineno": 1812, + "col_offset": 4, + "name": "annotate", + "classname": "IconAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1894, + "complexity": 2, + "lineno": 1884, + "col_offset": 4, + "name": "_load_icon", + "classname": "IconAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 3224, + "complexity": 4, + "lineno": 3214, + "col_offset": 4, + "name": "_mask_from_mask", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 187, + "complexity": 3, + "lineno": 83, + "col_offset": 0, + "name": "_BaseLabelAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 145, + "complexity": 1, + "lineno": 103, + "col_offset": 4, + "name": "__init__", + "classname": "_BaseLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 187, + "complexity": 2, + "lineno": 147, + "col_offset": 4, + "name": "_adjust_labels_in_frame", + "classname": "_BaseLabelAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 1331, + "complexity": 3, + "lineno": 1252, + "col_offset": 4, + "name": "annotate", + "classname": "LabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1509, + "complexity": 3, + "lineno": 1470, + "col_offset": 4, + "name": "draw_rounded_rectangle", + "classname": "LabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1647, + "complexity": 3, + "lineno": 1569, + "col_offset": 4, + "name": "annotate", + "classname": "RichLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1785, + "complexity": 3, + "lineno": 1765, + "col_offset": 4, + "name": "_load_font", + "classname": "RichLabelAnnotator", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 1774, + "complexity": 2, + "lineno": 1768, + "col_offset": 8, + "name": "load_default_font", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 1911, + "complexity": 3, + "lineno": 1902, + "col_offset": 4, + "name": "__init__", + "classname": "BlurAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2247, + "complexity": 3, + "lineno": 2236, + "col_offset": 4, + "name": "__init__", + "classname": "PixelateAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 3196, + "complexity": 3, + "lineno": 3183, + "col_offset": 4, + "name": "_mask_from_xyxy", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 3211, + "complexity": 3, + "lineno": 3199, + "col_offset": 4, + "name": "_mask_from_obb", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 3294, + "complexity": 3, + "lineno": 3226, + "col_offset": 4, + "name": "_draw_labels", + "classname": "ComparisonAnnotator", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 77, + "complexity": 2, + "lineno": 67, + "col_offset": 0, + "name": "_normalize_color_input", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 187, + "complexity": 2, + "lineno": 147, + "col_offset": 4, + "name": "_adjust_labels_in_frame", + "classname": "_BaseLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1894, + "complexity": 2, + "lineno": 1884, + "col_offset": 4, + "name": "_load_icon", + "classname": "IconAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2477, + "complexity": 2, + "lineno": 2453, + "col_offset": 4, + "name": "__init__", + "classname": "RoundBoxAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2620, + "complexity": 2, + "lineno": 2588, + "col_offset": 4, + "name": "__init__", + "classname": "PercentageBarAnnotator", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 58, + "complexity": 1, + "lineno": 58, + "col_offset": 0, + "name": "_normalize_color_input", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 64, + "complexity": 1, + "lineno": 62, + "col_offset": 0, + "name": "_normalize_color_input", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 145, + "complexity": 1, + "lineno": 103, + "col_offset": 4, + "name": "__init__", + "classname": "_BaseLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 211, + "complexity": 1, + "lineno": 195, + "col_offset": 4, + "name": "__init__", + "classname": "BoxAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 298, + "complexity": 1, + "lineno": 282, + "col_offset": 4, + "name": "__init__", + "classname": "OrientedBoxAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 448, + "complexity": 1, + "lineno": 432, + "col_offset": 4, + "name": "__init__", + "classname": "MaskAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 536, + "complexity": 1, + "lineno": 520, + "col_offset": 4, + "name": "__init__", + "classname": "PolygonAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 627, + "complexity": 1, + "lineno": 611, + "col_offset": 4, + "name": "__init__", + "classname": "ColorAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 727, + "complexity": 1, + "lineno": 707, + "col_offset": 4, + "name": "__init__", + "classname": "HaloAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 827, + "complexity": 1, + "lineno": 805, + "col_offset": 4, + "name": "__init__", + "classname": "EllipseAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 923, + "complexity": 1, + "lineno": 904, + "col_offset": 4, + "name": "__init__", + "classname": "BoxCornerAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1016, + "complexity": 1, + "lineno": 999, + "col_offset": 4, + "name": "__init__", + "classname": "CircleAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1119, + "complexity": 1, + "lineno": 1092, + "col_offset": 4, + "name": "__init__", + "classname": "DotAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1248, + "complexity": 1, + "lineno": 1202, + "col_offset": 4, + "name": "__init__", + "classname": "LabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1565, + "complexity": 1, + "lineno": 1518, + "col_offset": 4, + "name": "__init__", + "classname": "RichLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1809, + "complexity": 1, + "lineno": 1793, + "col_offset": 4, + "name": "__init__", + "classname": "IconAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2014, + "complexity": 1, + "lineno": 1985, + "col_offset": 4, + "name": "__init__", + "classname": "TraceAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2152, + "complexity": 1, + "lineno": 2126, + "col_offset": 4, + "name": "__init__", + "classname": "HeatMapAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2361, + "complexity": 1, + "lineno": 2331, + "col_offset": 4, + "name": "__init__", + "classname": "TriangleAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2787, + "complexity": 1, + "lineno": 2783, + "col_offset": 4, + "name": "validate_custom_values", + "classname": "PercentageBarAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2820, + "complexity": 1, + "lineno": 2795, + "col_offset": 4, + "name": "__init__", + "classname": "CropAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2975, + "complexity": 1, + "lineno": 2960, + "col_offset": 4, + "name": "__init__", + "classname": "BackgroundOverlayAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 3078, + "complexity": 1, + "lineno": 3043, + "col_offset": 4, + "name": "__init__", + "classname": "ComparisonAnnotator", + "closures": [] + } + ], + "src\\supervision\\annotators\\utils.py": [ + { + "type": "function", + "rank": "C", + "endline": 129, + "complexity": 11, + "lineno": 80, + "col_offset": 0, + "name": "resolve_text_background_xyxy", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 202, + "complexity": 10, + "lineno": 159, + "col_offset": 0, + "name": "wrap_text", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 77, + "complexity": 9, + "lineno": 40, + "col_offset": 0, + "name": "resolve_color_idx", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 263, + "complexity": 5, + "lineno": 235, + "col_offset": 0, + "name": "get_labels_text", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 156, + "complexity": 4, + "lineno": 139, + "col_offset": 0, + "name": "resolve_color", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 409, + "complexity": 4, + "lineno": 384, + "col_offset": 0, + "name": "hex_to_rgba", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 427, + "complexity": 4, + "lineno": 412, + "col_offset": 0, + "name": "rgba_to_hex", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 375, + "complexity": 4, + "lineno": 347, + "col_offset": 4, + "name": "put", + "classname": "Trace", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 221, + "complexity": 3, + "lineno": 205, + "col_offset": 0, + "name": "_validate_labels", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 381, + "complexity": 3, + "lineno": 332, + "col_offset": 0, + "name": "Trace", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 345, + "complexity": 1, + "lineno": 333, + "col_offset": 4, + "name": "__init__", + "classname": "Trace", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 375, + "complexity": 4, + "lineno": 347, + "col_offset": 4, + "name": "put", + "classname": "Trace", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 381, + "complexity": 1, + "lineno": 377, + "col_offset": 4, + "name": "get", + "classname": "Trace", + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "endline": 136, + "complexity": 2, + "lineno": 133, + "col_offset": 0, + "name": "get_color_by_index", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 37, + "complexity": 2, + "lineno": 21, + "col_offset": 0, + "name": "ColorLookup", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 37, + "complexity": 1, + "lineno": 36, + "col_offset": 4, + "name": "list", + "classname": "ColorLookup", + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "endline": 232, + "complexity": 1, + "lineno": 231, + "col_offset": 0, + "name": "validate_labels", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 329, + "complexity": 1, + "lineno": 266, + "col_offset": 0, + "name": "snap_boxes", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 441, + "complexity": 1, + "lineno": 430, + "col_offset": 0, + "name": "is_valid_hex", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 464, + "complexity": 1, + "lineno": 444, + "col_offset": 0, + "name": "calculate_dynamic_kernel_size", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 487, + "complexity": 1, + "lineno": 467, + "col_offset": 0, + "name": "calculate_dynamic_pixel_size", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 37, + "complexity": 1, + "lineno": 36, + "col_offset": 4, + "name": "list", + "classname": "ColorLookup", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 345, + "complexity": 1, + "lineno": 333, + "col_offset": 4, + "name": "__init__", + "classname": "Trace", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 381, + "complexity": 1, + "lineno": 377, + "col_offset": 4, + "name": "get", + "classname": "Trace", + "closures": [] + } + ], + "src\\supervision\\assets\\downloader.py": [ + { + "type": "function", + "rank": "B", + "endline": 95, + "complexity": 6, + "lineno": 41, + "col_offset": 0, + "name": "download_assets", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 38, + "complexity": 2, + "lineno": 17, + "col_offset": 0, + "name": "is_md5_hash_matching", + "closures": [] + } + ], + "src\\supervision\\assets\\list.py": [ + { + "type": "class", + "rank": "A", + "endline": 20, + "complexity": 3, + "lineno": 7, + "col_offset": 0, + "name": "Assets", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 16, + "complexity": 1, + "lineno": 11, + "col_offset": 4, + "name": "__new__", + "classname": "Assets", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 20, + "complexity": 2, + "lineno": 19, + "col_offset": 4, + "name": "list", + "classname": "Assets", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 20, + "complexity": 2, + "lineno": 19, + "col_offset": 4, + "name": "list", + "classname": "Assets", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 16, + "complexity": 1, + "lineno": 11, + "col_offset": 4, + "name": "__new__", + "classname": "Assets", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 54, + "complexity": 1, + "lineno": 23, + "col_offset": 0, + "name": "VideoAssets", + "methods": [] + }, + { + "type": "class", + "rank": "A", + "endline": 70, + "complexity": 1, + "lineno": 57, + "col_offset": 0, + "name": "ImageAssets", + "methods": [] + } + ], + "src\\supervision\\classification\\core.py": [ + { + "type": "function", + "rank": "A", + "endline": 29, + "complexity": 4, + "lineno": 22, + "col_offset": 0, + "name": "_validate_confidence", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 19, + "complexity": 3, + "lineno": 13, + "col_offset": 0, + "name": "_validate_class_ids", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 200, + "complexity": 2, + "lineno": 33, + "col_offset": 0, + "name": "Classifications", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 44, + "complexity": 1, + "lineno": 37, + "col_offset": 4, + "name": "__post_init__", + "classname": "Classifications", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 50, + "complexity": 1, + "lineno": 46, + "col_offset": 4, + "name": "__len__", + "classname": "Classifications", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 90, + "complexity": 2, + "lineno": 53, + "col_offset": 4, + "name": "from_clip", + "classname": "Classifications", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 118, + "complexity": 1, + "lineno": 93, + "col_offset": 4, + "name": "from_ultralytics", + "classname": "Classifications", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 164, + "complexity": 2, + "lineno": 121, + "col_offset": 4, + "name": "from_timm", + "classname": "Classifications", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 200, + "complexity": 2, + "lineno": 166, + "col_offset": 4, + "name": "get_top_k", + "classname": "Classifications", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 90, + "complexity": 2, + "lineno": 53, + "col_offset": 4, + "name": "from_clip", + "classname": "Classifications", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 164, + "complexity": 2, + "lineno": 121, + "col_offset": 4, + "name": "from_timm", + "classname": "Classifications", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 200, + "complexity": 2, + "lineno": 166, + "col_offset": 4, + "name": "get_top_k", + "classname": "Classifications", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 44, + "complexity": 1, + "lineno": 37, + "col_offset": 4, + "name": "__post_init__", + "classname": "Classifications", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 50, + "complexity": 1, + "lineno": 46, + "col_offset": 4, + "name": "__len__", + "classname": "Classifications", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 118, + "complexity": 1, + "lineno": 93, + "col_offset": 4, + "name": "from_ultralytics", + "classname": "Classifications", + "closures": [] + } + ], + "src\\supervision\\dataset\\core.py": [ + { + "type": "method", + "rank": "C", + "endline": 327, + "complexity": 13, + "lineno": 231, + "col_offset": 4, + "name": "merge", + "classname": "DetectionDataset", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 280, + "complexity": 2, + "lineno": 279, + "col_offset": 8, + "name": "is_in_memory", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 283, + "complexity": 1, + "lineno": 282, + "col_offset": 8, + "name": "is_lazy", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 155, + "complexity": 8, + "lineno": 135, + "col_offset": 4, + "name": "__eq__", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 575, + "complexity": 8, + "lineno": 504, + "col_offset": 4, + "name": "as_yolo", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 822, + "complexity": 8, + "lineno": 802, + "col_offset": 4, + "name": "__eq__", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 228, + "complexity": 6, + "lineno": 157, + "col_offset": 4, + "name": "split", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 895, + "complexity": 6, + "lineno": 824, + "col_offset": 4, + "name": "split", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 723, + "complexity": 5, + "lineno": 56, + "col_offset": 0, + "name": "DetectionDataset", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 99, + "complexity": 5, + "lineno": 74, + "col_offset": 4, + "name": "__init__", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 108, + "complexity": 3, + "lineno": 101, + "col_offset": 4, + "name": "_get_image", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 111, + "complexity": 2, + "lineno": 110, + "col_offset": 4, + "name": "__len__", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 122, + "complexity": 1, + "lineno": 113, + "col_offset": 4, + "name": "__getitem__", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 133, + "complexity": 2, + "lineno": 124, + "col_offset": 4, + "name": "__iter__", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 155, + "complexity": 8, + "lineno": 135, + "col_offset": 4, + "name": "__eq__", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 228, + "complexity": 6, + "lineno": 157, + "col_offset": 4, + "name": "split", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 327, + "complexity": 13, + "lineno": 231, + "col_offset": 4, + "name": "merge", + "classname": "DetectionDataset", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 280, + "complexity": 2, + "lineno": 279, + "col_offset": 8, + "name": "is_in_memory", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 283, + "complexity": 1, + "lineno": 282, + "col_offset": 8, + "name": "is_lazy", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 385, + "complexity": 4, + "lineno": 330, + "col_offset": 4, + "name": "as_pascal_voc", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 438, + "complexity": 1, + "lineno": 388, + "col_offset": 4, + "name": "from_pascal_voc", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 501, + "complexity": 1, + "lineno": 442, + "col_offset": 4, + "name": "from_yolo", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 575, + "complexity": 8, + "lineno": 504, + "col_offset": 4, + "name": "as_yolo", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 624, + "complexity": 1, + "lineno": 578, + "col_offset": 4, + "name": "from_coco", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 723, + "complexity": 3, + "lineno": 626, + "col_offset": 4, + "name": "as_coco", + "classname": "DetectionDataset", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 99, + "complexity": 5, + "lineno": 74, + "col_offset": 4, + "name": "__init__", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 385, + "complexity": 4, + "lineno": 330, + "col_offset": 4, + "name": "as_pascal_voc", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 968, + "complexity": 4, + "lineno": 727, + "col_offset": 0, + "name": "ClassificationDataset", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 761, + "complexity": 3, + "lineno": 740, + "col_offset": 4, + "name": "__init__", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 773, + "complexity": 3, + "lineno": 766, + "col_offset": 4, + "name": "_get_image", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 776, + "complexity": 2, + "lineno": 775, + "col_offset": 4, + "name": "__len__", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 787, + "complexity": 1, + "lineno": 778, + "col_offset": 4, + "name": "__getitem__", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 800, + "complexity": 2, + "lineno": 789, + "col_offset": 4, + "name": "__iter__", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 822, + "complexity": 8, + "lineno": 802, + "col_offset": 4, + "name": "__eq__", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 895, + "complexity": 6, + "lineno": 824, + "col_offset": 4, + "name": "split", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 919, + "complexity": 4, + "lineno": 897, + "col_offset": 4, + "name": "as_folder_structure", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 968, + "complexity": 3, + "lineno": 922, + "col_offset": 4, + "name": "from_folder_structure", + "classname": "ClassificationDataset", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 919, + "complexity": 4, + "lineno": 897, + "col_offset": 4, + "name": "as_folder_structure", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 108, + "complexity": 3, + "lineno": 101, + "col_offset": 4, + "name": "_get_image", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 723, + "complexity": 3, + "lineno": 626, + "col_offset": 4, + "name": "as_coco", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 761, + "complexity": 3, + "lineno": 740, + "col_offset": 4, + "name": "__init__", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 773, + "complexity": 3, + "lineno": 766, + "col_offset": 4, + "name": "_get_image", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 968, + "complexity": 3, + "lineno": 922, + "col_offset": 4, + "name": "from_folder_structure", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 53, + "complexity": 2, + "lineno": 41, + "col_offset": 0, + "name": "BaseDataset", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 44, + "complexity": 1, + "lineno": 43, + "col_offset": 4, + "name": "__len__", + "classname": "BaseDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 53, + "complexity": 1, + "lineno": 47, + "col_offset": 4, + "name": "split", + "classname": "BaseDataset", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 111, + "complexity": 2, + "lineno": 110, + "col_offset": 4, + "name": "__len__", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 133, + "complexity": 2, + "lineno": 124, + "col_offset": 4, + "name": "__iter__", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 776, + "complexity": 2, + "lineno": 775, + "col_offset": 4, + "name": "__len__", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 800, + "complexity": 2, + "lineno": 789, + "col_offset": 4, + "name": "__iter__", + "classname": "ClassificationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 44, + "complexity": 1, + "lineno": 43, + "col_offset": 4, + "name": "__len__", + "classname": "BaseDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 53, + "complexity": 1, + "lineno": 47, + "col_offset": 4, + "name": "split", + "classname": "BaseDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 122, + "complexity": 1, + "lineno": 113, + "col_offset": 4, + "name": "__getitem__", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 438, + "complexity": 1, + "lineno": 388, + "col_offset": 4, + "name": "from_pascal_voc", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 501, + "complexity": 1, + "lineno": 442, + "col_offset": 4, + "name": "from_yolo", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 624, + "complexity": 1, + "lineno": 578, + "col_offset": 4, + "name": "from_coco", + "classname": "DetectionDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 787, + "complexity": 1, + "lineno": 778, + "col_offset": 4, + "name": "__getitem__", + "classname": "ClassificationDataset", + "closures": [] + } + ], + "src\\supervision\\dataset\\utils.py": [ + { + "type": "function", + "rank": "A", + "endline": 125, + "complexity": 4, + "lineno": 108, + "col_offset": 0, + "name": "map_detections_class_id", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 76, + "complexity": 3, + "lineno": 52, + "col_offset": 0, + "name": "approximate_mask_with_polygons", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 87, + "complexity": 3, + "lineno": 80, + "col_offset": 0, + "name": "merge_class_lists", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 105, + "complexity": 3, + "lineno": 90, + "col_offset": 0, + "name": "build_class_index_mapping", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 136, + "complexity": 3, + "lineno": 128, + "col_offset": 0, + "name": "save_dataset_images", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 164, + "complexity": 3, + "lineno": 139, + "col_offset": 0, + "name": "train_test_split", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 34, + "complexity": 1, + "lineno": 30, + "col_offset": 0, + "name": "mask_to_rle", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 43, + "complexity": 1, + "lineno": 38, + "col_offset": 0, + "name": "rle_to_mask", + "closures": [] + } + ], + "src\\supervision\\dataset\\formats\\coco.py": [ + { + "type": "function", + "rank": "C", + "endline": 354, + "complexity": 15, + "lineno": 217, + "col_offset": 0, + "name": "detections_to_coco_annotations", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 213, + "complexity": 9, + "lineno": 145, + "col_offset": 0, + "name": "coco_annotations_to_detections", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 142, + "complexity": 8, + "lineno": 96, + "col_offset": 0, + "name": "coco_annotations_to_masks", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 500, + "complexity": 8, + "lineno": 396, + "col_offset": 0, + "name": "load_coco_annotations", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 621, + "complexity": 4, + "lineno": 507, + "col_offset": 0, + "name": "save_coco_annotations", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 44, + "complexity": 3, + "lineno": 36, + "col_offset": 0, + "name": "build_coco_class_index_mapping", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 93, + "complexity": 3, + "lineno": 84, + "col_offset": 0, + "name": "group_coco_annotations_by_image_id", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 32, + "complexity": 2, + "lineno": 29, + "col_offset": 0, + "name": "coco_categories_to_classes", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 80, + "complexity": 2, + "lineno": 48, + "col_offset": 0, + "name": "classes_to_coco_categories", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 393, + "complexity": 2, + "lineno": 357, + "col_offset": 0, + "name": "get_coco_class_index_mapping", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 504, + "complexity": 1, + "lineno": 503, + "col_offset": 0, + "name": "_with_seg_mask", + "closures": [] + } + ], + "src\\supervision\\dataset\\formats\\pascal_voc.py": [ + { + "type": "function", + "rank": "C", + "endline": 332, + "complexity": 12, + "lineno": 235, + "col_offset": 0, + "name": "detections_from_xml_obj", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 178, + "complexity": 6, + "lineno": 84, + "col_offset": 0, + "name": "detections_to_pascal_voc", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 232, + "complexity": 5, + "lineno": 181, + "col_offset": 0, + "name": "load_pascal_voc_annotations", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 347, + "complexity": 4, + "lineno": 339, + "col_offset": 0, + "name": "parse_polygon_points", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 81, + "complexity": 3, + "lineno": 19, + "col_offset": 0, + "name": "object_to_pascal_voc", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 355, + "complexity": 3, + "lineno": 351, + "col_offset": 0, + "name": "_get_required_text", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 336, + "complexity": 1, + "lineno": 335, + "col_offset": 0, + "name": "_with_poly_mask", + "closures": [] + } + ], + "src\\supervision\\dataset\\formats\\yolo.py": [ + { + "type": "function", + "rank": "C", + "endline": 129, + "complexity": 14, + "lineno": 70, + "col_offset": 0, + "name": "_extract_class_names", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 109, + "complexity": 4, + "lineno": 100, + "col_offset": 8, + "name": "_is_int_like", + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "C", + "endline": 419, + "complexity": 13, + "lineno": 296, + "col_offset": 0, + "name": "detections_to_yolo_annotations", + "closures": [] + }, + { + "type": "function", + "rank": "C", + "endline": 184, + "complexity": 11, + "lineno": 138, + "col_offset": 0, + "name": "yolo_annotations_to_detections", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 271, + "complexity": 9, + "lineno": 187, + "col_offset": 0, + "name": "load_yolo_annotations", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 293, + "complexity": 3, + "lineno": 274, + "col_offset": 0, + "name": "object_to_yolo", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 62, + "complexity": 2, + "lineno": 51, + "col_offset": 0, + "name": "_polygons_to_masks", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 67, + "complexity": 2, + "lineno": 66, + "col_offset": 0, + "name": "_with_seg_mask", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 471, + "complexity": 2, + "lineno": 422, + "col_offset": 0, + "name": "save_yolo_annotations", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 37, + "complexity": 1, + "lineno": 28, + "col_offset": 0, + "name": "_parse_box", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 43, + "complexity": 1, + "lineno": 41, + "col_offset": 0, + "name": "_box_to_polygon", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 48, + "complexity": 1, + "lineno": 47, + "col_offset": 0, + "name": "_parse_polygon", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 135, + "complexity": 1, + "lineno": 133, + "col_offset": 0, + "name": "_image_name_to_annotation_name", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 477, + "complexity": 1, + "lineno": 474, + "col_offset": 0, + "name": "save_data_yaml", + "closures": [] + } + ], + "src\\supervision\\detection\\compact_mask.py": [ + { + "type": "function", + "rank": "C", + "endline": 125, + "complexity": 12, + "lineno": 49, + "col_offset": 0, + "name": "_rle_split_cols", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 330, + "complexity": 9, + "lineno": 249, + "col_offset": 0, + "name": "_rle_resize", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 861, + "complexity": 9, + "lineno": 795, + "col_offset": 4, + "name": "__getitem__", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1185, + "complexity": 9, + "lineno": 1067, + "col_offset": 4, + "name": "with_offset", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1306, + "complexity": 9, + "lineno": 1192, + "col_offset": 4, + "name": "resize", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 246, + "complexity": 7, + "lineno": 193, + "col_offset": 0, + "name": "_rle_join_cols", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 982, + "complexity": 7, + "lineno": 924, + "col_offset": 4, + "name": "merge", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 190, + "complexity": 5, + "lineno": 128, + "col_offset": 0, + "name": "_rle_scale_col", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 549, + "complexity": 5, + "lineno": 476, + "col_offset": 4, + "name": "from_dense", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 1306, + "complexity": 4, + "lineno": 389, + "col_offset": 0, + "name": "CompactMask", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 469, + "complexity": 1, + "lineno": 459, + "col_offset": 4, + "name": "__init__", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 549, + "complexity": 5, + "lineno": 476, + "col_offset": 4, + "name": "from_dense", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 585, + "complexity": 2, + "lineno": 555, + "col_offset": 4, + "name": "to_dense", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 614, + "complexity": 1, + "lineno": 587, + "col_offset": 4, + "name": "crop", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 638, + "complexity": 1, + "lineno": 620, + "col_offset": 4, + "name": "__len__", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 643, + "complexity": 2, + "lineno": 640, + "col_offset": 4, + "name": "__iter__", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 665, + "complexity": 1, + "lineno": 646, + "col_offset": 4, + "name": "shape", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 687, + "complexity": 1, + "lineno": 668, + "col_offset": 4, + "name": "offsets", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 720, + "complexity": 2, + "lineno": 690, + "col_offset": 4, + "name": "bbox_xyxy", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 741, + "complexity": 1, + "lineno": 723, + "col_offset": 4, + "name": "dtype", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 764, + "complexity": 2, + "lineno": 744, + "col_offset": 4, + "name": "area", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 793, + "complexity": 2, + "lineno": 766, + "col_offset": 4, + "name": "sum", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 861, + "complexity": 9, + "lineno": 795, + "col_offset": 4, + "name": "__getitem__", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 889, + "complexity": 2, + "lineno": 863, + "col_offset": 4, + "name": "__array__", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 917, + "complexity": 3, + "lineno": 891, + "col_offset": 4, + "name": "__eq__", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 982, + "complexity": 7, + "lineno": 924, + "col_offset": 4, + "name": "merge", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1060, + "complexity": 4, + "lineno": 984, + "col_offset": 4, + "name": "repack", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1185, + "complexity": 9, + "lineno": 1067, + "col_offset": 4, + "name": "with_offset", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1306, + "complexity": 9, + "lineno": 1192, + "col_offset": 4, + "name": "resize", + "classname": "CompactMask", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 1060, + "complexity": 4, + "lineno": 984, + "col_offset": 4, + "name": "repack", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 386, + "complexity": 3, + "lineno": 341, + "col_offset": 0, + "name": "_resize_crop", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 917, + "complexity": 3, + "lineno": 891, + "col_offset": 4, + "name": "__eq__", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 585, + "complexity": 2, + "lineno": 555, + "col_offset": 4, + "name": "to_dense", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 643, + "complexity": 2, + "lineno": 640, + "col_offset": 4, + "name": "__iter__", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 720, + "complexity": 2, + "lineno": 690, + "col_offset": 4, + "name": "bbox_xyxy", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 764, + "complexity": 2, + "lineno": 744, + "col_offset": 4, + "name": "area", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 793, + "complexity": 2, + "lineno": 766, + "col_offset": 4, + "name": "sum", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 889, + "complexity": 2, + "lineno": 863, + "col_offset": 4, + "name": "__array__", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 46, + "complexity": 1, + "lineno": 27, + "col_offset": 0, + "name": "_rle_area", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 469, + "complexity": 1, + "lineno": 459, + "col_offset": 4, + "name": "__init__", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 614, + "complexity": 1, + "lineno": 587, + "col_offset": 4, + "name": "crop", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 638, + "complexity": 1, + "lineno": 620, + "col_offset": 4, + "name": "__len__", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 665, + "complexity": 1, + "lineno": 646, + "col_offset": 4, + "name": "shape", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 687, + "complexity": 1, + "lineno": 668, + "col_offset": 4, + "name": "offsets", + "classname": "CompactMask", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 741, + "complexity": 1, + "lineno": 723, + "col_offset": 4, + "name": "dtype", + "classname": "CompactMask", + "closures": [] + } + ], + "src\\supervision\\detection\\core.py": [ + { + "type": "method", + "rank": "C", + "endline": 1958, + "complexity": 20, + "lineno": 1461, + "col_offset": 4, + "name": "from_vlm", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 839, + "complexity": 17, + "lineno": 718, + "col_offset": 4, + "name": "from_sam3", + "classname": "Detections", + "closures": [] + }, + { + "type": "function", + "rank": "C", + "endline": 2762, + "complexity": 15, + "lineno": 2678, + "col_offset": 0, + "name": "_merge_detection_group", + "closures": [] + }, + { + "type": "function", + "rank": "C", + "endline": 2855, + "complexity": 12, + "lineno": 2767, + "col_offset": 0, + "name": "merge_inner_detection_object_pair", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 2280, + "complexity": 12, + "lineno": 2217, + "col_offset": 4, + "name": "get_anchors_coordinates", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 333, + "complexity": 11, + "lineno": 254, + "col_offset": 4, + "name": "from_ultralytics", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 926, + "complexity": 10, + "lineno": 843, + "col_offset": 4, + "name": "from_azure_analyze_image", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2632, + "complexity": 9, + "lineno": 2540, + "col_offset": 4, + "name": "with_nmm", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2214, + "complexity": 8, + "lineno": 2111, + "col_offset": 4, + "name": "merge", + "classname": "Detections", + "closures": [ + { + "type": "function", + "rank": "C", + "endline": 2195, + "complexity": 11, + "lineno": 2182, + "col_offset": 8, + "name": "stack_or_none", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 2328, + "complexity": 8, + "lineno": 2282, + "col_offset": 4, + "name": "__getitem__", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2002, + "complexity": 7, + "lineno": 1961, + "col_offset": 4, + "name": "from_easyocr", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2538, + "complexity": 7, + "lineno": 2463, + "col_offset": 4, + "name": "with_nms", + "classname": "Detections", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 2632, + "complexity": 6, + "lineno": 68, + "col_offset": 0, + "name": "Detections", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 171, + "complexity": 1, + "lineno": 164, + "col_offset": 4, + "name": "__post_init__", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 178, + "complexity": 1, + "lineno": 174, + "col_offset": 4, + "name": "__len__", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 203, + "complexity": 6, + "lineno": 180, + "col_offset": 4, + "name": "__iter__", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 217, + "complexity": 2, + "lineno": 206, + "col_offset": 4, + "name": "__eq__", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 250, + "complexity": 1, + "lineno": 222, + "col_offset": 4, + "name": "from_yolov5", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 333, + "complexity": 11, + "lineno": 254, + "col_offset": 4, + "name": "from_ultralytics", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 369, + "complexity": 2, + "lineno": 336, + "col_offset": 4, + "name": "from_yolo_nas", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 414, + "complexity": 1, + "lineno": 373, + "col_offset": 4, + "name": "from_tensorflow", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 450, + "complexity": 2, + "lineno": 418, + "col_offset": 4, + "name": "from_deepsparse", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 487, + "complexity": 2, + "lineno": 454, + "col_offset": 4, + "name": "from_mmdetection", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 567, + "complexity": 6, + "lineno": 492, + "col_offset": 4, + "name": "from_transformers", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 616, + "complexity": 2, + "lineno": 573, + "col_offset": 4, + "name": "from_detectron2", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 672, + "complexity": 4, + "lineno": 620, + "col_offset": 4, + "name": "from_inference", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 715, + "complexity": 4, + "lineno": 676, + "col_offset": 4, + "name": "from_sam", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 839, + "complexity": 17, + "lineno": 718, + "col_offset": 4, + "name": "from_sam3", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 926, + "complexity": 10, + "lineno": 843, + "col_offset": 4, + "name": "from_azure_analyze_image", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 968, + "complexity": 2, + "lineno": 930, + "col_offset": 4, + "name": "from_paddledet", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1458, + "complexity": 5, + "lineno": 972, + "col_offset": 4, + "name": "from_lmm", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 1958, + "complexity": 20, + "lineno": 1461, + "col_offset": 4, + "name": "from_vlm", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2002, + "complexity": 7, + "lineno": 1961, + "col_offset": 4, + "name": "from_easyocr", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2061, + "complexity": 3, + "lineno": 2007, + "col_offset": 4, + "name": "from_ncnn", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2083, + "complexity": 1, + "lineno": 2065, + "col_offset": 4, + "name": "empty", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2108, + "complexity": 1, + "lineno": 2086, + "col_offset": 4, + "name": "is_empty", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2214, + "complexity": 8, + "lineno": 2111, + "col_offset": 4, + "name": "merge", + "classname": "Detections", + "closures": [ + { + "type": "function", + "rank": "C", + "endline": 2195, + "complexity": 11, + "lineno": 2182, + "col_offset": 8, + "name": "stack_or_none", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "C", + "endline": 2280, + "complexity": 12, + "lineno": 2217, + "col_offset": 4, + "name": "get_anchors_coordinates", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2328, + "complexity": 8, + "lineno": 2282, + "col_offset": 4, + "name": "__getitem__", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2364, + "complexity": 3, + "lineno": 2331, + "col_offset": 4, + "name": "__setitem__", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2412, + "complexity": 5, + "lineno": 2367, + "col_offset": 4, + "name": "area", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2424, + "complexity": 1, + "lineno": 2415, + "col_offset": 4, + "name": "box_area", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2461, + "complexity": 1, + "lineno": 2427, + "col_offset": 4, + "name": "box_aspect_ratio", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2538, + "complexity": 7, + "lineno": 2463, + "col_offset": 4, + "name": "with_nms", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 2632, + "complexity": 9, + "lineno": 2540, + "col_offset": 4, + "name": "with_nmm", + "classname": "Detections", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 203, + "complexity": 6, + "lineno": 180, + "col_offset": 4, + "name": "__iter__", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 567, + "complexity": 6, + "lineno": 492, + "col_offset": 4, + "name": "from_transformers", + "classname": "Detections", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 2884, + "complexity": 5, + "lineno": 2860, + "col_offset": 0, + "name": "merge_inner_detections_objects", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1458, + "complexity": 5, + "lineno": 972, + "col_offset": 4, + "name": "from_lmm", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2412, + "complexity": 5, + "lineno": 2367, + "col_offset": 4, + "name": "area", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 672, + "complexity": 4, + "lineno": 620, + "col_offset": 4, + "name": "from_inference", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 715, + "complexity": 4, + "lineno": 676, + "col_offset": 4, + "name": "from_sam", + "classname": "Detections", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 2921, + "complexity": 3, + "lineno": 2902, + "col_offset": 0, + "name": "_validate_fields_both_defined_or_none", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2061, + "complexity": 3, + "lineno": 2007, + "col_offset": 4, + "name": "from_ncnn", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2364, + "complexity": 3, + "lineno": 2331, + "col_offset": 4, + "name": "__setitem__", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 217, + "complexity": 2, + "lineno": 206, + "col_offset": 4, + "name": "__eq__", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 369, + "complexity": 2, + "lineno": 336, + "col_offset": 4, + "name": "from_yolo_nas", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 450, + "complexity": 2, + "lineno": 418, + "col_offset": 4, + "name": "from_deepsparse", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 487, + "complexity": 2, + "lineno": 454, + "col_offset": 4, + "name": "from_mmdetection", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 616, + "complexity": 2, + "lineno": 573, + "col_offset": 4, + "name": "from_detectron2", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 968, + "complexity": 2, + "lineno": 930, + "col_offset": 4, + "name": "from_paddledet", + "classname": "Detections", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 2675, + "complexity": 1, + "lineno": 2635, + "col_offset": 0, + "name": "_merge_obb_corners", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 2899, + "complexity": 1, + "lineno": 2888, + "col_offset": 0, + "name": "merge_inner_detections_objects_without_iou", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 2934, + "complexity": 1, + "lineno": 2931, + "col_offset": 0, + "name": "validate_fields_both_defined_or_none", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 171, + "complexity": 1, + "lineno": 164, + "col_offset": 4, + "name": "__post_init__", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 178, + "complexity": 1, + "lineno": 174, + "col_offset": 4, + "name": "__len__", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 250, + "complexity": 1, + "lineno": 222, + "col_offset": 4, + "name": "from_yolov5", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 414, + "complexity": 1, + "lineno": 373, + "col_offset": 4, + "name": "from_tensorflow", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2083, + "complexity": 1, + "lineno": 2065, + "col_offset": 4, + "name": "empty", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2108, + "complexity": 1, + "lineno": 2086, + "col_offset": 4, + "name": "is_empty", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2424, + "complexity": 1, + "lineno": 2415, + "col_offset": 4, + "name": "box_area", + "classname": "Detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 2461, + "complexity": 1, + "lineno": 2427, + "col_offset": 4, + "name": "box_aspect_ratio", + "classname": "Detections", + "closures": [] + } + ], + "src\\supervision\\detection\\line_zone.py": [ + { + "type": "method", + "rank": "C", + "endline": 873, + "complexity": 12, + "lineno": 769, + "col_offset": 4, + "name": "annotate", + "classname": "LineZoneAnnotatorMulticlass", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 214, + "complexity": 11, + "lineno": 145, + "col_offset": 4, + "name": "trigger", + "classname": "LineZone", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 873, + "complexity": 8, + "lineno": 713, + "col_offset": 0, + "name": "LineZoneAnnotatorMulticlass", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 767, + "complexity": 2, + "lineno": 714, + "col_offset": 4, + "name": "__init__", + "classname": "LineZoneAnnotatorMulticlass", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 873, + "complexity": 12, + "lineno": 769, + "col_offset": 4, + "name": "annotate", + "classname": "LineZoneAnnotatorMulticlass", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 327, + "complexity": 6, + "lineno": 307, + "col_offset": 4, + "name": "_update_class_id_to_name", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 454, + "complexity": 5, + "lineno": 386, + "col_offset": 4, + "name": "annotate", + "classname": "LineZoneAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 327, + "complexity": 4, + "lineno": 26, + "col_offset": 0, + "name": "LineZone", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 127, + "complexity": 2, + "lineno": 91, + "col_offset": 4, + "name": "__init__", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 131, + "complexity": 1, + "lineno": 130, + "col_offset": 4, + "name": "in_count", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 135, + "complexity": 1, + "lineno": 134, + "col_offset": 4, + "name": "out_count", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 139, + "complexity": 1, + "lineno": 138, + "col_offset": 4, + "name": "in_count_per_class", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 143, + "complexity": 1, + "lineno": 142, + "col_offset": 4, + "name": "out_count_per_class", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 214, + "complexity": 11, + "lineno": 145, + "col_offset": 4, + "name": "trigger", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 246, + "complexity": 2, + "lineno": 217, + "col_offset": 4, + "name": "_calculate_region_of_interest_limits", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 305, + "complexity": 4, + "lineno": 248, + "col_offset": 4, + "name": "_compute_anchor_sides", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 327, + "complexity": 6, + "lineno": 307, + "col_offset": 4, + "name": "_update_class_id_to_name", + "classname": "LineZone", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 305, + "complexity": 4, + "lineno": 248, + "col_offset": 4, + "name": "_compute_anchor_sides", + "classname": "LineZone", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 710, + "complexity": 4, + "lineno": 330, + "col_offset": 0, + "name": "LineZoneAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 384, + "complexity": 3, + "lineno": 331, + "col_offset": 4, + "name": "__init__", + "classname": "LineZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 454, + "complexity": 5, + "lineno": 386, + "col_offset": 4, + "name": "annotate", + "classname": "LineZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 479, + "complexity": 4, + "lineno": 456, + "col_offset": 4, + "name": "_get_line_angle", + "classname": "LineZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 543, + "complexity": 3, + "lineno": 481, + "col_offset": 4, + "name": "_calculate_anchor_in_frame", + "classname": "LineZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 586, + "complexity": 3, + "lineno": 545, + "col_offset": 4, + "name": "_draw_basic_label", + "classname": "LineZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 637, + "complexity": 2, + "lineno": 588, + "col_offset": 4, + "name": "_draw_oriented_label", + "classname": "LineZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 710, + "complexity": 4, + "lineno": 641, + "col_offset": 4, + "name": "_make_label_image", + "classname": "LineZoneAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 479, + "complexity": 4, + "lineno": 456, + "col_offset": 4, + "name": "_get_line_angle", + "classname": "LineZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 710, + "complexity": 4, + "lineno": 641, + "col_offset": 4, + "name": "_make_label_image", + "classname": "LineZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 384, + "complexity": 3, + "lineno": 331, + "col_offset": 4, + "name": "__init__", + "classname": "LineZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 543, + "complexity": 3, + "lineno": 481, + "col_offset": 4, + "name": "_calculate_anchor_in_frame", + "classname": "LineZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 586, + "complexity": 3, + "lineno": 545, + "col_offset": 4, + "name": "_draw_basic_label", + "classname": "LineZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 127, + "complexity": 2, + "lineno": 91, + "col_offset": 4, + "name": "__init__", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 246, + "complexity": 2, + "lineno": 217, + "col_offset": 4, + "name": "_calculate_region_of_interest_limits", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 637, + "complexity": 2, + "lineno": 588, + "col_offset": 4, + "name": "_draw_oriented_label", + "classname": "LineZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 767, + "complexity": 2, + "lineno": 714, + "col_offset": 4, + "name": "__init__", + "classname": "LineZoneAnnotatorMulticlass", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 131, + "complexity": 1, + "lineno": 130, + "col_offset": 4, + "name": "in_count", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 135, + "complexity": 1, + "lineno": 134, + "col_offset": 4, + "name": "out_count", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 139, + "complexity": 1, + "lineno": 138, + "col_offset": 4, + "name": "in_count_per_class", + "classname": "LineZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 143, + "complexity": 1, + "lineno": 142, + "col_offset": 4, + "name": "out_count_per_class", + "classname": "LineZone", + "closures": [] + } + ], + "src\\supervision\\detection\\vlm.py": [ + { + "type": "function", + "rank": "E", + "endline": 851, + "complexity": 33, + "lineno": 678, + "col_offset": 0, + "name": "from_google_gemini_2_5", + "closures": [] + }, + { + "type": "function", + "rank": "C", + "endline": 394, + "complexity": 16, + "lineno": 305, + "col_offset": 0, + "name": "from_qwen_2_5_vl", + "closures": [] + }, + { + "type": "function", + "rank": "C", + "endline": 588, + "complexity": 15, + "lineno": 495, + "col_offset": 0, + "name": "from_florence_2", + "closures": [] + }, + { + "type": "function", + "rank": "C", + "endline": 675, + "complexity": 13, + "lineno": 591, + "col_offset": 0, + "name": "from_google_gemini_2_0", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 203, + "complexity": 9, + "lineno": 163, + "col_offset": 0, + "name": "_validate_vlm_parameters", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 492, + "complexity": 9, + "lineno": 424, + "col_offset": 0, + "name": "from_deepseek_vl_2", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 916, + "complexity": 9, + "lineno": 855, + "col_offset": 0, + "name": "from_moondream", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 257, + "complexity": 6, + "lineno": 215, + "col_offset": 0, + "name": "from_paligemma", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 302, + "complexity": 6, + "lineno": 260, + "col_offset": 0, + "name": "recover_truncated_qwen_2_5_vl_response", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 69, + "complexity": 4, + "lineno": 22, + "col_offset": 0, + "name": "LMM", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 51, + "complexity": 2, + "lineno": 50, + "col_offset": 4, + "name": "list", + "classname": "LMM", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 69, + "complexity": 4, + "lineno": 54, + "col_offset": 4, + "name": "from_value", + "classname": "LMM", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 69, + "complexity": 4, + "lineno": 54, + "col_offset": 4, + "name": "from_value", + "classname": "LMM", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 112, + "complexity": 4, + "lineno": 73, + "col_offset": 0, + "name": "VLM", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 98, + "complexity": 2, + "lineno": 97, + "col_offset": 4, + "name": "list", + "classname": "VLM", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 112, + "complexity": 4, + "lineno": 101, + "col_offset": 4, + "name": "from_value", + "classname": "VLM", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 112, + "complexity": 4, + "lineno": 101, + "col_offset": 4, + "name": "from_value", + "classname": "VLM", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 51, + "complexity": 2, + "lineno": 50, + "col_offset": 4, + "name": "list", + "classname": "LMM", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 98, + "complexity": 2, + "lineno": 97, + "col_offset": 4, + "name": "list", + "classname": "VLM", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 212, + "complexity": 1, + "lineno": 211, + "col_offset": 0, + "name": "validate_vlm_parameters", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 420, + "complexity": 1, + "lineno": 397, + "col_offset": 0, + "name": "from_qwen_3_vl", + "closures": [] + } + ], + "src\\supervision\\detection\\tools\\csv_sink.py": [ + { + "type": "method", + "rank": "B", + "endline": 194, + "complexity": 9, + "lineno": 145, + "col_offset": 4, + "name": "parse_detection_data", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 230, + "complexity": 6, + "lineno": 196, + "col_offset": 4, + "name": "append", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 142, + "complexity": 5, + "lineno": 119, + "col_offset": 4, + "name": "_slice_value", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 241, + "complexity": 4, + "lineno": 31, + "col_offset": 0, + "name": "CSVSink", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 86, + "complexity": 1, + "lineno": 75, + "col_offset": 4, + "name": "__init__", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 90, + "complexity": 1, + "lineno": 88, + "col_offset": 4, + "name": "__enter__", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 98, + "complexity": 1, + "lineno": 92, + "col_offset": 4, + "name": "__exit__", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 109, + "complexity": 3, + "lineno": 100, + "col_offset": 4, + "name": "open", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 116, + "complexity": 2, + "lineno": 111, + "col_offset": 4, + "name": "close", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 142, + "complexity": 5, + "lineno": 119, + "col_offset": 4, + "name": "_slice_value", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 194, + "complexity": 9, + "lineno": 145, + "col_offset": 4, + "name": "parse_detection_data", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 230, + "complexity": 6, + "lineno": 196, + "col_offset": 4, + "name": "append", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 241, + "complexity": 2, + "lineno": 234, + "col_offset": 4, + "name": "parse_field_names", + "classname": "CSVSink", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 109, + "complexity": 3, + "lineno": 100, + "col_offset": 4, + "name": "open", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 28, + "complexity": 2, + "lineno": 27, + "col_offset": 0, + "name": "WriterProtocol", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 28, + "complexity": 1, + "lineno": 28, + "col_offset": 4, + "name": "writerow", + "classname": "WriterProtocol", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 116, + "complexity": 2, + "lineno": 111, + "col_offset": 4, + "name": "close", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 241, + "complexity": 2, + "lineno": 234, + "col_offset": 4, + "name": "parse_field_names", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 28, + "complexity": 1, + "lineno": 28, + "col_offset": 4, + "name": "writerow", + "classname": "WriterProtocol", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 86, + "complexity": 1, + "lineno": 75, + "col_offset": 4, + "name": "__init__", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 90, + "complexity": 1, + "lineno": 88, + "col_offset": 4, + "name": "__enter__", + "classname": "CSVSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 98, + "complexity": 1, + "lineno": 92, + "col_offset": 4, + "name": "__exit__", + "classname": "CSVSink", + "closures": [] + } + ], + "src\\supervision\\detection\\tools\\inference_slicer.py": [ + { + "type": "method", + "rank": "C", + "endline": 273, + "complexity": 17, + "lineno": 178, + "col_offset": 4, + "name": "__call__", + "classname": "InferenceSlicer", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 335, + "complexity": 12, + "lineno": 275, + "col_offset": 4, + "name": "_run_callback", + "classname": "InferenceSlicer", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 470, + "complexity": 8, + "lineno": 64, + "col_offset": 0, + "name": "InferenceSlicer", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 176, + "complexity": 2, + "lineno": 143, + "col_offset": 4, + "name": "__init__", + "classname": "InferenceSlicer", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 273, + "complexity": 17, + "lineno": 178, + "col_offset": 4, + "name": "__call__", + "classname": "InferenceSlicer", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 335, + "complexity": 12, + "lineno": 275, + "col_offset": 4, + "name": "_run_callback", + "classname": "InferenceSlicer", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 359, + "complexity": 7, + "lineno": 338, + "col_offset": 4, + "name": "_normalize_slice_wh", + "classname": "InferenceSlicer", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 385, + "complexity": 7, + "lineno": 363, + "col_offset": 4, + "name": "_normalize_overlap_wh", + "classname": "InferenceSlicer", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 450, + "complexity": 1, + "lineno": 389, + "col_offset": 4, + "name": "_generate_offset", + "classname": "InferenceSlicer", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 428, + "complexity": 5, + "lineno": 413, + "col_offset": 8, + "name": "_compute_axis_starts", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 470, + "complexity": 5, + "lineno": 453, + "col_offset": 4, + "name": "_validate_overlap", + "classname": "InferenceSlicer", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 359, + "complexity": 7, + "lineno": 338, + "col_offset": 4, + "name": "_normalize_slice_wh", + "classname": "InferenceSlicer", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 385, + "complexity": 7, + "lineno": 363, + "col_offset": 4, + "name": "_normalize_overlap_wh", + "classname": "InferenceSlicer", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 61, + "complexity": 5, + "lineno": 23, + "col_offset": 0, + "name": "move_detections", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 470, + "complexity": 5, + "lineno": 453, + "col_offset": 4, + "name": "_validate_overlap", + "classname": "InferenceSlicer", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 176, + "complexity": 2, + "lineno": 143, + "col_offset": 4, + "name": "__init__", + "classname": "InferenceSlicer", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 450, + "complexity": 1, + "lineno": 389, + "col_offset": 4, + "name": "_generate_offset", + "classname": "InferenceSlicer", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 428, + "complexity": 5, + "lineno": 413, + "col_offset": 8, + "name": "_compute_axis_starts", + "closures": [] + } + ] + } + ], + "src\\supervision\\detection\\tools\\json_sink.py": [ + { + "type": "method", + "rank": "B", + "endline": 198, + "complexity": 10, + "lineno": 148, + "col_offset": 4, + "name": "parse_detection_data", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 145, + "complexity": 5, + "lineno": 122, + "col_offset": 4, + "name": "_slice_value", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 215, + "complexity": 4, + "lineno": 13, + "col_offset": 0, + "name": "JSONSink", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 60, + "complexity": 1, + "lineno": 51, + "col_offset": 4, + "name": "__init__", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 64, + "complexity": 1, + "lineno": 62, + "col_offset": 4, + "name": "__enter__", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 72, + "complexity": 1, + "lineno": 66, + "col_offset": 4, + "name": "__exit__", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 82, + "complexity": 3, + "lineno": 74, + "col_offset": 4, + "name": "open", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 106, + "complexity": 3, + "lineno": 85, + "col_offset": 4, + "name": "_json_default", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 119, + "complexity": 2, + "lineno": 109, + "col_offset": 4, + "name": "write_and_close", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 145, + "complexity": 5, + "lineno": 122, + "col_offset": 4, + "name": "_slice_value", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 198, + "complexity": 10, + "lineno": 148, + "col_offset": 4, + "name": "parse_detection_data", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 215, + "complexity": 1, + "lineno": 200, + "col_offset": 4, + "name": "append", + "classname": "JSONSink", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 82, + "complexity": 3, + "lineno": 74, + "col_offset": 4, + "name": "open", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 106, + "complexity": 3, + "lineno": 85, + "col_offset": 4, + "name": "_json_default", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 119, + "complexity": 2, + "lineno": 109, + "col_offset": 4, + "name": "write_and_close", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 60, + "complexity": 1, + "lineno": 51, + "col_offset": 4, + "name": "__init__", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 64, + "complexity": 1, + "lineno": 62, + "col_offset": 4, + "name": "__enter__", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 72, + "complexity": 1, + "lineno": 66, + "col_offset": 4, + "name": "__exit__", + "classname": "JSONSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 215, + "complexity": 1, + "lineno": 200, + "col_offset": 4, + "name": "append", + "classname": "JSONSink", + "closures": [] + } + ], + "src\\supervision\\detection\\tools\\polygon_zone.py": [ + { + "type": "class", + "rank": "A", + "endline": 108, + "complexity": 4, + "lineno": 18, + "col_offset": 0, + "name": "PolygonZone", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 70, + "complexity": 2, + "lineno": 56, + "col_offset": 4, + "name": "__init__", + "classname": "PolygonZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 108, + "complexity": 3, + "lineno": 73, + "col_offset": 4, + "name": "trigger", + "classname": "PolygonZone", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 203, + "complexity": 4, + "lineno": 111, + "col_offset": 0, + "name": "PolygonZoneAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 153, + "complexity": 1, + "lineno": 131, + "col_offset": 4, + "name": "__init__", + "classname": "PolygonZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 203, + "complexity": 4, + "lineno": 155, + "col_offset": 4, + "name": "annotate", + "classname": "PolygonZoneAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 203, + "complexity": 4, + "lineno": 155, + "col_offset": 4, + "name": "annotate", + "classname": "PolygonZoneAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 108, + "complexity": 3, + "lineno": 73, + "col_offset": 4, + "name": "trigger", + "classname": "PolygonZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 70, + "complexity": 2, + "lineno": 56, + "col_offset": 4, + "name": "__init__", + "classname": "PolygonZone", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 153, + "complexity": 1, + "lineno": 131, + "col_offset": 4, + "name": "__init__", + "classname": "PolygonZoneAnnotator", + "closures": [] + } + ], + "src\\supervision\\detection\\tools\\smoother.py": [ + { + "type": "method", + "rank": "B", + "endline": 164, + "complexity": 9, + "lineno": 133, + "col_offset": 4, + "name": "get_track", + "classname": "DetectionsSmoother", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 131, + "complexity": 8, + "lineno": 100, + "col_offset": 4, + "name": "update_with_detections", + "classname": "DetectionsSmoother", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 184, + "complexity": 8, + "lineno": 166, + "col_offset": 4, + "name": "get_smoothed_detections", + "classname": "DetectionsSmoother", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 184, + "complexity": 7, + "lineno": 14, + "col_offset": 0, + "name": "DetectionsSmoother", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 97, + "complexity": 1, + "lineno": 90, + "col_offset": 4, + "name": "__init__", + "classname": "DetectionsSmoother", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 131, + "complexity": 8, + "lineno": 100, + "col_offset": 4, + "name": "update_with_detections", + "classname": "DetectionsSmoother", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 164, + "complexity": 9, + "lineno": 133, + "col_offset": 4, + "name": "get_track", + "classname": "DetectionsSmoother", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 184, + "complexity": 8, + "lineno": 166, + "col_offset": 4, + "name": "get_smoothed_detections", + "classname": "DetectionsSmoother", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 97, + "complexity": 1, + "lineno": 90, + "col_offset": 4, + "name": "__init__", + "classname": "DetectionsSmoother", + "closures": [] + } + ], + "src\\supervision\\detection\\tools\\transformers.py": [ + { + "type": "function", + "rank": "A", + "endline": 78, + "complexity": 5, + "lineno": 43, + "col_offset": 0, + "name": "process_transformers_v4_segmentation_result", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 144, + "complexity": 4, + "lineno": 112, + "col_offset": 0, + "name": "process_transformers_v5_semantic_or_instance_segmentation_result", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 250, + "complexity": 4, + "lineno": 224, + "col_offset": 0, + "name": "append_class_names_to_data", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 178, + "complexity": 3, + "lineno": 148, + "col_offset": 0, + "name": "process_transformers_v4_panoptic_segmentation_result", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 108, + "complexity": 2, + "lineno": 82, + "col_offset": 0, + "name": "process_transformers_v5_segmentation_result", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 204, + "complexity": 2, + "lineno": 182, + "col_offset": 0, + "name": "process_transformers_v5_panoptic_segmentation_result", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 39, + "complexity": 1, + "lineno": 14, + "col_offset": 0, + "name": "process_transformers_detection_result", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 221, + "complexity": 1, + "lineno": 207, + "col_offset": 0, + "name": "png_string_to_segmentation_array", + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\boxes.py": [ + { + "type": "function", + "rank": "A", + "endline": 417, + "complexity": 4, + "lineno": 347, + "col_offset": 0, + "name": "spread_out_boxes", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 269, + "complexity": 3, + "lineno": 244, + "col_offset": 0, + "name": "obb_polygon_area", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 309, + "complexity": 3, + "lineno": 272, + "col_offset": 0, + "name": "xyxyxyxy_to_xyxy", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 96, + "complexity": 2, + "lineno": 52, + "col_offset": 0, + "name": "pad_boxes", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 49, + "complexity": 1, + "lineno": 10, + "col_offset": 0, + "name": "clip_boxes", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 161, + "complexity": 1, + "lineno": 105, + "col_offset": 0, + "name": "denormalize_boxes", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 192, + "complexity": 1, + "lineno": 164, + "col_offset": 0, + "name": "move_boxes", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 241, + "complexity": 1, + "lineno": 195, + "col_offset": 0, + "name": "move_oriented_boxes", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 344, + "complexity": 1, + "lineno": 312, + "col_offset": 0, + "name": "scale_boxes", + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\converters.py": [ + { + "type": "function", + "rank": "B", + "endline": 379, + "complexity": 6, + "lineno": 332, + "col_offset": 0, + "name": "_base48_decode", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 415, + "complexity": 5, + "lineno": 382, + "col_offset": 0, + "name": "_base48_encode", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 646, + "complexity": 5, + "lineno": 575, + "col_offset": 0, + "name": "rle_to_mask", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 304, + "complexity": 4, + "lineno": 248, + "col_offset": 0, + "name": "xyxy_to_mask", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 721, + "complexity": 4, + "lineno": 649, + "col_offset": 0, + "name": "mask_to_rle", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 328, + "complexity": 3, + "lineno": 307, + "col_offset": 0, + "name": "mask_to_polygons", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 535, + "complexity": 3, + "lineno": 497, + "col_offset": 0, + "name": "_mask_to_rle_counts", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 199, + "complexity": 2, + "lineno": 155, + "col_offset": 0, + "name": "xyxy_to_xcycarh", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 245, + "complexity": 2, + "lineno": 202, + "col_offset": 0, + "name": "mask_to_xyxy", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 442, + "complexity": 2, + "lineno": 418, + "col_offset": 0, + "name": "_delta_decode", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 468, + "complexity": 2, + "lineno": 445, + "col_offset": 0, + "name": "_delta_encode", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 571, + "complexity": 2, + "lineno": 538, + "col_offset": 0, + "name": "_rle_counts_to_mask", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 28, + "complexity": 1, + "lineno": 12, + "col_offset": 0, + "name": "xyxy_to_polygons", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 49, + "complexity": 1, + "lineno": 31, + "col_offset": 0, + "name": "polygon_to_mask", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 82, + "complexity": 1, + "lineno": 52, + "col_offset": 0, + "name": "xywh_to_xyxy", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 116, + "complexity": 1, + "lineno": 85, + "col_offset": 0, + "name": "xyxy_to_xywh", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 152, + "complexity": 1, + "lineno": 119, + "col_offset": 0, + "name": "xcycwh_to_xyxy", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 494, + "complexity": 1, + "lineno": 471, + "col_offset": 0, + "name": "is_compressed_rle", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 738, + "complexity": 1, + "lineno": 724, + "col_offset": 0, + "name": "polygon_to_xyxy", + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\internal.py": [ + { + "type": "function", + "rank": "D", + "endline": 198, + "complexity": 22, + "lineno": 54, + "col_offset": 0, + "name": "process_roboflow_result", + "closures": [] + }, + { + "type": "function", + "rank": "C", + "endline": 299, + "complexity": 18, + "lineno": 241, + "col_offset": 0, + "name": "merge_data", + "closures": [] + }, + { + "type": "function", + "rank": "C", + "endline": 353, + "complexity": 14, + "lineno": 302, + "col_offset": 0, + "name": "merge_metadata", + "closures": [] + }, + { + "type": "function", + "rank": "C", + "endline": 393, + "complexity": 13, + "lineno": 356, + "col_offset": 0, + "name": "get_data_item", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 51, + "complexity": 5, + "lineno": 18, + "col_offset": 0, + "name": "extract_ultralytics_masks", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 237, + "complexity": 5, + "lineno": 220, + "col_offset": 0, + "name": "is_metadata_equal", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 216, + "complexity": 3, + "lineno": 202, + "col_offset": 0, + "name": "is_data_equal", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 416, + "complexity": 1, + "lineno": 396, + "col_offset": 0, + "name": "cross_product", + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\iou_and_nms.py": [ + { + "type": "function", + "rank": "C", + "endline": 566, + "complexity": 20, + "lineno": 426, + "col_offset": 0, + "name": "oriented_box_iou_batch", + "closures": [] + }, + { + "type": "function", + "rank": "C", + "endline": 829, + "complexity": 14, + "lineno": 736, + "col_offset": 0, + "name": "mask_iou_batch", + "closures": [] + }, + { + "type": "function", + "rank": "C", + "endline": 1330, + "complexity": 12, + "lineno": 1238, + "col_offset": 0, + "name": "oriented_box_non_max_suppression", + "closures": [] + }, + { + "type": "function", + "rank": "C", + "endline": 1453, + "complexity": 12, + "lineno": 1358, + "col_offset": 0, + "name": "oriented_box_non_max_merge", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 1450, + "complexity": 1, + "lineno": 1445, + "col_offset": 4, + "name": "group_within", + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "B", + "endline": 669, + "complexity": 10, + "lineno": 569, + "col_offset": 0, + "name": "compact_mask_iou_batch", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 1102, + "complexity": 7, + "lineno": 1030, + "col_offset": 0, + "name": "mask_non_max_merge", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 1166, + "complexity": 7, + "lineno": 1136, + "col_offset": 0, + "name": "_non_max_merge_per_category", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 360, + "complexity": 6, + "lineno": 304, + "col_offset": 0, + "name": "box_iou_batch_with_jaccard", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 261, + "complexity": 5, + "lineno": 162, + "col_offset": 0, + "name": "box_iou_batch", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 896, + "complexity": 5, + "lineno": 832, + "col_offset": 0, + "name": "mask_non_max_suppression", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 1027, + "complexity": 5, + "lineno": 973, + "col_offset": 0, + "name": "_group_overlapping_masks", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 159, + "complexity": 4, + "lineno": 90, + "col_offset": 0, + "name": "box_iou", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 733, + "complexity": 4, + "lineno": 672, + "col_offset": 0, + "name": "_mask_iou_batch_split", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 50, + "complexity": 4, + "lineno": 16, + "col_offset": 0, + "name": "OverlapFilter", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 36, + "complexity": 1, + "lineno": 35, + "col_offset": 4, + "name": "list", + "classname": "OverlapFilter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 50, + "complexity": 4, + "lineno": 39, + "col_offset": 4, + "name": "from_value", + "classname": "OverlapFilter", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 50, + "complexity": 4, + "lineno": 39, + "col_offset": 4, + "name": "from_value", + "classname": "OverlapFilter", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 86, + "complexity": 4, + "lineno": 54, + "col_offset": 0, + "name": "OverlapMetric", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 72, + "complexity": 1, + "lineno": 71, + "col_offset": 4, + "name": "list", + "classname": "OverlapMetric", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 86, + "complexity": 4, + "lineno": 75, + "col_offset": 4, + "name": "from_value", + "classname": "OverlapMetric", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 86, + "complexity": 4, + "lineno": 75, + "col_offset": 4, + "name": "from_value", + "classname": "OverlapMetric", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 935, + "complexity": 3, + "lineno": 916, + "col_offset": 0, + "name": "_nms_loop_from_iou_matrix", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 1133, + "complexity": 3, + "lineno": 1105, + "col_offset": 0, + "name": "_greedy_nmm_via_iou_callback", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 301, + "complexity": 2, + "lineno": 264, + "col_offset": 0, + "name": "_jaccard", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 913, + "complexity": 2, + "lineno": 899, + "col_offset": 0, + "name": "_prepare_predictions_for_nms", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 970, + "complexity": 2, + "lineno": 938, + "col_offset": 0, + "name": "box_non_max_suppression", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 375, + "complexity": 1, + "lineno": 363, + "col_offset": 0, + "name": "_polygon_areas", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 390, + "complexity": 1, + "lineno": 378, + "col_offset": 0, + "name": "_aabb_envelopes", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 423, + "complexity": 1, + "lineno": 394, + "col_offset": 0, + "name": "_overlapping_envelope_pairs", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 1202, + "complexity": 1, + "lineno": 1169, + "col_offset": 0, + "name": "_group_overlapping_boxes", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 1198, + "complexity": 1, + "lineno": 1192, + "col_offset": 4, + "name": "iou_against_candidate", + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "endline": 1235, + "complexity": 1, + "lineno": 1206, + "col_offset": 0, + "name": "box_non_max_merge", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 1232, + "complexity": 1, + "lineno": 1230, + "col_offset": 4, + "name": "group_within", + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "endline": 1354, + "complexity": 1, + "lineno": 1333, + "col_offset": 0, + "name": "_group_overlapping_oriented_boxes", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 1350, + "complexity": 1, + "lineno": 1344, + "col_offset": 4, + "name": "iou_against_candidate", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 36, + "complexity": 1, + "lineno": 35, + "col_offset": 4, + "name": "list", + "classname": "OverlapFilter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 72, + "complexity": 1, + "lineno": 71, + "col_offset": 4, + "name": "list", + "classname": "OverlapMetric", + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\masks.py": [ + { + "type": "function", + "rank": "C", + "endline": 426, + "complexity": 12, + "lineno": 291, + "col_offset": 0, + "name": "filter_segments_by_distance", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 87, + "complexity": 5, + "lineno": 12, + "col_offset": 0, + "name": "move_masks", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 147, + "complexity": 5, + "lineno": 90, + "col_offset": 0, + "name": "calculate_masks_centroids", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 140, + "complexity": 1, + "lineno": 137, + "col_offset": 4, + "name": "sum_over_mask", + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "endline": 198, + "complexity": 4, + "lineno": 151, + "col_offset": 0, + "name": "contains_holes", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 260, + "complexity": 3, + "lineno": 201, + "col_offset": 0, + "name": "contains_multiple_segments", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 288, + "complexity": 1, + "lineno": 263, + "col_offset": 0, + "name": "resize_masks", + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\polygons.py": [ + { + "type": "function", + "rank": "B", + "endline": 40, + "complexity": 9, + "lineno": 8, + "col_offset": 0, + "name": "filter_polygons_by_area", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 116, + "complexity": 7, + "lineno": 44, + "col_offset": 0, + "name": "approximate_polygon", + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\vlms.py": [ + { + "type": "function", + "rank": "B", + "endline": 62, + "complexity": 6, + "lineno": 4, + "col_offset": 0, + "name": "edit_distance", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 100, + "complexity": 3, + "lineno": 65, + "col_offset": 0, + "name": "fuzzy_match_index", + "closures": [] + } + ], + "src\\supervision\\draw\\color.py": [ + { + "type": "method", + "rank": "B", + "endline": 146, + "complexity": 8, + "lineno": 106, + "col_offset": 4, + "name": "from_hex", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 232, + "complexity": 5, + "lineno": 205, + "col_offset": 4, + "name": "from_rgba_tuple", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 262, + "complexity": 5, + "lineno": 235, + "col_offset": 4, + "name": "from_bgra_tuple", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 401, + "complexity": 5, + "lineno": 395, + "col_offset": 4, + "name": "__eq__", + "classname": "Color", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 62, + "complexity": 4, + "lineno": 57, + "col_offset": 0, + "name": "_validate_color_hex", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 174, + "complexity": 4, + "lineno": 149, + "col_offset": 4, + "name": "from_rgb_tuple", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 202, + "complexity": 4, + "lineno": 177, + "col_offset": 4, + "name": "from_bgr_tuple", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 509, + "complexity": 4, + "lineno": 479, + "col_offset": 4, + "name": "from_matplotlib", + "classname": "ColorPalette", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 401, + "complexity": 3, + "lineno": 66, + "col_offset": 0, + "name": "Color", + "methods": [ + { + "type": "method", + "rank": "B", + "endline": 146, + "complexity": 8, + "lineno": 106, + "col_offset": 4, + "name": "from_hex", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 174, + "complexity": 4, + "lineno": 149, + "col_offset": 4, + "name": "from_rgb_tuple", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 202, + "complexity": 4, + "lineno": 177, + "col_offset": 4, + "name": "from_bgr_tuple", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 232, + "complexity": 5, + "lineno": 205, + "col_offset": 4, + "name": "from_rgba_tuple", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 262, + "complexity": 5, + "lineno": 235, + "col_offset": 4, + "name": "from_bgra_tuple", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 285, + "complexity": 2, + "lineno": 264, + "col_offset": 4, + "name": "as_hex", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 302, + "complexity": 1, + "lineno": 287, + "col_offset": 4, + "name": "as_rgb", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 319, + "complexity": 1, + "lineno": 304, + "col_offset": 4, + "name": "as_bgr", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 336, + "complexity": 1, + "lineno": 321, + "col_offset": 4, + "name": "as_rgba", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 353, + "complexity": 1, + "lineno": 338, + "col_offset": 4, + "name": "as_bgra", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 357, + "complexity": 1, + "lineno": 356, + "col_offset": 4, + "name": "WHITE", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 361, + "complexity": 1, + "lineno": 360, + "col_offset": 4, + "name": "BLACK", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 365, + "complexity": 1, + "lineno": 364, + "col_offset": 4, + "name": "GREY", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 369, + "complexity": 1, + "lineno": 368, + "col_offset": 4, + "name": "RED", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 373, + "complexity": 1, + "lineno": 372, + "col_offset": 4, + "name": "GREEN", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 377, + "complexity": 1, + "lineno": 376, + "col_offset": 4, + "name": "BLUE", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 381, + "complexity": 1, + "lineno": 380, + "col_offset": 4, + "name": "YELLOW", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 385, + "complexity": 1, + "lineno": 384, + "col_offset": 4, + "name": "ROBOFLOW", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 388, + "complexity": 1, + "lineno": 387, + "col_offset": 4, + "name": "__hash__", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 393, + "complexity": 2, + "lineno": 390, + "col_offset": 4, + "name": "__repr__", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 401, + "complexity": 5, + "lineno": 395, + "col_offset": 4, + "name": "__eq__", + "classname": "Color", + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "endline": 572, + "complexity": 2, + "lineno": 547, + "col_offset": 0, + "name": "unify_to_bgr", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 285, + "complexity": 2, + "lineno": 264, + "col_offset": 4, + "name": "as_hex", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 393, + "complexity": 2, + "lineno": 390, + "col_offset": 4, + "name": "__repr__", + "classname": "Color", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 544, + "complexity": 2, + "lineno": 406, + "col_offset": 0, + "name": "ColorPalette", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 428, + "complexity": 1, + "lineno": 410, + "col_offset": 4, + "name": "DEFAULT", + "classname": "ColorPalette", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 449, + "complexity": 1, + "lineno": 431, + "col_offset": 4, + "name": "ROBOFLOW", + "classname": "ColorPalette", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 453, + "complexity": 1, + "lineno": 452, + "col_offset": 4, + "name": "LEGACY", + "classname": "ColorPalette", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 476, + "complexity": 2, + "lineno": 456, + "col_offset": 4, + "name": "from_hex", + "classname": "ColorPalette", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 509, + "complexity": 4, + "lineno": 479, + "col_offset": 4, + "name": "from_matplotlib", + "classname": "ColorPalette", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 535, + "complexity": 2, + "lineno": 512, + "col_offset": 4, + "name": "by_idx", + "classname": "ColorPalette", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 544, + "complexity": 1, + "lineno": 537, + "col_offset": 4, + "name": "__len__", + "classname": "ColorPalette", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 476, + "complexity": 2, + "lineno": 456, + "col_offset": 4, + "name": "from_hex", + "classname": "ColorPalette", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 535, + "complexity": 2, + "lineno": 512, + "col_offset": 4, + "name": "by_idx", + "classname": "ColorPalette", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 302, + "complexity": 1, + "lineno": 287, + "col_offset": 4, + "name": "as_rgb", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 319, + "complexity": 1, + "lineno": 304, + "col_offset": 4, + "name": "as_bgr", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 336, + "complexity": 1, + "lineno": 321, + "col_offset": 4, + "name": "as_rgba", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 353, + "complexity": 1, + "lineno": 338, + "col_offset": 4, + "name": "as_bgra", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 357, + "complexity": 1, + "lineno": 356, + "col_offset": 4, + "name": "WHITE", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 361, + "complexity": 1, + "lineno": 360, + "col_offset": 4, + "name": "BLACK", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 365, + "complexity": 1, + "lineno": 364, + "col_offset": 4, + "name": "GREY", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 369, + "complexity": 1, + "lineno": 368, + "col_offset": 4, + "name": "RED", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 373, + "complexity": 1, + "lineno": 372, + "col_offset": 4, + "name": "GREEN", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 377, + "complexity": 1, + "lineno": 376, + "col_offset": 4, + "name": "BLUE", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 381, + "complexity": 1, + "lineno": 380, + "col_offset": 4, + "name": "YELLOW", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 385, + "complexity": 1, + "lineno": 384, + "col_offset": 4, + "name": "ROBOFLOW", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 388, + "complexity": 1, + "lineno": 387, + "col_offset": 4, + "name": "__hash__", + "classname": "Color", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 428, + "complexity": 1, + "lineno": 410, + "col_offset": 4, + "name": "DEFAULT", + "classname": "ColorPalette", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 449, + "complexity": 1, + "lineno": 431, + "col_offset": 4, + "name": "ROBOFLOW", + "classname": "ColorPalette", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 453, + "complexity": 1, + "lineno": 452, + "col_offset": 4, + "name": "LEGACY", + "classname": "ColorPalette", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 544, + "complexity": 1, + "lineno": 537, + "col_offset": 4, + "name": "__len__", + "classname": "ColorPalette", + "closures": [] + } + ], + "src\\supervision\\draw\\utils.py": [ + { + "type": "function", + "rank": "B", + "endline": 368, + "complexity": 9, + "lineno": 301, + "col_offset": 0, + "name": "draw_image", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 163, + "complexity": 3, + "lineno": 114, + "col_offset": 0, + "name": "draw_rounded_rectangle", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 111, + "complexity": 2, + "lineno": 72, + "col_offset": 0, + "name": "draw_filled_rectangle", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 215, + "complexity": 2, + "lineno": 189, + "col_offset": 0, + "name": "draw_filled_polygon", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 298, + "complexity": 2, + "lineno": 218, + "col_offset": 0, + "name": "draw_text", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 420, + "complexity": 2, + "lineno": 396, + "col_offset": 0, + "name": "calculate_optimal_line_thickness", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 41, + "complexity": 1, + "lineno": 14, + "col_offset": 0, + "name": "draw_line", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 69, + "complexity": 1, + "lineno": 44, + "col_offset": 0, + "name": "draw_rectangle", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 186, + "complexity": 1, + "lineno": 166, + "col_offset": 0, + "name": "draw_polygon", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 393, + "complexity": 1, + "lineno": 371, + "col_offset": 0, + "name": "calculate_optimal_text_scale", + "closures": [] + } + ], + "src\\supervision\\geometry\\core.py": [ + { + "type": "class", + "rank": "A", + "endline": 26, + "complexity": 2, + "lineno": 8, + "col_offset": 0, + "name": "Position", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 26, + "complexity": 1, + "lineno": 25, + "col_offset": 4, + "name": "list", + "classname": "Position", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 69, + "complexity": 2, + "lineno": 30, + "col_offset": 0, + "name": "Point", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 60, + "complexity": 1, + "lineno": 53, + "col_offset": 4, + "name": "as_xy_int_tuple", + "classname": "Point", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 69, + "complexity": 1, + "lineno": 62, + "col_offset": 4, + "name": "as_xy_float_tuple", + "classname": "Point", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 142, + "complexity": 2, + "lineno": 73, + "col_offset": 0, + "name": "Vector", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 108, + "complexity": 1, + "lineno": 99, + "col_offset": 4, + "name": "magnitude", + "classname": "Vector", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 120, + "complexity": 1, + "lineno": 111, + "col_offset": 4, + "name": "center", + "classname": "Vector", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 142, + "complexity": 1, + "lineno": 123, + "col_offset": 4, + "name": "cross_product", + "classname": "Vector", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 201, + "complexity": 2, + "lineno": 146, + "col_offset": 0, + "name": "Rect", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 178, + "complexity": 1, + "lineno": 176, + "col_offset": 4, + "name": "from_xyxy", + "classname": "Rect", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 182, + "complexity": 1, + "lineno": 181, + "col_offset": 4, + "name": "top_left", + "classname": "Rect", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 186, + "complexity": 1, + "lineno": 185, + "col_offset": 4, + "name": "bottom_right", + "classname": "Rect", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 193, + "complexity": 1, + "lineno": 188, + "col_offset": 4, + "name": "pad", + "classname": "Rect", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 201, + "complexity": 1, + "lineno": 196, + "col_offset": 4, + "name": "as_xyxy_int_tuple", + "classname": "Rect", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 26, + "complexity": 1, + "lineno": 25, + "col_offset": 4, + "name": "list", + "classname": "Position", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 60, + "complexity": 1, + "lineno": 53, + "col_offset": 4, + "name": "as_xy_int_tuple", + "classname": "Point", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 69, + "complexity": 1, + "lineno": 62, + "col_offset": 4, + "name": "as_xy_float_tuple", + "classname": "Point", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 108, + "complexity": 1, + "lineno": 99, + "col_offset": 4, + "name": "magnitude", + "classname": "Vector", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 120, + "complexity": 1, + "lineno": 111, + "col_offset": 4, + "name": "center", + "classname": "Vector", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 142, + "complexity": 1, + "lineno": 123, + "col_offset": 4, + "name": "cross_product", + "classname": "Vector", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 178, + "complexity": 1, + "lineno": 176, + "col_offset": 4, + "name": "from_xyxy", + "classname": "Rect", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 182, + "complexity": 1, + "lineno": 181, + "col_offset": 4, + "name": "top_left", + "classname": "Rect", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 186, + "complexity": 1, + "lineno": 185, + "col_offset": 4, + "name": "bottom_right", + "classname": "Rect", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 193, + "complexity": 1, + "lineno": 188, + "col_offset": 4, + "name": "pad", + "classname": "Rect", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 201, + "complexity": 1, + "lineno": 196, + "col_offset": 4, + "name": "as_xyxy_int_tuple", + "classname": "Rect", + "closures": [] + } + ], + "src\\supervision\\geometry\\utils.py": [ + { + "type": "function", + "rank": "A", + "endline": 51, + "complexity": 3, + "lineno": 7, + "col_offset": 0, + "name": "get_polygon_center", + "closures": [] + } + ], + "src\\supervision\\key_points\\annotators.py": [ + { + "type": "method", + "rank": "C", + "endline": 258, + "complexity": 16, + "lineno": 141, + "col_offset": 4, + "name": "annotate", + "classname": "EdgeAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 905, + "complexity": 13, + "lineno": 740, + "col_offset": 4, + "name": "annotate", + "classname": "VertexLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 296, + "complexity": 11, + "lineno": 268, + "col_offset": 4, + "name": "__init__", + "classname": "_BaseVertexEllipseAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 258, + "complexity": 10, + "lineno": 111, + "col_offset": 0, + "name": "EdgeAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 138, + "complexity": 1, + "lineno": 117, + "col_offset": 4, + "name": "__init__", + "classname": "EdgeAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 258, + "complexity": 16, + "lineno": 141, + "col_offset": 4, + "name": "annotate", + "classname": "EdgeAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 367, + "complexity": 10, + "lineno": 330, + "col_offset": 4, + "name": "_iter_ellipse_params", + "classname": "_BaseVertexEllipseAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 697, + "complexity": 9, + "lineno": 606, + "col_offset": 4, + "name": "annotate", + "classname": "VertexEllipseHaloAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 108, + "complexity": 8, + "lineno": 51, + "col_offset": 4, + "name": "annotate", + "classname": "VertexAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 367, + "complexity": 8, + "lineno": 261, + "col_offset": 0, + "name": "_BaseVertexEllipseAnnotator", + "methods": [ + { + "type": "method", + "rank": "C", + "endline": 296, + "complexity": 11, + "lineno": 268, + "col_offset": 4, + "name": "__init__", + "classname": "_BaseVertexEllipseAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 313, + "complexity": 3, + "lineno": 298, + "col_offset": 4, + "name": "_get_covariances", + "classname": "_BaseVertexEllipseAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 328, + "complexity": 5, + "lineno": 315, + "col_offset": 4, + "name": "_decompose_covariance", + "classname": "_BaseVertexEllipseAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 367, + "complexity": 10, + "lineno": 330, + "col_offset": 4, + "name": "_iter_ellipse_params", + "classname": "_BaseVertexEllipseAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 957, + "complexity": 7, + "lineno": 930, + "col_offset": 4, + "name": "_resolve_labels", + "classname": "VertexLabelAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 108, + "complexity": 6, + "lineno": 30, + "col_offset": 0, + "name": "VertexAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 48, + "complexity": 1, + "lineno": 37, + "col_offset": 4, + "name": "__init__", + "classname": "VertexAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 108, + "complexity": 8, + "lineno": 51, + "col_offset": 4, + "name": "annotate", + "classname": "VertexAnnotator", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "B", + "endline": 697, + "complexity": 6, + "lineno": 568, + "col_offset": 0, + "name": "VertexEllipseHaloAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 603, + "complexity": 1, + "lineno": 583, + "col_offset": 4, + "name": "__init__", + "classname": "VertexEllipseHaloAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 697, + "complexity": 9, + "lineno": 606, + "col_offset": 4, + "name": "annotate", + "classname": "VertexEllipseHaloAnnotator", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "B", + "endline": 972, + "complexity": 6, + "lineno": 703, + "col_offset": 0, + "name": "VertexLabelAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 738, + "complexity": 1, + "lineno": 709, + "col_offset": 4, + "name": "__init__", + "classname": "VertexLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 905, + "complexity": 13, + "lineno": 740, + "col_offset": 4, + "name": "annotate", + "classname": "VertexLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 926, + "complexity": 1, + "lineno": 908, + "col_offset": 4, + "name": "get_text_bounding_box", + "classname": "VertexLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 957, + "complexity": 7, + "lineno": 930, + "col_offset": 4, + "name": "_resolve_labels", + "classname": "VertexLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 972, + "complexity": 3, + "lineno": 960, + "col_offset": 4, + "name": "_resolve_color_list", + "classname": "VertexLabelAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 328, + "complexity": 5, + "lineno": 315, + "col_offset": 4, + "name": "_decompose_covariance", + "classname": "_BaseVertexEllipseAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 468, + "complexity": 5, + "lineno": 406, + "col_offset": 4, + "name": "annotate", + "classname": "VertexEllipseAreaAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 565, + "complexity": 5, + "lineno": 504, + "col_offset": 4, + "name": "annotate", + "classname": "VertexEllipseOutlineAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 468, + "complexity": 4, + "lineno": 370, + "col_offset": 0, + "name": "VertexEllipseAreaAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 403, + "complexity": 1, + "lineno": 383, + "col_offset": 4, + "name": "__init__", + "classname": "VertexEllipseAreaAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 468, + "complexity": 5, + "lineno": 406, + "col_offset": 4, + "name": "annotate", + "classname": "VertexEllipseAreaAnnotator", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 565, + "complexity": 4, + "lineno": 471, + "col_offset": 0, + "name": "VertexEllipseOutlineAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 501, + "complexity": 1, + "lineno": 482, + "col_offset": 4, + "name": "__init__", + "classname": "VertexEllipseOutlineAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 565, + "complexity": 5, + "lineno": 504, + "col_offset": 4, + "name": "annotate", + "classname": "VertexEllipseOutlineAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 313, + "complexity": 3, + "lineno": 298, + "col_offset": 4, + "name": "_get_covariances", + "classname": "_BaseVertexEllipseAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 972, + "complexity": 3, + "lineno": 960, + "col_offset": 4, + "name": "_resolve_color_list", + "classname": "VertexLabelAnnotator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 27, + "complexity": 2, + "lineno": 24, + "col_offset": 0, + "name": "BaseKeyPointAnnotator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 27, + "complexity": 1, + "lineno": 26, + "col_offset": 4, + "name": "annotate", + "classname": "BaseKeyPointAnnotator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 27, + "complexity": 1, + "lineno": 26, + "col_offset": 4, + "name": "annotate", + "classname": "BaseKeyPointAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 48, + "complexity": 1, + "lineno": 37, + "col_offset": 4, + "name": "__init__", + "classname": "VertexAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 138, + "complexity": 1, + "lineno": 117, + "col_offset": 4, + "name": "__init__", + "classname": "EdgeAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 403, + "complexity": 1, + "lineno": 383, + "col_offset": 4, + "name": "__init__", + "classname": "VertexEllipseAreaAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 501, + "complexity": 1, + "lineno": 482, + "col_offset": 4, + "name": "__init__", + "classname": "VertexEllipseOutlineAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 603, + "complexity": 1, + "lineno": 583, + "col_offset": 4, + "name": "__init__", + "classname": "VertexEllipseHaloAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 738, + "complexity": 1, + "lineno": 709, + "col_offset": 4, + "name": "__init__", + "classname": "VertexLabelAnnotator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 926, + "complexity": 1, + "lineno": 908, + "col_offset": 4, + "name": "get_text_bounding_box", + "classname": "VertexLabelAnnotator", + "closures": [] + } + ], + "src\\supervision\\key_points\\core.py": [ + { + "type": "method", + "rank": "E", + "endline": 1059, + "complexity": 39, + "lineno": 925, + "col_offset": 4, + "name": "__getitem__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 922, + "complexity": 15, + "lineno": 830, + "col_offset": 4, + "name": "_get_by_2d_bool_mask", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 594, + "complexity": 12, + "lineno": 472, + "col_offset": 4, + "name": "from_mediapipe", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 71, + "complexity": 10, + "lineno": 51, + "col_offset": 0, + "name": "_normalize_row_index", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 1294, + "complexity": 7, + "lineno": 75, + "col_offset": 0, + "name": "KeyPoints", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 296, + "complexity": 4, + "lineno": 245, + "col_offset": 4, + "name": "__init__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 305, + "complexity": 1, + "lineno": 298, + "col_offset": 4, + "name": "__post_init__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 315, + "complexity": 1, + "lineno": 309, + "col_offset": 4, + "name": "confidence", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 323, + "complexity": 1, + "lineno": 318, + "col_offset": 4, + "name": "confidence", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 343, + "complexity": 1, + "lineno": 325, + "col_offset": 4, + "name": "__len__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 366, + "complexity": 4, + "lineno": 345, + "col_offset": 4, + "name": "__iter__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 383, + "complexity": 2, + "lineno": 369, + "col_offset": 4, + "name": "__eq__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 468, + "complexity": 7, + "lineno": 388, + "col_offset": 4, + "name": "from_inference", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 594, + "complexity": 12, + "lineno": 472, + "col_offset": 4, + "name": "from_mediapipe", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 634, + "complexity": 3, + "lineno": 598, + "col_offset": 4, + "name": "from_ultralytics", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 691, + "complexity": 6, + "lineno": 637, + "col_offset": 4, + "name": "from_yolo_nas", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 743, + "complexity": 3, + "lineno": 695, + "col_offset": 4, + "name": "from_detectron2", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 828, + "complexity": 4, + "lineno": 746, + "col_offset": 4, + "name": "from_transformers", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 922, + "complexity": 15, + "lineno": 830, + "col_offset": 4, + "name": "_get_by_2d_bool_mask", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "E", + "endline": 1059, + "complexity": 39, + "lineno": 925, + "col_offset": 4, + "name": "__getitem__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1095, + "complexity": 3, + "lineno": 1062, + "col_offset": 4, + "name": "__setitem__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1114, + "complexity": 1, + "lineno": 1098, + "col_offset": 4, + "name": "empty", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1134, + "complexity": 1, + "lineno": 1116, + "col_offset": 4, + "name": "is_empty", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1222, + "complexity": 7, + "lineno": 1136, + "col_offset": 4, + "name": "with_nms", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1294, + "complexity": 6, + "lineno": 1224, + "col_offset": 4, + "name": "as_detections", + "classname": "KeyPoints", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 468, + "complexity": 7, + "lineno": 388, + "col_offset": 4, + "name": "from_inference", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1222, + "complexity": 7, + "lineno": 1136, + "col_offset": 4, + "name": "with_nms", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 691, + "complexity": 6, + "lineno": 637, + "col_offset": 4, + "name": "from_yolo_nas", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1294, + "complexity": 6, + "lineno": 1224, + "col_offset": 4, + "name": "as_detections", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 48, + "complexity": 4, + "lineno": 42, + "col_offset": 0, + "name": "_optional_array_equal", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 296, + "complexity": 4, + "lineno": 245, + "col_offset": 4, + "name": "__init__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 366, + "complexity": 4, + "lineno": 345, + "col_offset": 4, + "name": "__iter__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 828, + "complexity": 4, + "lineno": 746, + "col_offset": 4, + "name": "from_transformers", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 634, + "complexity": 3, + "lineno": 598, + "col_offset": 4, + "name": "from_ultralytics", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 743, + "complexity": 3, + "lineno": 695, + "col_offset": 4, + "name": "from_detectron2", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1095, + "complexity": 3, + "lineno": 1062, + "col_offset": 4, + "name": "__setitem__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 383, + "complexity": 2, + "lineno": 369, + "col_offset": 4, + "name": "__eq__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 305, + "complexity": 1, + "lineno": 298, + "col_offset": 4, + "name": "__post_init__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 315, + "complexity": 1, + "lineno": 309, + "col_offset": 4, + "name": "confidence", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 323, + "complexity": 1, + "lineno": 318, + "col_offset": 4, + "name": "confidence", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 343, + "complexity": 1, + "lineno": 325, + "col_offset": 4, + "name": "__len__", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1114, + "complexity": 1, + "lineno": 1098, + "col_offset": 4, + "name": "empty", + "classname": "KeyPoints", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1134, + "complexity": 1, + "lineno": 1116, + "col_offset": 4, + "name": "is_empty", + "classname": "KeyPoints", + "closures": [] + } + ], + "src\\supervision\\key_points\\skeletons.py": [ + { + "type": "class", + "rank": "A", + "endline": 2635, + "complexity": 1, + "lineno": 6, + "col_offset": 0, + "name": "Skeleton", + "methods": [] + } + ], + "src\\supervision\\metrics\\core.py": [ + { + "type": "class", + "rank": "A", + "endline": 33, + "complexity": 2, + "lineno": 8, + "col_offset": 0, + "name": "Metric", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 19, + "complexity": 1, + "lineno": 14, + "col_offset": 4, + "name": "update", + "classname": "Metric", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 26, + "complexity": 1, + "lineno": 22, + "col_offset": 4, + "name": "reset", + "classname": "Metric", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 33, + "complexity": 1, + "lineno": 29, + "col_offset": 4, + "name": "compute", + "classname": "Metric", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 19, + "complexity": 1, + "lineno": 14, + "col_offset": 4, + "name": "update", + "classname": "Metric", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 26, + "complexity": 1, + "lineno": 22, + "col_offset": 4, + "name": "reset", + "classname": "Metric", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 33, + "complexity": 1, + "lineno": 29, + "col_offset": 4, + "name": "compute", + "classname": "Metric", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 48, + "complexity": 1, + "lineno": 36, + "col_offset": 0, + "name": "MetricTarget", + "methods": [] + }, + { + "type": "class", + "rank": "A", + "endline": 72, + "complexity": 1, + "lineno": 51, + "col_offset": 0, + "name": "AveragingMethod", + "methods": [] + } + ], + "src\\supervision\\metrics\\detection.py": [ + { + "type": "method", + "rank": "D", + "endline": 574, + "complexity": 22, + "lineno": 414, + "col_offset": 4, + "name": "evaluate_detection_batch", + "classname": "ConfusionMatrix", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 747, + "complexity": 15, + "lineno": 660, + "col_offset": 4, + "name": "plot", + "classname": "ConfusionMatrix", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 143, + "complexity": 10, + "lineno": 29, + "col_offset": 0, + "name": "detections_to_tensor", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 183, + "complexity": 9, + "lineno": 146, + "col_offset": 0, + "name": "_validate_input_tensors", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 747, + "complexity": 8, + "lineno": 200, + "col_offset": 0, + "name": "ConfusionMatrix", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 232, + "complexity": 5, + "lineno": 225, + "col_offset": 4, + "name": "__eq__", + "classname": "ConfusionMatrix", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 318, + "complexity": 2, + "lineno": 238, + "col_offset": 4, + "name": "from_detections", + "classname": "ConfusionMatrix", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 410, + "complexity": 2, + "lineno": 322, + "col_offset": 4, + "name": "from_tensors", + "classname": "ConfusionMatrix", + "closures": [] + }, + { + "type": "method", + "rank": "D", + "endline": 574, + "complexity": 22, + "lineno": 414, + "col_offset": 4, + "name": "evaluate_detection_batch", + "classname": "ConfusionMatrix", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 590, + "complexity": 2, + "lineno": 577, + "col_offset": 4, + "name": "_drop_extra_matches", + "classname": "ConfusionMatrix", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 657, + "complexity": 2, + "lineno": 593, + "col_offset": 4, + "name": "benchmark", + "classname": "ConfusionMatrix", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 747, + "complexity": 15, + "lineno": 660, + "col_offset": 4, + "name": "plot", + "classname": "ConfusionMatrix", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 980, + "complexity": 7, + "lineno": 887, + "col_offset": 4, + "name": "from_tensors", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 232, + "complexity": 5, + "lineno": 225, + "col_offset": 4, + "name": "__eq__", + "classname": "ConfusionMatrix", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1120, + "complexity": 5, + "lineno": 1067, + "col_offset": 4, + "name": "_average_precisions_per_class", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 1120, + "complexity": 4, + "lineno": 756, + "col_offset": 0, + "name": "MeanAveragePrecision", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 836, + "complexity": 2, + "lineno": 787, + "col_offset": 4, + "name": "from_detections", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 883, + "complexity": 2, + "lineno": 840, + "col_offset": 4, + "name": "benchmark", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 980, + "complexity": 7, + "lineno": 887, + "col_offset": 4, + "name": "from_tensors", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1019, + "complexity": 2, + "lineno": 984, + "col_offset": 4, + "name": "compute_average_precision", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1064, + "complexity": 4, + "lineno": 1022, + "col_offset": 4, + "name": "_match_detection_batch", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1120, + "complexity": 5, + "lineno": 1067, + "col_offset": 4, + "name": "_average_precisions_per_class", + "classname": "MeanAveragePrecision", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 1064, + "complexity": 4, + "lineno": 1022, + "col_offset": 4, + "name": "_match_detection_batch", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 25, + "complexity": 2, + "lineno": 22, + "col_offset": 0, + "name": "_assert_supported_target", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 318, + "complexity": 2, + "lineno": 238, + "col_offset": 4, + "name": "from_detections", + "classname": "ConfusionMatrix", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 410, + "complexity": 2, + "lineno": 322, + "col_offset": 4, + "name": "from_tensors", + "classname": "ConfusionMatrix", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 590, + "complexity": 2, + "lineno": 577, + "col_offset": 4, + "name": "_drop_extra_matches", + "classname": "ConfusionMatrix", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 657, + "complexity": 2, + "lineno": 593, + "col_offset": 4, + "name": "benchmark", + "classname": "ConfusionMatrix", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 836, + "complexity": 2, + "lineno": 787, + "col_offset": 4, + "name": "from_detections", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 883, + "complexity": 2, + "lineno": 840, + "col_offset": 4, + "name": "benchmark", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1019, + "complexity": 2, + "lineno": 984, + "col_offset": 4, + "name": "compute_average_precision", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 196, + "complexity": 1, + "lineno": 192, + "col_offset": 0, + "name": "validate_input_tensors", + "closures": [] + } + ], + "src\\supervision\\metrics\\f1_score.py": [ + { + "type": "method", + "rank": "C", + "endline": 256, + "complexity": 15, + "lineno": 152, + "col_offset": 4, + "name": "_compute", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 488, + "complexity": 9, + "lineno": 464, + "col_offset": 4, + "name": "_filter_detections_by_size", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 450, + "complexity": 7, + "lineno": 434, + "col_offset": 4, + "name": "_detections_content", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 658, + "complexity": 7, + "lineno": 630, + "col_offset": 4, + "name": "to_pandas", + "classname": "F1ScoreResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 628, + "complexity": 6, + "lineno": 562, + "col_offset": 4, + "name": "__str__", + "classname": "F1ScoreResult", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 508, + "complexity": 5, + "lineno": 30, + "col_offset": 0, + "name": "F1Score", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 83, + "complexity": 1, + "lineno": 66, + "col_offset": 4, + "name": "__init__", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 90, + "complexity": 1, + "lineno": 85, + "col_offset": 4, + "name": "reset", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 121, + "complexity": 4, + "lineno": 92, + "col_offset": 4, + "name": "update", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 150, + "complexity": 1, + "lineno": 123, + "col_offset": 4, + "name": "compute", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 256, + "complexity": 15, + "lineno": 152, + "col_offset": 4, + "name": "_compute", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 312, + "complexity": 5, + "lineno": 259, + "col_offset": 4, + "name": "_compute_f1_for_classes", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 344, + "complexity": 4, + "lineno": 315, + "col_offset": 4, + "name": "_match_detection_batch", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 402, + "complexity": 4, + "lineno": 347, + "col_offset": 4, + "name": "_compute_confusion_matrix", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 432, + "complexity": 2, + "lineno": 405, + "col_offset": 4, + "name": "_compute_f1", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 450, + "complexity": 7, + "lineno": 434, + "col_offset": 4, + "name": "_detections_content", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 462, + "complexity": 4, + "lineno": 452, + "col_offset": 4, + "name": "_make_empty_content", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 488, + "complexity": 9, + "lineno": 464, + "col_offset": 4, + "name": "_filter_detections_by_size", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 508, + "complexity": 2, + "lineno": 490, + "col_offset": 4, + "name": "_filter_predictions_and_targets_by_size", + "classname": "F1Score", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 312, + "complexity": 5, + "lineno": 259, + "col_offset": 4, + "name": "_compute_f1_for_classes", + "classname": "F1Score", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 722, + "complexity": 5, + "lineno": 512, + "col_offset": 0, + "name": "F1ScoreResult", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 547, + "complexity": 1, + "lineno": 546, + "col_offset": 4, + "name": "f1_50", + "classname": "F1ScoreResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 551, + "complexity": 1, + "lineno": 550, + "col_offset": 4, + "name": "f1_75", + "classname": "F1ScoreResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 628, + "complexity": 6, + "lineno": 562, + "col_offset": 4, + "name": "__str__", + "classname": "F1ScoreResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 658, + "complexity": 7, + "lineno": 630, + "col_offset": 4, + "name": "to_pandas", + "classname": "F1ScoreResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 722, + "complexity": 5, + "lineno": 660, + "col_offset": 4, + "name": "plot", + "classname": "F1ScoreResult", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 722, + "complexity": 5, + "lineno": 660, + "col_offset": 4, + "name": "plot", + "classname": "F1ScoreResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 121, + "complexity": 4, + "lineno": 92, + "col_offset": 4, + "name": "update", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 344, + "complexity": 4, + "lineno": 315, + "col_offset": 4, + "name": "_match_detection_batch", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 402, + "complexity": 4, + "lineno": 347, + "col_offset": 4, + "name": "_compute_confusion_matrix", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 462, + "complexity": 4, + "lineno": 452, + "col_offset": 4, + "name": "_make_empty_content", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 432, + "complexity": 2, + "lineno": 405, + "col_offset": 4, + "name": "_compute_f1", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 508, + "complexity": 2, + "lineno": 490, + "col_offset": 4, + "name": "_filter_predictions_and_targets_by_size", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 83, + "complexity": 1, + "lineno": 66, + "col_offset": 4, + "name": "__init__", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 90, + "complexity": 1, + "lineno": 85, + "col_offset": 4, + "name": "reset", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 150, + "complexity": 1, + "lineno": 123, + "col_offset": 4, + "name": "compute", + "classname": "F1Score", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 547, + "complexity": 1, + "lineno": 546, + "col_offset": 4, + "name": "f1_50", + "classname": "F1ScoreResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 551, + "complexity": 1, + "lineno": 550, + "col_offset": 4, + "name": "f1_75", + "classname": "F1ScoreResult", + "closures": [] + } + ], + "src\\supervision\\metrics\\mean_average_precision.py": [ + { + "type": "method", + "rank": "D", + "endline": 1094, + "complexity": 29, + "lineno": 825, + "col_offset": 4, + "name": "_accumulate", + "classname": "COCOEvaluator", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 1032, + "complexity": 1, + "lineno": 1010, + "col_offset": 8, + "name": "compute_average_precision", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 1028, + "complexity": 1, + "lineno": 1017, + "col_offset": 12, + "name": "mean_with_mask", + "closures": [] + } + ] + } + ] + }, + { + "type": "method", + "rank": "D", + "endline": 822, + "complexity": 28, + "lineno": 700, + "col_offset": 4, + "name": "_evaluate_image", + "classname": "COCOEvaluator", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 366, + "complexity": 17, + "lineno": 314, + "col_offset": 4, + "name": "get_annotation_ids", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 1396, + "complexity": 17, + "lineno": 1337, + "col_offset": 4, + "name": "_prepare_targets", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 412, + "complexity": 14, + "lineno": 368, + "col_offset": 4, + "name": "get_category_ids", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 523, + "complexity": 14, + "lineno": 459, + "col_offset": 4, + "name": "load_predictions", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "class", + "rank": "C", + "endline": 1223, + "complexity": 13, + "lineno": 584, + "col_offset": 0, + "name": "COCOEvaluator", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 623, + "complexity": 3, + "lineno": 589, + "col_offset": 4, + "name": "__init__", + "classname": "COCOEvaluator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 657, + "complexity": 6, + "lineno": 625, + "col_offset": 4, + "name": "_prepare_targets_and_predictions", + "classname": "COCOEvaluator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 698, + "complexity": 9, + "lineno": 659, + "col_offset": 4, + "name": "_compute_iou", + "classname": "COCOEvaluator", + "closures": [] + }, + { + "type": "method", + "rank": "D", + "endline": 822, + "complexity": 28, + "lineno": 700, + "col_offset": 4, + "name": "_evaluate_image", + "classname": "COCOEvaluator", + "closures": [] + }, + { + "type": "method", + "rank": "D", + "endline": 1094, + "complexity": 29, + "lineno": 825, + "col_offset": 4, + "name": "_accumulate", + "classname": "COCOEvaluator", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 1032, + "complexity": 1, + "lineno": 1010, + "col_offset": 8, + "name": "compute_average_precision", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 1028, + "complexity": 1, + "lineno": 1017, + "col_offset": 12, + "name": "mean_with_mask", + "closures": [] + } + ] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 1190, + "complexity": 2, + "lineno": 1097, + "col_offset": 4, + "name": "_pycocotools_summarize", + "classname": "COCOEvaluator", + "closures": [ + { + "type": "function", + "rank": "B", + "endline": 1143, + "complexity": 8, + "lineno": 1102, + "col_offset": 8, + "name": "_summarize", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 1187, + "complexity": 1, + "lineno": 1145, + "col_offset": 8, + "name": "_summarize_predictions", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 1223, + "complexity": 6, + "lineno": 1192, + "col_offset": 4, + "name": "evaluate", + "classname": "COCOEvaluator", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "C", + "endline": 1448, + "complexity": 11, + "lineno": 1399, + "col_offset": 4, + "name": "_prepare_predictions", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 312, + "complexity": 10, + "lineno": 284, + "col_offset": 4, + "name": "create_class_members", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 523, + "complexity": 9, + "lineno": 249, + "col_offset": 0, + "name": "EvaluationDataset", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 278, + "complexity": 2, + "lineno": 255, + "col_offset": 4, + "name": "__init__", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 282, + "complexity": 1, + "lineno": 281, + "col_offset": 4, + "name": "empty", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 312, + "complexity": 10, + "lineno": 284, + "col_offset": 4, + "name": "create_class_members", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 366, + "complexity": 17, + "lineno": 314, + "col_offset": 4, + "name": "get_annotation_ids", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 412, + "complexity": 14, + "lineno": 368, + "col_offset": 4, + "name": "get_category_ids", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 443, + "complexity": 8, + "lineno": 414, + "col_offset": 4, + "name": "get_image_ids", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 457, + "complexity": 3, + "lineno": 445, + "col_offset": 4, + "name": "get_annotations", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 523, + "complexity": 14, + "lineno": 459, + "col_offset": 4, + "name": "load_predictions", + "classname": "EvaluationDataset", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 698, + "complexity": 9, + "lineno": 659, + "col_offset": 4, + "name": "_compute_iou", + "classname": "COCOEvaluator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1335, + "complexity": 9, + "lineno": 1295, + "col_offset": 4, + "name": "update", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 443, + "complexity": 8, + "lineno": 414, + "col_offset": 4, + "name": "get_image_ids", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 1520, + "complexity": 8, + "lineno": 1226, + "col_offset": 0, + "name": "MeanAveragePrecision", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 1286, + "complexity": 1, + "lineno": 1264, + "col_offset": 4, + "name": "__init__", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1293, + "complexity": 1, + "lineno": 1288, + "col_offset": 4, + "name": "reset", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1335, + "complexity": 9, + "lineno": 1295, + "col_offset": 4, + "name": "update", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 1396, + "complexity": 17, + "lineno": 1337, + "col_offset": 4, + "name": "_prepare_targets", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 1448, + "complexity": 11, + "lineno": 1399, + "col_offset": 4, + "name": "_prepare_predictions", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1520, + "complexity": 2, + "lineno": 1450, + "col_offset": 4, + "name": "compute", + "classname": "MeanAveragePrecision", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "endline": 177, + "complexity": 7, + "lineno": 145, + "col_offset": 4, + "name": "to_pandas", + "classname": "MeanAveragePrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 657, + "complexity": 6, + "lineno": 625, + "col_offset": 4, + "name": "_prepare_targets_and_predictions", + "classname": "COCOEvaluator", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 1223, + "complexity": 6, + "lineno": 1192, + "col_offset": 4, + "name": "evaluate", + "classname": "COCOEvaluator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 246, + "complexity": 5, + "lineno": 180, + "col_offset": 4, + "name": "plot", + "classname": "MeanAveragePrecisionResult", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 246, + "complexity": 4, + "lineno": 30, + "col_offset": 0, + "name": "MeanAveragePrecisionResult", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 66, + "complexity": 2, + "lineno": 60, + "col_offset": 4, + "name": "map50_95", + "classname": "MeanAveragePrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 71, + "complexity": 1, + "lineno": 69, + "col_offset": 4, + "name": "map50", + "classname": "MeanAveragePrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 76, + "complexity": 1, + "lineno": 74, + "col_offset": 4, + "name": "map75", + "classname": "MeanAveragePrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 142, + "complexity": 4, + "lineno": 86, + "col_offset": 4, + "name": "__str__", + "classname": "MeanAveragePrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 177, + "complexity": 7, + "lineno": 145, + "col_offset": 4, + "name": "to_pandas", + "classname": "MeanAveragePrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 246, + "complexity": 5, + "lineno": 180, + "col_offset": 4, + "name": "plot", + "classname": "MeanAveragePrecisionResult", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 142, + "complexity": 4, + "lineno": 86, + "col_offset": 4, + "name": "__str__", + "classname": "MeanAveragePrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 457, + "complexity": 3, + "lineno": 445, + "col_offset": 4, + "name": "get_annotations", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 623, + "complexity": 3, + "lineno": 589, + "col_offset": 4, + "name": "__init__", + "classname": "COCOEvaluator", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 66, + "complexity": 2, + "lineno": 60, + "col_offset": 4, + "name": "map50_95", + "classname": "MeanAveragePrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 278, + "complexity": 2, + "lineno": 255, + "col_offset": 4, + "name": "__init__", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 580, + "complexity": 2, + "lineno": 546, + "col_offset": 0, + "name": "COCOEvaluatorParameters", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 580, + "complexity": 1, + "lineno": 551, + "col_offset": 4, + "name": "__init__", + "classname": "COCOEvaluatorParameters", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 1190, + "complexity": 2, + "lineno": 1097, + "col_offset": 4, + "name": "_pycocotools_summarize", + "classname": "COCOEvaluator", + "closures": [ + { + "type": "function", + "rank": "B", + "endline": 1143, + "complexity": 8, + "lineno": 1102, + "col_offset": 8, + "name": "_summarize", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 1187, + "complexity": 1, + "lineno": 1145, + "col_offset": 8, + "name": "_summarize_predictions", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 1520, + "complexity": 2, + "lineno": 1450, + "col_offset": 4, + "name": "compute", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 71, + "complexity": 1, + "lineno": 69, + "col_offset": 4, + "name": "map50", + "classname": "MeanAveragePrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 76, + "complexity": 1, + "lineno": 74, + "col_offset": 4, + "name": "map75", + "classname": "MeanAveragePrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 282, + "complexity": 1, + "lineno": 281, + "col_offset": 4, + "name": "empty", + "classname": "EvaluationDataset", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 543, + "complexity": 1, + "lineno": 535, + "col_offset": 0, + "name": "ObjectSize", + "methods": [] + }, + { + "type": "method", + "rank": "A", + "endline": 580, + "complexity": 1, + "lineno": 551, + "col_offset": 4, + "name": "__init__", + "classname": "COCOEvaluatorParameters", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1286, + "complexity": 1, + "lineno": 1264, + "col_offset": 4, + "name": "__init__", + "classname": "MeanAveragePrecision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 1293, + "complexity": 1, + "lineno": 1288, + "col_offset": 4, + "name": "reset", + "classname": "MeanAveragePrecision", + "closures": [] + } + ], + "src\\supervision\\metrics\\mean_average_recall.py": [ + { + "type": "method", + "rank": "C", + "endline": 468, + "complexity": 11, + "lineno": 381, + "col_offset": 4, + "name": "_compute", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 686, + "complexity": 9, + "lineno": 662, + "col_offset": 4, + "name": "_filter_detections_by_size", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 183, + "complexity": 7, + "lineno": 154, + "col_offset": 4, + "name": "to_pandas", + "classname": "MeanAverageRecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 645, + "complexity": 7, + "lineno": 629, + "col_offset": 4, + "name": "_detections_content", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 152, + "complexity": 6, + "lineno": 85, + "col_offset": 4, + "name": "__str__", + "classname": "MeanAverageRecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 256, + "complexity": 5, + "lineno": 185, + "col_offset": 4, + "name": "plot", + "classname": "MeanAverageRecallResult", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 706, + "complexity": 5, + "lineno": 259, + "col_offset": 0, + "name": "MeanAverageRecall", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 312, + "complexity": 1, + "lineno": 297, + "col_offset": 4, + "name": "__init__", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 319, + "complexity": 1, + "lineno": 314, + "col_offset": 4, + "name": "reset", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 350, + "complexity": 4, + "lineno": 321, + "col_offset": 4, + "name": "update", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 379, + "complexity": 1, + "lineno": 352, + "col_offset": 4, + "name": "compute", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 468, + "complexity": 11, + "lineno": 381, + "col_offset": 4, + "name": "_compute", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 505, + "complexity": 2, + "lineno": 471, + "col_offset": 4, + "name": "_compute_average_recall_for_classes", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 536, + "complexity": 4, + "lineno": 508, + "col_offset": 4, + "name": "_match_detection_batch", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 599, + "complexity": 4, + "lineno": 539, + "col_offset": 4, + "name": "_compute_confusion_matrix", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 627, + "complexity": 2, + "lineno": 602, + "col_offset": 4, + "name": "_compute_recall", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 645, + "complexity": 7, + "lineno": 629, + "col_offset": 4, + "name": "_detections_content", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 660, + "complexity": 4, + "lineno": 647, + "col_offset": 4, + "name": "_make_empty_content", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 686, + "complexity": 9, + "lineno": 662, + "col_offset": 4, + "name": "_filter_detections_by_size", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 706, + "complexity": 2, + "lineno": 688, + "col_offset": 4, + "name": "_filter_predictions_and_targets_by_size", + "classname": "MeanAverageRecall", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 256, + "complexity": 4, + "lineno": 31, + "col_offset": 0, + "name": "MeanAverageRecallResult", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 65, + "complexity": 1, + "lineno": 64, + "col_offset": 4, + "name": "mAR_at_1", + "classname": "MeanAverageRecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 69, + "complexity": 1, + "lineno": 68, + "col_offset": 4, + "name": "mAR_at_10", + "classname": "MeanAverageRecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 73, + "complexity": 1, + "lineno": 72, + "col_offset": 4, + "name": "mAR_at_100", + "classname": "MeanAverageRecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 152, + "complexity": 6, + "lineno": 85, + "col_offset": 4, + "name": "__str__", + "classname": "MeanAverageRecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 183, + "complexity": 7, + "lineno": 154, + "col_offset": 4, + "name": "to_pandas", + "classname": "MeanAverageRecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 256, + "complexity": 5, + "lineno": 185, + "col_offset": 4, + "name": "plot", + "classname": "MeanAverageRecallResult", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 350, + "complexity": 4, + "lineno": 321, + "col_offset": 4, + "name": "update", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 536, + "complexity": 4, + "lineno": 508, + "col_offset": 4, + "name": "_match_detection_batch", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 599, + "complexity": 4, + "lineno": 539, + "col_offset": 4, + "name": "_compute_confusion_matrix", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 660, + "complexity": 4, + "lineno": 647, + "col_offset": 4, + "name": "_make_empty_content", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 505, + "complexity": 2, + "lineno": 471, + "col_offset": 4, + "name": "_compute_average_recall_for_classes", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 627, + "complexity": 2, + "lineno": 602, + "col_offset": 4, + "name": "_compute_recall", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 706, + "complexity": 2, + "lineno": 688, + "col_offset": 4, + "name": "_filter_predictions_and_targets_by_size", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 65, + "complexity": 1, + "lineno": 64, + "col_offset": 4, + "name": "mAR_at_1", + "classname": "MeanAverageRecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 69, + "complexity": 1, + "lineno": 68, + "col_offset": 4, + "name": "mAR_at_10", + "classname": "MeanAverageRecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 73, + "complexity": 1, + "lineno": 72, + "col_offset": 4, + "name": "mAR_at_100", + "classname": "MeanAverageRecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 312, + "complexity": 1, + "lineno": 297, + "col_offset": 4, + "name": "__init__", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 319, + "complexity": 1, + "lineno": 314, + "col_offset": 4, + "name": "reset", + "classname": "MeanAverageRecall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 379, + "complexity": 1, + "lineno": 352, + "col_offset": 4, + "name": "compute", + "classname": "MeanAverageRecall", + "closures": [] + } + ], + "src\\supervision\\metrics\\precision.py": [ + { + "type": "method", + "rank": "C", + "endline": 259, + "complexity": 15, + "lineno": 155, + "col_offset": 4, + "name": "_compute", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 497, + "complexity": 9, + "lineno": 473, + "col_offset": 4, + "name": "_filter_detections_by_size", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 456, + "complexity": 7, + "lineno": 440, + "col_offset": 4, + "name": "_detections_content", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 671, + "complexity": 7, + "lineno": 643, + "col_offset": 4, + "name": "to_pandas", + "classname": "PrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 641, + "complexity": 6, + "lineno": 571, + "col_offset": 4, + "name": "__str__", + "classname": "PrecisionResult", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 517, + "complexity": 5, + "lineno": 30, + "col_offset": 0, + "name": "Precision", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 86, + "complexity": 1, + "lineno": 69, + "col_offset": 4, + "name": "__init__", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 93, + "complexity": 1, + "lineno": 88, + "col_offset": 4, + "name": "reset", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 124, + "complexity": 4, + "lineno": 95, + "col_offset": 4, + "name": "update", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 153, + "complexity": 1, + "lineno": 126, + "col_offset": 4, + "name": "compute", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 259, + "complexity": 15, + "lineno": 155, + "col_offset": 4, + "name": "_compute", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 317, + "complexity": 5, + "lineno": 262, + "col_offset": 4, + "name": "_compute_precision_for_classes", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 348, + "complexity": 4, + "lineno": 320, + "col_offset": 4, + "name": "_match_detection_batch", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 405, + "complexity": 4, + "lineno": 351, + "col_offset": 4, + "name": "_compute_confusion_matrix", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 438, + "complexity": 2, + "lineno": 408, + "col_offset": 4, + "name": "_compute_precision", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 456, + "complexity": 7, + "lineno": 440, + "col_offset": 4, + "name": "_detections_content", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 471, + "complexity": 4, + "lineno": 458, + "col_offset": 4, + "name": "_make_empty_content", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 497, + "complexity": 9, + "lineno": 473, + "col_offset": 4, + "name": "_filter_detections_by_size", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 517, + "complexity": 2, + "lineno": 499, + "col_offset": 4, + "name": "_filter_predictions_and_targets_by_size", + "classname": "Precision", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 317, + "complexity": 5, + "lineno": 262, + "col_offset": 4, + "name": "_compute_precision_for_classes", + "classname": "Precision", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 735, + "complexity": 5, + "lineno": 521, + "col_offset": 0, + "name": "PrecisionResult", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 556, + "complexity": 1, + "lineno": 555, + "col_offset": 4, + "name": "precision_at_50", + "classname": "PrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 560, + "complexity": 1, + "lineno": 559, + "col_offset": 4, + "name": "precision_at_75", + "classname": "PrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 641, + "complexity": 6, + "lineno": 571, + "col_offset": 4, + "name": "__str__", + "classname": "PrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 671, + "complexity": 7, + "lineno": 643, + "col_offset": 4, + "name": "to_pandas", + "classname": "PrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 735, + "complexity": 5, + "lineno": 673, + "col_offset": 4, + "name": "plot", + "classname": "PrecisionResult", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 735, + "complexity": 5, + "lineno": 673, + "col_offset": 4, + "name": "plot", + "classname": "PrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 124, + "complexity": 4, + "lineno": 95, + "col_offset": 4, + "name": "update", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 348, + "complexity": 4, + "lineno": 320, + "col_offset": 4, + "name": "_match_detection_batch", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 405, + "complexity": 4, + "lineno": 351, + "col_offset": 4, + "name": "_compute_confusion_matrix", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 471, + "complexity": 4, + "lineno": 458, + "col_offset": 4, + "name": "_make_empty_content", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 438, + "complexity": 2, + "lineno": 408, + "col_offset": 4, + "name": "_compute_precision", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 517, + "complexity": 2, + "lineno": 499, + "col_offset": 4, + "name": "_filter_predictions_and_targets_by_size", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 86, + "complexity": 1, + "lineno": 69, + "col_offset": 4, + "name": "__init__", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 93, + "complexity": 1, + "lineno": 88, + "col_offset": 4, + "name": "reset", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 153, + "complexity": 1, + "lineno": 126, + "col_offset": 4, + "name": "compute", + "classname": "Precision", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 556, + "complexity": 1, + "lineno": 555, + "col_offset": 4, + "name": "precision_at_50", + "classname": "PrecisionResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 560, + "complexity": 1, + "lineno": 559, + "col_offset": 4, + "name": "precision_at_75", + "classname": "PrecisionResult", + "closures": [] + } + ], + "src\\supervision\\metrics\\recall.py": [ + { + "type": "method", + "rank": "C", + "endline": 236, + "complexity": 11, + "lineno": 155, + "col_offset": 4, + "name": "_compute", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 455, + "complexity": 9, + "lineno": 431, + "col_offset": 4, + "name": "_filter_detections_by_size", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 412, + "complexity": 7, + "lineno": 396, + "col_offset": 4, + "name": "_detections_content", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 625, + "complexity": 7, + "lineno": 597, + "col_offset": 4, + "name": "to_pandas", + "classname": "RecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 595, + "complexity": 6, + "lineno": 527, + "col_offset": 4, + "name": "__str__", + "classname": "RecallResult", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 475, + "complexity": 5, + "lineno": 30, + "col_offset": 0, + "name": "Recall", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 86, + "complexity": 1, + "lineno": 69, + "col_offset": 4, + "name": "__init__", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 93, + "complexity": 1, + "lineno": 88, + "col_offset": 4, + "name": "reset", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 124, + "complexity": 4, + "lineno": 95, + "col_offset": 4, + "name": "update", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 153, + "complexity": 1, + "lineno": 126, + "col_offset": 4, + "name": "compute", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "C", + "endline": 236, + "complexity": 11, + "lineno": 155, + "col_offset": 4, + "name": "_compute", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 273, + "complexity": 4, + "lineno": 239, + "col_offset": 4, + "name": "_compute_recall_for_classes", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 304, + "complexity": 4, + "lineno": 276, + "col_offset": 4, + "name": "_match_detection_batch", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 361, + "complexity": 4, + "lineno": 307, + "col_offset": 4, + "name": "_compute_confusion_matrix", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 394, + "complexity": 2, + "lineno": 364, + "col_offset": 4, + "name": "_compute_recall", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 412, + "complexity": 7, + "lineno": 396, + "col_offset": 4, + "name": "_detections_content", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 429, + "complexity": 4, + "lineno": 414, + "col_offset": 4, + "name": "_make_empty_content", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 455, + "complexity": 9, + "lineno": 431, + "col_offset": 4, + "name": "_filter_detections_by_size", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 475, + "complexity": 2, + "lineno": 457, + "col_offset": 4, + "name": "_filter_predictions_and_targets_by_size", + "classname": "Recall", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 689, + "complexity": 5, + "lineno": 479, + "col_offset": 0, + "name": "RecallResult", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 512, + "complexity": 1, + "lineno": 511, + "col_offset": 4, + "name": "recall_at_50", + "classname": "RecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 516, + "complexity": 1, + "lineno": 515, + "col_offset": 4, + "name": "recall_at_75", + "classname": "RecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 595, + "complexity": 6, + "lineno": 527, + "col_offset": 4, + "name": "__str__", + "classname": "RecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 625, + "complexity": 7, + "lineno": 597, + "col_offset": 4, + "name": "to_pandas", + "classname": "RecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 689, + "complexity": 5, + "lineno": 627, + "col_offset": 4, + "name": "plot", + "classname": "RecallResult", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 689, + "complexity": 5, + "lineno": 627, + "col_offset": 4, + "name": "plot", + "classname": "RecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 124, + "complexity": 4, + "lineno": 95, + "col_offset": 4, + "name": "update", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 273, + "complexity": 4, + "lineno": 239, + "col_offset": 4, + "name": "_compute_recall_for_classes", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 304, + "complexity": 4, + "lineno": 276, + "col_offset": 4, + "name": "_match_detection_batch", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 361, + "complexity": 4, + "lineno": 307, + "col_offset": 4, + "name": "_compute_confusion_matrix", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 429, + "complexity": 4, + "lineno": 414, + "col_offset": 4, + "name": "_make_empty_content", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 394, + "complexity": 2, + "lineno": 364, + "col_offset": 4, + "name": "_compute_recall", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 475, + "complexity": 2, + "lineno": 457, + "col_offset": 4, + "name": "_filter_predictions_and_targets_by_size", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 86, + "complexity": 1, + "lineno": 69, + "col_offset": 4, + "name": "__init__", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 93, + "complexity": 1, + "lineno": 88, + "col_offset": 4, + "name": "reset", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 153, + "complexity": 1, + "lineno": 126, + "col_offset": 4, + "name": "compute", + "classname": "Recall", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 512, + "complexity": 1, + "lineno": 511, + "col_offset": 4, + "name": "recall_at_50", + "classname": "RecallResult", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 516, + "complexity": 1, + "lineno": 515, + "col_offset": 4, + "name": "recall_at_75", + "classname": "RecallResult", + "closures": [] + } + ], + "src\\supervision\\metrics\\utils\\object_size.py": [ + { + "type": "function", + "rank": "B", + "endline": 241, + "complexity": 6, + "lineno": 214, + "col_offset": 0, + "name": "get_detection_size_category", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 82, + "complexity": 4, + "lineno": 46, + "col_offset": 0, + "name": "get_object_size_category", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 211, + "complexity": 4, + "lineno": 168, + "col_offset": 0, + "name": "get_obb_size_category", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 123, + "complexity": 3, + "lineno": 85, + "col_offset": 0, + "name": "get_bbox_size_category", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 165, + "complexity": 3, + "lineno": 126, + "col_offset": 0, + "name": "get_mask_size_category", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 43, + "complexity": 1, + "lineno": 19, + "col_offset": 0, + "name": "ObjectSizeCategory", + "methods": [] + } + ], + "src\\supervision\\metrics\\utils\\utils.py": [ + { + "type": "function", + "rank": "A", + "endline": 6, + "complexity": 2, + "lineno": 1, + "col_offset": 0, + "name": "ensure_pandas_installed", + "closures": [] + } + ], + "src\\supervision\\tracker\\byte_tracker\\core.py": [ + { + "type": "method", + "rank": "D", + "endline": 334, + "complexity": 26, + "lineno": 173, + "col_offset": 4, + "name": "update_with_tensors", + "classname": "ByteTrack", + "closures": [] + }, + { + "type": "class", + "rank": "B", + "endline": 334, + "complexity": 9, + "lineno": 22, + "col_offset": 0, + "name": "ByteTrack", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 81, + "complexity": 1, + "lineno": 56, + "col_offset": 4, + "name": "__init__", + "classname": "ByteTrack", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 155, + "complexity": 6, + "lineno": 83, + "col_offset": 4, + "name": "update_with_detections", + "classname": "ByteTrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 171, + "complexity": 1, + "lineno": 157, + "col_offset": 4, + "name": "reset", + "classname": "ByteTrack", + "closures": [] + }, + { + "type": "method", + "rank": "D", + "endline": 334, + "complexity": 26, + "lineno": 173, + "col_offset": 4, + "name": "update_with_tensors", + "classname": "ByteTrack", + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "B", + "endline": 405, + "complexity": 7, + "lineno": 383, + "col_offset": 0, + "name": "remove_duplicate_tracks", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 155, + "complexity": 6, + "lineno": 83, + "col_offset": 4, + "name": "update_with_detections", + "classname": "ByteTrack", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 380, + "complexity": 4, + "lineno": 363, + "col_offset": 0, + "name": "sub_tracks", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 360, + "complexity": 3, + "lineno": 337, + "col_offset": 0, + "name": "joint_tracks", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 81, + "complexity": 1, + "lineno": 56, + "col_offset": 4, + "name": "__init__", + "classname": "ByteTrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 171, + "complexity": 1, + "lineno": 157, + "col_offset": 4, + "name": "reset", + "classname": "ByteTrack", + "closures": [] + } + ], + "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py": [ + { + "type": "class", + "rank": "A", + "endline": 193, + "complexity": 2, + "lineno": 8, + "col_offset": 0, + "name": "KalmanFilter", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 30, + "complexity": 2, + "lineno": 21, + "col_offset": 4, + "name": "__init__", + "classname": "KalmanFilter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 59, + "complexity": 1, + "lineno": 32, + "col_offset": 4, + "name": "initiate", + "classname": "KalmanFilter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 94, + "complexity": 1, + "lineno": 61, + "col_offset": 4, + "name": "predict", + "classname": "KalmanFilter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 121, + "complexity": 1, + "lineno": 96, + "col_offset": 4, + "name": "project", + "classname": "KalmanFilter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 158, + "complexity": 2, + "lineno": 123, + "col_offset": 4, + "name": "multi_predict", + "classname": "KalmanFilter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 193, + "complexity": 1, + "lineno": 160, + "col_offset": 4, + "name": "update", + "classname": "KalmanFilter", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 30, + "complexity": 2, + "lineno": 21, + "col_offset": 4, + "name": "__init__", + "classname": "KalmanFilter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 158, + "complexity": 2, + "lineno": 123, + "col_offset": 4, + "name": "multi_predict", + "classname": "KalmanFilter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 59, + "complexity": 1, + "lineno": 32, + "col_offset": 4, + "name": "initiate", + "classname": "KalmanFilter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 94, + "complexity": 1, + "lineno": 61, + "col_offset": 4, + "name": "predict", + "classname": "KalmanFilter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 121, + "complexity": 1, + "lineno": 96, + "col_offset": 4, + "name": "project", + "classname": "KalmanFilter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 193, + "complexity": 1, + "lineno": 160, + "col_offset": 4, + "name": "update", + "classname": "KalmanFilter", + "closures": [] + } + ], + "src\\supervision\\tracker\\byte_tracker\\matching.py": [ + { + "type": "function", + "rank": "B", + "endline": 62, + "complexity": 8, + "lineno": 44, + "col_offset": 0, + "name": "iou_distance", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 75, + "complexity": 3, + "lineno": 65, + "col_offset": 0, + "name": "fuse_score", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 41, + "complexity": 2, + "lineno": 27, + "col_offset": 0, + "name": "linear_assignment", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 24, + "complexity": 1, + "lineno": 15, + "col_offset": 0, + "name": "indices_to_matches", + "closures": [] + } + ], + "src\\supervision\\tracker\\byte_tracker\\single_object_track.py": [ + { + "type": "method", + "rank": "B", + "endline": 80, + "complexity": 7, + "lineno": 63, + "col_offset": 4, + "name": "multi_predict", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 137, + "complexity": 6, + "lineno": 113, + "col_offset": 4, + "name": "update", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 59, + "complexity": 5, + "lineno": 51, + "col_offset": 4, + "name": "predict", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 111, + "complexity": 4, + "lineno": 100, + "col_offset": 4, + "name": "re_activate", + "classname": "STrack", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 186, + "complexity": 3, + "lineno": 19, + "col_offset": 0, + "name": "STrack", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 49, + "complexity": 1, + "lineno": 20, + "col_offset": 4, + "name": "__init__", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 59, + "complexity": 5, + "lineno": 51, + "col_offset": 4, + "name": "predict", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 80, + "complexity": 7, + "lineno": 63, + "col_offset": 4, + "name": "multi_predict", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 98, + "complexity": 3, + "lineno": 82, + "col_offset": 4, + "name": "activate", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 111, + "complexity": 4, + "lineno": 100, + "col_offset": 4, + "name": "re_activate", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "B", + "endline": 137, + "complexity": 6, + "lineno": 113, + "col_offset": 4, + "name": "update", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 149, + "complexity": 2, + "lineno": 140, + "col_offset": 4, + "name": "tlwh", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 158, + "complexity": 1, + "lineno": 152, + "col_offset": 4, + "name": "tlbr", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 168, + "complexity": 1, + "lineno": 161, + "col_offset": 4, + "name": "tlwh_to_xyah", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 171, + "complexity": 1, + "lineno": 170, + "col_offset": 4, + "name": "to_xyah", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 177, + "complexity": 1, + "lineno": 174, + "col_offset": 4, + "name": "tlbr_to_tlwh", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 183, + "complexity": 1, + "lineno": 180, + "col_offset": 4, + "name": "tlwh_to_tlbr", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 186, + "complexity": 1, + "lineno": 185, + "col_offset": 4, + "name": "__repr__", + "classname": "STrack", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 98, + "complexity": 3, + "lineno": 82, + "col_offset": 4, + "name": "activate", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 149, + "complexity": 2, + "lineno": 140, + "col_offset": 4, + "name": "tlwh", + "classname": "STrack", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 16, + "complexity": 1, + "lineno": 12, + "col_offset": 0, + "name": "TrackState", + "methods": [] + }, + { + "type": "method", + "rank": "A", + "endline": 49, + "complexity": 1, + "lineno": 20, + "col_offset": 4, + "name": "__init__", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 158, + "complexity": 1, + "lineno": 152, + "col_offset": 4, + "name": "tlbr", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 168, + "complexity": 1, + "lineno": 161, + "col_offset": 4, + "name": "tlwh_to_xyah", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 171, + "complexity": 1, + "lineno": 170, + "col_offset": 4, + "name": "to_xyah", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 177, + "complexity": 1, + "lineno": 174, + "col_offset": 4, + "name": "tlbr_to_tlwh", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 183, + "complexity": 1, + "lineno": 180, + "col_offset": 4, + "name": "tlwh_to_tlbr", + "classname": "STrack", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 186, + "complexity": 1, + "lineno": 185, + "col_offset": 4, + "name": "__repr__", + "classname": "STrack", + "closures": [] + } + ], + "src\\supervision\\tracker\\byte_tracker\\utils.py": [ + { + "type": "class", + "rank": "A", + "endline": 37, + "complexity": 2, + "lineno": 4, + "col_offset": 0, + "name": "IdCounter", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 18, + "complexity": 2, + "lineno": 5, + "col_offset": 4, + "name": "__init__", + "classname": "IdCounter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 22, + "complexity": 1, + "lineno": 20, + "col_offset": 4, + "name": "reset", + "classname": "IdCounter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 33, + "complexity": 1, + "lineno": 24, + "col_offset": 4, + "name": "new_id", + "classname": "IdCounter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 37, + "complexity": 1, + "lineno": 36, + "col_offset": 4, + "name": "NO_ID", + "classname": "IdCounter", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 18, + "complexity": 2, + "lineno": 5, + "col_offset": 4, + "name": "__init__", + "classname": "IdCounter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 22, + "complexity": 1, + "lineno": 20, + "col_offset": 4, + "name": "reset", + "classname": "IdCounter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 33, + "complexity": 1, + "lineno": 24, + "col_offset": 4, + "name": "new_id", + "classname": "IdCounter", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 37, + "complexity": 1, + "lineno": 36, + "col_offset": 4, + "name": "NO_ID", + "classname": "IdCounter", + "closures": [] + } + ], + "src\\supervision\\utils\\conversion.py": [ + { + "type": "function", + "rank": "A", + "endline": 145, + "complexity": 3, + "lineno": 127, + "col_offset": 0, + "name": "images_to_cv2", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 40, + "complexity": 1, + "lineno": 16, + "col_offset": 0, + "name": "ensure_cv2_image_for_class_method", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 38, + "complexity": 3, + "lineno": 28, + "col_offset": 4, + "name": "wrapper", + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "endline": 51, + "complexity": 1, + "lineno": 48, + "col_offset": 0, + "name": "ensure_cv2_image_for_annotation", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 76, + "complexity": 1, + "lineno": 54, + "col_offset": 0, + "name": "ensure_cv2_image_for_standalone_function", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 74, + "complexity": 3, + "lineno": 65, + "col_offset": 4, + "name": "wrapper", + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "endline": 102, + "complexity": 1, + "lineno": 79, + "col_offset": 0, + "name": "ensure_pil_image_for_class_method", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 100, + "complexity": 3, + "lineno": 90, + "col_offset": 4, + "name": "wrapper", + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "endline": 113, + "complexity": 1, + "lineno": 110, + "col_offset": 0, + "name": "ensure_pil_image_for_annotation", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 124, + "complexity": 1, + "lineno": 121, + "col_offset": 0, + "name": "ensure_cv2_image_for_processing", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 163, + "complexity": 1, + "lineno": 148, + "col_offset": 0, + "name": "pillow_to_cv2", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 178, + "complexity": 1, + "lineno": 166, + "col_offset": 0, + "name": "cv2_to_pillow", + "closures": [] + } + ], + "src\\supervision\\utils\\file.py": [ + { + "type": "function", + "rank": "C", + "endline": 89, + "complexity": 12, + "lineno": 22, + "col_offset": 0, + "name": "list_files_with_extensions", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 126, + "complexity": 5, + "lineno": 92, + "col_offset": 0, + "name": "read_txt_file", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 19, + "complexity": 5, + "lineno": 11, + "col_offset": 0, + "name": "NumpyJsonEncoder", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 19, + "complexity": 4, + "lineno": 12, + "col_offset": 4, + "name": "default", + "classname": "NumpyJsonEncoder", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 19, + "complexity": 4, + "lineno": 12, + "col_offset": 4, + "name": "default", + "classname": "NumpyJsonEncoder", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 139, + "complexity": 2, + "lineno": 129, + "col_offset": 0, + "name": "save_text_file", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 168, + "complexity": 1, + "lineno": 142, + "col_offset": 0, + "name": "read_json_file", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 183, + "complexity": 1, + "lineno": 171, + "col_offset": 0, + "name": "save_json_file", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 198, + "complexity": 1, + "lineno": 186, + "col_offset": 0, + "name": "read_yaml_file", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 211, + "complexity": 1, + "lineno": 201, + "col_offset": 0, + "name": "save_yaml_file", + "closures": [] + } + ], + "src\\supervision\\utils\\image.py": [ + { + "type": "function", + "rank": "B", + "endline": 703, + "complexity": 9, + "lineno": 565, + "col_offset": 0, + "name": "create_tiles", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 753, + "complexity": 8, + "lineno": 739, + "col_offset": 0, + "name": "_establish_grid_size", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 352, + "complexity": 6, + "lineno": 283, + "col_offset": 0, + "name": "overlay_image", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 857, + "complexity": 5, + "lineno": 816, + "col_offset": 0, + "name": "_draw_texts", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 90, + "complexity": 4, + "lineno": 34, + "col_offset": 0, + "name": "crop_image", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 206, + "complexity": 4, + "lineno": 146, + "col_offset": 0, + "name": "resize_image", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 477, + "complexity": 4, + "lineno": 434, + "col_offset": 0, + "name": "get_image_resolution_wh", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 876, + "complexity": 4, + "lineno": 860, + "col_offset": 0, + "name": "_prepare_default_titles_anchors", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 142, + "complexity": 3, + "lineno": 95, + "col_offset": 0, + "name": "scale_image", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 400, + "complexity": 3, + "lineno": 356, + "col_offset": 0, + "name": "tint_image", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 710, + "complexity": 3, + "lineno": 706, + "col_offset": 0, + "name": "_negotiate_tiles_format", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 718, + "complexity": 3, + "lineno": 713, + "col_offset": 0, + "name": "_calculate_aggregated_images_shape", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 764, + "complexity": 3, + "lineno": 756, + "col_offset": 0, + "name": "_negotiate_grid_size", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 812, + "complexity": 3, + "lineno": 767, + "col_offset": 0, + "name": "_generate_tiles", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 914, + "complexity": 3, + "lineno": 879, + "col_offset": 0, + "name": "_merge_tiles_elements", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 557, + "complexity": 3, + "lineno": 481, + "col_offset": 0, + "name": "ImageSink", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 519, + "complexity": 1, + "lineno": 482, + "col_offset": 4, + "name": "__init__", + "classname": "ImageSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 529, + "complexity": 3, + "lineno": 521, + "col_offset": 4, + "name": "__enter__", + "classname": "ImageSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 549, + "complexity": 2, + "lineno": 531, + "col_offset": 4, + "name": "save_image", + "classname": "ImageSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 557, + "complexity": 1, + "lineno": 551, + "col_offset": 4, + "name": "__exit__", + "classname": "ImageSink", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 529, + "complexity": 3, + "lineno": 521, + "col_offset": 4, + "name": "__enter__", + "classname": "ImageSink", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 275, + "complexity": 2, + "lineno": 210, + "col_offset": 0, + "name": "letterbox_image", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 736, + "complexity": 2, + "lineno": 728, + "col_offset": 0, + "name": "_aggregate_images_shape", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 549, + "complexity": 2, + "lineno": 531, + "col_offset": 4, + "name": "save_image", + "classname": "ImageSink", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 431, + "complexity": 1, + "lineno": 404, + "col_offset": 0, + "name": "grayscale_image", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 923, + "complexity": 1, + "lineno": 918, + "col_offset": 0, + "name": "_generate_color_image", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 519, + "complexity": 1, + "lineno": 482, + "col_offset": 4, + "name": "__init__", + "classname": "ImageSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 557, + "complexity": 1, + "lineno": 551, + "col_offset": 4, + "name": "__exit__", + "classname": "ImageSink", + "closures": [] + } + ], + "src\\supervision\\utils\\internal.py": [ + { + "type": "function", + "rank": "B", + "endline": 208, + "complexity": 8, + "lineno": 169, + "col_offset": 0, + "name": "get_instance_variables", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 166, + "complexity": 3, + "lineno": 133, + "col_offset": 0, + "name": "classproperty", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 150, + "complexity": 1, + "lineno": 145, + "col_offset": 4, + "name": "__init__", + "classname": "classproperty", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 166, + "complexity": 2, + "lineno": 152, + "col_offset": 4, + "name": "__get__", + "classname": "classproperty", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 166, + "complexity": 2, + "lineno": 152, + "col_offset": 4, + "name": "__get__", + "classname": "classproperty", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 32, + "complexity": 1, + "lineno": 21, + "col_offset": 0, + "name": "format_warning", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 50, + "complexity": 1, + "lineno": 43, + "col_offset": 0, + "name": "warn_deprecated", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 127, + "complexity": 1, + "lineno": 53, + "col_offset": 0, + "name": "deprecated_parameter", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 125, + "complexity": 1, + "lineno": 102, + "col_offset": 4, + "name": "decorator", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 123, + "complexity": 4, + "lineno": 104, + "col_offset": 8, + "name": "wrapper", + "closures": [] + } + ] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 18, + "complexity": 1, + "lineno": 11, + "col_offset": 0, + "name": "SupervisionWarnings", + "methods": [] + }, + { + "type": "method", + "rank": "A", + "endline": 150, + "complexity": 1, + "lineno": 145, + "col_offset": 4, + "name": "__init__", + "classname": "classproperty", + "closures": [] + } + ], + "src\\supervision\\utils\\iterables.py": [ + { + "type": "function", + "rank": "A", + "endline": 42, + "complexity": 4, + "lineno": 7, + "col_offset": 0, + "name": "create_batches", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 103, + "complexity": 3, + "lineno": 76, + "col_offset": 0, + "name": "find_duplicates", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 73, + "complexity": 1, + "lineno": 45, + "col_offset": 0, + "name": "fill", + "closures": [] + } + ], + "src\\supervision\\utils\\logger.py": [ + { + "type": "function", + "rank": "A", + "endline": 63, + "complexity": 3, + "lineno": 8, + "col_offset": 0, + "name": "_get_logger", + "closures": [] + } + ], + "src\\supervision\\utils\\notebook.py": [ + { + "type": "function", + "rank": "B", + "endline": 117, + "complexity": 9, + "lineno": 50, + "col_offset": 0, + "name": "plot_images_grid", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 47, + "complexity": 3, + "lineno": 11, + "col_offset": 0, + "name": "plot_image", + "closures": [] + } + ], + "src\\supervision\\utils\\video.py": [ + { + "type": "function", + "rank": "C", + "endline": 456, + "complexity": 16, + "lineno": 283, + "col_offset": 0, + "name": "process_video", + "closures": [ + { + "type": "function", + "rank": "A", + "endline": 376, + "complexity": 2, + "lineno": 369, + "col_offset": 4, + "name": "reader_thread", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 383, + "complexity": 3, + "lineno": 378, + "col_offset": 4, + "name": "writer_thread", + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "B", + "endline": 228, + "complexity": 9, + "lineno": 207, + "col_offset": 0, + "name": "_validate_and_setup_video", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 204, + "complexity": 7, + "lineno": 140, + "col_offset": 0, + "name": "_mux_audio", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 280, + "complexity": 7, + "lineno": 231, + "col_offset": 0, + "name": "get_video_frames_generator", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 73, + "complexity": 3, + "lineno": 26, + "col_offset": 0, + "name": "VideoInfo", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 69, + "complexity": 2, + "lineno": 59, + "col_offset": 4, + "name": "from_video_path", + "classname": "VideoInfo", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 73, + "complexity": 1, + "lineno": 72, + "col_offset": 4, + "name": "resolution_wh", + "classname": "VideoInfo", + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "endline": 137, + "complexity": 3, + "lineno": 76, + "col_offset": 0, + "name": "VideoSink", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 103, + "complexity": 1, + "lineno": 99, + "col_offset": 4, + "name": "__init__", + "classname": "VideoSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 117, + "complexity": 2, + "lineno": 105, + "col_offset": 4, + "name": "__enter__", + "classname": "VideoSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 128, + "complexity": 2, + "lineno": 119, + "col_offset": 4, + "name": "write_frame", + "classname": "VideoSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 137, + "complexity": 2, + "lineno": 130, + "col_offset": 4, + "name": "__exit__", + "classname": "VideoSink", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 497, + "complexity": 3, + "lineno": 487, + "col_offset": 4, + "name": "fps", + "classname": "FPSMonitor", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 69, + "complexity": 2, + "lineno": 59, + "col_offset": 4, + "name": "from_video_path", + "classname": "VideoInfo", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 117, + "complexity": 2, + "lineno": 105, + "col_offset": 4, + "name": "__enter__", + "classname": "VideoSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 128, + "complexity": 2, + "lineno": 119, + "col_offset": 4, + "name": "write_frame", + "classname": "VideoSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 137, + "complexity": 2, + "lineno": 130, + "col_offset": 4, + "name": "__exit__", + "classname": "VideoSink", + "closures": [] + }, + { + "type": "class", + "rank": "A", + "endline": 509, + "complexity": 2, + "lineno": 459, + "col_offset": 0, + "name": "FPSMonitor", + "methods": [ + { + "type": "method", + "rank": "A", + "endline": 484, + "complexity": 1, + "lineno": 464, + "col_offset": 4, + "name": "__init__", + "classname": "FPSMonitor", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 497, + "complexity": 3, + "lineno": 487, + "col_offset": 4, + "name": "fps", + "classname": "FPSMonitor", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 503, + "complexity": 1, + "lineno": 499, + "col_offset": 4, + "name": "tick", + "classname": "FPSMonitor", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 509, + "complexity": 1, + "lineno": 505, + "col_offset": 4, + "name": "reset", + "classname": "FPSMonitor", + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "endline": 73, + "complexity": 1, + "lineno": 72, + "col_offset": 4, + "name": "resolution_wh", + "classname": "VideoInfo", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 103, + "complexity": 1, + "lineno": 99, + "col_offset": 4, + "name": "__init__", + "classname": "VideoSink", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 484, + "complexity": 1, + "lineno": 464, + "col_offset": 4, + "name": "__init__", + "classname": "FPSMonitor", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 503, + "complexity": 1, + "lineno": 499, + "col_offset": 4, + "name": "tick", + "classname": "FPSMonitor", + "closures": [] + }, + { + "type": "method", + "rank": "A", + "endline": 509, + "complexity": 1, + "lineno": 505, + "col_offset": 4, + "name": "reset", + "classname": "FPSMonitor", + "closures": [] + } + ], + "src\\supervision\\validators\\__init__.py": [ + { + "type": "function", + "rank": "B", + "endline": 204, + "complexity": 9, + "lineno": 191, + "col_offset": 0, + "name": "_validate_data", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 62, + "complexity": 8, + "lineno": 37, + "col_offset": 0, + "name": "_validate_mask", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 147, + "complexity": 7, + "lineno": 129, + "col_offset": 0, + "name": "_validate_keypoint_confidence", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 255, + "complexity": 7, + "lineno": 236, + "col_offset": 0, + "name": "_validate_visible", + "closures": [] + }, + { + "type": "function", + "rank": "B", + "endline": 354, + "complexity": 7, + "lineno": 334, + "col_offset": 0, + "name": "_validate_resolution", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 24, + "complexity": 4, + "lineno": 10, + "col_offset": 0, + "name": "_validate_xyxy", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 93, + "complexity": 4, + "lineno": 84, + "col_offset": 0, + "name": "_validate_class_id", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 116, + "complexity": 4, + "lineno": 106, + "col_offset": 0, + "name": "_validate_confidence", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 178, + "complexity": 4, + "lineno": 169, + "col_offset": 0, + "name": "_validate_tracker_id", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 223, + "complexity": 4, + "lineno": 216, + "col_offset": 0, + "name": "_validate_xy", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 309, + "complexity": 4, + "lineno": 292, + "col_offset": 0, + "name": "_validate_keypoints_fields", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 34, + "complexity": 1, + "lineno": 33, + "col_offset": 0, + "name": "validate_xyxy", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 81, + "complexity": 1, + "lineno": 80, + "col_offset": 0, + "name": "validate_mask", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 103, + "complexity": 1, + "lineno": 102, + "col_offset": 0, + "name": "validate_class_id", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 126, + "complexity": 1, + "lineno": 125, + "col_offset": 0, + "name": "validate_confidence", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 157, + "complexity": 1, + "lineno": 156, + "col_offset": 0, + "name": "validate_key_point_confidence", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 166, + "complexity": 1, + "lineno": 165, + "col_offset": 0, + "name": "validate_keypoint_confidence", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 188, + "complexity": 1, + "lineno": 187, + "col_offset": 0, + "name": "validate_tracker_id", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 213, + "complexity": 1, + "lineno": 212, + "col_offset": 0, + "name": "validate_data", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 233, + "complexity": 1, + "lineno": 232, + "col_offset": 0, + "name": "validate_xy", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 273, + "complexity": 1, + "lineno": 259, + "col_offset": 0, + "name": "_validate_detections_fields", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 289, + "complexity": 1, + "lineno": 281, + "col_offset": 0, + "name": "validate_detections_fields", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 320, + "complexity": 1, + "lineno": 317, + "col_offset": 0, + "name": "validate_key_points_fields", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 331, + "complexity": 1, + "lineno": 328, + "col_offset": 0, + "name": "validate_keypoints_fields", + "closures": [] + }, + { + "type": "function", + "rank": "A", + "endline": 363, + "complexity": 1, + "lineno": 362, + "col_offset": 0, + "name": "validate_resolution", + "closures": [] + } + ] +} \ No newline at end of file diff --git a/metrics-before-radon/cc_por_arquivo_antes.csv b/metrics-before-radon/cc_por_arquivo_antes.csv new file mode 100644 index 0000000000..29123782d4 --- /dev/null +++ b/metrics-before-radon/cc_por_arquivo_antes.csv @@ -0,0 +1,59 @@ +arquivo,funcoes,cc_media,cc_max,cc_soma,pior_rank,pior_classe,pior_funcao,pior_linha_ini +src/supervision/annotators/base.py,1,1.0,1,1,A,BaseAnnotator,annotate,9 +src/supervision/geometry/core.py,11,1.0,1,11,A,Position,list,25 +src/supervision/metrics/core.py,3,1.0,1,3,A,Metric,update,14 +src/supervision/tracker/byte_tracker/utils.py,4,1.25,2,5,A,IdCounter,__init__,5 +src/supervision/tracker/byte_tracker/kalman_filter.py,6,1.33,2,8,A,KalmanFilter,__init__,21 +src/supervision/assets/list.py,2,1.5,2,3,A,Assets,list,19 +src/supervision/utils/conversion.py,12,1.67,3,20,A,,images_to_cv2,127 +src/supervision/detection/utils/boxes.py,9,1.89,4,17,A,,spread_out_boxes,347 +src/supervision/classification/core.py,8,2.0,4,16,A,,_validate_confidence,22 +src/supervision/metrics/utils/utils.py,1,2.0,2,2,A,,ensure_pandas_installed,1 +src/supervision/draw/color.py,30,2.2,8,66,B,Color,from_hex,106 +src/supervision/utils/internal.py,8,2.38,8,19,B,,get_instance_variables,169 +src/supervision/draw/utils.py,10,2.4,9,24,B,,draw_image,301 +src/supervision/detection/utils/converters.py,19,2.47,6,47,B,,_base48_decode,332 +src/supervision/detection/tools/polygon_zone.py,4,2.5,4,10,A,PolygonZoneAnnotator,annotate,155 +src/supervision/dataset/utils.py,8,2.62,4,21,A,,map_detections_class_id,108 +src/supervision/tracker/byte_tracker/single_object_track.py,13,2.62,7,34,B,STrack,multi_predict,63 +src/supervision/utils/iterables.py,3,2.67,4,8,A,,create_batches,7 +src/supervision/detection/tools/transformers.py,8,2.75,5,22,A,,process_transformers_v4_segmentation_result,43 +src/supervision/detection/tools/json_sink.py,9,3.0,10,27,B,JSONSink,parse_detection_data,148 +src/supervision/geometry/utils.py,1,3.0,3,3,A,,get_polygon_center,7 +src/supervision/utils/logger.py,1,3.0,3,3,A,,_get_logger,8 +src/supervision/validators/__init__.py,25,3.04,9,76,B,,_validate_data,191 +src/supervision/detection/tools/csv_sink.py,10,3.1,9,31,B,CSVSink,parse_detection_data,145 +src/supervision/utils/file.py,8,3.38,12,27,C,,list_files_with_extensions,22 +src/supervision/utils/image.py,23,3.39,9,78,B,,create_tiles,565 +src/supervision/tracker/byte_tracker/matching.py,4,3.5,8,14,B,,iou_distance,44 +src/supervision/dataset/core.py,27,3.52,13,95,C,DetectionDataset,merge,231 +src/supervision/annotators/utils.py,18,3.56,11,64,C,,resolve_text_background_xyxy,80 +src/supervision/detection/line_zone.py,18,3.72,12,67,C,LineZoneAnnotatorMulticlass,annotate,769 +src/supervision/annotators/core.py,70,3.74,11,262,C,PercentageBarAnnotator,calculate_border_coordinates,2722 +src/supervision/utils/video.py,16,3.75,16,60,C,,process_video,283 +src/supervision/metrics/mean_average_recall.py,19,3.84,11,73,C,MeanAverageRecall,_compute,381 +src/supervision/assets/downloader.py,2,4.0,6,8,B,,download_assets,41 +src/supervision/metrics/utils/object_size.py,5,4.0,6,20,B,,get_detection_size_category,214 +src/supervision/detection/compact_mask.py,25,4.04,12,101,C,,_rle_split_cols,49 +src/supervision/metrics/recall.py,18,4.11,11,74,C,Recall,_compute,155 +src/supervision/metrics/f1_score.py,18,4.39,15,79,C,F1Score,_compute,152 +src/supervision/metrics/precision.py,18,4.39,15,79,C,Precision,_compute,155 +src/supervision/detection/utils/masks.py,7,4.43,12,31,C,,filter_segments_by_distance,291 +src/supervision/detection/utils/iou_and_nms.py,32,4.47,20,143,C,,oriented_box_iou_batch,426 +src/supervision/detection/utils/vlms.py,2,4.5,6,9,B,,edit_distance,4 +src/supervision/dataset/formats/yolo.py,14,4.64,14,65,C,,_extract_class_names,70 +src/supervision/dataset/formats/pascal_voc.py,7,4.86,12,34,C,,detections_from_xml_obj,235 +src/supervision/key_points/annotators.py,20,5.15,16,103,C,EdgeAnnotator,annotate,141 +src/supervision/dataset/formats/coco.py,11,5.18,15,57,C,,detections_to_coco_annotations,217 +src/supervision/detection/core.py,40,5.35,20,214,C,Detections,from_vlm,1461 +src/supervision/metrics/detection.py,17,5.53,22,94,D,ConfusionMatrix,evaluate_detection_batch,414 +src/supervision/utils/notebook.py,2,6.0,9,12,B,,plot_images_grid,50 +src/supervision/key_points/core.py,22,6.14,39,135,E,KeyPoints,__getitem__,925 +src/supervision/detection/tools/smoother.py,4,6.5,9,26,B,DetectionsSmoother,get_track,133 +src/supervision/detection/tools/inference_slicer.py,9,6.78,17,61,C,InferenceSlicer,__call__,178 +src/supervision/tracker/byte_tracker/core.py,7,6.86,26,48,D,ByteTrack,update_with_tensors,173 +src/supervision/metrics/mean_average_precision.py,32,7.03,29,225,D,COCOEvaluator,_accumulate,825 +src/supervision/detection/utils/polygons.py,2,8.0,9,16,B,,filter_polygons_by_area,8 +src/supervision/detection/vlm.py,15,8.67,33,130,E,,from_google_gemini_2_5,678 +src/supervision/detection/utils/internal.py,8,10.12,22,81,D,,process_roboflow_result,54 +src/supervision/key_points/skeletons.py,0,,,,,,, diff --git a/metrics-before-radon/cc_por_funcao_antes.csv b/metrics-before-radon/cc_por_funcao_antes.csv new file mode 100644 index 0000000000..39938fee39 --- /dev/null +++ b/metrics-before-radon/cc_por_funcao_antes.csv @@ -0,0 +1,747 @@ +arquivo,tipo,classe,nome,rank_cc,complexity,linha_ini,linha_fim +src/supervision/annotators/base.py,method,BaseAnnotator,annotate,A,1,9,12 +src/supervision/annotators/core.py,function,,_normalize_color_input,A,1,58,58 +src/supervision/annotators/core.py,function,,_normalize_color_input,A,1,62,64 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,__init__,A,1,103,145 +src/supervision/annotators/core.py,method,BoxAnnotator,__init__,A,1,195,211 +src/supervision/annotators/core.py,method,OrientedBoxAnnotator,__init__,A,1,282,298 +src/supervision/annotators/core.py,method,MaskAnnotator,__init__,A,1,432,448 +src/supervision/annotators/core.py,method,PolygonAnnotator,__init__,A,1,520,536 +src/supervision/annotators/core.py,method,ColorAnnotator,__init__,A,1,611,627 +src/supervision/annotators/core.py,method,HaloAnnotator,__init__,A,1,707,727 +src/supervision/annotators/core.py,method,EllipseAnnotator,__init__,A,1,805,827 +src/supervision/annotators/core.py,method,BoxCornerAnnotator,__init__,A,1,904,923 +src/supervision/annotators/core.py,method,CircleAnnotator,__init__,A,1,999,1016 +src/supervision/annotators/core.py,method,DotAnnotator,__init__,A,1,1092,1119 +src/supervision/annotators/core.py,method,LabelAnnotator,__init__,A,1,1202,1248 +src/supervision/annotators/core.py,method,RichLabelAnnotator,__init__,A,1,1518,1565 +src/supervision/annotators/core.py,method,IconAnnotator,__init__,A,1,1793,1809 +src/supervision/annotators/core.py,method,TraceAnnotator,__init__,A,1,1985,2014 +src/supervision/annotators/core.py,method,HeatMapAnnotator,__init__,A,1,2126,2152 +src/supervision/annotators/core.py,method,TriangleAnnotator,__init__,A,1,2331,2361 +src/supervision/annotators/core.py,method,PercentageBarAnnotator,validate_custom_values,A,1,2783,2787 +src/supervision/annotators/core.py,method,CropAnnotator,__init__,A,1,2795,2820 +src/supervision/annotators/core.py,method,BackgroundOverlayAnnotator,__init__,A,1,2960,2975 +src/supervision/annotators/core.py,method,ComparisonAnnotator,__init__,A,1,3043,3078 +src/supervision/annotators/utils.py,function,,validate_labels,A,1,231,232 +src/supervision/annotators/utils.py,function,,snap_boxes,A,1,266,329 +src/supervision/annotators/utils.py,function,,is_valid_hex,A,1,430,441 +src/supervision/annotators/utils.py,function,,calculate_dynamic_kernel_size,A,1,444,464 +src/supervision/annotators/utils.py,function,,calculate_dynamic_pixel_size,A,1,467,487 +src/supervision/annotators/utils.py,method,ColorLookup,list,A,1,36,37 +src/supervision/annotators/utils.py,method,Trace,__init__,A,1,333,345 +src/supervision/annotators/utils.py,method,Trace,get,A,1,377,381 +src/supervision/assets/list.py,method,Assets,__new__,A,1,11,16 +src/supervision/classification/core.py,method,Classifications,__post_init__,A,1,37,44 +src/supervision/classification/core.py,method,Classifications,__len__,A,1,46,50 +src/supervision/classification/core.py,method,Classifications,from_ultralytics,A,1,93,118 +src/supervision/dataset/core.py,function,,is_lazy,A,1,282,283 +src/supervision/dataset/core.py,method,BaseDataset,__len__,A,1,43,44 +src/supervision/dataset/core.py,method,BaseDataset,split,A,1,47,53 +src/supervision/dataset/core.py,method,DetectionDataset,__getitem__,A,1,113,122 +src/supervision/dataset/core.py,method,DetectionDataset,from_pascal_voc,A,1,388,438 +src/supervision/dataset/core.py,method,DetectionDataset,from_yolo,A,1,442,501 +src/supervision/dataset/core.py,method,DetectionDataset,from_coco,A,1,578,624 +src/supervision/dataset/core.py,method,ClassificationDataset,__getitem__,A,1,778,787 +src/supervision/dataset/utils.py,function,,mask_to_rle,A,1,30,34 +src/supervision/dataset/utils.py,function,,rle_to_mask,A,1,38,43 +src/supervision/dataset/formats/coco.py,function,,_with_seg_mask,A,1,503,504 +src/supervision/dataset/formats/pascal_voc.py,function,,_with_poly_mask,A,1,335,336 +src/supervision/dataset/formats/yolo.py,function,,_parse_box,A,1,28,37 +src/supervision/dataset/formats/yolo.py,function,,_box_to_polygon,A,1,41,43 +src/supervision/dataset/formats/yolo.py,function,,_parse_polygon,A,1,47,48 +src/supervision/dataset/formats/yolo.py,function,,_image_name_to_annotation_name,A,1,133,135 +src/supervision/dataset/formats/yolo.py,function,,save_data_yaml,A,1,474,477 +src/supervision/detection/compact_mask.py,function,,_rle_area,A,1,27,46 +src/supervision/detection/compact_mask.py,method,CompactMask,__init__,A,1,459,469 +src/supervision/detection/compact_mask.py,method,CompactMask,crop,A,1,587,614 +src/supervision/detection/compact_mask.py,method,CompactMask,__len__,A,1,620,638 +src/supervision/detection/compact_mask.py,method,CompactMask,shape,A,1,646,665 +src/supervision/detection/compact_mask.py,method,CompactMask,offsets,A,1,668,687 +src/supervision/detection/compact_mask.py,method,CompactMask,dtype,A,1,723,741 +src/supervision/detection/core.py,function,,_merge_obb_corners,A,1,2635,2675 +src/supervision/detection/core.py,function,,merge_inner_detections_objects_without_iou,A,1,2888,2899 +src/supervision/detection/core.py,function,,validate_fields_both_defined_or_none,A,1,2931,2934 +src/supervision/detection/core.py,method,Detections,__post_init__,A,1,164,171 +src/supervision/detection/core.py,method,Detections,__len__,A,1,174,178 +src/supervision/detection/core.py,method,Detections,from_yolov5,A,1,222,250 +src/supervision/detection/core.py,method,Detections,from_tensorflow,A,1,373,414 +src/supervision/detection/core.py,method,Detections,empty,A,1,2065,2083 +src/supervision/detection/core.py,method,Detections,is_empty,A,1,2086,2108 +src/supervision/detection/core.py,method,Detections,box_area,A,1,2415,2424 +src/supervision/detection/core.py,method,Detections,box_aspect_ratio,A,1,2427,2461 +src/supervision/detection/line_zone.py,method,LineZone,in_count,A,1,130,131 +src/supervision/detection/line_zone.py,method,LineZone,out_count,A,1,134,135 +src/supervision/detection/line_zone.py,method,LineZone,in_count_per_class,A,1,138,139 +src/supervision/detection/line_zone.py,method,LineZone,out_count_per_class,A,1,142,143 +src/supervision/detection/vlm.py,function,,validate_vlm_parameters,A,1,211,212 +src/supervision/detection/vlm.py,function,,from_qwen_3_vl,A,1,397,420 +src/supervision/detection/tools/csv_sink.py,method,WriterProtocol,writerow,A,1,28,28 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,__init__,A,1,75,86 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,__enter__,A,1,88,90 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,__exit__,A,1,92,98 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_generate_offset,A,1,389,450 +src/supervision/detection/tools/json_sink.py,method,JSONSink,__init__,A,1,51,60 +src/supervision/detection/tools/json_sink.py,method,JSONSink,__enter__,A,1,62,64 +src/supervision/detection/tools/json_sink.py,method,JSONSink,__exit__,A,1,66,72 +src/supervision/detection/tools/json_sink.py,method,JSONSink,append,A,1,200,215 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,__init__,A,1,131,153 +src/supervision/detection/tools/smoother.py,method,DetectionsSmoother,__init__,A,1,90,97 +src/supervision/detection/tools/transformers.py,function,,process_transformers_detection_result,A,1,14,39 +src/supervision/detection/tools/transformers.py,function,,png_string_to_segmentation_array,A,1,207,221 +src/supervision/detection/utils/boxes.py,function,,clip_boxes,A,1,10,49 +src/supervision/detection/utils/boxes.py,function,,denormalize_boxes,A,1,105,161 +src/supervision/detection/utils/boxes.py,function,,move_boxes,A,1,164,192 +src/supervision/detection/utils/boxes.py,function,,move_oriented_boxes,A,1,195,241 +src/supervision/detection/utils/boxes.py,function,,scale_boxes,A,1,312,344 +src/supervision/detection/utils/converters.py,function,,xyxy_to_polygons,A,1,12,28 +src/supervision/detection/utils/converters.py,function,,polygon_to_mask,A,1,31,49 +src/supervision/detection/utils/converters.py,function,,xywh_to_xyxy,A,1,52,82 +src/supervision/detection/utils/converters.py,function,,xyxy_to_xywh,A,1,85,116 +src/supervision/detection/utils/converters.py,function,,xcycwh_to_xyxy,A,1,119,152 +src/supervision/detection/utils/converters.py,function,,is_compressed_rle,A,1,471,494 +src/supervision/detection/utils/converters.py,function,,polygon_to_xyxy,A,1,724,738 +src/supervision/detection/utils/internal.py,function,,cross_product,A,1,396,416 +src/supervision/detection/utils/iou_and_nms.py,function,,group_within,A,1,1445,1450 +src/supervision/detection/utils/iou_and_nms.py,function,,_polygon_areas,A,1,363,375 +src/supervision/detection/utils/iou_and_nms.py,function,,_aabb_envelopes,A,1,378,390 +src/supervision/detection/utils/iou_and_nms.py,function,,_overlapping_envelope_pairs,A,1,394,423 +src/supervision/detection/utils/iou_and_nms.py,function,,_group_overlapping_boxes,A,1,1169,1202 +src/supervision/detection/utils/iou_and_nms.py,function,,iou_against_candidate,A,1,1192,1198 +src/supervision/detection/utils/iou_and_nms.py,function,,box_non_max_merge,A,1,1206,1235 +src/supervision/detection/utils/iou_and_nms.py,function,,group_within,A,1,1230,1232 +src/supervision/detection/utils/iou_and_nms.py,function,,_group_overlapping_oriented_boxes,A,1,1333,1354 +src/supervision/detection/utils/iou_and_nms.py,function,,iou_against_candidate,A,1,1344,1350 +src/supervision/detection/utils/iou_and_nms.py,method,OverlapFilter,list,A,1,35,36 +src/supervision/detection/utils/iou_and_nms.py,method,OverlapMetric,list,A,1,71,72 +src/supervision/detection/utils/masks.py,function,,sum_over_mask,A,1,137,140 +src/supervision/detection/utils/masks.py,function,,resize_masks,A,1,263,288 +src/supervision/draw/color.py,method,Color,as_rgb,A,1,287,302 +src/supervision/draw/color.py,method,Color,as_bgr,A,1,304,319 +src/supervision/draw/color.py,method,Color,as_rgba,A,1,321,336 +src/supervision/draw/color.py,method,Color,as_bgra,A,1,338,353 +src/supervision/draw/color.py,method,Color,WHITE,A,1,356,357 +src/supervision/draw/color.py,method,Color,BLACK,A,1,360,361 +src/supervision/draw/color.py,method,Color,GREY,A,1,364,365 +src/supervision/draw/color.py,method,Color,RED,A,1,368,369 +src/supervision/draw/color.py,method,Color,GREEN,A,1,372,373 +src/supervision/draw/color.py,method,Color,BLUE,A,1,376,377 +src/supervision/draw/color.py,method,Color,YELLOW,A,1,380,381 +src/supervision/draw/color.py,method,Color,ROBOFLOW,A,1,384,385 +src/supervision/draw/color.py,method,Color,__hash__,A,1,387,388 +src/supervision/draw/color.py,method,ColorPalette,DEFAULT,A,1,410,428 +src/supervision/draw/color.py,method,ColorPalette,ROBOFLOW,A,1,431,449 +src/supervision/draw/color.py,method,ColorPalette,LEGACY,A,1,452,453 +src/supervision/draw/color.py,method,ColorPalette,__len__,A,1,537,544 +src/supervision/draw/utils.py,function,,draw_line,A,1,14,41 +src/supervision/draw/utils.py,function,,draw_rectangle,A,1,44,69 +src/supervision/draw/utils.py,function,,draw_polygon,A,1,166,186 +src/supervision/draw/utils.py,function,,calculate_optimal_text_scale,A,1,371,393 +src/supervision/geometry/core.py,method,Position,list,A,1,25,26 +src/supervision/geometry/core.py,method,Point,as_xy_int_tuple,A,1,53,60 +src/supervision/geometry/core.py,method,Point,as_xy_float_tuple,A,1,62,69 +src/supervision/geometry/core.py,method,Vector,magnitude,A,1,99,108 +src/supervision/geometry/core.py,method,Vector,center,A,1,111,120 +src/supervision/geometry/core.py,method,Vector,cross_product,A,1,123,142 +src/supervision/geometry/core.py,method,Rect,from_xyxy,A,1,176,178 +src/supervision/geometry/core.py,method,Rect,top_left,A,1,181,182 +src/supervision/geometry/core.py,method,Rect,bottom_right,A,1,185,186 +src/supervision/geometry/core.py,method,Rect,pad,A,1,188,193 +src/supervision/geometry/core.py,method,Rect,as_xyxy_int_tuple,A,1,196,201 +src/supervision/key_points/annotators.py,method,BaseKeyPointAnnotator,annotate,A,1,26,27 +src/supervision/key_points/annotators.py,method,VertexAnnotator,__init__,A,1,37,48 +src/supervision/key_points/annotators.py,method,EdgeAnnotator,__init__,A,1,117,138 +src/supervision/key_points/annotators.py,method,VertexEllipseAreaAnnotator,__init__,A,1,383,403 +src/supervision/key_points/annotators.py,method,VertexEllipseOutlineAnnotator,__init__,A,1,482,501 +src/supervision/key_points/annotators.py,method,VertexEllipseHaloAnnotator,__init__,A,1,583,603 +src/supervision/key_points/annotators.py,method,VertexLabelAnnotator,__init__,A,1,709,738 +src/supervision/key_points/annotators.py,method,VertexLabelAnnotator,get_text_bounding_box,A,1,908,926 +src/supervision/key_points/core.py,method,KeyPoints,__post_init__,A,1,298,305 +src/supervision/key_points/core.py,method,KeyPoints,confidence,A,1,309,315 +src/supervision/key_points/core.py,method,KeyPoints,confidence,A,1,318,323 +src/supervision/key_points/core.py,method,KeyPoints,__len__,A,1,325,343 +src/supervision/key_points/core.py,method,KeyPoints,empty,A,1,1098,1114 +src/supervision/key_points/core.py,method,KeyPoints,is_empty,A,1,1116,1134 +src/supervision/metrics/core.py,method,Metric,update,A,1,14,19 +src/supervision/metrics/core.py,method,Metric,reset,A,1,22,26 +src/supervision/metrics/core.py,method,Metric,compute,A,1,29,33 +src/supervision/metrics/detection.py,function,,validate_input_tensors,A,1,192,196 +src/supervision/metrics/f1_score.py,method,F1Score,__init__,A,1,66,83 +src/supervision/metrics/f1_score.py,method,F1Score,reset,A,1,85,90 +src/supervision/metrics/f1_score.py,method,F1Score,compute,A,1,123,150 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,f1_50,A,1,546,547 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,f1_75,A,1,550,551 +src/supervision/metrics/mean_average_precision.py,function,,compute_average_precision,A,1,1010,1032 +src/supervision/metrics/mean_average_precision.py,function,,mean_with_mask,A,1,1017,1028 +src/supervision/metrics/mean_average_precision.py,function,,_summarize_predictions,A,1,1145,1187 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,map50,A,1,69,71 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,map75,A,1,74,76 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,empty,A,1,281,282 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluatorParameters,__init__,A,1,551,580 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecision,__init__,A,1,1264,1286 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecision,reset,A,1,1288,1293 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecallResult,mAR_at_1,A,1,64,65 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecallResult,mAR_at_10,A,1,68,69 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecallResult,mAR_at_100,A,1,72,73 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,__init__,A,1,297,312 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,reset,A,1,314,319 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,compute,A,1,352,379 +src/supervision/metrics/precision.py,method,Precision,__init__,A,1,69,86 +src/supervision/metrics/precision.py,method,Precision,reset,A,1,88,93 +src/supervision/metrics/precision.py,method,Precision,compute,A,1,126,153 +src/supervision/metrics/precision.py,method,PrecisionResult,precision_at_50,A,1,555,556 +src/supervision/metrics/precision.py,method,PrecisionResult,precision_at_75,A,1,559,560 +src/supervision/metrics/recall.py,method,Recall,__init__,A,1,69,86 +src/supervision/metrics/recall.py,method,Recall,reset,A,1,88,93 +src/supervision/metrics/recall.py,method,Recall,compute,A,1,126,153 +src/supervision/metrics/recall.py,method,RecallResult,recall_at_50,A,1,511,512 +src/supervision/metrics/recall.py,method,RecallResult,recall_at_75,A,1,515,516 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,__init__,A,1,56,81 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,reset,A,1,157,171 +src/supervision/tracker/byte_tracker/kalman_filter.py,method,KalmanFilter,initiate,A,1,32,59 +src/supervision/tracker/byte_tracker/kalman_filter.py,method,KalmanFilter,predict,A,1,61,94 +src/supervision/tracker/byte_tracker/kalman_filter.py,method,KalmanFilter,project,A,1,96,121 +src/supervision/tracker/byte_tracker/kalman_filter.py,method,KalmanFilter,update,A,1,160,193 +src/supervision/tracker/byte_tracker/matching.py,function,,indices_to_matches,A,1,15,24 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,__init__,A,1,20,49 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,tlbr,A,1,152,158 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,tlwh_to_xyah,A,1,161,168 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,to_xyah,A,1,170,171 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,tlbr_to_tlwh,A,1,174,177 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,tlwh_to_tlbr,A,1,180,183 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,__repr__,A,1,185,186 +src/supervision/tracker/byte_tracker/utils.py,method,IdCounter,reset,A,1,20,22 +src/supervision/tracker/byte_tracker/utils.py,method,IdCounter,new_id,A,1,24,33 +src/supervision/tracker/byte_tracker/utils.py,method,IdCounter,NO_ID,A,1,36,37 +src/supervision/utils/conversion.py,function,,ensure_cv2_image_for_class_method,A,1,16,40 +src/supervision/utils/conversion.py,function,,ensure_cv2_image_for_annotation,A,1,48,51 +src/supervision/utils/conversion.py,function,,ensure_cv2_image_for_standalone_function,A,1,54,76 +src/supervision/utils/conversion.py,function,,ensure_pil_image_for_class_method,A,1,79,102 +src/supervision/utils/conversion.py,function,,ensure_pil_image_for_annotation,A,1,110,113 +src/supervision/utils/conversion.py,function,,ensure_cv2_image_for_processing,A,1,121,124 +src/supervision/utils/conversion.py,function,,pillow_to_cv2,A,1,148,163 +src/supervision/utils/conversion.py,function,,cv2_to_pillow,A,1,166,178 +src/supervision/utils/file.py,function,,read_json_file,A,1,142,168 +src/supervision/utils/file.py,function,,save_json_file,A,1,171,183 +src/supervision/utils/file.py,function,,read_yaml_file,A,1,186,198 +src/supervision/utils/file.py,function,,save_yaml_file,A,1,201,211 +src/supervision/utils/image.py,function,,grayscale_image,A,1,404,431 +src/supervision/utils/image.py,function,,_generate_color_image,A,1,918,923 +src/supervision/utils/image.py,method,ImageSink,__init__,A,1,482,519 +src/supervision/utils/image.py,method,ImageSink,__exit__,A,1,551,557 +src/supervision/utils/internal.py,function,,format_warning,A,1,21,32 +src/supervision/utils/internal.py,function,,warn_deprecated,A,1,43,50 +src/supervision/utils/internal.py,function,,deprecated_parameter,A,1,53,127 +src/supervision/utils/internal.py,function,,decorator,A,1,102,125 +src/supervision/utils/internal.py,method,classproperty,__init__,A,1,145,150 +src/supervision/utils/iterables.py,function,,fill,A,1,45,73 +src/supervision/utils/video.py,method,VideoInfo,resolution_wh,A,1,72,73 +src/supervision/utils/video.py,method,VideoSink,__init__,A,1,99,103 +src/supervision/utils/video.py,method,FPSMonitor,__init__,A,1,464,484 +src/supervision/utils/video.py,method,FPSMonitor,tick,A,1,499,503 +src/supervision/utils/video.py,method,FPSMonitor,reset,A,1,505,509 +src/supervision/validators/__init__.py,function,,validate_xyxy,A,1,33,34 +src/supervision/validators/__init__.py,function,,validate_mask,A,1,80,81 +src/supervision/validators/__init__.py,function,,validate_class_id,A,1,102,103 +src/supervision/validators/__init__.py,function,,validate_confidence,A,1,125,126 +src/supervision/validators/__init__.py,function,,validate_key_point_confidence,A,1,156,157 +src/supervision/validators/__init__.py,function,,validate_keypoint_confidence,A,1,165,166 +src/supervision/validators/__init__.py,function,,validate_tracker_id,A,1,187,188 +src/supervision/validators/__init__.py,function,,validate_data,A,1,212,213 +src/supervision/validators/__init__.py,function,,validate_xy,A,1,232,233 +src/supervision/validators/__init__.py,function,,_validate_detections_fields,A,1,259,273 +src/supervision/validators/__init__.py,function,,validate_detections_fields,A,1,281,289 +src/supervision/validators/__init__.py,function,,validate_key_points_fields,A,1,317,320 +src/supervision/validators/__init__.py,function,,validate_keypoints_fields,A,1,328,331 +src/supervision/validators/__init__.py,function,,validate_resolution,A,1,362,363 +src/supervision/annotators/core.py,function,,load_default_font,A,2,1768,1774 +src/supervision/annotators/core.py,function,,_normalize_color_input,A,2,67,77 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,_adjust_labels_in_frame,A,2,147,187 +src/supervision/annotators/core.py,method,IconAnnotator,_load_icon,A,2,1884,1894 +src/supervision/annotators/core.py,method,RoundBoxAnnotator,__init__,A,2,2453,2477 +src/supervision/annotators/core.py,method,PercentageBarAnnotator,__init__,A,2,2588,2620 +src/supervision/annotators/utils.py,function,,get_color_by_index,A,2,133,136 +src/supervision/assets/downloader.py,function,,is_md5_hash_matching,A,2,17,38 +src/supervision/assets/list.py,method,Assets,list,A,2,19,20 +src/supervision/classification/core.py,method,Classifications,from_clip,A,2,53,90 +src/supervision/classification/core.py,method,Classifications,from_timm,A,2,121,164 +src/supervision/classification/core.py,method,Classifications,get_top_k,A,2,166,200 +src/supervision/dataset/core.py,function,,is_in_memory,A,2,279,280 +src/supervision/dataset/core.py,method,DetectionDataset,__len__,A,2,110,111 +src/supervision/dataset/core.py,method,DetectionDataset,__iter__,A,2,124,133 +src/supervision/dataset/core.py,method,ClassificationDataset,__len__,A,2,775,776 +src/supervision/dataset/core.py,method,ClassificationDataset,__iter__,A,2,789,800 +src/supervision/dataset/formats/coco.py,function,,coco_categories_to_classes,A,2,29,32 +src/supervision/dataset/formats/coco.py,function,,classes_to_coco_categories,A,2,48,80 +src/supervision/dataset/formats/coco.py,function,,get_coco_class_index_mapping,A,2,357,393 +src/supervision/dataset/formats/yolo.py,function,,_polygons_to_masks,A,2,51,62 +src/supervision/dataset/formats/yolo.py,function,,_with_seg_mask,A,2,66,67 +src/supervision/dataset/formats/yolo.py,function,,save_yolo_annotations,A,2,422,471 +src/supervision/detection/compact_mask.py,method,CompactMask,to_dense,A,2,555,585 +src/supervision/detection/compact_mask.py,method,CompactMask,__iter__,A,2,640,643 +src/supervision/detection/compact_mask.py,method,CompactMask,bbox_xyxy,A,2,690,720 +src/supervision/detection/compact_mask.py,method,CompactMask,area,A,2,744,764 +src/supervision/detection/compact_mask.py,method,CompactMask,sum,A,2,766,793 +src/supervision/detection/compact_mask.py,method,CompactMask,__array__,A,2,863,889 +src/supervision/detection/core.py,method,Detections,__eq__,A,2,206,217 +src/supervision/detection/core.py,method,Detections,from_yolo_nas,A,2,336,369 +src/supervision/detection/core.py,method,Detections,from_deepsparse,A,2,418,450 +src/supervision/detection/core.py,method,Detections,from_mmdetection,A,2,454,487 +src/supervision/detection/core.py,method,Detections,from_detectron2,A,2,573,616 +src/supervision/detection/core.py,method,Detections,from_paddledet,A,2,930,968 +src/supervision/detection/line_zone.py,method,LineZone,__init__,A,2,91,127 +src/supervision/detection/line_zone.py,method,LineZone,_calculate_region_of_interest_limits,A,2,217,246 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,_draw_oriented_label,A,2,588,637 +src/supervision/detection/line_zone.py,method,LineZoneAnnotatorMulticlass,__init__,A,2,714,767 +src/supervision/detection/vlm.py,method,LMM,list,A,2,50,51 +src/supervision/detection/vlm.py,method,VLM,list,A,2,97,98 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,close,A,2,111,116 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,parse_field_names,A,2,234,241 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,__init__,A,2,143,176 +src/supervision/detection/tools/json_sink.py,method,JSONSink,write_and_close,A,2,109,119 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZone,__init__,A,2,56,70 +src/supervision/detection/tools/transformers.py,function,,process_transformers_v5_segmentation_result,A,2,82,108 +src/supervision/detection/tools/transformers.py,function,,process_transformers_v5_panoptic_segmentation_result,A,2,182,204 +src/supervision/detection/utils/boxes.py,function,,pad_boxes,A,2,52,96 +src/supervision/detection/utils/converters.py,function,,xyxy_to_xcycarh,A,2,155,199 +src/supervision/detection/utils/converters.py,function,,mask_to_xyxy,A,2,202,245 +src/supervision/detection/utils/converters.py,function,,_delta_decode,A,2,418,442 +src/supervision/detection/utils/converters.py,function,,_delta_encode,A,2,445,468 +src/supervision/detection/utils/converters.py,function,,_rle_counts_to_mask,A,2,538,571 +src/supervision/detection/utils/iou_and_nms.py,function,,_jaccard,A,2,264,301 +src/supervision/detection/utils/iou_and_nms.py,function,,_prepare_predictions_for_nms,A,2,899,913 +src/supervision/detection/utils/iou_and_nms.py,function,,box_non_max_suppression,A,2,938,970 +src/supervision/draw/color.py,function,,unify_to_bgr,A,2,547,572 +src/supervision/draw/color.py,method,Color,as_hex,A,2,264,285 +src/supervision/draw/color.py,method,Color,__repr__,A,2,390,393 +src/supervision/draw/color.py,method,ColorPalette,from_hex,A,2,456,476 +src/supervision/draw/color.py,method,ColorPalette,by_idx,A,2,512,535 +src/supervision/draw/utils.py,function,,draw_filled_rectangle,A,2,72,111 +src/supervision/draw/utils.py,function,,draw_filled_polygon,A,2,189,215 +src/supervision/draw/utils.py,function,,draw_text,A,2,218,298 +src/supervision/draw/utils.py,function,,calculate_optimal_line_thickness,A,2,396,420 +src/supervision/key_points/core.py,method,KeyPoints,__eq__,A,2,369,383 +src/supervision/metrics/detection.py,function,,_assert_supported_target,A,2,22,25 +src/supervision/metrics/detection.py,method,ConfusionMatrix,from_detections,A,2,238,318 +src/supervision/metrics/detection.py,method,ConfusionMatrix,from_tensors,A,2,322,410 +src/supervision/metrics/detection.py,method,ConfusionMatrix,_drop_extra_matches,A,2,577,590 +src/supervision/metrics/detection.py,method,ConfusionMatrix,benchmark,A,2,593,657 +src/supervision/metrics/detection.py,method,MeanAveragePrecision,from_detections,A,2,787,836 +src/supervision/metrics/detection.py,method,MeanAveragePrecision,benchmark,A,2,840,883 +src/supervision/metrics/detection.py,method,MeanAveragePrecision,compute_average_precision,A,2,984,1019 +src/supervision/metrics/f1_score.py,method,F1Score,_compute_f1,A,2,405,432 +src/supervision/metrics/f1_score.py,method,F1Score,_filter_predictions_and_targets_by_size,A,2,490,508 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,map50_95,A,2,60,66 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,__init__,A,2,255,278 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_pycocotools_summarize,A,2,1097,1190 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecision,compute,A,2,1450,1520 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_compute_average_recall_for_classes,A,2,471,505 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_compute_recall,A,2,602,627 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_filter_predictions_and_targets_by_size,A,2,688,706 +src/supervision/metrics/precision.py,method,Precision,_compute_precision,A,2,408,438 +src/supervision/metrics/precision.py,method,Precision,_filter_predictions_and_targets_by_size,A,2,499,517 +src/supervision/metrics/recall.py,method,Recall,_compute_recall,A,2,364,394 +src/supervision/metrics/recall.py,method,Recall,_filter_predictions_and_targets_by_size,A,2,457,475 +src/supervision/metrics/utils/utils.py,function,,ensure_pandas_installed,A,2,1,6 +src/supervision/tracker/byte_tracker/kalman_filter.py,method,KalmanFilter,__init__,A,2,21,30 +src/supervision/tracker/byte_tracker/kalman_filter.py,method,KalmanFilter,multi_predict,A,2,123,158 +src/supervision/tracker/byte_tracker/matching.py,function,,linear_assignment,A,2,27,41 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,tlwh,A,2,140,149 +src/supervision/tracker/byte_tracker/utils.py,method,IdCounter,__init__,A,2,5,18 +src/supervision/utils/file.py,function,,save_text_file,A,2,129,139 +src/supervision/utils/image.py,function,,letterbox_image,A,2,210,275 +src/supervision/utils/image.py,function,,_aggregate_images_shape,A,2,728,736 +src/supervision/utils/image.py,method,ImageSink,save_image,A,2,531,549 +src/supervision/utils/internal.py,method,classproperty,__get__,A,2,152,166 +src/supervision/utils/video.py,function,,reader_thread,A,2,369,376 +src/supervision/utils/video.py,method,VideoInfo,from_video_path,A,2,59,69 +src/supervision/utils/video.py,method,VideoSink,__enter__,A,2,105,117 +src/supervision/utils/video.py,method,VideoSink,write_frame,A,2,119,128 +src/supervision/utils/video.py,method,VideoSink,__exit__,A,2,130,137 +src/supervision/annotators/core.py,method,LabelAnnotator,annotate,A,3,1252,1331 +src/supervision/annotators/core.py,method,LabelAnnotator,draw_rounded_rectangle,A,3,1470,1509 +src/supervision/annotators/core.py,method,RichLabelAnnotator,annotate,A,3,1569,1647 +src/supervision/annotators/core.py,method,RichLabelAnnotator,_load_font,A,3,1765,1785 +src/supervision/annotators/core.py,method,BlurAnnotator,__init__,A,3,1902,1911 +src/supervision/annotators/core.py,method,PixelateAnnotator,__init__,A,3,2236,2247 +src/supervision/annotators/core.py,method,ComparisonAnnotator,_mask_from_xyxy,A,3,3183,3196 +src/supervision/annotators/core.py,method,ComparisonAnnotator,_mask_from_obb,A,3,3199,3211 +src/supervision/annotators/core.py,method,ComparisonAnnotator,_draw_labels,A,3,3226,3294 +src/supervision/annotators/utils.py,function,,_validate_labels,A,3,205,221 +src/supervision/classification/core.py,function,,_validate_class_ids,A,3,13,19 +src/supervision/dataset/core.py,method,DetectionDataset,_get_image,A,3,101,108 +src/supervision/dataset/core.py,method,DetectionDataset,as_coco,A,3,626,723 +src/supervision/dataset/core.py,method,ClassificationDataset,__init__,A,3,740,761 +src/supervision/dataset/core.py,method,ClassificationDataset,_get_image,A,3,766,773 +src/supervision/dataset/core.py,method,ClassificationDataset,from_folder_structure,A,3,922,968 +src/supervision/dataset/utils.py,function,,approximate_mask_with_polygons,A,3,52,76 +src/supervision/dataset/utils.py,function,,merge_class_lists,A,3,80,87 +src/supervision/dataset/utils.py,function,,build_class_index_mapping,A,3,90,105 +src/supervision/dataset/utils.py,function,,save_dataset_images,A,3,128,136 +src/supervision/dataset/utils.py,function,,train_test_split,A,3,139,164 +src/supervision/dataset/formats/coco.py,function,,build_coco_class_index_mapping,A,3,36,44 +src/supervision/dataset/formats/coco.py,function,,group_coco_annotations_by_image_id,A,3,84,93 +src/supervision/dataset/formats/pascal_voc.py,function,,object_to_pascal_voc,A,3,19,81 +src/supervision/dataset/formats/pascal_voc.py,function,,_get_required_text,A,3,351,355 +src/supervision/dataset/formats/yolo.py,function,,object_to_yolo,A,3,274,293 +src/supervision/detection/compact_mask.py,function,,_resize_crop,A,3,341,386 +src/supervision/detection/compact_mask.py,method,CompactMask,__eq__,A,3,891,917 +src/supervision/detection/core.py,function,,_validate_fields_both_defined_or_none,A,3,2902,2921 +src/supervision/detection/core.py,method,Detections,from_ncnn,A,3,2007,2061 +src/supervision/detection/core.py,method,Detections,__setitem__,A,3,2331,2364 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,__init__,A,3,331,384 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,_calculate_anchor_in_frame,A,3,481,543 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,_draw_basic_label,A,3,545,586 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,open,A,3,100,109 +src/supervision/detection/tools/json_sink.py,method,JSONSink,open,A,3,74,82 +src/supervision/detection/tools/json_sink.py,method,JSONSink,_json_default,A,3,85,106 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZone,trigger,A,3,73,108 +src/supervision/detection/tools/transformers.py,function,,process_transformers_v4_panoptic_segmentation_result,A,3,148,178 +src/supervision/detection/utils/boxes.py,function,,obb_polygon_area,A,3,244,269 +src/supervision/detection/utils/boxes.py,function,,xyxyxyxy_to_xyxy,A,3,272,309 +src/supervision/detection/utils/converters.py,function,,mask_to_polygons,A,3,307,328 +src/supervision/detection/utils/converters.py,function,,_mask_to_rle_counts,A,3,497,535 +src/supervision/detection/utils/internal.py,function,,is_data_equal,A,3,202,216 +src/supervision/detection/utils/iou_and_nms.py,function,,_nms_loop_from_iou_matrix,A,3,916,935 +src/supervision/detection/utils/iou_and_nms.py,function,,_greedy_nmm_via_iou_callback,A,3,1105,1133 +src/supervision/detection/utils/masks.py,function,,contains_multiple_segments,A,3,201,260 +src/supervision/detection/utils/vlms.py,function,,fuzzy_match_index,A,3,65,100 +src/supervision/draw/utils.py,function,,draw_rounded_rectangle,A,3,114,163 +src/supervision/geometry/utils.py,function,,get_polygon_center,A,3,7,51 +src/supervision/key_points/annotators.py,method,_BaseVertexEllipseAnnotator,_get_covariances,A,3,298,313 +src/supervision/key_points/annotators.py,method,VertexLabelAnnotator,_resolve_color_list,A,3,960,972 +src/supervision/key_points/core.py,method,KeyPoints,from_ultralytics,A,3,598,634 +src/supervision/key_points/core.py,method,KeyPoints,from_detectron2,A,3,695,743 +src/supervision/key_points/core.py,method,KeyPoints,__setitem__,A,3,1062,1095 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,get_annotations,A,3,445,457 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,__init__,A,3,589,623 +src/supervision/metrics/utils/object_size.py,function,,get_bbox_size_category,A,3,85,123 +src/supervision/metrics/utils/object_size.py,function,,get_mask_size_category,A,3,126,165 +src/supervision/tracker/byte_tracker/core.py,function,,joint_tracks,A,3,337,360 +src/supervision/tracker/byte_tracker/matching.py,function,,fuse_score,A,3,65,75 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,activate,A,3,82,98 +src/supervision/utils/conversion.py,function,,images_to_cv2,A,3,127,145 +src/supervision/utils/conversion.py,function,,wrapper,A,3,28,38 +src/supervision/utils/conversion.py,function,,wrapper,A,3,65,74 +src/supervision/utils/conversion.py,function,,wrapper,A,3,90,100 +src/supervision/utils/image.py,function,,scale_image,A,3,95,142 +src/supervision/utils/image.py,function,,tint_image,A,3,356,400 +src/supervision/utils/image.py,function,,_negotiate_tiles_format,A,3,706,710 +src/supervision/utils/image.py,function,,_calculate_aggregated_images_shape,A,3,713,718 +src/supervision/utils/image.py,function,,_negotiate_grid_size,A,3,756,764 +src/supervision/utils/image.py,function,,_generate_tiles,A,3,767,812 +src/supervision/utils/image.py,function,,_merge_tiles_elements,A,3,879,914 +src/supervision/utils/image.py,method,ImageSink,__enter__,A,3,521,529 +src/supervision/utils/iterables.py,function,,find_duplicates,A,3,76,103 +src/supervision/utils/logger.py,function,,_get_logger,A,3,8,63 +src/supervision/utils/notebook.py,function,,plot_image,A,3,11,47 +src/supervision/utils/video.py,function,,writer_thread,A,3,378,383 +src/supervision/utils/video.py,method,FPSMonitor,fps,A,3,487,497 +src/supervision/annotators/core.py,method,BoxAnnotator,annotate,A,4,214,274 +src/supervision/annotators/core.py,method,MaskAnnotator,annotate,A,4,451,508 +src/supervision/annotators/core.py,method,ColorAnnotator,annotate,A,4,630,695 +src/supervision/annotators/core.py,method,EllipseAnnotator,annotate,A,4,830,896 +src/supervision/annotators/core.py,method,CircleAnnotator,annotate,A,4,1019,1083 +src/supervision/annotators/core.py,method,LabelAnnotator,_get_label_properties,A,4,1333,1385 +src/supervision/annotators/core.py,method,RichLabelAnnotator,_get_label_properties,A,4,1649,1699 +src/supervision/annotators/core.py,method,ComparisonAnnotator,_mask_from_mask,A,4,3214,3224 +src/supervision/annotators/utils.py,function,,resolve_color,A,4,139,156 +src/supervision/annotators/utils.py,function,,hex_to_rgba,A,4,384,409 +src/supervision/annotators/utils.py,function,,rgba_to_hex,A,4,412,427 +src/supervision/annotators/utils.py,method,Trace,put,A,4,347,375 +src/supervision/classification/core.py,function,,_validate_confidence,A,4,22,29 +src/supervision/dataset/core.py,method,DetectionDataset,as_pascal_voc,A,4,330,385 +src/supervision/dataset/core.py,method,ClassificationDataset,as_folder_structure,A,4,897,919 +src/supervision/dataset/utils.py,function,,map_detections_class_id,A,4,108,125 +src/supervision/dataset/formats/coco.py,function,,save_coco_annotations,A,4,507,621 +src/supervision/dataset/formats/pascal_voc.py,function,,parse_polygon_points,A,4,339,347 +src/supervision/dataset/formats/yolo.py,function,,_is_int_like,A,4,100,109 +src/supervision/detection/compact_mask.py,method,CompactMask,repack,A,4,984,1060 +src/supervision/detection/core.py,method,Detections,from_inference,A,4,620,672 +src/supervision/detection/core.py,method,Detections,from_sam,A,4,676,715 +src/supervision/detection/line_zone.py,method,LineZone,_compute_anchor_sides,A,4,248,305 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,_get_line_angle,A,4,456,479 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,_make_label_image,A,4,641,710 +src/supervision/detection/vlm.py,method,LMM,from_value,A,4,54,69 +src/supervision/detection/vlm.py,method,VLM,from_value,A,4,101,112 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,annotate,A,4,155,203 +src/supervision/detection/tools/transformers.py,function,,process_transformers_v5_semantic_or_instance_segmentation_result,A,4,112,144 +src/supervision/detection/tools/transformers.py,function,,append_class_names_to_data,A,4,224,250 +src/supervision/detection/utils/boxes.py,function,,spread_out_boxes,A,4,347,417 +src/supervision/detection/utils/converters.py,function,,xyxy_to_mask,A,4,248,304 +src/supervision/detection/utils/converters.py,function,,mask_to_rle,A,4,649,721 +src/supervision/detection/utils/iou_and_nms.py,function,,box_iou,A,4,90,159 +src/supervision/detection/utils/iou_and_nms.py,function,,_mask_iou_batch_split,A,4,672,733 +src/supervision/detection/utils/iou_and_nms.py,method,OverlapFilter,from_value,A,4,39,50 +src/supervision/detection/utils/iou_and_nms.py,method,OverlapMetric,from_value,A,4,75,86 +src/supervision/detection/utils/masks.py,function,,contains_holes,A,4,151,198 +src/supervision/draw/color.py,function,,_validate_color_hex,A,4,57,62 +src/supervision/draw/color.py,method,Color,from_rgb_tuple,A,4,149,174 +src/supervision/draw/color.py,method,Color,from_bgr_tuple,A,4,177,202 +src/supervision/draw/color.py,method,ColorPalette,from_matplotlib,A,4,479,509 +src/supervision/key_points/core.py,function,,_optional_array_equal,A,4,42,48 +src/supervision/key_points/core.py,method,KeyPoints,__init__,A,4,245,296 +src/supervision/key_points/core.py,method,KeyPoints,__iter__,A,4,345,366 +src/supervision/key_points/core.py,method,KeyPoints,from_transformers,A,4,746,828 +src/supervision/metrics/detection.py,method,MeanAveragePrecision,_match_detection_batch,A,4,1022,1064 +src/supervision/metrics/f1_score.py,method,F1Score,update,A,4,92,121 +src/supervision/metrics/f1_score.py,method,F1Score,_match_detection_batch,A,4,315,344 +src/supervision/metrics/f1_score.py,method,F1Score,_compute_confusion_matrix,A,4,347,402 +src/supervision/metrics/f1_score.py,method,F1Score,_make_empty_content,A,4,452,462 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,__str__,A,4,86,142 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,update,A,4,321,350 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_match_detection_batch,A,4,508,536 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_compute_confusion_matrix,A,4,539,599 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_make_empty_content,A,4,647,660 +src/supervision/metrics/precision.py,method,Precision,update,A,4,95,124 +src/supervision/metrics/precision.py,method,Precision,_match_detection_batch,A,4,320,348 +src/supervision/metrics/precision.py,method,Precision,_compute_confusion_matrix,A,4,351,405 +src/supervision/metrics/precision.py,method,Precision,_make_empty_content,A,4,458,471 +src/supervision/metrics/recall.py,method,Recall,update,A,4,95,124 +src/supervision/metrics/recall.py,method,Recall,_compute_recall_for_classes,A,4,239,273 +src/supervision/metrics/recall.py,method,Recall,_match_detection_batch,A,4,276,304 +src/supervision/metrics/recall.py,method,Recall,_compute_confusion_matrix,A,4,307,361 +src/supervision/metrics/recall.py,method,Recall,_make_empty_content,A,4,414,429 +src/supervision/metrics/utils/object_size.py,function,,get_object_size_category,A,4,46,82 +src/supervision/metrics/utils/object_size.py,function,,get_obb_size_category,A,4,168,211 +src/supervision/tracker/byte_tracker/core.py,function,,sub_tracks,A,4,363,380 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,re_activate,A,4,100,111 +src/supervision/utils/file.py,method,NumpyJsonEncoder,default,A,4,12,19 +src/supervision/utils/image.py,function,,crop_image,A,4,34,90 +src/supervision/utils/image.py,function,,resize_image,A,4,146,206 +src/supervision/utils/image.py,function,,get_image_resolution_wh,A,4,434,477 +src/supervision/utils/image.py,function,,_prepare_default_titles_anchors,A,4,860,876 +src/supervision/utils/internal.py,function,,wrapper,A,4,104,123 +src/supervision/utils/iterables.py,function,,create_batches,A,4,7,42 +src/supervision/validators/__init__.py,function,,_validate_xyxy,A,4,10,24 +src/supervision/validators/__init__.py,function,,_validate_class_id,A,4,84,93 +src/supervision/validators/__init__.py,function,,_validate_confidence,A,4,106,116 +src/supervision/validators/__init__.py,function,,_validate_tracker_id,A,4,169,178 +src/supervision/validators/__init__.py,function,,_validate_xy,A,4,216,223 +src/supervision/validators/__init__.py,function,,_validate_keypoints_fields,A,4,292,309 +src/supervision/annotators/core.py,method,RichLabelAnnotator,_draw_labels,A,5,1701,1762 +src/supervision/annotators/utils.py,function,,get_labels_text,A,5,235,263 +src/supervision/dataset/core.py,method,DetectionDataset,__init__,A,5,74,99 +src/supervision/dataset/formats/pascal_voc.py,function,,load_pascal_voc_annotations,A,5,181,232 +src/supervision/detection/compact_mask.py,function,,_rle_scale_col,A,5,128,190 +src/supervision/detection/compact_mask.py,method,CompactMask,from_dense,A,5,476,549 +src/supervision/detection/core.py,function,,merge_inner_detections_objects,A,5,2860,2884 +src/supervision/detection/core.py,method,Detections,from_lmm,A,5,972,1458 +src/supervision/detection/core.py,method,Detections,area,A,5,2367,2412 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,annotate,A,5,386,454 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,_slice_value,A,5,119,142 +src/supervision/detection/tools/inference_slicer.py,function,,move_detections,A,5,23,61 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_validate_overlap,A,5,453,470 +src/supervision/detection/tools/inference_slicer.py,function,,_compute_axis_starts,A,5,413,428 +src/supervision/detection/tools/json_sink.py,method,JSONSink,_slice_value,A,5,122,145 +src/supervision/detection/tools/transformers.py,function,,process_transformers_v4_segmentation_result,A,5,43,78 +src/supervision/detection/utils/converters.py,function,,_base48_encode,A,5,382,415 +src/supervision/detection/utils/converters.py,function,,rle_to_mask,A,5,575,646 +src/supervision/detection/utils/internal.py,function,,extract_ultralytics_masks,A,5,18,51 +src/supervision/detection/utils/internal.py,function,,is_metadata_equal,A,5,220,237 +src/supervision/detection/utils/iou_and_nms.py,function,,box_iou_batch,A,5,162,261 +src/supervision/detection/utils/iou_and_nms.py,function,,mask_non_max_suppression,A,5,832,896 +src/supervision/detection/utils/iou_and_nms.py,function,,_group_overlapping_masks,A,5,973,1027 +src/supervision/detection/utils/masks.py,function,,move_masks,A,5,12,87 +src/supervision/detection/utils/masks.py,function,,calculate_masks_centroids,A,5,90,147 +src/supervision/draw/color.py,method,Color,from_rgba_tuple,A,5,205,232 +src/supervision/draw/color.py,method,Color,from_bgra_tuple,A,5,235,262 +src/supervision/draw/color.py,method,Color,__eq__,A,5,395,401 +src/supervision/key_points/annotators.py,method,_BaseVertexEllipseAnnotator,_decompose_covariance,A,5,315,328 +src/supervision/key_points/annotators.py,method,VertexEllipseAreaAnnotator,annotate,A,5,406,468 +src/supervision/key_points/annotators.py,method,VertexEllipseOutlineAnnotator,annotate,A,5,504,565 +src/supervision/metrics/detection.py,method,ConfusionMatrix,__eq__,A,5,225,232 +src/supervision/metrics/detection.py,method,MeanAveragePrecision,_average_precisions_per_class,A,5,1067,1120 +src/supervision/metrics/f1_score.py,method,F1Score,_compute_f1_for_classes,A,5,259,312 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,plot,A,5,660,722 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,plot,A,5,180,246 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecallResult,plot,A,5,185,256 +src/supervision/metrics/precision.py,method,Precision,_compute_precision_for_classes,A,5,262,317 +src/supervision/metrics/precision.py,method,PrecisionResult,plot,A,5,673,735 +src/supervision/metrics/recall.py,method,RecallResult,plot,A,5,627,689 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,predict,A,5,51,59 +src/supervision/utils/file.py,function,,read_txt_file,A,5,92,126 +src/supervision/utils/image.py,function,,_draw_texts,A,5,816,857 +src/supervision/annotators/core.py,method,OrientedBoxAnnotator,annotate,B,6,301,361 +src/supervision/annotators/core.py,method,PolygonAnnotator,annotate,B,6,539,603 +src/supervision/annotators/core.py,method,HaloAnnotator,annotate,B,6,730,797 +src/supervision/annotators/core.py,method,DotAnnotator,annotate,B,6,1122,1194 +src/supervision/annotators/core.py,method,LabelAnnotator,_draw_labels,B,6,1387,1467 +src/supervision/annotators/core.py,method,BlurAnnotator,annotate,B,6,1914,1971 +src/supervision/annotators/core.py,method,HeatMapAnnotator,annotate,B,6,2155,2228 +src/supervision/annotators/core.py,method,TriangleAnnotator,annotate,B,6,2364,2444 +src/supervision/annotators/core.py,method,RoundBoxAnnotator,annotate,B,6,2480,2580 +src/supervision/annotators/core.py,method,PercentageBarAnnotator,annotate,B,6,2624,2719 +src/supervision/annotators/core.py,method,CropAnnotator,annotate,B,6,2823,2901 +src/supervision/annotators/core.py,method,BackgroundOverlayAnnotator,annotate,B,6,2978,3029 +src/supervision/annotators/core.py,method,ComparisonAnnotator,annotate,B,6,3081,3158 +src/supervision/assets/downloader.py,function,,download_assets,B,6,41,95 +src/supervision/dataset/core.py,method,DetectionDataset,split,B,6,157,228 +src/supervision/dataset/core.py,method,ClassificationDataset,split,B,6,824,895 +src/supervision/dataset/formats/pascal_voc.py,function,,detections_to_pascal_voc,B,6,84,178 +src/supervision/detection/core.py,method,Detections,__iter__,B,6,180,203 +src/supervision/detection/core.py,method,Detections,from_transformers,B,6,492,567 +src/supervision/detection/line_zone.py,method,LineZone,_update_class_id_to_name,B,6,307,327 +src/supervision/detection/vlm.py,function,,from_paligemma,B,6,215,257 +src/supervision/detection/vlm.py,function,,recover_truncated_qwen_2_5_vl_response,B,6,260,302 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,append,B,6,196,230 +src/supervision/detection/utils/converters.py,function,,_base48_decode,B,6,332,379 +src/supervision/detection/utils/iou_and_nms.py,function,,box_iou_batch_with_jaccard,B,6,304,360 +src/supervision/detection/utils/vlms.py,function,,edit_distance,B,6,4,62 +src/supervision/key_points/core.py,method,KeyPoints,from_yolo_nas,B,6,637,691 +src/supervision/key_points/core.py,method,KeyPoints,as_detections,B,6,1224,1294 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,__str__,B,6,562,628 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_prepare_targets_and_predictions,B,6,625,657 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,evaluate,B,6,1192,1223 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecallResult,__str__,B,6,85,152 +src/supervision/metrics/precision.py,method,PrecisionResult,__str__,B,6,571,641 +src/supervision/metrics/recall.py,method,RecallResult,__str__,B,6,527,595 +src/supervision/metrics/utils/object_size.py,function,,get_detection_size_category,B,6,214,241 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,update_with_detections,B,6,83,155 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,update,B,6,113,137 +src/supervision/utils/image.py,function,,overlay_image,B,6,283,352 +src/supervision/annotators/core.py,method,BoxCornerAnnotator,annotate,B,7,926,991 +src/supervision/annotators/core.py,method,IconAnnotator,annotate,B,7,1812,1881 +src/supervision/annotators/core.py,method,PercentageBarAnnotator,_validate_custom_values,B,7,2751,2775 +src/supervision/annotators/core.py,method,ComparisonAnnotator,_use_obb,B,7,3161,3168 +src/supervision/annotators/core.py,method,ComparisonAnnotator,_use_mask,B,7,3172,3179 +src/supervision/detection/compact_mask.py,function,,_rle_join_cols,B,7,193,246 +src/supervision/detection/compact_mask.py,method,CompactMask,merge,B,7,924,982 +src/supervision/detection/core.py,method,Detections,from_easyocr,B,7,1961,2002 +src/supervision/detection/core.py,method,Detections,with_nms,B,7,2463,2538 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_normalize_slice_wh,B,7,338,359 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_normalize_overlap_wh,B,7,363,385 +src/supervision/detection/utils/iou_and_nms.py,function,,mask_non_max_merge,B,7,1030,1102 +src/supervision/detection/utils/iou_and_nms.py,function,,_non_max_merge_per_category,B,7,1136,1166 +src/supervision/detection/utils/polygons.py,function,,approximate_polygon,B,7,44,116 +src/supervision/key_points/annotators.py,method,VertexLabelAnnotator,_resolve_labels,B,7,930,957 +src/supervision/key_points/core.py,method,KeyPoints,from_inference,B,7,388,468 +src/supervision/key_points/core.py,method,KeyPoints,with_nms,B,7,1136,1222 +src/supervision/metrics/detection.py,method,MeanAveragePrecision,from_tensors,B,7,887,980 +src/supervision/metrics/f1_score.py,method,F1Score,_detections_content,B,7,434,450 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,to_pandas,B,7,630,658 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,to_pandas,B,7,145,177 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecallResult,to_pandas,B,7,154,183 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_detections_content,B,7,629,645 +src/supervision/metrics/precision.py,method,Precision,_detections_content,B,7,440,456 +src/supervision/metrics/precision.py,method,PrecisionResult,to_pandas,B,7,643,671 +src/supervision/metrics/recall.py,method,Recall,_detections_content,B,7,396,412 +src/supervision/metrics/recall.py,method,RecallResult,to_pandas,B,7,597,625 +src/supervision/tracker/byte_tracker/core.py,function,,remove_duplicate_tracks,B,7,383,405 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,multi_predict,B,7,63,80 +src/supervision/utils/video.py,function,,_mux_audio,B,7,140,204 +src/supervision/utils/video.py,function,,get_video_frames_generator,B,7,231,280 +src/supervision/validators/__init__.py,function,,_validate_keypoint_confidence,B,7,129,147 +src/supervision/validators/__init__.py,function,,_validate_visible,B,7,236,255 +src/supervision/validators/__init__.py,function,,_validate_resolution,B,7,334,354 +src/supervision/annotators/core.py,function,,_paint_masks_by_area,B,8,365,420 +src/supervision/dataset/core.py,method,DetectionDataset,__eq__,B,8,135,155 +src/supervision/dataset/core.py,method,DetectionDataset,as_yolo,B,8,504,575 +src/supervision/dataset/core.py,method,ClassificationDataset,__eq__,B,8,802,822 +src/supervision/dataset/formats/coco.py,function,,coco_annotations_to_masks,B,8,96,142 +src/supervision/dataset/formats/coco.py,function,,load_coco_annotations,B,8,396,500 +src/supervision/detection/core.py,method,Detections,merge,B,8,2111,2214 +src/supervision/detection/core.py,method,Detections,__getitem__,B,8,2282,2328 +src/supervision/detection/tools/smoother.py,method,DetectionsSmoother,update_with_detections,B,8,100,131 +src/supervision/detection/tools/smoother.py,method,DetectionsSmoother,get_smoothed_detections,B,8,166,184 +src/supervision/draw/color.py,method,Color,from_hex,B,8,106,146 +src/supervision/key_points/annotators.py,method,VertexAnnotator,annotate,B,8,51,108 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,get_image_ids,B,8,414,443 +src/supervision/metrics/mean_average_precision.py,function,,_summarize,B,8,1102,1143 +src/supervision/tracker/byte_tracker/matching.py,function,,iou_distance,B,8,44,62 +src/supervision/utils/image.py,function,,_establish_grid_size,B,8,739,753 +src/supervision/utils/internal.py,function,,get_instance_variables,B,8,169,208 +src/supervision/validators/__init__.py,function,,_validate_mask,B,8,37,62 +src/supervision/annotators/utils.py,function,,resolve_color_idx,B,9,40,77 +src/supervision/dataset/formats/coco.py,function,,coco_annotations_to_detections,B,9,145,213 +src/supervision/dataset/formats/yolo.py,function,,load_yolo_annotations,B,9,187,271 +src/supervision/detection/compact_mask.py,function,,_rle_resize,B,9,249,330 +src/supervision/detection/compact_mask.py,method,CompactMask,__getitem__,B,9,795,861 +src/supervision/detection/compact_mask.py,method,CompactMask,with_offset,B,9,1067,1185 +src/supervision/detection/compact_mask.py,method,CompactMask,resize,B,9,1192,1306 +src/supervision/detection/core.py,method,Detections,with_nmm,B,9,2540,2632 +src/supervision/detection/vlm.py,function,,_validate_vlm_parameters,B,9,163,203 +src/supervision/detection/vlm.py,function,,from_deepseek_vl_2,B,9,424,492 +src/supervision/detection/vlm.py,function,,from_moondream,B,9,855,916 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,parse_detection_data,B,9,145,194 +src/supervision/detection/tools/smoother.py,method,DetectionsSmoother,get_track,B,9,133,164 +src/supervision/detection/utils/polygons.py,function,,filter_polygons_by_area,B,9,8,40 +src/supervision/draw/utils.py,function,,draw_image,B,9,301,368 +src/supervision/key_points/annotators.py,method,VertexEllipseHaloAnnotator,annotate,B,9,606,697 +src/supervision/metrics/detection.py,function,,_validate_input_tensors,B,9,146,183 +src/supervision/metrics/f1_score.py,method,F1Score,_filter_detections_by_size,B,9,464,488 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_compute_iou,B,9,659,698 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecision,update,B,9,1295,1335 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_filter_detections_by_size,B,9,662,686 +src/supervision/metrics/precision.py,method,Precision,_filter_detections_by_size,B,9,473,497 +src/supervision/metrics/recall.py,method,Recall,_filter_detections_by_size,B,9,431,455 +src/supervision/utils/image.py,function,,create_tiles,B,9,565,703 +src/supervision/utils/notebook.py,function,,plot_images_grid,B,9,50,117 +src/supervision/utils/video.py,function,,_validate_and_setup_video,B,9,207,228 +src/supervision/validators/__init__.py,function,,_validate_data,B,9,191,204 +src/supervision/annotators/core.py,method,TraceAnnotator,annotate,B,10,2017,2116 +src/supervision/annotators/core.py,method,PixelateAnnotator,annotate,B,10,2250,2322 +src/supervision/annotators/utils.py,function,,wrap_text,B,10,159,202 +src/supervision/detection/core.py,method,Detections,from_azure_analyze_image,B,10,843,926 +src/supervision/detection/tools/json_sink.py,method,JSONSink,parse_detection_data,B,10,148,198 +src/supervision/detection/utils/iou_and_nms.py,function,,compact_mask_iou_batch,B,10,569,669 +src/supervision/key_points/annotators.py,method,_BaseVertexEllipseAnnotator,_iter_ellipse_params,B,10,330,367 +src/supervision/key_points/core.py,function,,_normalize_row_index,B,10,51,71 +src/supervision/metrics/detection.py,function,,detections_to_tensor,B,10,29,143 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,create_class_members,B,10,284,312 +src/supervision/annotators/core.py,method,PercentageBarAnnotator,calculate_border_coordinates,C,11,2722,2748 +src/supervision/annotators/core.py,method,CropAnnotator,calculate_crop_coordinates,C,11,2904,2942 +src/supervision/annotators/utils.py,function,,resolve_text_background_xyxy,C,11,80,129 +src/supervision/dataset/formats/yolo.py,function,,yolo_annotations_to_detections,C,11,138,184 +src/supervision/detection/core.py,method,Detections,from_ultralytics,C,11,254,333 +src/supervision/detection/core.py,function,,stack_or_none,C,11,2182,2195 +src/supervision/detection/line_zone.py,method,LineZone,trigger,C,11,145,214 +src/supervision/key_points/annotators.py,method,_BaseVertexEllipseAnnotator,__init__,C,11,268,296 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecision,_prepare_predictions,C,11,1399,1448 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_compute,C,11,381,468 +src/supervision/metrics/recall.py,method,Recall,_compute,C,11,155,236 +src/supervision/dataset/formats/pascal_voc.py,function,,detections_from_xml_obj,C,12,235,332 +src/supervision/detection/compact_mask.py,function,,_rle_split_cols,C,12,49,125 +src/supervision/detection/core.py,function,,merge_inner_detection_object_pair,C,12,2767,2855 +src/supervision/detection/core.py,method,Detections,get_anchors_coordinates,C,12,2217,2280 +src/supervision/detection/line_zone.py,method,LineZoneAnnotatorMulticlass,annotate,C,12,769,873 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_run_callback,C,12,275,335 +src/supervision/detection/utils/iou_and_nms.py,function,,oriented_box_non_max_suppression,C,12,1238,1330 +src/supervision/detection/utils/iou_and_nms.py,function,,oriented_box_non_max_merge,C,12,1358,1453 +src/supervision/detection/utils/masks.py,function,,filter_segments_by_distance,C,12,291,426 +src/supervision/key_points/core.py,method,KeyPoints,from_mediapipe,C,12,472,594 +src/supervision/utils/file.py,function,,list_files_with_extensions,C,12,22,89 +src/supervision/dataset/core.py,method,DetectionDataset,merge,C,13,231,327 +src/supervision/dataset/formats/yolo.py,function,,detections_to_yolo_annotations,C,13,296,419 +src/supervision/detection/vlm.py,function,,from_google_gemini_2_0,C,13,591,675 +src/supervision/detection/utils/internal.py,function,,get_data_item,C,13,356,393 +src/supervision/key_points/annotators.py,method,VertexLabelAnnotator,annotate,C,13,740,905 +src/supervision/dataset/formats/yolo.py,function,,_extract_class_names,C,14,70,129 +src/supervision/detection/utils/internal.py,function,,merge_metadata,C,14,302,353 +src/supervision/detection/utils/iou_and_nms.py,function,,mask_iou_batch,C,14,736,829 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,get_category_ids,C,14,368,412 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,load_predictions,C,14,459,523 +src/supervision/dataset/formats/coco.py,function,,detections_to_coco_annotations,C,15,217,354 +src/supervision/detection/core.py,function,,_merge_detection_group,C,15,2678,2762 +src/supervision/detection/vlm.py,function,,from_florence_2,C,15,495,588 +src/supervision/key_points/core.py,method,KeyPoints,_get_by_2d_bool_mask,C,15,830,922 +src/supervision/metrics/detection.py,method,ConfusionMatrix,plot,C,15,660,747 +src/supervision/metrics/f1_score.py,method,F1Score,_compute,C,15,152,256 +src/supervision/metrics/precision.py,method,Precision,_compute,C,15,155,259 +src/supervision/detection/vlm.py,function,,from_qwen_2_5_vl,C,16,305,394 +src/supervision/key_points/annotators.py,method,EdgeAnnotator,annotate,C,16,141,258 +src/supervision/utils/video.py,function,,process_video,C,16,283,456 +src/supervision/detection/core.py,method,Detections,from_sam3,C,17,718,839 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,__call__,C,17,178,273 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,get_annotation_ids,C,17,314,366 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecision,_prepare_targets,C,17,1337,1396 +src/supervision/detection/utils/internal.py,function,,merge_data,C,18,241,299 +src/supervision/detection/core.py,method,Detections,from_vlm,C,20,1461,1958 +src/supervision/detection/utils/iou_and_nms.py,function,,oriented_box_iou_batch,C,20,426,566 +src/supervision/detection/utils/internal.py,function,,process_roboflow_result,D,22,54,198 +src/supervision/metrics/detection.py,method,ConfusionMatrix,evaluate_detection_batch,D,22,414,574 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,update_with_tensors,D,26,173,334 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_evaluate_image,D,28,700,822 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_accumulate,D,29,825,1094 +src/supervision/detection/vlm.py,function,,from_google_gemini_2_5,E,33,678,851 +src/supervision/key_points/core.py,method,KeyPoints,__getitem__,E,39,925,1059 diff --git a/metrics-before-radon/hal_antes.json b/metrics-before-radon/hal_antes.json new file mode 100644 index 0000000000..7cd1d2e487 --- /dev/null +++ b/metrics-before-radon/hal_antes.json @@ -0,0 +1,10309 @@ +{ + "src\\supervision\\config.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\__init__.py": { + "total": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "functions": {} + }, + "src\\supervision\\annotators\\base.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": { + "annotate": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\annotators\\core.py": { + "total": { + "h1": 22, + "h2": 382, + "N1": 434, + "N2": 825, + "vocabulary": 404, + "length": 1259, + "calculated_length": 3374.6853079196767, + "volume": 10900.688256784511, + "difficulty": 23.7565445026178, + "effort": 258962.6856814645, + "time": 14386.815871192472, + "bugs": 3.6335627522615037 + }, + "functions": { + "_normalize_color_input": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__init__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_adjust_labels_in_frame": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "annotate": { + "h1": 7, + "h2": 25, + "N1": 19, + "N2": 35, + "vocabulary": 32, + "length": 54, + "calculated_length": 135.74788919877133, + "volume": 270.0, + "difficulty": 4.9, + "effort": 1323.0, + "time": 73.5, + "bugs": 0.09 + }, + "_paint_masks_by_area": { + "h1": 4, + "h2": 12, + "N1": 11, + "N2": 22, + "vocabulary": 16, + "length": 33, + "calculated_length": 51.01955000865388, + "volume": 132.0, + "difficulty": 3.6666666666666665, + "effort": 484.0, + "time": 26.88888888888889, + "bugs": 0.044 + }, + "_get_label_properties": { + "h1": 5, + "h2": 20, + "N1": 14, + "N2": 27, + "vocabulary": 25, + "length": 41, + "calculated_length": 98.04820237218406, + "volume": 190.3981037807637, + "difficulty": 3.375, + "effort": 642.5936002600776, + "time": 35.6996444588932, + "bugs": 0.0634660345935879 + }, + "_draw_labels": { + "h1": 6, + "h2": 24, + "N1": 22, + "N2": 43, + "vocabulary": 30, + "length": 65, + "calculated_length": 125.5488750216347, + "volume": 318.9478887145537, + "difficulty": 5.375, + "effort": 1714.3449018407262, + "time": 95.24138343559589, + "bugs": 0.10631596290485124 + }, + "draw_rounded_rectangle": { + "h1": 4, + "h2": 8, + "N1": 17, + "N2": 32, + "vocabulary": 12, + "length": 49, + "calculated_length": 32.0, + "volume": 175.66316253533668, + "difficulty": 8.0, + "effort": 1405.3053002826935, + "time": 78.07251668237186, + "bugs": 0.058554387511778896 + }, + "_load_font": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_load_icon": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "calculate_border_coordinates": { + "h1": 5, + "h2": 30, + "N1": 47, + "N2": 94, + "vocabulary": 35, + "length": 141, + "calculated_length": 158.81635834269238, + "volume": 723.2289053892403, + "difficulty": 7.833333333333333, + "effort": 5665.293092215715, + "time": 314.73850512309525, + "bugs": 0.24107630179641343 + }, + "_validate_custom_values": { + "h1": 4, + "h2": 10, + "N1": 7, + "N2": 11, + "vocabulary": 14, + "length": 18, + "calculated_length": 41.219280948873624, + "volume": 68.53238859703687, + "difficulty": 2.2, + "effort": 150.77125491348113, + "time": 8.37618082852673, + "bugs": 0.022844129532345624 + }, + "validate_custom_values": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "calculate_crop_coordinates": { + "h1": 5, + "h2": 30, + "N1": 47, + "N2": 94, + "vocabulary": 35, + "length": 141, + "calculated_length": 158.81635834269238, + "volume": 723.2289053892403, + "difficulty": 7.833333333333333, + "effort": 5665.293092215715, + "time": 314.73850512309525, + "bugs": 0.24107630179641343 + }, + "_use_obb": { + "h1": 4, + "h2": 13, + "N1": 9, + "N2": 17, + "vocabulary": 17, + "length": 26, + "calculated_length": 56.105716335834195, + "volume": 106.27403387250884, + "difficulty": 2.6153846153846154, + "effort": 277.94747320502313, + "time": 15.441526289167951, + "bugs": 0.03542467795750295 + }, + "_use_mask": { + "h1": 4, + "h2": 13, + "N1": 9, + "N2": 17, + "vocabulary": 17, + "length": 26, + "calculated_length": 56.105716335834195, + "volume": 106.27403387250884, + "difficulty": 2.6153846153846154, + "effort": 277.94747320502313, + "time": 15.441526289167951, + "bugs": 0.03542467795750295 + }, + "_mask_from_xyxy": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_mask_from_obb": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_mask_from_mask": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 6.754887502163469, + "volume": 13.931568569324174, + "difficulty": 1.3333333333333333, + "effort": 18.575424759098897, + "time": 1.0319680421721609, + "bugs": 0.004643856189774725 + } + } + }, + "src\\supervision\\annotators\\utils.py": { + "total": { + "h1": 18, + "h2": 135, + "N1": 110, + "N2": 213, + "vocabulary": 153, + "length": 323, + "calculated_length": 1030.4287556278239, + "volume": 2344.1362731897266, + "difficulty": 14.2, + "effort": 33286.735079294114, + "time": 1849.2630599607842, + "bugs": 0.7813787577299088 + }, + "functions": { + "list": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "resolve_color_idx": { + "h1": 4, + "h2": 11, + "N1": 7, + "N2": 14, + "vocabulary": 15, + "length": 21, + "calculated_length": 46.053747805010275, + "volume": 82.0447025077789, + "difficulty": 2.5454545454545454, + "effort": 208.84106092889172, + "time": 11.602281162716206, + "bugs": 0.02734823416925963 + }, + "resolve_text_background_xyxy": { + "h1": 5, + "h2": 30, + "N1": 47, + "N2": 94, + "vocabulary": 35, + "length": 141, + "calculated_length": 158.81635834269238, + "volume": 723.2289053892403, + "difficulty": 7.833333333333333, + "effort": 5665.293092215715, + "time": 314.73850512309525, + "bugs": 0.24107630179641343 + }, + "get_color_by_index": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "resolve_color": { + "h1": 2, + "h2": 7, + "N1": 3, + "N2": 7, + "vocabulary": 9, + "length": 10, + "calculated_length": 21.651484454403228, + "volume": 31.699250014423125, + "difficulty": 1.0, + "effort": 31.699250014423125, + "time": 1.7610694452457292, + "bugs": 0.010566416671474375 + }, + "wrap_text": { + "h1": 5, + "h2": 13, + "N1": 8, + "N2": 14, + "vocabulary": 18, + "length": 22, + "calculated_length": 59.715356810271004, + "volume": 91.73835003173087, + "difficulty": 2.6923076923076925, + "effort": 246.98786547004468, + "time": 13.721548081669148, + "bugs": 0.030579450010576957 + }, + "_validate_labels": { + "h1": 3, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 9, + "length": 9, + "calculated_length": 20.264662506490406, + "volume": 28.529325012980813, + "difficulty": 1.5, + "effort": 42.793987519471216, + "time": 2.377443751081734, + "bugs": 0.009509775004326938 + }, + "validate_labels": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "get_labels_text": { + "h1": 2, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.2, + "effort": 30.319433158222125, + "time": 1.6844129532345624, + "bugs": 0.008422064766172813 + }, + "snap_boxes": { + "h1": 6, + "h2": 23, + "N1": 14, + "N2": 26, + "vocabulary": 29, + "length": 40, + "calculated_length": 119.55169999363824, + "volume": 194.3192398051029, + "difficulty": 3.391304347826087, + "effort": 658.9956828173055, + "time": 36.610871267628085, + "bugs": 0.0647730799350343 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "put": { + "h1": 7, + "h2": 12, + "N1": 9, + "N2": 17, + "vocabulary": 19, + "length": 26, + "calculated_length": 62.67103446305711, + "volume": 110.44611534953322, + "difficulty": 4.958333333333333, + "effort": 547.6286552747688, + "time": 30.4238141819316, + "bugs": 0.03681537178317774 + }, + "get": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 2, + "vocabulary": 2, + "length": 3, + "calculated_length": 0.0, + "volume": 3.0, + "difficulty": 1.0, + "effort": 3.0, + "time": 0.16666666666666666, + "bugs": 0.001 + }, + "hex_to_rgba": { + "h1": 3, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 9, + "length": 9, + "calculated_length": 20.264662506490406, + "volume": 28.529325012980813, + "difficulty": 1.5, + "effort": 42.793987519471216, + "time": 2.377443751081734, + "bugs": 0.009509775004326938 + }, + "rgba_to_hex": { + "h1": 4, + "h2": 8, + "N1": 5, + "N2": 8, + "vocabulary": 12, + "length": 13, + "calculated_length": 32.0, + "volume": 46.604512509375034, + "difficulty": 2.0, + "effort": 93.20902501875007, + "time": 5.178279167708337, + "bugs": 0.015534837503125011 + }, + "is_valid_hex": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "calculate_dynamic_kernel_size": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "calculate_dynamic_pixel_size": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + } + } + }, + "src\\supervision\\annotators\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\assets\\downloader.py": { + "total": { + "h1": 3, + "h2": 7, + "N1": 5, + "N2": 7, + "vocabulary": 10, + "length": 12, + "calculated_length": 24.406371956566698, + "volume": 39.863137138648355, + "difficulty": 1.5, + "effort": 59.79470570797253, + "time": 3.321928094887363, + "bugs": 0.013287712379549451 + }, + "functions": { + "is_md5_hash_matching": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "download_assets": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 4, + "vocabulary": 6, + "length": 7, + "calculated_length": 10.0, + "volume": 18.094737505048094, + "difficulty": 1.0, + "effort": 18.094737505048094, + "time": 1.0052631947248942, + "bugs": 0.006031579168349364 + } + } + }, + "src\\supervision\\assets\\list.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": { + "__new__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "list": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\assets\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\classification\\core.py": { + "total": { + "h1": 7, + "h2": 22, + "N1": 13, + "N2": 22, + "vocabulary": 29, + "length": 35, + "calculated_length": 117.75898006442377, + "volume": 170.02933482946506, + "difficulty": 3.5, + "effort": 595.1026719031277, + "time": 33.06125955017376, + "bugs": 0.05667644494315502 + }, + "functions": { + "_validate_class_ids": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 5, + "vocabulary": 8, + "length": 8, + "calculated_length": 16.36452797660028, + "volume": 24.0, + "difficulty": 1.5, + "effort": 36.0, + "time": 2.0, + "bugs": 0.008 + }, + "_validate_confidence": { + "h1": 4, + "h2": 7, + "N1": 4, + "N2": 7, + "vocabulary": 11, + "length": 11, + "calculated_length": 27.651484454403228, + "volume": 38.053747805010275, + "difficulty": 2.0, + "effort": 76.10749561002055, + "time": 4.228194200556697, + "bugs": 0.012684582601670092 + }, + "__post_init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__len__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_clip": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "from_ultralytics": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_timm": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "get_top_k": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + } + } + }, + "src\\supervision\\classification\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\dataset\\core.py": { + "total": { + "h1": 9, + "h2": 65, + "N1": 43, + "N2": 81, + "vocabulary": 74, + "length": 124, + "calculated_length": 419.9832328598303, + "volume": 769.97221733799, + "difficulty": 5.607692307692307, + "effort": 4317.7672803030355, + "time": 239.8759600168353, + "bugs": 0.25665740577933 + }, + "functions": { + "__len__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "split": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "__init__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_get_image": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__getitem__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__iter__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__eq__": { + "h1": 3, + "h2": 7, + "N1": 6, + "N2": 10, + "vocabulary": 10, + "length": 16, + "calculated_length": 24.406371956566698, + "volume": 53.1508495181978, + "difficulty": 2.142857142857143, + "effort": 113.89467753899528, + "time": 6.327482085499738, + "bugs": 0.017716949839399268 + }, + "merge": { + "h1": 6, + "h2": 15, + "N1": 9, + "N2": 16, + "vocabulary": 21, + "length": 25, + "calculated_length": 74.11313393845472, + "volume": 109.80793556946902, + "difficulty": 3.2, + "effort": 351.3853938223009, + "time": 19.521410767905607, + "bugs": 0.03660264518982301 + }, + "as_pascal_voc": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_pascal_voc": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_yolo": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_yolo": { + "h1": 4, + "h2": 14, + "N1": 8, + "N2": 17, + "vocabulary": 18, + "length": 25, + "calculated_length": 61.30296890880645, + "volume": 104.2481250360578, + "difficulty": 2.4285714285714284, + "effort": 253.17401794471178, + "time": 14.065223219150655, + "bugs": 0.03474937501201927 + }, + "from_coco": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_coco": { + "h1": 1, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.754887502163469, + "volume": 12.0, + "difficulty": 0.6666666666666666, + "effort": 8.0, + "time": 0.4444444444444444, + "bugs": 0.004 + }, + "as_folder_structure": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_folder_structure": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\dataset\\utils.py": { + "total": { + "h1": 8, + "h2": 21, + "N1": 11, + "N2": 22, + "vocabulary": 29, + "length": 33, + "calculated_length": 116.23866587835397, + "volume": 160.3133728392099, + "difficulty": 4.190476190476191, + "effort": 671.7893718976416, + "time": 37.321631772091195, + "bugs": 0.0534377909464033 + }, + "functions": { + "mask_to_rle": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "rle_to_mask": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "approximate_mask_with_polygons": { + "h1": 2, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 21.651484454403228, + "volume": 38.03910001730775, + "difficulty": 1.1428571428571428, + "effort": 43.47325716263743, + "time": 2.415180953479857, + "bugs": 0.012679700005769252 + }, + "merge_class_lists": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "build_class_index_mapping": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "map_detections_class_id": { + "h1": 3, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 9, + "length": 9, + "calculated_length": 20.264662506490406, + "volume": 28.529325012980813, + "difficulty": 1.5, + "effort": 42.793987519471216, + "time": 2.377443751081734, + "bugs": 0.009509775004326938 + }, + "save_dataset_images": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "train_test_split": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + } + } + }, + "src\\supervision\\dataset\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\dataset\\formats\\coco.py": { + "total": { + "h1": 15, + "h2": 49, + "N1": 30, + "N2": 56, + "vocabulary": 64, + "length": 86, + "calculated_length": 333.72414129577294, + "volume": 516.0, + "difficulty": 8.571428571428571, + "effort": 4422.857142857143, + "time": 245.71428571428572, + "bugs": 0.172 + }, + "functions": { + "coco_categories_to_classes": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "build_coco_class_index_mapping": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "classes_to_coco_categories": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "group_coco_annotations_by_image_id": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "coco_annotations_to_masks": { + "h1": 4, + "h2": 7, + "N1": 5, + "N2": 7, + "vocabulary": 11, + "length": 12, + "calculated_length": 27.651484454403228, + "volume": 41.51317942364757, + "difficulty": 2.0, + "effort": 83.02635884729514, + "time": 4.612575491516397, + "bugs": 0.01383772647454919 + }, + "coco_annotations_to_detections": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "detections_to_coco_annotations": { + "h1": 9, + "h2": 22, + "N1": 13, + "N2": 26, + "vocabulary": 31, + "length": 39, + "calculated_length": 126.63682062300134, + "volume": 193.21365610508815, + "difficulty": 5.318181818181818, + "effort": 1027.5453529225142, + "time": 57.08585294013968, + "bugs": 0.06440455203502939 + }, + "get_coco_class_index_mapping": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "load_coco_annotations": { + "h1": 4, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 11, + "length": 12, + "calculated_length": 27.651484454403228, + "volume": 41.51317942364757, + "difficulty": 2.2857142857142856, + "effort": 94.88726725405158, + "time": 5.27151484744731, + "bugs": 0.01383772647454919 + }, + "_with_seg_mask": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "save_coco_annotations": { + "h1": 3, + "h2": 6, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 20.264662506490406, + "volume": 38.03910001730775, + "difficulty": 2.0, + "effort": 76.0782000346155, + "time": 4.226566668589751, + "bugs": 0.012679700005769252 + } + } + }, + "src\\supervision\\dataset\\formats\\pascal_voc.py": { + "total": { + "h1": 8, + "h2": 33, + "N1": 20, + "N2": 38, + "vocabulary": 41, + "length": 58, + "calculated_length": 190.46500593882897, + "volume": 310.7380162678489, + "difficulty": 4.606060606060606, + "effort": 1431.2781355367586, + "time": 79.51545197426437, + "bugs": 0.10357933875594963 + }, + "functions": { + "object_to_pascal_voc": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 6, + "length": 9, + "calculated_length": 10.0, + "volume": 23.264662506490403, + "difficulty": 1.5, + "effort": 34.89699375973561, + "time": 1.938721875540867, + "bugs": 0.007754887502163467 + }, + "detections_to_pascal_voc": { + "h1": 3, + "h2": 4, + "N1": 3, + "N2": 5, + "vocabulary": 7, + "length": 8, + "calculated_length": 12.75488750216347, + "volume": 22.458839376460833, + "difficulty": 1.875, + "effort": 42.11032383086406, + "time": 2.3394624350480036, + "bugs": 0.007486279792153611 + }, + "load_pascal_voc_annotations": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "detections_from_xml_obj": { + "h1": 5, + "h2": 11, + "N1": 6, + "N2": 12, + "vocabulary": 16, + "length": 18, + "calculated_length": 49.663388279447084, + "volume": 72.0, + "difficulty": 2.727272727272727, + "effort": 196.36363636363635, + "time": 10.909090909090908, + "bugs": 0.024 + }, + "_with_poly_mask": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "parse_polygon_points": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_get_required_text": { + "h1": 2, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.2, + "effort": 30.319433158222125, + "time": 1.6844129532345624, + "bugs": 0.008422064766172813 + } + } + }, + "src\\supervision\\dataset\\formats\\yolo.py": { + "total": { + "h1": 14, + "h2": 71, + "N1": 48, + "N2": 87, + "vocabulary": 85, + "length": 135, + "calculated_length": 489.9350143936389, + "volume": 865.2677763785898, + "difficulty": 8.577464788732394, + "effort": 7421.803884712129, + "time": 412.3224380395627, + "bugs": 0.2884225921261966 + }, + "functions": { + "_parse_box": { + "h1": 3, + "h2": 13, + "N1": 8, + "N2": 16, + "vocabulary": 16, + "length": 24, + "calculated_length": 52.860603837997665, + "volume": 96.0, + "difficulty": 1.8461538461538463, + "effort": 177.23076923076923, + "time": 9.846153846153847, + "bugs": 0.032 + }, + "_box_to_polygon": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_parse_polygon": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "_polygons_to_masks": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_with_seg_mask": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_extract_class_names": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 5, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.0, + "effort": 25.26619429851844, + "time": 1.403677461028802, + "bugs": 0.008422064766172813 + }, + "_image_name_to_annotation_name": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "yolo_annotations_to_detections": { + "h1": 5, + "h2": 13, + "N1": 8, + "N2": 14, + "vocabulary": 18, + "length": 22, + "calculated_length": 59.715356810271004, + "volume": 91.73835003173087, + "difficulty": 2.6923076923076925, + "effort": 246.98786547004468, + "time": 13.721548081669148, + "bugs": 0.030579450010576957 + }, + "load_yolo_annotations": { + "h1": 4, + "h2": 8, + "N1": 6, + "N2": 10, + "vocabulary": 12, + "length": 16, + "calculated_length": 32.0, + "volume": 57.359400011538504, + "difficulty": 2.5, + "effort": 143.39850002884626, + "time": 7.966583334935903, + "bugs": 0.01911980000384617 + }, + "object_to_yolo": { + "h1": 5, + "h2": 13, + "N1": 10, + "N2": 19, + "vocabulary": 18, + "length": 29, + "calculated_length": 59.715356810271004, + "volume": 120.92782504182705, + "difficulty": 3.6538461538461537, + "effort": 441.85166842206036, + "time": 24.547314912336688, + "bugs": 0.04030927501394235 + }, + "detections_to_yolo_annotations": { + "h1": 7, + "h2": 14, + "N1": 9, + "N2": 18, + "vocabulary": 21, + "length": 27, + "calculated_length": 72.95445336320968, + "volume": 118.59257041502654, + "difficulty": 4.5, + "effort": 533.6665668676194, + "time": 29.648142603756632, + "bugs": 0.03953085680500885 + }, + "save_yolo_annotations": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "save_data_yaml": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\dataset\\formats\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\detection\\compact_mask.py": { + "total": { + "h1": 19, + "h2": 207, + "N1": 169, + "N2": 324, + "vocabulary": 226, + "length": 493, + "calculated_length": 1673.2624229577884, + "volume": 3855.348228470688, + "difficulty": 14.869565217391305, + "effort": 57327.351918998924, + "time": 3184.852884388829, + "bugs": 1.285116076156896 + }, + "functions": { + "_rle_area": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_rle_split_cols": { + "h1": 8, + "h2": 19, + "N1": 21, + "N2": 40, + "vocabulary": 27, + "length": 61, + "calculated_length": 104.71062275542812, + "volume": 290.0481376319716, + "difficulty": 8.421052631578947, + "effort": 2442.510632690287, + "time": 135.69503514946038, + "bugs": 0.09668271254399054 + }, + "_rle_scale_col": { + "h1": 6, + "h2": 14, + "N1": 13, + "N2": 24, + "vocabulary": 20, + "length": 37, + "calculated_length": 68.81274391313339, + "volume": 159.91133951083242, + "difficulty": 5.142857142857143, + "effort": 822.4011746271382, + "time": 45.688954145952124, + "bugs": 0.05330377983694414 + }, + "_rle_join_cols": { + "h1": 8, + "h2": 16, + "N1": 12, + "N2": 20, + "vocabulary": 24, + "length": 32, + "calculated_length": 88.0, + "volume": 146.71880002307702, + "difficulty": 5.0, + "effort": 733.5940001153851, + "time": 40.755222228632505, + "bugs": 0.04890626667435901 + }, + "_rle_resize": { + "h1": 6, + "h2": 25, + "N1": 16, + "N2": 32, + "vocabulary": 31, + "length": 48, + "calculated_length": 131.60617974869504, + "volume": 237.80142289857002, + "difficulty": 3.84, + "effort": 913.1574639305088, + "time": 50.7309702183616, + "bugs": 0.07926714096619 + }, + "_resize_crop": { + "h1": 4, + "h2": 10, + "N1": 5, + "N2": 10, + "vocabulary": 14, + "length": 15, + "calculated_length": 41.219280948873624, + "volume": 57.110323830864054, + "difficulty": 2.0, + "effort": 114.22064766172811, + "time": 6.345591536762672, + "bugs": 0.019036774610288017 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_dense": { + "h1": 5, + "h2": 13, + "N1": 14, + "N2": 28, + "vocabulary": 18, + "length": 42, + "calculated_length": 59.715356810271004, + "volume": 175.1368500605771, + "difficulty": 5.384615384615385, + "effort": 943.0445772492614, + "time": 52.39136540273674, + "bugs": 0.05837895002019237 + }, + "to_dense": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "crop": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__len__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__iter__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "shape": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "offsets": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "bbox_xyxy": { + "h1": 3, + "h2": 9, + "N1": 5, + "N2": 10, + "vocabulary": 12, + "length": 15, + "calculated_length": 33.28421251514428, + "volume": 53.77443751081735, + "difficulty": 1.6666666666666667, + "effort": 89.62406251802892, + "time": 4.9791145843349405, + "bugs": 0.017924812503605784 + }, + "dtype": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "area": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "sum": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__getitem__": { + "h1": 3, + "h2": 10, + "N1": 5, + "N2": 10, + "vocabulary": 13, + "length": 15, + "calculated_length": 37.974168451037094, + "volume": 55.506595772116384, + "difficulty": 1.5, + "effort": 83.25989365817458, + "time": 4.625549647676365, + "bugs": 0.01850219859070546 + }, + "__array__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__eq__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "merge": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "repack": { + "h1": 5, + "h2": 12, + "N1": 12, + "N2": 21, + "vocabulary": 17, + "length": 33, + "calculated_length": 54.62919048309069, + "volume": 134.8862737612612, + "difficulty": 4.375, + "effort": 590.1274477055177, + "time": 32.78485820586209, + "bugs": 0.044962091253753736 + }, + "with_offset": { + "h1": 10, + "h2": 37, + "N1": 35, + "N2": 68, + "vocabulary": 47, + "length": 103, + "calculated_length": 225.9690554771448, + "volume": 572.1226517227967, + "difficulty": 9.18918918918919, + "effort": 5257.343286101375, + "time": 292.07462700563195, + "bugs": 0.19070755057426558 + }, + "resize": { + "h1": 8, + "h2": 31, + "N1": 25, + "N2": 50, + "vocabulary": 39, + "length": 75, + "calculated_length": 177.58008562199316, + "volume": 396.40516641466866, + "difficulty": 6.451612903225806, + "effort": 2557.4526865462494, + "time": 142.08070480812498, + "bugs": 0.1321350554715562 + } + } + }, + "src\\supervision\\detection\\core.py": { + "total": { + "h1": 18, + "h2": 263, + "N1": 181, + "N2": 347, + "vocabulary": 281, + "length": 528, + "calculated_length": 2189.2943442098367, + "volume": 4294.977097076649, + "difficulty": 11.874524714828897, + "effort": 51000.81168886075, + "time": 2833.37842715893, + "bugs": 1.4316590323588831 + }, + "functions": { + "__post_init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__len__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__iter__": { + "h1": 1, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 6, + "length": 12, + "calculated_length": 11.60964047443681, + "volume": 31.019550008653873, + "difficulty": 0.8, + "effort": 24.8156400069231, + "time": 1.3786466670512834, + "bugs": 0.010339850002884624 + }, + "__eq__": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "from_yolov5": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_ultralytics": { + "h1": 3, + "h2": 10, + "N1": 8, + "N2": 16, + "vocabulary": 13, + "length": 24, + "calculated_length": 37.974168451037094, + "volume": 88.81055323538621, + "difficulty": 2.4, + "effort": 213.1453277649269, + "time": 11.841407098051494, + "bugs": 0.029603517745128736 + }, + "from_yolo_nas": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_tensorflow": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "from_deepsparse": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_mmdetection": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_transformers": { + "h1": 3, + "h2": 11, + "N1": 7, + "N2": 14, + "vocabulary": 14, + "length": 21, + "calculated_length": 42.808635307173745, + "volume": 79.95445336320968, + "difficulty": 1.9090909090909092, + "effort": 152.64032005703666, + "time": 8.480017780946481, + "bugs": 0.026651484454403226 + }, + "from_detectron2": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_inference": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_sam": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_sam3": { + "h1": 4, + "h2": 13, + "N1": 11, + "N2": 18, + "vocabulary": 17, + "length": 29, + "calculated_length": 56.105716335834195, + "volume": 118.53642239625987, + "difficulty": 2.769230769230769, + "effort": 328.2547081742581, + "time": 18.23637267634767, + "bugs": 0.03951214079875329 + }, + "from_azure_analyze_image": { + "h1": 7, + "h2": 14, + "N1": 10, + "N2": 20, + "vocabulary": 21, + "length": 30, + "calculated_length": 72.95445336320968, + "volume": 131.76952268336282, + "difficulty": 5.0, + "effort": 658.847613416814, + "time": 36.602645189823, + "bugs": 0.04392317422778761 + }, + "from_paddledet": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_lmm": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_vlm": { + "h1": 3, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 19, + "length": 36, + "calculated_length": 68.75488750216347, + "volume": 152.92539048396907, + "difficulty": 2.25, + "effort": 344.0821285889304, + "time": 19.115673810496133, + "bugs": 0.050975130161323025 + }, + "from_easyocr": { + "h1": 3, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 9, + "length": 9, + "calculated_length": 20.264662506490406, + "volume": 28.529325012980813, + "difficulty": 1.5, + "effort": 42.793987519471216, + "time": 2.377443751081734, + "bugs": 0.009509775004326938 + }, + "from_ncnn": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "empty": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "is_empty": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "merge": { + "h1": 3, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 11, + "length": 14, + "calculated_length": 28.75488750216347, + "volume": 48.43204266092217, + "difficulty": 1.6875, + "effort": 81.72907199030617, + "time": 4.540503999461453, + "bugs": 0.016144014220307392 + }, + "get_anchors_coordinates": { + "h1": 4, + "h2": 32, + "N1": 23, + "N2": 46, + "vocabulary": 36, + "length": 69, + "calculated_length": 168.0, + "volume": 356.72482509951953, + "difficulty": 2.875, + "effort": 1025.5838721611187, + "time": 56.97688178672882, + "bugs": 0.11890827503317318 + }, + "__getitem__": { + "h1": 2, + "h2": 7, + "N1": 5, + "N2": 10, + "vocabulary": 9, + "length": 15, + "calculated_length": 21.651484454403228, + "volume": 47.548875021634686, + "difficulty": 1.4285714285714286, + "effort": 67.92696431662098, + "time": 3.7737202398122767, + "bugs": 0.01584962500721156 + }, + "__setitem__": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "area": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "box_area": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "box_aspect_ratio": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "with_nms": { + "h1": 4, + "h2": 9, + "N1": 8, + "N2": 13, + "vocabulary": 13, + "length": 21, + "calculated_length": 36.52932501298081, + "volume": 77.70923408096293, + "difficulty": 2.888888888888889, + "effort": 224.49334290055958, + "time": 12.471852383364421, + "bugs": 0.025903078026987644 + }, + "with_nmm": { + "h1": 4, + "h2": 9, + "N1": 8, + "N2": 13, + "vocabulary": 13, + "length": 21, + "calculated_length": 36.52932501298081, + "volume": 77.70923408096293, + "difficulty": 2.888888888888889, + "effort": 224.49334290055958, + "time": 12.471852383364421, + "bugs": 0.025903078026987644 + }, + "_merge_obb_corners": { + "h1": 3, + "h2": 7, + "N1": 5, + "N2": 8, + "vocabulary": 10, + "length": 13, + "calculated_length": 24.406371956566698, + "volume": 43.18506523353572, + "difficulty": 1.7142857142857142, + "effort": 74.03154040034694, + "time": 4.11286335557483, + "bugs": 0.014395021744511906 + }, + "_merge_detection_group": { + "h1": 9, + "h2": 22, + "N1": 13, + "N2": 26, + "vocabulary": 31, + "length": 39, + "calculated_length": 126.63682062300134, + "volume": 193.21365610508815, + "difficulty": 5.318181818181818, + "effort": 1027.5453529225142, + "time": 57.08585294013968, + "bugs": 0.06440455203502939 + }, + "merge_inner_detection_object_pair": { + "h1": 10, + "h2": 36, + "N1": 26, + "N2": 52, + "vocabulary": 46, + "length": 78, + "calculated_length": 219.33658100079685, + "volume": 430.83783257244704, + "difficulty": 7.222222222222222, + "effort": 3111.6065685787844, + "time": 172.86703158771024, + "bugs": 0.14361261085748234 + }, + "merge_inner_detections_objects": { + "h1": 3, + "h2": 6, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 20.264662506490406, + "volume": 38.03910001730775, + "difficulty": 2.0, + "effort": 76.0782000346155, + "time": 4.226566668589751, + "bugs": 0.012679700005769252 + }, + "merge_inner_detections_objects_without_iou": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_fields_both_defined_or_none": { + "h1": 2, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.2, + "effort": 30.319433158222125, + "time": 1.6844129532345624, + "bugs": 0.008422064766172813 + }, + "validate_fields_both_defined_or_none": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\detection\\line_zone.py": { + "total": { + "h1": 19, + "h2": 146, + "N1": 116, + "N2": 219, + "vocabulary": 165, + "length": 335, + "calculated_length": 1130.4250083519107, + "volume": 2467.7179417723482, + "difficulty": 14.25, + "effort": 35164.980670255965, + "time": 1953.6100372364426, + "bugs": 0.8225726472574494 + }, + "functions": { + "__init__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "in_count": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "out_count": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "in_count_per_class": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "out_count_per_class": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "trigger": { + "h1": 10, + "h2": 17, + "N1": 11, + "N2": 21, + "vocabulary": 27, + "length": 32, + "calculated_length": 102.70614925012941, + "volume": 152.156400069231, + "difficulty": 6.176470588235294, + "effort": 939.789529839368, + "time": 52.21052943552044, + "bugs": 0.05071880002307701 + }, + "_calculate_region_of_interest_limits": { + "h1": 5, + "h2": 9, + "N1": 10, + "N2": 19, + "vocabulary": 14, + "length": 29, + "calculated_length": 40.13896548741762, + "volume": 110.41329273967051, + "difficulty": 5.277777777777778, + "effort": 582.7368227927054, + "time": 32.37426793292808, + "bugs": 0.0368044309132235 + }, + "_compute_anchor_sides": { + "h1": 5, + "h2": 10, + "N1": 7, + "N2": 13, + "vocabulary": 15, + "length": 20, + "calculated_length": 44.82892142331043, + "volume": 78.13781191217038, + "difficulty": 3.25, + "effort": 253.94788871455373, + "time": 14.10821603969743, + "bugs": 0.026045937304056792 + }, + "_update_class_id_to_name": { + "h1": 3, + "h2": 5, + "N1": 5, + "N2": 10, + "vocabulary": 8, + "length": 15, + "calculated_length": 16.36452797660028, + "volume": 45.0, + "difficulty": 3.0, + "effort": 135.0, + "time": 7.5, + "bugs": 0.015 + }, + "annotate": { + "h1": 7, + "h2": 32, + "N1": 28, + "N2": 54, + "vocabulary": 39, + "length": 82, + "calculated_length": 179.65148445440323, + "volume": 433.4029819467044, + "difficulty": 5.90625, + "effort": 2559.786362122723, + "time": 142.2103534512624, + "bugs": 0.14446766064890146 + }, + "_get_line_angle": { + "h1": 5, + "h2": 10, + "N1": 8, + "N2": 16, + "vocabulary": 15, + "length": 24, + "calculated_length": 44.82892142331043, + "volume": 93.76537429460444, + "difficulty": 4.0, + "effort": 375.06149717841777, + "time": 20.836749843245432, + "bugs": 0.03125512476486815 + }, + "_calculate_anchor_in_frame": { + "h1": 5, + "h2": 30, + "N1": 20, + "N2": 40, + "vocabulary": 35, + "length": 60, + "calculated_length": 158.81635834269238, + "volume": 307.756981016698, + "difficulty": 3.3333333333333335, + "effort": 1025.8566033889933, + "time": 56.99203352161074, + "bugs": 0.10258566033889932 + }, + "_draw_basic_label": { + "h1": 3, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 8, + "length": 12, + "calculated_length": 16.36452797660028, + "volume": 36.0, + "difficulty": 2.4, + "effort": 86.39999999999999, + "time": 4.8, + "bugs": 0.012 + }, + "_draw_oriented_label": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_make_label_image": { + "h1": 6, + "h2": 13, + "N1": 10, + "N2": 17, + "vocabulary": 19, + "length": 27, + "calculated_length": 63.61549134016113, + "volume": 114.6940428629768, + "difficulty": 3.923076923076923, + "effort": 449.95355277013977, + "time": 24.997419598341097, + "bugs": 0.03823134762099227 + } + } + }, + "src\\supervision\\detection\\vlm.py": { + "total": { + "h1": 16, + "h2": 149, + "N1": 112, + "N2": 207, + "vocabulary": 165, + "length": 319, + "calculated_length": 1139.656109548862, + "volume": 2349.856786344415, + "difficulty": 11.114093959731544, + "effort": 26116.52911534464, + "time": 1450.9182841858135, + "bugs": 0.7832855954481384 + }, + "functions": { + "list": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_value": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_vlm_parameters": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 5, + "vocabulary": 6, + "length": 8, + "calculated_length": 10.0, + "volume": 20.67970000576925, + "difficulty": 1.25, + "effort": 25.84962500721156, + "time": 1.43609027817842, + "bugs": 0.006893233335256416 + }, + "validate_vlm_parameters": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_paligemma": { + "h1": 6, + "h2": 10, + "N1": 6, + "N2": 12, + "vocabulary": 16, + "length": 18, + "calculated_length": 48.72905595320056, + "volume": 72.0, + "difficulty": 3.6, + "effort": 259.2, + "time": 14.399999999999999, + "bugs": 0.024 + }, + "recover_truncated_qwen_2_5_vl_response": { + "h1": 3, + "h2": 11, + "N1": 12, + "N2": 20, + "vocabulary": 14, + "length": 32, + "calculated_length": 42.808635307173745, + "volume": 121.83535750584332, + "difficulty": 2.727272727272727, + "effort": 332.278247743209, + "time": 18.4599026524005, + "bugs": 0.040611785835281106 + }, + "from_qwen_2_5_vl": { + "h1": 12, + "h2": 23, + "N1": 18, + "N2": 33, + "vocabulary": 35, + "length": 51, + "calculated_length": 147.06147499796518, + "volume": 261.5934338641933, + "difficulty": 8.608695652173912, + "effort": 2251.9782567439247, + "time": 125.10990315244027, + "bugs": 0.08719781128806443 + }, + "from_qwen_3_vl": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_deepseek_vl_2": { + "h1": 5, + "h2": 16, + "N1": 11, + "N2": 22, + "vocabulary": 21, + "length": 33, + "calculated_length": 75.60964047443682, + "volume": 144.94647495169912, + "difficulty": 3.4375, + "effort": 498.2535076464657, + "time": 27.68075042480365, + "bugs": 0.048315491650566374 + }, + "from_florence_2": { + "h1": 7, + "h2": 18, + "N1": 14, + "N2": 26, + "vocabulary": 25, + "length": 40, + "calculated_length": 94.71013448036484, + "volume": 185.75424759098897, + "difficulty": 5.055555555555555, + "effort": 939.0909183766664, + "time": 52.171717687592576, + "bugs": 0.061918082530329654 + }, + "from_google_gemini_2_0": { + "h1": 7, + "h2": 17, + "N1": 10, + "N2": 19, + "vocabulary": 24, + "length": 29, + "calculated_length": 89.13835275565901, + "volume": 132.96391252091354, + "difficulty": 3.911764705882353, + "effort": 520.1235401553382, + "time": 28.895752230852125, + "bugs": 0.044321304173637846 + }, + "from_google_gemini_2_5": { + "h1": 11, + "h2": 36, + "N1": 29, + "N2": 54, + "vocabulary": 47, + "length": 83, + "calculated_length": 224.1710478569335, + "volume": 461.03087468924394, + "difficulty": 8.25, + "effort": 3803.5047161862626, + "time": 211.30581756590348, + "bugs": 0.15367695822974797 + }, + "from_moondream": { + "h1": 6, + "h2": 14, + "N1": 9, + "N2": 16, + "vocabulary": 20, + "length": 25, + "calculated_length": 68.81274391313339, + "volume": 108.04820237218406, + "difficulty": 3.4285714285714284, + "effort": 370.4509795617739, + "time": 20.580609975654106, + "bugs": 0.03601606745739469 + } + } + }, + "src\\supervision\\detection\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\detection\\tools\\csv_sink.py": { + "total": { + "h1": 7, + "h2": 23, + "N1": 15, + "N2": 27, + "vocabulary": 30, + "length": 42, + "calculated_length": 123.69340944371453, + "volume": 206.0894050155578, + "difficulty": 4.108695652173913, + "effort": 846.7586423465309, + "time": 47.042146797029496, + "bugs": 0.06869646833851926 + }, + "functions": { + "writerow": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__init__": { + "h1": 1, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.754887502163469, + "volume": 12.0, + "difficulty": 0.6666666666666666, + "effort": 8.0, + "time": 0.4444444444444444, + "bugs": 0.004 + }, + "__enter__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__exit__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "open": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "close": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_slice_value": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "parse_detection_data": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "append": { + "h1": 2, + "h2": 3, + "N1": 3, + "N2": 4, + "vocabulary": 5, + "length": 7, + "calculated_length": 6.754887502163469, + "volume": 16.253496664211536, + "difficulty": 1.3333333333333333, + "effort": 21.67132888561538, + "time": 1.2039627158675212, + "bugs": 0.005417832221403845 + }, + "parse_field_names": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + } + } + }, + "src\\supervision\\detection\\tools\\inference_slicer.py": { + "total": { + "h1": 15, + "h2": 99, + "N1": 66, + "N2": 127, + "vocabulary": 114, + "length": 193, + "calculated_length": 714.9096643220091, + "volume": 1318.7477727337953, + "difficulty": 9.621212121212121, + "effort": 12687.952055847878, + "time": 704.8862253248822, + "bugs": 0.4395825909112651 + }, + "functions": { + "move_detections": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 16.36452797660028, + "volume": 27.0, + "difficulty": 1.8, + "effort": 48.6, + "time": 2.7, + "bugs": 0.009 + }, + "__init__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__call__": { + "h1": 9, + "h2": 20, + "N1": 16, + "N2": 30, + "vocabulary": 29, + "length": 46, + "calculated_length": 114.96788691072805, + "volume": 223.46712577586834, + "difficulty": 6.75, + "effort": 1508.4030989871112, + "time": 83.80017216595063, + "bugs": 0.07448904192528945 + }, + "_run_callback": { + "h1": 7, + "h2": 27, + "N1": 15, + "N2": 31, + "vocabulary": 34, + "length": 46, + "calculated_length": 148.0334470128169, + "volume": 234.02329069751565, + "difficulty": 4.018518518518518, + "effort": 940.4269274326091, + "time": 52.24594041292273, + "bugs": 0.07800776356583855 + }, + "_normalize_slice_wh": { + "h1": 4, + "h2": 10, + "N1": 6, + "N2": 12, + "vocabulary": 14, + "length": 18, + "calculated_length": 41.219280948873624, + "volume": 68.53238859703687, + "difficulty": 2.4, + "effort": 164.4777326328885, + "time": 9.13765181293825, + "bugs": 0.022844129532345624 + }, + "_normalize_overlap_wh": { + "h1": 4, + "h2": 10, + "N1": 6, + "N2": 12, + "vocabulary": 14, + "length": 18, + "calculated_length": 41.219280948873624, + "volume": 68.53238859703687, + "difficulty": 2.4, + "effort": 164.4777326328885, + "time": 9.13765181293825, + "bugs": 0.022844129532345624 + }, + "_generate_offset": { + "h1": 8, + "h2": 16, + "N1": 13, + "N2": 22, + "vocabulary": 24, + "length": 35, + "calculated_length": 88.0, + "volume": 160.4736875252405, + "difficulty": 5.5, + "effort": 882.6052813888227, + "time": 49.03362674382348, + "bugs": 0.05349122917508017 + }, + "_validate_overlap": { + "h1": 3, + "h2": 9, + "N1": 6, + "N2": 12, + "vocabulary": 12, + "length": 18, + "calculated_length": 33.28421251514428, + "volume": 64.52932501298082, + "difficulty": 2.0, + "effort": 129.05865002596164, + "time": 7.169925001442313, + "bugs": 0.02150977500432694 + } + } + }, + "src\\supervision\\detection\\tools\\json_sink.py": { + "total": { + "h1": 5, + "h2": 15, + "N1": 9, + "N2": 17, + "vocabulary": 20, + "length": 26, + "calculated_length": 70.2129994085646, + "volume": 112.37013046707143, + "difficulty": 2.8333333333333335, + "effort": 318.3820363233691, + "time": 17.687890906853838, + "bugs": 0.03745671015569048 + }, + "functions": { + "__init__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__enter__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__exit__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "open": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "_json_default": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "write_and_close": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_slice_value": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "parse_detection_data": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "append": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\detection\\tools\\polygon_zone.py": { + "total": { + "h1": 8, + "h2": 23, + "N1": 16, + "N2": 31, + "vocabulary": 31, + "length": 47, + "calculated_length": 128.0419249893113, + "volume": 232.84722658818316, + "difficulty": 5.391304347826087, + "effort": 1255.3502650841178, + "time": 69.7416813935621, + "bugs": 0.07761574219606106 + }, + "functions": { + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "trigger": { + "h1": 5, + "h2": 15, + "N1": 11, + "N2": 22, + "vocabulary": 20, + "length": 33, + "calculated_length": 70.2129994085646, + "volume": 142.62362713128297, + "difficulty": 3.6666666666666665, + "effort": 522.9532994813709, + "time": 29.05296108229838, + "bugs": 0.04754120904376099 + }, + "annotate": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + } + } + }, + "src\\supervision\\detection\\tools\\smoother.py": { + "total": { + "h1": 6, + "h2": 19, + "N1": 12, + "N2": 24, + "vocabulary": 25, + "length": 36, + "calculated_length": 96.22039775975506, + "volume": 167.17882283189007, + "difficulty": 3.789473684210526, + "effort": 633.5197496787413, + "time": 35.19554164881896, + "bugs": 0.05572627427729669 + }, + "functions": { + "__init__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "update_with_detections": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 6, + "length": 9, + "calculated_length": 10.0, + "volume": 23.264662506490403, + "difficulty": 1.5, + "effort": 34.89699375973561, + "time": 1.938721875540867, + "bugs": 0.007754887502163467 + }, + "get_track": { + "h1": 3, + "h2": 6, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 20.264662506490406, + "volume": 38.03910001730775, + "difficulty": 2.0, + "effort": 76.0782000346155, + "time": 4.226566668589751, + "bugs": 0.012679700005769252 + }, + "get_smoothed_detections": { + "h1": 4, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 11, + "length": 12, + "calculated_length": 27.651484454403228, + "volume": 41.51317942364757, + "difficulty": 2.2857142857142856, + "effort": 94.88726725405158, + "time": 5.27151484744731, + "bugs": 0.01383772647454919 + } + } + }, + "src\\supervision\\detection\\tools\\transformers.py": { + "total": { + "h1": 4, + "h2": 15, + "N1": 10, + "N2": 20, + "vocabulary": 19, + "length": 30, + "calculated_length": 66.60335893412778, + "volume": 127.43782540330756, + "difficulty": 2.6666666666666665, + "effort": 339.8342010754868, + "time": 18.879677837527044, + "bugs": 0.042479275134435855 + }, + "functions": { + "process_transformers_detection_result": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "process_transformers_v4_segmentation_result": { + "h1": 2, + "h2": 4, + "N1": 4, + "N2": 8, + "vocabulary": 6, + "length": 12, + "calculated_length": 10.0, + "volume": 31.019550008653873, + "difficulty": 2.0, + "effort": 62.039100017307746, + "time": 3.446616667628208, + "bugs": 0.010339850002884624 + }, + "process_transformers_v5_segmentation_result": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "process_transformers_v5_semantic_or_instance_segmentation_result": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "process_transformers_v4_panoptic_segmentation_result": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "process_transformers_v5_panoptic_segmentation_result": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "png_string_to_segmentation_array": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "append_class_names_to_data": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 6.754887502163469, + "volume": 13.931568569324174, + "difficulty": 1.3333333333333333, + "effort": 18.575424759098897, + "time": 1.0319680421721609, + "bugs": 0.004643856189774725 + } + } + }, + "src\\supervision\\detection\\tools\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\detection\\utils\\boxes.py": { + "total": { + "h1": 12, + "h2": 77, + "N1": 60, + "N2": 105, + "vocabulary": 89, + "length": 165, + "calculated_length": 525.5621136421613, + "volume": 1068.4960161094557, + "difficulty": 8.181818181818182, + "effort": 8742.240131804638, + "time": 485.68000732247987, + "bugs": 0.3561653387031519 + }, + "functions": { + "clip_boxes": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "pad_boxes": { + "h1": 3, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 9, + "length": 9, + "calculated_length": 20.264662506490406, + "volume": 28.529325012980813, + "difficulty": 1.5, + "effort": 42.793987519471216, + "time": 2.377443751081734, + "bugs": 0.009509775004326938 + }, + "denormalize_boxes": { + "h1": 2, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 21.651484454403228, + "volume": 38.03910001730775, + "difficulty": 1.1428571428571428, + "effort": 43.47325716263743, + "time": 2.415180953479857, + "bugs": 0.012679700005769252 + }, + "move_boxes": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "move_oriented_boxes": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "obb_polygon_area": { + "h1": 5, + "h2": 16, + "N1": 13, + "N2": 20, + "vocabulary": 21, + "length": 33, + "calculated_length": 75.60964047443682, + "volume": 144.94647495169912, + "difficulty": 3.125, + "effort": 452.9577342240597, + "time": 25.164318568003317, + "bugs": 0.048315491650566374 + }, + "xyxyxyxy_to_xyxy": { + "h1": 3, + "h2": 8, + "N1": 9, + "N2": 12, + "vocabulary": 11, + "length": 21, + "calculated_length": 28.75488750216347, + "volume": 72.64806399138325, + "difficulty": 2.25, + "effort": 163.4581439806123, + "time": 9.081007998922907, + "bugs": 0.024216021330461083 + }, + "scale_boxes": { + "h1": 4, + "h2": 12, + "N1": 8, + "N2": 16, + "vocabulary": 16, + "length": 24, + "calculated_length": 51.01955000865388, + "volume": 96.0, + "difficulty": 2.6666666666666665, + "effort": 256.0, + "time": 14.222222222222221, + "bugs": 0.032 + }, + "spread_out_boxes": { + "h1": 10, + "h2": 24, + "N1": 21, + "N2": 39, + "vocabulary": 34, + "length": 60, + "calculated_length": 143.2583809661814, + "volume": 305.2477704750204, + "difficulty": 8.125, + "effort": 2480.1381351095406, + "time": 137.78545195053005, + "bugs": 0.1017492568250068 + } + } + }, + "src\\supervision\\detection\\utils\\converters.py": { + "total": { + "h1": 17, + "h2": 116, + "N1": 77, + "N2": 148, + "vocabulary": 133, + "length": 225, + "calculated_length": 865.012663736054, + "volume": 1587.4385479877676, + "difficulty": 10.844827586206897, + "effort": 17215.49735662596, + "time": 956.4165198125534, + "bugs": 0.5291461826625892 + }, + "functions": { + "xyxy_to_polygons": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "polygon_to_mask": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "xywh_to_xyxy": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "xyxy_to_xywh": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "xcycwh_to_xyxy": { + "h1": 3, + "h2": 13, + "N1": 8, + "N2": 16, + "vocabulary": 16, + "length": 24, + "calculated_length": 52.860603837997665, + "volume": 96.0, + "difficulty": 1.8461538461538463, + "effort": 177.23076923076923, + "time": 9.846153846153847, + "bugs": 0.032 + }, + "xyxy_to_xcycarh": { + "h1": 5, + "h2": 11, + "N1": 8, + "N2": 16, + "vocabulary": 16, + "length": 24, + "calculated_length": 49.663388279447084, + "volume": 96.0, + "difficulty": 3.6363636363636362, + "effort": 349.09090909090907, + "time": 19.39393939393939, + "bugs": 0.032 + }, + "mask_to_xyxy": { + "h1": 4, + "h2": 10, + "N1": 8, + "N2": 13, + "vocabulary": 14, + "length": 21, + "calculated_length": 41.219280948873624, + "volume": 79.95445336320968, + "difficulty": 2.6, + "effort": 207.88157874434518, + "time": 11.548976596908066, + "bugs": 0.026651484454403226 + }, + "xyxy_to_mask": { + "h1": 4, + "h2": 9, + "N1": 7, + "N2": 14, + "vocabulary": 13, + "length": 21, + "calculated_length": 36.52932501298081, + "volume": 77.70923408096293, + "difficulty": 3.111111111111111, + "effort": 241.762061585218, + "time": 13.431225643623222, + "bugs": 0.025903078026987644 + }, + "mask_to_polygons": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_base48_decode": { + "h1": 11, + "h2": 23, + "N1": 17, + "N2": 32, + "vocabulary": 34, + "length": 49, + "calculated_length": 142.09567279432156, + "volume": 249.28567922126666, + "difficulty": 7.6521739130434785, + "effort": 1907.5773714323016, + "time": 105.97652063512787, + "bugs": 0.08309522640708888 + }, + "_base48_encode": { + "h1": 6, + "h2": 10, + "N1": 8, + "N2": 15, + "vocabulary": 16, + "length": 23, + "calculated_length": 48.72905595320056, + "volume": 92.0, + "difficulty": 4.5, + "effort": 414.0, + "time": 23.0, + "bugs": 0.030666666666666665 + }, + "_delta_decode": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_delta_encode": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "is_compressed_rle": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_mask_to_rle_counts": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 16.36452797660028, + "volume": 27.0, + "difficulty": 1.8, + "effort": 48.6, + "time": 2.7, + "bugs": 0.009 + }, + "_rle_counts_to_mask": { + "h1": 5, + "h2": 9, + "N1": 5, + "N2": 10, + "vocabulary": 14, + "length": 15, + "calculated_length": 40.13896548741762, + "volume": 57.110323830864054, + "difficulty": 2.7777777777777777, + "effort": 158.6397884190668, + "time": 8.813321578837044, + "bugs": 0.019036774610288017 + }, + "rle_to_mask": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "mask_to_rle": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "polygon_to_xyxy": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\detection\\utils\\internal.py": { + "total": { + "h1": 15, + "h2": 96, + "N1": 65, + "N2": 121, + "vocabulary": 111, + "length": 186, + "calculated_length": 690.7597590033588, + "volume": 1263.7613511411198, + "difficulty": 9.453125, + "effort": 11946.494022505898, + "time": 663.6941123614388, + "bugs": 0.4212537837137066 + }, + "functions": { + "extract_ultralytics_masks": { + "h1": 5, + "h2": 22, + "N1": 13, + "N2": 25, + "vocabulary": 27, + "length": 38, + "calculated_length": 109.71713608445735, + "volume": 180.68572508221183, + "difficulty": 2.840909090909091, + "effort": 513.3117189835564, + "time": 28.517317721308686, + "bugs": 0.06022857502740395 + }, + "process_roboflow_result": { + "h1": 12, + "h2": 34, + "N1": 27, + "N2": 51, + "vocabulary": 46, + "length": 78, + "calculated_length": 215.99328661116544, + "volume": 430.83783257244704, + "difficulty": 9.0, + "effort": 3877.5404931520234, + "time": 215.41891628622352, + "bugs": 0.14361261085748234 + }, + "is_data_equal": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "is_metadata_equal": { + "h1": 2, + "h2": 8, + "N1": 4, + "N2": 8, + "vocabulary": 10, + "length": 12, + "calculated_length": 26.0, + "volume": 39.863137138648355, + "difficulty": 1.0, + "effort": 39.863137138648355, + "time": 2.2146187299249087, + "bugs": 0.013287712379549451 + }, + "merge_data": { + "h1": 3, + "h2": 7, + "N1": 6, + "N2": 10, + "vocabulary": 10, + "length": 16, + "calculated_length": 24.406371956566698, + "volume": 53.1508495181978, + "difficulty": 2.142857142857143, + "effort": 113.89467753899528, + "time": 6.327482085499738, + "bugs": 0.017716949839399268 + }, + "merge_metadata": { + "h1": 6, + "h2": 13, + "N1": 8, + "N2": 13, + "vocabulary": 19, + "length": 21, + "calculated_length": 63.61549134016113, + "volume": 89.20647778231529, + "difficulty": 3.0, + "effort": 267.61943334694587, + "time": 14.867746297052548, + "bugs": 0.029735492594105097 + }, + "get_data_item": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "cross_product": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + } + } + }, + "src\\supervision\\detection\\utils\\iou_and_nms.py": { + "total": { + "h1": 20, + "h2": 337, + "N1": 218, + "N2": 417, + "vocabulary": 357, + "length": 635, + "calculated_length": 2916.0943731560337, + "volume": 5384.6604676584775, + "difficulty": 12.373887240356083, + "effort": 66629.18145440906, + "time": 3701.6211919116145, + "bugs": 1.7948868225528258 + }, + "functions": { + "list": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_value": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "box_iou": { + "h1": 6, + "h2": 27, + "N1": 15, + "N2": 30, + "vocabulary": 33, + "length": 45, + "calculated_length": 143.89173756274062, + "volume": 226.9977353711304, + "difficulty": 3.3333333333333335, + "effort": 756.659117903768, + "time": 42.03661766132044, + "bugs": 0.07566591179037681 + }, + "box_iou_batch": { + "h1": 6, + "h2": 27, + "N1": 15, + "N2": 30, + "vocabulary": 33, + "length": 45, + "calculated_length": 143.89173756274062, + "volume": 226.9977353711304, + "difficulty": 3.3333333333333335, + "effort": 756.659117903768, + "time": 42.03661766132044, + "bugs": 0.07566591179037681 + }, + "_jaccard": { + "h1": 4, + "h2": 34, + "N1": 19, + "N2": 38, + "vocabulary": 38, + "length": 57, + "calculated_length": 180.97373660251156, + "volume": 299.13186826628436, + "difficulty": 2.235294117647059, + "effort": 668.6477055364004, + "time": 37.14709475202224, + "bugs": 0.09971062275542812 + }, + "box_iou_batch_with_jaccard": { + "h1": 2, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 21.651484454403228, + "volume": 38.03910001730775, + "difficulty": 1.1428571428571428, + "effort": 43.47325716263743, + "time": 2.415180953479857, + "bugs": 0.012679700005769252 + }, + "_polygon_areas": { + "h1": 3, + "h2": 9, + "N1": 6, + "N2": 10, + "vocabulary": 12, + "length": 16, + "calculated_length": 33.28421251514428, + "volume": 57.359400011538504, + "difficulty": 1.6666666666666667, + "effort": 95.59900001923084, + "time": 5.311055556623936, + "bugs": 0.01911980000384617 + }, + "_aabb_envelopes": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_overlapping_envelope_pairs": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "oriented_box_iou_batch": { + "h1": 12, + "h2": 30, + "N1": 21, + "N2": 40, + "vocabulary": 42, + "length": 61, + "calculated_length": 190.22626787690945, + "volume": 328.9313627895044, + "difficulty": 8.0, + "effort": 2631.4509023160354, + "time": 146.1917167953353, + "bugs": 0.10964378759650148 + }, + "compact_mask_iou_batch": { + "h1": 9, + "h2": 37, + "N1": 28, + "N2": 56, + "vocabulary": 46, + "length": 84, + "calculated_length": 221.27909954125198, + "volume": 463.9792043087891, + "difficulty": 6.8108108108108105, + "effort": 3160.074580697699, + "time": 175.55969892764995, + "bugs": 0.15465973476959638 + }, + "_mask_iou_batch_split": { + "h1": 7, + "h2": 16, + "N1": 9, + "N2": 18, + "vocabulary": 23, + "length": 27, + "calculated_length": 83.65148445440323, + "volume": 122.13617281353935, + "difficulty": 3.9375, + "effort": 480.9111804533112, + "time": 26.717287802961735, + "bugs": 0.040712057604513116 + }, + "mask_iou_batch": { + "h1": 11, + "h2": 40, + "N1": 29, + "N2": 57, + "vocabulary": 51, + "length": 86, + "calculated_length": 250.93087160050476, + "volume": 487.82857940954864, + "difficulty": 7.8375, + "effort": 3823.3564911223375, + "time": 212.40869395124096, + "bugs": 0.16260952646984955 + }, + "mask_non_max_suppression": { + "h1": 6, + "h2": 11, + "N1": 10, + "N2": 18, + "vocabulary": 17, + "length": 28, + "calculated_length": 53.563522809337215, + "volume": 114.44895955500952, + "difficulty": 4.909090909090909, + "effort": 561.8403469064104, + "time": 31.21335260591169, + "bugs": 0.03814965318500317 + }, + "_prepare_predictions_for_nms": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_nms_loop_from_iou_matrix": { + "h1": 6, + "h2": 12, + "N1": 7, + "N2": 12, + "vocabulary": 18, + "length": 19, + "calculated_length": 58.52932501298082, + "volume": 79.22857502740393, + "difficulty": 3.0, + "effort": 237.6857250822118, + "time": 13.204762504567322, + "bugs": 0.026409525009134644 + }, + "box_non_max_suppression": { + "h1": 1, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 4, + "length": 5, + "calculated_length": 4.754887502163469, + "volume": 10.0, + "difficulty": 0.5, + "effort": 5.0, + "time": 0.2777777777777778, + "bugs": 0.0033333333333333335 + }, + "_group_overlapping_masks": { + "h1": 6, + "h2": 9, + "N1": 8, + "N2": 12, + "vocabulary": 15, + "length": 20, + "calculated_length": 44.039100017307746, + "volume": 78.13781191217038, + "difficulty": 4.0, + "effort": 312.5512476486815, + "time": 17.363958202704527, + "bugs": 0.026045937304056792 + }, + "mask_non_max_merge": { + "h1": 1, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 15.509775004326936, + "volume": 25.26619429851844, + "difficulty": 0.5, + "effort": 12.63309714925922, + "time": 0.701838730514401, + "bugs": 0.008422064766172813 + }, + "_greedy_nmm_via_iou_callback": { + "h1": 5, + "h2": 7, + "N1": 6, + "N2": 9, + "vocabulary": 12, + "length": 15, + "calculated_length": 31.26112492884004, + "volume": 53.77443751081735, + "difficulty": 3.2142857142857144, + "effort": 172.84640628477007, + "time": 9.60257812693167, + "bugs": 0.017924812503605784 + }, + "_non_max_merge_per_category": { + "h1": 1, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 15.509775004326936, + "volume": 25.26619429851844, + "difficulty": 0.5, + "effort": 12.63309714925922, + "time": 0.701838730514401, + "bugs": 0.008422064766172813 + }, + "_group_overlapping_boxes": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "box_non_max_merge": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "oriented_box_non_max_suppression": { + "h1": 6, + "h2": 23, + "N1": 14, + "N2": 27, + "vocabulary": 29, + "length": 41, + "calculated_length": 119.55169999363824, + "volume": 199.1772208002305, + "difficulty": 3.5217391304347827, + "effort": 701.4502123834204, + "time": 38.969456243523354, + "bugs": 0.06639240693341016 + }, + "_group_overlapping_oriented_boxes": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "oriented_box_non_max_merge": { + "h1": 6, + "h2": 23, + "N1": 14, + "N2": 27, + "vocabulary": 29, + "length": 41, + "calculated_length": 119.55169999363824, + "volume": 199.1772208002305, + "difficulty": 3.5217391304347827, + "effort": 701.4502123834204, + "time": 38.969456243523354, + "bugs": 0.06639240693341016 + } + } + }, + "src\\supervision\\detection\\utils\\masks.py": { + "total": { + "h1": 14, + "h2": 87, + "N1": 61, + "N2": 117, + "vocabulary": 101, + "length": 178, + "calculated_length": 613.8390530476458, + "volume": 1185.1616439298195, + "difficulty": 9.413793103448276, + "effort": 11156.866510097956, + "time": 619.8259172276643, + "bugs": 0.39505388130993985 + }, + "functions": { + "move_masks": { + "h1": 6, + "h2": 27, + "N1": 17, + "N2": 32, + "vocabulary": 33, + "length": 49, + "calculated_length": 143.89173756274062, + "volume": 247.1753118485642, + "difficulty": 3.5555555555555554, + "effort": 878.8455532393393, + "time": 48.824752957741076, + "bugs": 0.08239177061618806 + }, + "calculate_masks_centroids": { + "h1": 3, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 19, + "length": 36, + "calculated_length": 68.75488750216347, + "volume": 152.92539048396907, + "difficulty": 2.25, + "effort": 344.0821285889304, + "time": 19.115673810496133, + "bugs": 0.050975130161323025 + }, + "contains_holes": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 5, + "vocabulary": 8, + "length": 8, + "calculated_length": 16.36452797660028, + "volume": 24.0, + "difficulty": 1.5, + "effort": 36.0, + "time": 2.0, + "bugs": 0.008 + }, + "contains_multiple_segments": { + "h1": 3, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 10, + "length": 12, + "calculated_length": 24.406371956566698, + "volume": 39.863137138648355, + "difficulty": 1.7142857142857142, + "effort": 68.33680652339717, + "time": 3.796489251299843, + "bugs": 0.013287712379549451 + }, + "resize_masks": { + "h1": 3, + "h2": 5, + "N1": 6, + "N2": 12, + "vocabulary": 8, + "length": 18, + "calculated_length": 16.36452797660028, + "volume": 54.0, + "difficulty": 3.6, + "effort": 194.4, + "time": 10.8, + "bugs": 0.018 + }, + "filter_segments_by_distance": { + "h1": 9, + "h2": 27, + "N1": 19, + "N2": 36, + "vocabulary": 36, + "length": 55, + "calculated_length": 156.9112875713945, + "volume": 284.3458750793272, + "difficulty": 6.0, + "effort": 1706.075250475963, + "time": 94.78195835977573, + "bugs": 0.09478195835977572 + } + } + }, + "src\\supervision\\detection\\utils\\polygons.py": { + "total": { + "h1": 10, + "h2": 26, + "N1": 20, + "N2": 40, + "vocabulary": 36, + "length": 60, + "calculated_length": 155.43071362054204, + "volume": 310.19550008653874, + "difficulty": 7.6923076923076925, + "effort": 2386.1192314349137, + "time": 132.56217952416188, + "bugs": 0.10339850002884625 + }, + "functions": { + "filter_polygons_by_area": { + "h1": 5, + "h2": 12, + "N1": 10, + "N2": 20, + "vocabulary": 17, + "length": 30, + "calculated_length": 54.62919048309069, + "volume": 122.6238852375102, + "difficulty": 4.166666666666667, + "effort": 510.93285515629253, + "time": 28.38515861979403, + "bugs": 0.040874628412503396 + }, + "approximate_polygon": { + "h1": 8, + "h2": 14, + "N1": 10, + "N2": 20, + "vocabulary": 22, + "length": 30, + "calculated_length": 77.30296890880645, + "volume": 133.78294855911892, + "difficulty": 5.714285714285714, + "effort": 764.4739917663939, + "time": 42.47077732035521, + "bugs": 0.044594316186372975 + } + } + }, + "src\\supervision\\detection\\utils\\vlms.py": { + "total": { + "h1": 7, + "h2": 20, + "N1": 16, + "N2": 31, + "vocabulary": 27, + "length": 47, + "calculated_length": 106.09004635215048, + "volume": 223.47971260168305, + "difficulty": 5.425, + "effort": 1212.3774408641304, + "time": 67.35430227022947, + "bugs": 0.07449323753389435 + }, + "functions": { + "edit_distance": { + "h1": 6, + "h2": 18, + "N1": 15, + "N2": 29, + "vocabulary": 24, + "length": 44, + "calculated_length": 90.56842503028855, + "volume": 201.7383500317309, + "difficulty": 4.833333333333333, + "effort": 975.0686918200327, + "time": 54.1704828788907, + "bugs": 0.06724611667724363 + }, + "fuzzy_match_index": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + } + } + }, + "src\\supervision\\detection\\utils\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\draw\\base.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\draw\\color.py": { + "total": { + "h1": 13, + "h2": 78, + "N1": 60, + "N2": 110, + "vocabulary": 91, + "length": 170, + "calculated_length": 538.3670894070896, + "volume": 1106.3250888337784, + "difficulty": 9.166666666666666, + "effort": 10141.313314309635, + "time": 563.4062952394241, + "bugs": 0.36877502961125946 + }, + "functions": { + "_validate_color_hex": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 5, + "vocabulary": 8, + "length": 8, + "calculated_length": 16.36452797660028, + "volume": 24.0, + "difficulty": 1.5, + "effort": 36.0, + "time": 2.0, + "bugs": 0.008 + }, + "from_hex": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_rgb_tuple": { + "h1": 3, + "h2": 9, + "N1": 8, + "N2": 13, + "vocabulary": 12, + "length": 21, + "calculated_length": 33.28421251514428, + "volume": 75.28421251514429, + "difficulty": 2.1666666666666665, + "effort": 163.11579378281263, + "time": 9.06198854348959, + "bugs": 0.025094737505048096 + }, + "from_bgr_tuple": { + "h1": 3, + "h2": 9, + "N1": 8, + "N2": 13, + "vocabulary": 12, + "length": 21, + "calculated_length": 33.28421251514428, + "volume": 75.28421251514429, + "difficulty": 2.1666666666666665, + "effort": 163.11579378281263, + "time": 9.06198854348959, + "bugs": 0.025094737505048096 + }, + "from_rgba_tuple": { + "h1": 3, + "h2": 11, + "N1": 10, + "N2": 17, + "vocabulary": 14, + "length": 27, + "calculated_length": 42.808635307173745, + "volume": 102.7985828955553, + "difficulty": 2.3181818181818183, + "effort": 238.30580580333276, + "time": 13.239211433518486, + "bugs": 0.03426619429851843 + }, + "from_bgra_tuple": { + "h1": 3, + "h2": 11, + "N1": 10, + "N2": 17, + "vocabulary": 14, + "length": 27, + "calculated_length": 42.808635307173745, + "volume": 102.7985828955553, + "difficulty": 2.3181818181818183, + "effort": 238.30580580333276, + "time": 13.239211433518486, + "bugs": 0.03426619429851843 + }, + "as_hex": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "as_rgb": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_bgr": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_rgba": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_bgra": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "WHITE": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "BLACK": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "GREY": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "RED": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "GREEN": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "BLUE": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "YELLOW": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "ROBOFLOW": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__hash__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__repr__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__eq__": { + "h1": 2, + "h2": 9, + "N1": 5, + "N2": 13, + "vocabulary": 11, + "length": 18, + "calculated_length": 30.529325012980813, + "volume": 62.26976913547136, + "difficulty": 1.4444444444444444, + "effort": 89.94522208456974, + "time": 4.996956782476096, + "bugs": 0.020756589711823786 + }, + "DEFAULT": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "LEGACY": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_matplotlib": { + "h1": 3, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 11, + "length": 15, + "calculated_length": 28.75488750216347, + "volume": 51.89147427955947, + "difficulty": 1.875, + "effort": 97.296514274174, + "time": 5.405361904120777, + "bugs": 0.01729715809318649 + }, + "by_idx": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 6.754887502163469, + "volume": 13.931568569324174, + "difficulty": 1.3333333333333333, + "effort": 18.575424759098897, + "time": 1.0319680421721609, + "bugs": 0.004643856189774725 + }, + "__len__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "unify_to_bgr": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\draw\\utils.py": { + "total": { + "h1": 13, + "h2": 57, + "N1": 57, + "N2": 109, + "vocabulary": 70, + "length": 166, + "calculated_length": 380.5804471432245, + "volume": 1017.4609808128646, + "difficulty": 12.429824561403509, + "effort": 12646.861489577448, + "time": 702.603416087636, + "bugs": 0.33915366027095484 + }, + "functions": { + "draw_line": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "draw_rectangle": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "draw_filled_rectangle": { + "h1": 3, + "h2": 2, + "N1": 4, + "N2": 6, + "vocabulary": 5, + "length": 10, + "calculated_length": 6.754887502163469, + "volume": 23.21928094887362, + "difficulty": 4.5, + "effort": 104.4867642699313, + "time": 5.804820237218405, + "bugs": 0.007739760316291207 + }, + "draw_rounded_rectangle": { + "h1": 4, + "h2": 8, + "N1": 17, + "N2": 32, + "vocabulary": 12, + "length": 49, + "calculated_length": 32.0, + "volume": 175.66316253533668, + "difficulty": 8.0, + "effort": 1405.3053002826935, + "time": 78.07251668237186, + "bugs": 0.058554387511778896 + }, + "draw_polygon": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "draw_filled_polygon": { + "h1": 2, + "h2": 2, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.0, + "volume": 12.0, + "difficulty": 2.0, + "effort": 24.0, + "time": 1.3333333333333333, + "bugs": 0.004 + }, + "draw_text": { + "h1": 4, + "h2": 11, + "N1": 9, + "N2": 18, + "vocabulary": 15, + "length": 27, + "calculated_length": 46.053747805010275, + "volume": 105.48604608143, + "difficulty": 3.272727272727273, + "effort": 345.22705990286187, + "time": 19.179281105714548, + "bugs": 0.03516201536047667 + }, + "draw_image": { + "h1": 10, + "h2": 30, + "N1": 23, + "N2": 45, + "vocabulary": 40, + "length": 68, + "calculated_length": 180.4259988171292, + "volume": 361.8911104523407, + "difficulty": 7.5, + "effort": 2714.1833283925553, + "time": 150.7879626884753, + "bugs": 0.12063037015078022 + }, + "calculate_optimal_text_scale": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "calculate_optimal_line_thickness": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + } + } + }, + "src\\supervision\\draw\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\geometry\\core.py": { + "total": { + "h1": 5, + "h2": 40, + "N1": 28, + "N2": 56, + "vocabulary": 45, + "length": 84, + "calculated_length": 224.4867642699313, + "volume": 461.3156600916927, + "difficulty": 3.5, + "effort": 1614.6048103209243, + "time": 89.70026724005135, + "bugs": 0.15377188669723088 + }, + "functions": { + "list": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_xy_int_tuple": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_xy_float_tuple": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "magnitude": { + "h1": 3, + "h2": 7, + "N1": 5, + "N2": 10, + "vocabulary": 10, + "length": 15, + "calculated_length": 24.406371956566698, + "volume": 49.82892142331044, + "difficulty": 2.142857142857143, + "effort": 106.77626019280808, + "time": 5.932014455156004, + "bugs": 0.016609640474436815 + }, + "center": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 7, + "length": 12, + "calculated_length": 13.60964047443681, + "volume": 33.68825906469125, + "difficulty": 1.6, + "effort": 53.901214503506004, + "time": 2.9945119168614447, + "bugs": 0.011229419688230418 + }, + "cross_product": { + "h1": 2, + "h2": 8, + "N1": 7, + "N2": 14, + "vocabulary": 10, + "length": 21, + "calculated_length": 26.0, + "volume": 69.76048999263462, + "difficulty": 1.75, + "effort": 122.08085748711058, + "time": 6.782269860395032, + "bugs": 0.02325349666421154 + }, + "from_xyxy": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "top_left": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "bottom_right": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "pad": { + "h1": 3, + "h2": 8, + "N1": 6, + "N2": 12, + "vocabulary": 11, + "length": 18, + "calculated_length": 28.75488750216347, + "volume": 62.26976913547136, + "difficulty": 2.25, + "effort": 140.10698055481055, + "time": 7.78372114193392, + "bugs": 0.020756589711823786 + }, + "as_xyxy_int_tuple": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + } + } + }, + "src\\supervision\\geometry\\utils.py": { + "total": { + "h1": 4, + "h2": 10, + "N1": 6, + "N2": 11, + "vocabulary": 14, + "length": 17, + "calculated_length": 41.219280948873624, + "volume": 64.72503367497926, + "difficulty": 2.2, + "effort": 142.3950740849544, + "time": 7.9108374491641325, + "bugs": 0.021575011224993085 + }, + "functions": { + "get_polygon_center": { + "h1": 4, + "h2": 10, + "N1": 6, + "N2": 11, + "vocabulary": 14, + "length": 17, + "calculated_length": 41.219280948873624, + "volume": 64.72503367497926, + "difficulty": 2.2, + "effort": 142.3950740849544, + "time": 7.9108374491641325, + "bugs": 0.021575011224993085 + } + } + }, + "src\\supervision\\geometry\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\keypoint\\annotators.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\keypoint\\core.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\keypoint\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\key_points\\annotators.py": { + "total": { + "h1": 18, + "h2": 121, + "N1": 97, + "N2": 180, + "vocabulary": 139, + "length": 277, + "calculated_length": 912.2411017361876, + "volume": 1971.9466771444115, + "difficulty": 13.388429752066116, + "effort": 26401.269561768157, + "time": 1466.7371978760086, + "bugs": 0.6573155590481372 + }, + "functions": { + "annotate": { + "h1": 4, + "h2": 8, + "N1": 6, + "N2": 9, + "vocabulary": 12, + "length": 15, + "calculated_length": 32.0, + "volume": 53.77443751081735, + "difficulty": 2.25, + "effort": 120.99248439933903, + "time": 6.721804688852169, + "bugs": 0.017924812503605784 + }, + "__init__": { + "h1": 1, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.754887502163469, + "volume": 12.0, + "difficulty": 0.6666666666666666, + "effort": 8.0, + "time": 0.4444444444444444, + "bugs": 0.004 + }, + "_get_covariances": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_decompose_covariance": { + "h1": 4, + "h2": 7, + "N1": 5, + "N2": 7, + "vocabulary": 11, + "length": 12, + "calculated_length": 27.651484454403228, + "volume": 41.51317942364757, + "difficulty": 2.0, + "effort": 83.02635884729514, + "time": 4.612575491516397, + "bugs": 0.01383772647454919 + }, + "_iter_ellipse_params": { + "h1": 5, + "h2": 9, + "N1": 6, + "N2": 11, + "vocabulary": 14, + "length": 17, + "calculated_length": 40.13896548741762, + "volume": 64.72503367497926, + "difficulty": 3.0555555555555554, + "effort": 197.77093622910328, + "time": 10.987274234950183, + "bugs": 0.021575011224993085 + }, + "get_text_bounding_box": { + "h1": 3, + "h2": 9, + "N1": 8, + "N2": 16, + "vocabulary": 12, + "length": 24, + "calculated_length": 33.28421251514428, + "volume": 86.03910001730776, + "difficulty": 2.6666666666666665, + "effort": 229.43760004615402, + "time": 12.746533335897446, + "bugs": 0.028679700005769252 + }, + "_resolve_labels": { + "h1": 3, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 8, + "length": 12, + "calculated_length": 16.36452797660028, + "volume": 36.0, + "difficulty": 2.4, + "effort": 86.39999999999999, + "time": 4.8, + "bugs": 0.012 + }, + "_resolve_color_list": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 6.754887502163469, + "volume": 13.931568569324174, + "difficulty": 1.3333333333333333, + "effort": 18.575424759098897, + "time": 1.0319680421721609, + "bugs": 0.004643856189774725 + } + } + }, + "src\\supervision\\key_points\\core.py": { + "total": { + "h1": 14, + "h2": 153, + "N1": 115, + "N2": 214, + "vocabulary": 167, + "length": 329, + "calculated_length": 1163.6833088407823, + "volume": 2429.2387122239634, + "difficulty": 9.790849673202615, + "effort": 23784.311051709134, + "time": 1321.3506139838407, + "bugs": 0.8097462374079878 + }, + "functions": { + "_optional_array_equal": { + "h1": 3, + "h2": 7, + "N1": 6, + "N2": 12, + "vocabulary": 10, + "length": 18, + "calculated_length": 24.406371956566698, + "volume": 59.794705707972525, + "difficulty": 2.5714285714285716, + "effort": 153.75781467764364, + "time": 8.542100815424646, + "bugs": 0.019931568569324175 + }, + "_normalize_row_index": { + "h1": 2, + "h2": 11, + "N1": 5, + "N2": 11, + "vocabulary": 13, + "length": 16, + "calculated_length": 40.053747805010275, + "volume": 59.207035490257475, + "difficulty": 1.0, + "effort": 59.207035490257475, + "time": 3.2892797494587485, + "bugs": 0.019735678496752493 + }, + "__init__": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "__post_init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "confidence": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__len__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__iter__": { + "h1": 1, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.754887502163469, + "volume": 12.0, + "difficulty": 0.6666666666666666, + "effort": 8.0, + "time": 0.4444444444444444, + "bugs": 0.004 + }, + "__eq__": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "from_inference": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "from_mediapipe": { + "h1": 4, + "h2": 10, + "N1": 6, + "N2": 11, + "vocabulary": 14, + "length": 17, + "calculated_length": 41.219280948873624, + "volume": 64.72503367497926, + "difficulty": 2.2, + "effort": 142.3950740849544, + "time": 7.9108374491641325, + "bugs": 0.021575011224993085 + }, + "from_ultralytics": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "from_yolo_nas": { + "h1": 4, + "h2": 9, + "N1": 5, + "N2": 10, + "vocabulary": 13, + "length": 15, + "calculated_length": 36.52932501298081, + "volume": 55.506595772116384, + "difficulty": 2.2222222222222223, + "effort": 123.34799060470309, + "time": 6.852666144705727, + "bugs": 0.01850219859070546 + }, + "from_detectron2": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_transformers": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_get_by_2d_bool_mask": { + "h1": 7, + "h2": 23, + "N1": 19, + "N2": 37, + "vocabulary": 30, + "length": 56, + "calculated_length": 123.69340944371453, + "volume": 274.78587335407707, + "difficulty": 5.630434782608695, + "effort": 1547.1639391023034, + "time": 85.95355217235019, + "bugs": 0.0915952911180257 + }, + "__getitem__": { + "h1": 5, + "h2": 39, + "N1": 31, + "N2": 62, + "vocabulary": 44, + "length": 93, + "calculated_length": 217.7403270100645, + "volume": 507.72714053326865, + "difficulty": 3.9743589743589745, + "effort": 2017.8899175040165, + "time": 112.1049954168898, + "bugs": 0.16924238017775622 + }, + "__setitem__": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "empty": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "is_empty": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "with_nms": { + "h1": 8, + "h2": 14, + "N1": 15, + "N2": 22, + "vocabulary": 22, + "length": 37, + "calculated_length": 77.30296890880645, + "volume": 164.99896988958, + "difficulty": 6.285714285714286, + "effort": 1037.1363821630741, + "time": 57.61868789794856, + "bugs": 0.05499965662986 + }, + "as_detections": { + "h1": 5, + "h2": 9, + "N1": 8, + "N2": 12, + "vocabulary": 14, + "length": 20, + "calculated_length": 40.13896548741762, + "volume": 76.14709844115208, + "difficulty": 3.3333333333333335, + "effort": 253.82366147050695, + "time": 14.101314526139275, + "bugs": 0.025382366147050694 + } + } + }, + "src\\supervision\\key_points\\skeletons.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\key_points\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\metrics\\core.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": { + "update": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "compute": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\metrics\\detection.py": { + "total": { + "h1": 18, + "h2": 137, + "N1": 96, + "N2": 180, + "vocabulary": 155, + "length": 276, + "calculated_length": 1047.4890453915539, + "volume": 2008.21033585569, + "difficulty": 11.824817518248175, + "effort": 23746.72075975341, + "time": 1319.262264430745, + "bugs": 0.66940344528523 + }, + "functions": { + "_assert_supported_target": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "detections_to_tensor": { + "h1": 7, + "h2": 20, + "N1": 13, + "N2": 24, + "vocabulary": 27, + "length": 37, + "calculated_length": 106.09004635215048, + "volume": 175.93083758004835, + "difficulty": 4.2, + "effort": 738.9095178362031, + "time": 41.05052876867795, + "bugs": 0.058643612526682785 + }, + "_validate_input_tensors": { + "h1": 5, + "h2": 14, + "N1": 9, + "N2": 16, + "vocabulary": 19, + "length": 25, + "calculated_length": 64.91260938324326, + "volume": 106.19818783608963, + "difficulty": 2.857142857142857, + "effort": 303.42339381739896, + "time": 16.85685521207772, + "bugs": 0.03539939594536321 + }, + "validate_input_tensors": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__eq__": { + "h1": 3, + "h2": 8, + "N1": 5, + "N2": 11, + "vocabulary": 11, + "length": 16, + "calculated_length": 28.75488750216347, + "volume": 55.350905898196764, + "difficulty": 2.0625, + "effort": 114.16124341503082, + "time": 6.342291300835046, + "bugs": 0.018450301966065587 + }, + "from_detections": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_tensors": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "evaluate_detection_batch": { + "h1": 10, + "h2": 38, + "N1": 31, + "N2": 60, + "vocabulary": 48, + "length": 91, + "calculated_length": 232.64052645972987, + "volume": 508.23158756562526, + "difficulty": 7.894736842105263, + "effort": 4012.3546386759886, + "time": 222.9085910375549, + "bugs": 0.16941052918854174 + }, + "_drop_extra_matches": { + "h1": 2, + "h2": 3, + "N1": 3, + "N2": 4, + "vocabulary": 5, + "length": 7, + "calculated_length": 6.754887502163469, + "volume": 16.253496664211536, + "difficulty": 1.3333333333333333, + "effort": 21.67132888561538, + "time": 1.2039627158675212, + "bugs": 0.005417832221403845 + }, + "benchmark": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "plot": { + "h1": 9, + "h2": 23, + "N1": 15, + "N2": 27, + "vocabulary": 32, + "length": 42, + "calculated_length": 132.57125000229212, + "volume": 210.0, + "difficulty": 5.282608695652174, + "effort": 1109.3478260869565, + "time": 61.630434782608695, + "bugs": 0.07 + }, + "compute_average_precision": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_match_detection_batch": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 13, + "length": 14, + "calculated_length": 35.60964047443681, + "volume": 51.80615605397529, + "difficulty": 2.8125, + "effort": 145.70481390180552, + "time": 8.09471188343364, + "bugs": 0.01726871868465843 + }, + "_average_precisions_per_class": { + "h1": 6, + "h2": 15, + "N1": 10, + "N2": 19, + "vocabulary": 21, + "length": 29, + "calculated_length": 74.11313393845472, + "volume": 127.37720526058406, + "difficulty": 3.8, + "effort": 484.03337999021943, + "time": 26.890743332789967, + "bugs": 0.04245906842019469 + } + } + }, + "src\\supervision\\metrics\\f1_score.py": { + "total": { + "h1": 16, + "h2": 132, + "N1": 96, + "N2": 185, + "vocabulary": 148, + "length": 281, + "calculated_length": 993.8600237553159, + "volume": 2025.8563957417348, + "difficulty": 11.212121212121213, + "effort": 22714.147467407332, + "time": 1261.8970815226296, + "bugs": 0.675285465247245 + }, + "functions": { + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "update": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 4, + "vocabulary": 6, + "length": 7, + "calculated_length": 10.0, + "volume": 18.094737505048094, + "difficulty": 1.0, + "effort": 18.094737505048094, + "time": 1.0052631947248942, + "bugs": 0.006031579168349364 + }, + "compute": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_compute": { + "h1": 7, + "h2": 17, + "N1": 14, + "N2": 27, + "vocabulary": 24, + "length": 41, + "calculated_length": 89.13835275565901, + "volume": 187.98346252956745, + "difficulty": 5.5588235294117645, + "effort": 1044.9668946496543, + "time": 58.05371636942524, + "bugs": 0.06266115417652249 + }, + "_compute_f1_for_classes": { + "h1": 2, + "h2": 7, + "N1": 5, + "N2": 9, + "vocabulary": 9, + "length": 14, + "calculated_length": 21.651484454403228, + "volume": 44.37895002019238, + "difficulty": 1.2857142857142858, + "effort": 57.05865002596163, + "time": 3.169925001442313, + "bugs": 0.014792983340064125 + }, + "_match_detection_batch": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 13, + "length": 14, + "calculated_length": 35.60964047443681, + "volume": 51.80615605397529, + "difficulty": 2.8125, + "effort": 145.70481390180552, + "time": 8.09471188343364, + "bugs": 0.01726871868465843 + }, + "_compute_confusion_matrix": { + "h1": 2, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 10, + "length": 15, + "calculated_length": 26.0, + "volume": 49.82892142331044, + "difficulty": 1.25, + "effort": 62.28615177913805, + "time": 3.4603417655076694, + "bugs": 0.016609640474436815 + }, + "_compute_f1": { + "h1": 6, + "h2": 13, + "N1": 9, + "N2": 16, + "vocabulary": 19, + "length": 25, + "calculated_length": 63.61549134016113, + "volume": 106.19818783608963, + "difficulty": 3.6923076923076925, + "effort": 392.11638585633096, + "time": 21.784243658685053, + "bugs": 0.03539939594536321 + }, + "_detections_content": { + "h1": 4, + "h2": 11, + "N1": 7, + "N2": 14, + "vocabulary": 15, + "length": 21, + "calculated_length": 46.053747805010275, + "volume": 82.0447025077789, + "difficulty": 2.5454545454545454, + "effort": 208.84106092889172, + "time": 11.602281162716206, + "bugs": 0.02734823416925963 + }, + "_make_empty_content": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "_filter_detections_by_size": { + "h1": 3, + "h2": 12, + "N1": 8, + "N2": 16, + "vocabulary": 15, + "length": 24, + "calculated_length": 47.77443751081735, + "volume": 93.76537429460444, + "difficulty": 2.0, + "effort": 187.53074858920888, + "time": 10.418374921622716, + "bugs": 0.03125512476486815 + }, + "_filter_predictions_and_targets_by_size": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "f1_50": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "f1_75": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__str__": { + "h1": 3, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 19, + "length": 36, + "calculated_length": 68.75488750216347, + "volume": 152.92539048396907, + "difficulty": 2.25, + "effort": 344.0821285889304, + "time": 19.115673810496133, + "bugs": 0.050975130161323025 + }, + "to_pandas": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "plot": { + "h1": 4, + "h2": 26, + "N1": 19, + "N2": 38, + "vocabulary": 30, + "length": 57, + "calculated_length": 130.2114326716684, + "volume": 279.69276394968557, + "difficulty": 2.923076923076923, + "effort": 817.563463852927, + "time": 45.42019243627372, + "bugs": 0.09323092131656185 + } + } + }, + "src\\supervision\\metrics\\mean_average_precision.py": { + "total": { + "h1": 21, + "h2": 291, + "N1": 224, + "N2": 404, + "vocabulary": 312, + "length": 628, + "calculated_length": 2474.0373906646646, + "volume": 5203.232593445492, + "difficulty": 14.577319587628866, + "effort": 75849.18440342191, + "time": 4213.843577967884, + "bugs": 1.7344108644818308 + }, + "functions": { + "map50_95": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 6, + "vocabulary": 7, + "length": 10, + "calculated_length": 13.60964047443681, + "volume": 28.07354922057604, + "difficulty": 1.2, + "effort": 33.688259064691245, + "time": 1.8715699480384025, + "bugs": 0.009357849740192013 + }, + "map50": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "map75": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__str__": { + "h1": 2, + "h2": 7, + "N1": 4, + "N2": 9, + "vocabulary": 9, + "length": 13, + "calculated_length": 21.651484454403228, + "volume": 41.20902501875006, + "difficulty": 1.2857142857142858, + "effort": 52.98303216696437, + "time": 2.943501787053576, + "bugs": 0.013736341672916687 + }, + "to_pandas": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "plot": { + "h1": 4, + "h2": 27, + "N1": 19, + "N2": 38, + "vocabulary": 31, + "length": 57, + "calculated_length": 136.38196255841368, + "volume": 282.3891896920519, + "difficulty": 2.814814814814815, + "effort": 794.8732746887387, + "time": 44.159626371596595, + "bugs": 0.09412972989735063 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "empty": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "create_class_members": { + "h1": 2, + "h2": 6, + "N1": 6, + "N2": 12, + "vocabulary": 8, + "length": 18, + "calculated_length": 17.509775004326936, + "volume": 54.0, + "difficulty": 2.0, + "effort": 108.0, + "time": 6.0, + "bugs": 0.018 + }, + "get_annotation_ids": { + "h1": 6, + "h2": 15, + "N1": 12, + "N2": 19, + "vocabulary": 21, + "length": 31, + "calculated_length": 74.11313393845472, + "volume": 136.16184010614157, + "difficulty": 3.8, + "effort": 517.4149924033379, + "time": 28.745277355740996, + "bugs": 0.04538728003538052 + }, + "get_category_ids": { + "h1": 3, + "h2": 9, + "N1": 10, + "N2": 15, + "vocabulary": 12, + "length": 25, + "calculated_length": 33.28421251514428, + "volume": 89.62406251802891, + "difficulty": 2.5, + "effort": 224.06015629507226, + "time": 12.447786460837348, + "bugs": 0.029874687506009637 + }, + "get_image_ids": { + "h1": 4, + "h2": 10, + "N1": 7, + "N2": 11, + "vocabulary": 14, + "length": 18, + "calculated_length": 41.219280948873624, + "volume": 68.53238859703687, + "difficulty": 2.2, + "effort": 150.77125491348113, + "time": 8.37618082852673, + "bugs": 0.022844129532345624 + }, + "get_annotations": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "load_predictions": { + "h1": 8, + "h2": 28, + "N1": 17, + "N2": 32, + "vocabulary": 36, + "length": 49, + "calculated_length": 158.6059378176129, + "volume": 253.3263250706733, + "difficulty": 4.571428571428571, + "effort": 1158.0632003230778, + "time": 64.33684446239322, + "bugs": 0.0844421083568911 + }, + "_prepare_targets_and_predictions": { + "h1": 2, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.2, + "effort": 30.319433158222125, + "time": 1.6844129532345624, + "bugs": 0.008422064766172813 + }, + "_compute_iou": { + "h1": 4, + "h2": 9, + "N1": 7, + "N2": 11, + "vocabulary": 13, + "length": 18, + "calculated_length": 36.52932501298081, + "volume": 66.60791492653966, + "difficulty": 2.4444444444444446, + "effort": 162.81934759820808, + "time": 9.04551931101156, + "bugs": 0.022202638308846556 + }, + "_evaluate_image": { + "h1": 11, + "h2": 35, + "N1": 27, + "N2": 48, + "vocabulary": 46, + "length": 75, + "calculated_length": 217.5786533980841, + "volume": 414.267146704276, + "difficulty": 7.542857142857143, + "effort": 3124.7579065693963, + "time": 173.59766147607758, + "bugs": 0.13808904890142534 + }, + "_accumulate": { + "h1": 13, + "h2": 50, + "N1": 38, + "N2": 66, + "vocabulary": 63, + "length": 104, + "calculated_length": 330.2985258245704, + "volume": 621.6371120439914, + "difficulty": 8.58, + "effort": 5333.646421337446, + "time": 296.31369007430254, + "bugs": 0.20721237068133044 + }, + "_pycocotools_summarize": { + "h1": 6, + "h2": 11, + "N1": 13, + "N2": 22, + "vocabulary": 17, + "length": 35, + "calculated_length": 53.563522809337215, + "volume": 143.0611994437619, + "difficulty": 6.0, + "effort": 858.3671966625714, + "time": 47.687066481253964, + "bugs": 0.04768706648125397 + }, + "evaluate": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "update": { + "h1": 4, + "h2": 7, + "N1": 7, + "N2": 10, + "vocabulary": 11, + "length": 17, + "calculated_length": 27.651484454403228, + "volume": 58.81033751683406, + "difficulty": 2.857142857142857, + "effort": 168.02953576238303, + "time": 9.33497420902128, + "bugs": 0.019603445838944685 + }, + "_prepare_targets": { + "h1": 7, + "h2": 20, + "N1": 16, + "N2": 32, + "vocabulary": 27, + "length": 48, + "calculated_length": 106.09004635215048, + "volume": 228.2346001038465, + "difficulty": 5.6, + "effort": 1278.1137605815404, + "time": 71.0063200323078, + "bugs": 0.0760782000346155 + }, + "_prepare_predictions": { + "h1": 7, + "h2": 18, + "N1": 13, + "N2": 26, + "vocabulary": 25, + "length": 39, + "calculated_length": 94.71013448036484, + "volume": 181.11039140121426, + "difficulty": 5.055555555555555, + "effort": 915.6136454172498, + "time": 50.867424745402765, + "bugs": 0.06037013046707142 + }, + "compute": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + } + } + }, + "src\\supervision\\metrics\\mean_average_recall.py": { + "total": { + "h1": 16, + "h2": 117, + "N1": 85, + "N2": 163, + "vocabulary": 133, + "length": 248, + "calculated_length": 867.8326721912583, + "volume": 1749.710044004295, + "difficulty": 11.145299145299145, + "effort": 19501.0418579624, + "time": 1083.3912143312443, + "bugs": 0.583236681334765 + }, + "functions": { + "mAR_at_1": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "mAR_at_10": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "mAR_at_100": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__str__": { + "h1": 3, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 19, + "length": 36, + "calculated_length": 68.75488750216347, + "volume": 152.92539048396907, + "difficulty": 2.25, + "effort": 344.0821285889304, + "time": 19.115673810496133, + "bugs": 0.050975130161323025 + }, + "to_pandas": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "plot": { + "h1": 4, + "h2": 27, + "N1": 19, + "N2": 38, + "vocabulary": 31, + "length": 57, + "calculated_length": 136.38196255841368, + "volume": 282.3891896920519, + "difficulty": 2.814814814814815, + "effort": 794.8732746887387, + "time": 44.159626371596595, + "bugs": 0.09412972989735063 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "update": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 4, + "vocabulary": 6, + "length": 7, + "calculated_length": 10.0, + "volume": 18.094737505048094, + "difficulty": 1.0, + "effort": 18.094737505048094, + "time": 1.0052631947248942, + "bugs": 0.006031579168349364 + }, + "compute": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_compute": { + "h1": 5, + "h2": 11, + "N1": 9, + "N2": 16, + "vocabulary": 16, + "length": 25, + "calculated_length": 49.663388279447084, + "volume": 100.0, + "difficulty": 3.6363636363636362, + "effort": 363.6363636363636, + "time": 20.2020202020202, + "bugs": 0.03333333333333333 + }, + "_compute_average_recall_for_classes": { + "h1": 1, + "h2": 2, + "N1": 2, + "N2": 4, + "vocabulary": 3, + "length": 6, + "calculated_length": 2.0, + "volume": 9.509775004326938, + "difficulty": 1.0, + "effort": 9.509775004326938, + "time": 0.5283208335737188, + "bugs": 0.003169925001442313 + }, + "_match_detection_batch": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 13, + "length": 14, + "calculated_length": 35.60964047443681, + "volume": 51.80615605397529, + "difficulty": 2.8125, + "effort": 145.70481390180552, + "time": 8.09471188343364, + "bugs": 0.01726871868465843 + }, + "_compute_confusion_matrix": { + "h1": 2, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 10, + "length": 15, + "calculated_length": 26.0, + "volume": 49.82892142331044, + "difficulty": 1.25, + "effort": 62.28615177913805, + "time": 3.4603417655076694, + "bugs": 0.016609640474436815 + }, + "_compute_recall": { + "h1": 5, + "h2": 8, + "N1": 6, + "N2": 10, + "vocabulary": 13, + "length": 16, + "calculated_length": 35.60964047443681, + "volume": 59.207035490257475, + "difficulty": 3.125, + "effort": 185.0219859070546, + "time": 10.27899921705859, + "bugs": 0.019735678496752493 + }, + "_detections_content": { + "h1": 4, + "h2": 11, + "N1": 7, + "N2": 14, + "vocabulary": 15, + "length": 21, + "calculated_length": 46.053747805010275, + "volume": 82.0447025077789, + "difficulty": 2.5454545454545454, + "effort": 208.84106092889172, + "time": 11.602281162716206, + "bugs": 0.02734823416925963 + }, + "_make_empty_content": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "_filter_detections_by_size": { + "h1": 3, + "h2": 12, + "N1": 8, + "N2": 16, + "vocabulary": 15, + "length": 24, + "calculated_length": 47.77443751081735, + "volume": 93.76537429460444, + "difficulty": 2.0, + "effort": 187.53074858920888, + "time": 10.418374921622716, + "bugs": 0.03125512476486815 + }, + "_filter_predictions_and_targets_by_size": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\metrics\\precision.py": { + "total": { + "h1": 16, + "h2": 127, + "N1": 92, + "N2": 177, + "vocabulary": 143, + "length": 269, + "calculated_length": 951.5629552200651, + "volume": 1926.0053895933866, + "difficulty": 11.149606299212598, + "effort": 21474.20182412784, + "time": 1193.0112124515465, + "bugs": 0.6420017965311289 + }, + "functions": { + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "update": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 4, + "vocabulary": 6, + "length": 7, + "calculated_length": 10.0, + "volume": 18.094737505048094, + "difficulty": 1.0, + "effort": 18.094737505048094, + "time": 1.0052631947248942, + "bugs": 0.006031579168349364 + }, + "compute": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_compute": { + "h1": 7, + "h2": 17, + "N1": 14, + "N2": 27, + "vocabulary": 24, + "length": 41, + "calculated_length": 89.13835275565901, + "volume": 187.98346252956745, + "difficulty": 5.5588235294117645, + "effort": 1044.9668946496543, + "time": 58.05371636942524, + "bugs": 0.06266115417652249 + }, + "_compute_precision_for_classes": { + "h1": 2, + "h2": 7, + "N1": 5, + "N2": 9, + "vocabulary": 9, + "length": 14, + "calculated_length": 21.651484454403228, + "volume": 44.37895002019238, + "difficulty": 1.2857142857142858, + "effort": 57.05865002596163, + "time": 3.169925001442313, + "bugs": 0.014792983340064125 + }, + "_match_detection_batch": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 13, + "length": 14, + "calculated_length": 35.60964047443681, + "volume": 51.80615605397529, + "difficulty": 2.8125, + "effort": 145.70481390180552, + "time": 8.09471188343364, + "bugs": 0.01726871868465843 + }, + "_compute_confusion_matrix": { + "h1": 2, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 10, + "length": 15, + "calculated_length": 26.0, + "volume": 49.82892142331044, + "difficulty": 1.25, + "effort": 62.28615177913805, + "time": 3.4603417655076694, + "bugs": 0.016609640474436815 + }, + "_compute_precision": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 8, + "vocabulary": 13, + "length": 13, + "calculated_length": 35.60964047443681, + "volume": 48.105716335834195, + "difficulty": 2.5, + "effort": 120.26429083958548, + "time": 6.681349491088082, + "bugs": 0.016035238778611398 + }, + "_detections_content": { + "h1": 4, + "h2": 11, + "N1": 7, + "N2": 14, + "vocabulary": 15, + "length": 21, + "calculated_length": 46.053747805010275, + "volume": 82.0447025077789, + "difficulty": 2.5454545454545454, + "effort": 208.84106092889172, + "time": 11.602281162716206, + "bugs": 0.02734823416925963 + }, + "_make_empty_content": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "_filter_detections_by_size": { + "h1": 3, + "h2": 12, + "N1": 8, + "N2": 16, + "vocabulary": 15, + "length": 24, + "calculated_length": 47.77443751081735, + "volume": 93.76537429460444, + "difficulty": 2.0, + "effort": 187.53074858920888, + "time": 10.418374921622716, + "bugs": 0.03125512476486815 + }, + "_filter_predictions_and_targets_by_size": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "precision_at_50": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "precision_at_75": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__str__": { + "h1": 3, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 19, + "length": 36, + "calculated_length": 68.75488750216347, + "volume": 152.92539048396907, + "difficulty": 2.25, + "effort": 344.0821285889304, + "time": 19.115673810496133, + "bugs": 0.050975130161323025 + }, + "to_pandas": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "plot": { + "h1": 4, + "h2": 26, + "N1": 19, + "N2": 38, + "vocabulary": 30, + "length": 57, + "calculated_length": 130.2114326716684, + "volume": 279.69276394968557, + "difficulty": 2.923076923076923, + "effort": 817.563463852927, + "time": 45.42019243627372, + "bugs": 0.09323092131656185 + } + } + }, + "src\\supervision\\metrics\\recall.py": { + "total": { + "h1": 15, + "h2": 118, + "N1": 85, + "N2": 163, + "vocabulary": 133, + "length": 248, + "calculated_length": 870.755238758825, + "volume": 1749.710044004295, + "difficulty": 10.360169491525424, + "effort": 18127.292616908904, + "time": 1007.0718120504947, + "bugs": 0.583236681334765 + }, + "functions": { + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "update": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 4, + "vocabulary": 6, + "length": 7, + "calculated_length": 10.0, + "volume": 18.094737505048094, + "difficulty": 1.0, + "effort": 18.094737505048094, + "time": 1.0052631947248942, + "bugs": 0.006031579168349364 + }, + "compute": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_compute": { + "h1": 4, + "h2": 10, + "N1": 8, + "N2": 15, + "vocabulary": 14, + "length": 23, + "calculated_length": 41.219280948873624, + "volume": 87.56916320732489, + "difficulty": 3.0, + "effort": 262.7074896219747, + "time": 14.59486053455415, + "bugs": 0.029189721069108297 + }, + "_compute_recall_for_classes": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 7, + "vocabulary": 7, + "length": 11, + "calculated_length": 13.60964047443681, + "volume": 30.880904142633646, + "difficulty": 1.4, + "effort": 43.2332657996871, + "time": 2.401848099982617, + "bugs": 0.010293634714211216 + }, + "_match_detection_batch": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 13, + "length": 14, + "calculated_length": 35.60964047443681, + "volume": 51.80615605397529, + "difficulty": 2.8125, + "effort": 145.70481390180552, + "time": 8.09471188343364, + "bugs": 0.01726871868465843 + }, + "_compute_confusion_matrix": { + "h1": 2, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 10, + "length": 15, + "calculated_length": 26.0, + "volume": 49.82892142331044, + "difficulty": 1.25, + "effort": 62.28615177913805, + "time": 3.4603417655076694, + "bugs": 0.016609640474436815 + }, + "_compute_recall": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 8, + "vocabulary": 13, + "length": 13, + "calculated_length": 35.60964047443681, + "volume": 48.105716335834195, + "difficulty": 2.5, + "effort": 120.26429083958548, + "time": 6.681349491088082, + "bugs": 0.016035238778611398 + }, + "_detections_content": { + "h1": 4, + "h2": 11, + "N1": 7, + "N2": 14, + "vocabulary": 15, + "length": 21, + "calculated_length": 46.053747805010275, + "volume": 82.0447025077789, + "difficulty": 2.5454545454545454, + "effort": 208.84106092889172, + "time": 11.602281162716206, + "bugs": 0.02734823416925963 + }, + "_make_empty_content": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "_filter_detections_by_size": { + "h1": 3, + "h2": 12, + "N1": 8, + "N2": 16, + "vocabulary": 15, + "length": 24, + "calculated_length": 47.77443751081735, + "volume": 93.76537429460444, + "difficulty": 2.0, + "effort": 187.53074858920888, + "time": 10.418374921622716, + "bugs": 0.03125512476486815 + }, + "_filter_predictions_and_targets_by_size": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "recall_at_50": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "recall_at_75": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__str__": { + "h1": 3, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 19, + "length": 36, + "calculated_length": 68.75488750216347, + "volume": 152.92539048396907, + "difficulty": 2.25, + "effort": 344.0821285889304, + "time": 19.115673810496133, + "bugs": 0.050975130161323025 + }, + "to_pandas": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "plot": { + "h1": 4, + "h2": 26, + "N1": 19, + "N2": 38, + "vocabulary": 30, + "length": 57, + "calculated_length": 130.2114326716684, + "volume": 279.69276394968557, + "difficulty": 2.923076923076923, + "effort": 817.563463852927, + "time": 45.42019243627372, + "bugs": 0.09323092131656185 + } + } + }, + "src\\supervision\\metrics\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\metrics\\utils\\object_size.py": { + "total": { + "h1": 12, + "h2": 77, + "N1": 53, + "N2": 106, + "vocabulary": 89, + "length": 159, + "calculated_length": 525.5621136421613, + "volume": 1029.6416155236573, + "difficulty": 8.25974025974026, + "effort": 8504.572304844754, + "time": 472.4762391580419, + "bugs": 0.3432138718412191 + }, + "functions": { + "get_object_size_category": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "get_bbox_size_category": { + "h1": 7, + "h2": 17, + "N1": 11, + "N2": 22, + "vocabulary": 24, + "length": 33, + "calculated_length": 89.13835275565901, + "volume": 151.30376252379818, + "difficulty": 4.529411764705882, + "effort": 685.3170420195564, + "time": 38.07316900108647, + "bugs": 0.05043458750793273 + }, + "get_mask_size_category": { + "h1": 4, + "h2": 7, + "N1": 6, + "N2": 12, + "vocabulary": 11, + "length": 18, + "calculated_length": 27.651484454403228, + "volume": 62.26976913547136, + "difficulty": 3.4285714285714284, + "effort": 213.49635132161606, + "time": 11.860908406756447, + "bugs": 0.020756589711823786 + }, + "get_obb_size_category": { + "h1": 8, + "h2": 38, + "N1": 25, + "N2": 51, + "vocabulary": 46, + "length": 76, + "calculated_length": 223.42124551085624, + "volume": 419.790708660333, + "difficulty": 5.368421052631579, + "effort": 2253.6132780712614, + "time": 125.20073767062564, + "bugs": 0.139930236220111 + }, + "get_detection_size_category": { + "h1": 2, + "h2": 7, + "N1": 5, + "N2": 10, + "vocabulary": 9, + "length": 15, + "calculated_length": 21.651484454403228, + "volume": 47.548875021634686, + "difficulty": 1.4285714285714286, + "effort": 67.92696431662098, + "time": 3.7737202398122767, + "bugs": 0.01584962500721156 + } + } + }, + "src\\supervision\\metrics\\utils\\utils.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": { + "ensure_pandas_installed": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\metrics\\utils\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\tracker\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\tracker\\byte_tracker\\core.py": { + "total": { + "h1": 12, + "h2": 44, + "N1": 33, + "N2": 62, + "vocabulary": 56, + "length": 95, + "calculated_length": 283.234541228695, + "volume": 551.6987175954724, + "difficulty": 8.454545454545455, + "effort": 4664.361885125358, + "time": 259.13121584029767, + "bugs": 0.18389957253182415 + }, + "functions": { + "__init__": { + "h1": 3, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 9, + "length": 9, + "calculated_length": 20.264662506490406, + "volume": 28.529325012980813, + "difficulty": 1.5, + "effort": 42.793987519471216, + "time": 2.377443751081734, + "bugs": 0.009509775004326938 + }, + "update_with_detections": { + "h1": 5, + "h2": 8, + "N1": 6, + "N2": 10, + "vocabulary": 13, + "length": 16, + "calculated_length": 35.60964047443681, + "volume": 59.207035490257475, + "difficulty": 3.125, + "effort": 185.0219859070546, + "time": 10.27899921705859, + "bugs": 0.019735678496752493 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "update_with_tensors": { + "h1": 6, + "h2": 17, + "N1": 16, + "N2": 30, + "vocabulary": 23, + "length": 46, + "calculated_length": 84.99664330558272, + "volume": 208.0838499786226, + "difficulty": 5.294117647058823, + "effort": 1101.6203822397667, + "time": 61.20113234665371, + "bugs": 0.06936128332620753 + }, + "joint_tracks": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "sub_tracks": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "remove_duplicate_tracks": { + "h1": 4, + "h2": 9, + "N1": 6, + "N2": 12, + "vocabulary": 13, + "length": 18, + "calculated_length": 36.52932501298081, + "volume": 66.60791492653966, + "difficulty": 2.6666666666666665, + "effort": 177.62110647077242, + "time": 9.867839248376246, + "bugs": 0.022202638308846556 + } + } + }, + "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py": { + "total": { + "h1": 4, + "h2": 58, + "N1": 41, + "N2": 82, + "vocabulary": 62, + "length": 123, + "calculated_length": 347.76289771739914, + "volume": 732.3661461775857, + "difficulty": 2.8275862068965516, + "effort": 2070.828413329725, + "time": 115.0460229627625, + "bugs": 0.2441220487258619 + }, + "functions": { + "__init__": { + "h1": 3, + "h2": 6, + "N1": 6, + "N2": 12, + "vocabulary": 9, + "length": 18, + "calculated_length": 20.264662506490406, + "volume": 57.058650025961626, + "difficulty": 3.0, + "effort": 171.17595007788486, + "time": 9.509775004326936, + "bugs": 0.019019550008653876 + }, + "initiate": { + "h1": 1, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 17, + "length": 36, + "calculated_length": 64.0, + "volume": 147.14866228501225, + "difficulty": 0.75, + "effort": 110.36149671375918, + "time": 6.13119426187551, + "bugs": 0.04904955409500408 + }, + "predict": { + "h1": 2, + "h2": 10, + "N1": 7, + "N2": 14, + "vocabulary": 12, + "length": 21, + "calculated_length": 35.219280948873624, + "volume": 75.28421251514429, + "difficulty": 1.4, + "effort": 105.397897521202, + "time": 5.855438751177889, + "bugs": 0.025094737505048096 + }, + "project": { + "h1": 2, + "h2": 6, + "N1": 4, + "N2": 8, + "vocabulary": 8, + "length": 12, + "calculated_length": 17.509775004326936, + "volume": 36.0, + "difficulty": 1.3333333333333333, + "effort": 48.0, + "time": 2.6666666666666665, + "bugs": 0.012 + }, + "multi_predict": { + "h1": 2, + "h2": 14, + "N1": 9, + "N2": 18, + "vocabulary": 16, + "length": 27, + "calculated_length": 55.30296890880645, + "volume": 108.0, + "difficulty": 1.2857142857142858, + "effort": 138.85714285714286, + "time": 7.714285714285714, + "bugs": 0.036 + }, + "update": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + } + } + }, + "src\\supervision\\tracker\\byte_tracker\\matching.py": { + "total": { + "h1": 9, + "h2": 30, + "N1": 17, + "N2": 34, + "vocabulary": 39, + "length": 51, + "calculated_length": 175.7360428812364, + "volume": 269.55551316197466, + "difficulty": 5.1, + "effort": 1374.7331171260707, + "time": 76.37406206255949, + "bugs": 0.08985183772065822 + }, + "functions": { + "indices_to_matches": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "linear_assignment": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 16.36452797660028, + "volume": 27.0, + "difficulty": 1.8, + "effort": 48.6, + "time": 2.7, + "bugs": 0.009 + }, + "iou_distance": { + "h1": 5, + "h2": 12, + "N1": 7, + "N2": 14, + "vocabulary": 17, + "length": 21, + "calculated_length": 54.62919048309069, + "volume": 85.83671966625714, + "difficulty": 2.9166666666666665, + "effort": 250.3570990265833, + "time": 13.908727723699073, + "bugs": 0.02861223988875238 + }, + "fuse_score": { + "h1": 3, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 10, + "length": 12, + "calculated_length": 24.406371956566698, + "volume": 39.863137138648355, + "difficulty": 1.7142857142857142, + "effort": 68.33680652339717, + "time": 3.796489251299843, + "bugs": 0.013287712379549451 + } + } + }, + "src\\supervision\\tracker\\byte_tracker\\single_object_track.py": { + "total": { + "h1": 10, + "h2": 53, + "N1": 32, + "N2": 64, + "vocabulary": 63, + "length": 96, + "calculated_length": 336.79906504072324, + "volume": 573.818872655992, + "difficulty": 6.037735849056604, + "effort": 3464.566778300329, + "time": 192.47593212779606, + "bugs": 0.19127295755199733 + }, + "functions": { + "__init__": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "predict": { + "h1": 2, + "h2": 6, + "N1": 4, + "N2": 8, + "vocabulary": 8, + "length": 12, + "calculated_length": 17.509775004326936, + "volume": 36.0, + "difficulty": 1.3333333333333333, + "effort": 48.0, + "time": 2.6666666666666665, + "bugs": 0.012 + }, + "multi_predict": { + "h1": 3, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 10, + "length": 12, + "calculated_length": 24.406371956566698, + "volume": 39.863137138648355, + "difficulty": 1.7142857142857142, + "effort": 68.33680652339717, + "time": 3.796489251299843, + "bugs": 0.013287712379549451 + }, + "activate": { + "h1": 1, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.754887502163469, + "volume": 12.0, + "difficulty": 0.6666666666666666, + "effort": 8.0, + "time": 0.4444444444444444, + "bugs": 0.004 + }, + "re_activate": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "update": { + "h1": 3, + "h2": 9, + "N1": 6, + "N2": 12, + "vocabulary": 12, + "length": 18, + "calculated_length": 33.28421251514428, + "volume": 64.52932501298082, + "difficulty": 2.0, + "effort": 129.05865002596164, + "time": 7.169925001442313, + "bugs": 0.02150977500432694 + }, + "tlwh": { + "h1": 4, + "h2": 8, + "N1": 4, + "N2": 8, + "vocabulary": 12, + "length": 12, + "calculated_length": 32.0, + "volume": 43.01955000865388, + "difficulty": 2.0, + "effort": 86.03910001730776, + "time": 4.779950000961542, + "bugs": 0.014339850002884626 + }, + "tlbr": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "tlwh_to_xyah": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "to_xyah": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "tlbr_to_tlwh": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "tlwh_to_tlbr": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__repr__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\tracker\\byte_tracker\\utils.py": { + "total": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 5, + "vocabulary": 8, + "length": 8, + "calculated_length": 16.36452797660028, + "volume": 24.0, + "difficulty": 1.5, + "effort": 36.0, + "time": 2.0, + "bugs": 0.008 + }, + "functions": { + "__init__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "new_id": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "NO_ID": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + } + } + }, + "src\\supervision\\tracker\\byte_tracker\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\utils\\conversion.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": { + "ensure_cv2_image_for_class_method": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "ensure_cv2_image_for_annotation": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "ensure_cv2_image_for_standalone_function": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "ensure_pil_image_for_class_method": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "ensure_pil_image_for_annotation": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "ensure_cv2_image_for_processing": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "images_to_cv2": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "pillow_to_cv2": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "cv2_to_pillow": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\utils\\file.py": { + "total": { + "h1": 6, + "h2": 10, + "N1": 6, + "N2": 11, + "vocabulary": 16, + "length": 17, + "calculated_length": 48.72905595320056, + "volume": 68.0, + "difficulty": 3.3, + "effort": 224.39999999999998, + "time": 12.466666666666665, + "bugs": 0.02266666666666667 + }, + "functions": { + "default": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "list_files_with_extensions": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 13, + "length": 14, + "calculated_length": 35.60964047443681, + "volume": 51.80615605397529, + "difficulty": 2.8125, + "effort": 145.70481390180552, + "time": 8.09471188343364, + "bugs": 0.01726871868465843 + }, + "read_txt_file": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "save_text_file": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "read_json_file": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "save_json_file": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "read_yaml_file": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "save_yaml_file": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\utils\\image.py": { + "total": { + "h1": 16, + "h2": 130, + "N1": 93, + "N2": 177, + "vocabulary": 146, + "length": 270, + "calculated_length": 976.907815693699, + "volume": 1941.2526308976048, + "difficulty": 10.892307692307693, + "effort": 21144.720964238528, + "time": 1174.7067202354738, + "bugs": 0.6470842102992016 + }, + "functions": { + "crop_image": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "scale_image": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 6, + "length": 9, + "calculated_length": 10.0, + "volume": 23.264662506490403, + "difficulty": 1.5, + "effort": 34.89699375973561, + "time": 1.938721875540867, + "bugs": 0.007754887502163467 + }, + "resize_image": { + "h1": 3, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 11, + "length": 15, + "calculated_length": 28.75488750216347, + "volume": 51.89147427955947, + "difficulty": 1.875, + "effort": 97.296514274174, + "time": 5.405361904120777, + "bugs": 0.01729715809318649 + }, + "letterbox_image": { + "h1": 2, + "h2": 13, + "N1": 8, + "N2": 16, + "vocabulary": 15, + "length": 24, + "calculated_length": 50.105716335834195, + "volume": 93.76537429460444, + "difficulty": 1.2307692307692308, + "effort": 115.40353759335932, + "time": 6.411307644075517, + "bugs": 0.03125512476486815 + }, + "overlay_image": { + "h1": 9, + "h2": 30, + "N1": 25, + "N2": 48, + "vocabulary": 39, + "length": 73, + "calculated_length": 175.7360428812364, + "volume": 385.83436197694414, + "difficulty": 7.2, + "effort": 2778.0074062339977, + "time": 154.33374479077764, + "bugs": 0.12861145399231472 + }, + "tint_image": { + "h1": 3, + "h2": 4, + "N1": 4, + "N2": 6, + "vocabulary": 7, + "length": 10, + "calculated_length": 12.75488750216347, + "volume": 28.07354922057604, + "difficulty": 2.25, + "effort": 63.16548574629609, + "time": 3.509193652572005, + "bugs": 0.009357849740192013 + }, + "grayscale_image": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "get_image_resolution_wh": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__enter__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "save_image": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "__exit__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "create_tiles": { + "h1": 5, + "h2": 12, + "N1": 7, + "N2": 14, + "vocabulary": 17, + "length": 21, + "calculated_length": 54.62919048309069, + "volume": 85.83671966625714, + "difficulty": 2.9166666666666665, + "effort": 250.3570990265833, + "time": 13.908727723699073, + "bugs": 0.02861223988875238 + }, + "_negotiate_tiles_format": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_calculate_aggregated_images_shape": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_aggregate_images_shape": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_establish_grid_size": { + "h1": 4, + "h2": 11, + "N1": 9, + "N2": 18, + "vocabulary": 15, + "length": 27, + "calculated_length": 46.053747805010275, + "volume": 105.48604608143, + "difficulty": 3.272727272727273, + "effort": 345.22705990286187, + "time": 19.179281105714548, + "bugs": 0.03516201536047667 + }, + "_negotiate_grid_size": { + "h1": 4, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 12, + "length": 15, + "calculated_length": 32.0, + "volume": 53.77443751081735, + "difficulty": 2.5, + "effort": 134.43609377704337, + "time": 7.468671876502409, + "bugs": 0.017924812503605784 + }, + "_generate_tiles": { + "h1": 3, + "h2": 6, + "N1": 5, + "N2": 8, + "vocabulary": 9, + "length": 13, + "calculated_length": 20.264662506490406, + "volume": 41.20902501875006, + "difficulty": 2.0, + "effort": 82.41805003750012, + "time": 4.578780557638896, + "bugs": 0.013736341672916687 + }, + "_draw_texts": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "_prepare_default_titles_anchors": { + "h1": 4, + "h2": 9, + "N1": 6, + "N2": 12, + "vocabulary": 13, + "length": 18, + "calculated_length": 36.52932501298081, + "volume": 66.60791492653966, + "difficulty": 2.6666666666666665, + "effort": 177.62110647077242, + "time": 9.867839248376246, + "bugs": 0.022202638308846556 + }, + "_merge_tiles_elements": { + "h1": 2, + "h2": 6, + "N1": 5, + "N2": 8, + "vocabulary": 8, + "length": 13, + "calculated_length": 17.509775004326936, + "volume": 39.0, + "difficulty": 1.3333333333333333, + "effort": 52.0, + "time": 2.888888888888889, + "bugs": 0.013 + }, + "_generate_color_image": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + } + } + }, + "src\\supervision\\utils\\internal.py": { + "total": { + "h1": 6, + "h2": 15, + "N1": 9, + "N2": 15, + "vocabulary": 21, + "length": 24, + "calculated_length": 74.11313393845472, + "volume": 105.41561814669026, + "difficulty": 3.0, + "effort": 316.2468544400708, + "time": 17.569269691115046, + "bugs": 0.03513853938223009 + }, + "functions": { + "format_warning": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "warn_deprecated": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "deprecated_parameter": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__get__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "get_instance_variables": { + "h1": 3, + "h2": 7, + "N1": 5, + "N2": 7, + "vocabulary": 10, + "length": 12, + "calculated_length": 24.406371956566698, + "volume": 39.863137138648355, + "difficulty": 1.5, + "effort": 59.79470570797253, + "time": 3.321928094887363, + "bugs": 0.013287712379549451 + } + } + }, + "src\\supervision\\utils\\iterables.py": { + "total": { + "h1": 4, + "h2": 8, + "N1": 4, + "N2": 8, + "vocabulary": 12, + "length": 12, + "calculated_length": 32.0, + "volume": 43.01955000865388, + "difficulty": 2.0, + "effort": 86.03910001730776, + "time": 4.779950000961542, + "bugs": 0.014339850002884626 + }, + "functions": { + "create_batches": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "fill": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "find_duplicates": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + } + } + }, + "src\\supervision\\utils\\logger.py": { + "total": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 5, + "vocabulary": 8, + "length": 8, + "calculated_length": 16.36452797660028, + "volume": 24.0, + "difficulty": 1.5, + "effort": 36.0, + "time": 2.0, + "bugs": 0.008 + }, + "functions": { + "_get_logger": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 5, + "vocabulary": 8, + "length": 8, + "calculated_length": 16.36452797660028, + "volume": 24.0, + "difficulty": 1.5, + "effort": 36.0, + "time": 2.0, + "bugs": 0.008 + } + } + }, + "src\\supervision\\utils\\notebook.py": { + "total": { + "h1": 6, + "h2": 15, + "N1": 8, + "N2": 16, + "vocabulary": 21, + "length": 24, + "calculated_length": 74.11313393845472, + "volume": 105.41561814669026, + "difficulty": 3.2, + "effort": 337.32997806940887, + "time": 18.74055433718938, + "bugs": 0.03513853938223009 + }, + "functions": { + "plot_image": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "plot_images_grid": { + "h1": 6, + "h2": 13, + "N1": 7, + "N2": 14, + "vocabulary": 19, + "length": 21, + "calculated_length": 63.61549134016113, + "volume": 89.20647778231529, + "difficulty": 3.230769230769231, + "effort": 288.20554360440326, + "time": 16.011419089133515, + "bugs": 0.029735492594105097 + } + } + }, + "src\\supervision\\utils\\video.py": { + "total": { + "h1": 13, + "h2": 54, + "N1": 42, + "N2": 74, + "vocabulary": 67, + "length": 116, + "calculated_length": 358.86964145266154, + "volume": 703.6663460931015, + "difficulty": 8.907407407407407, + "effort": 6267.842823532997, + "time": 348.2134901962776, + "bugs": 0.2345554486977005 + }, + "functions": { + "from_video_path": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "resolution_wh": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__enter__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "write_frame": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__exit__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_mux_audio": { + "h1": 4, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 11, + "length": 12, + "calculated_length": 27.651484454403228, + "volume": 41.51317942364757, + "difficulty": 2.2857142857142856, + "effort": 94.88726725405158, + "time": 5.27151484744731, + "bugs": 0.01383772647454919 + }, + "_validate_and_setup_video": { + "h1": 5, + "h2": 10, + "N1": 9, + "N2": 16, + "vocabulary": 15, + "length": 25, + "calculated_length": 44.82892142331043, + "volume": 97.67226489021297, + "difficulty": 4.0, + "effort": 390.6890595608519, + "time": 21.70494775338066, + "bugs": 0.03255742163007099 + }, + "get_video_frames_generator": { + "h1": 6, + "h2": 9, + "N1": 7, + "N2": 12, + "vocabulary": 15, + "length": 19, + "calculated_length": 44.039100017307746, + "volume": 74.23092131656186, + "difficulty": 4.0, + "effort": 296.92368526624745, + "time": 16.4957602925693, + "bugs": 0.024743640438853954 + }, + "process_video": { + "h1": 5, + "h2": 14, + "N1": 13, + "N2": 23, + "vocabulary": 19, + "length": 36, + "calculated_length": 64.91260938324326, + "volume": 152.92539048396907, + "difficulty": 4.107142857142857, + "effort": 628.0864252020158, + "time": 34.89369028900088, + "bugs": 0.050975130161323025 + }, + "fps": { + "h1": 5, + "h2": 7, + "N1": 5, + "N2": 8, + "vocabulary": 12, + "length": 13, + "calculated_length": 31.26112492884004, + "volume": 46.604512509375034, + "difficulty": 2.857142857142857, + "effort": 133.15575002678582, + "time": 7.397541668154768, + "bugs": 0.015534837503125011 + }, + "tick": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\utils\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\validators\\__init__.py": { + "total": { + "h1": 11, + "h2": 113, + "N1": 65, + "N2": 122, + "vocabulary": 124, + "length": 187, + "calculated_length": 808.7339705579266, + "volume": 1300.4347100423458, + "difficulty": 5.938053097345133, + "effort": 7722.050357862072, + "time": 429.002797659004, + "bugs": 0.43347823668078195 + }, + "functions": { + "_validate_xyxy": { + "h1": 3, + "h2": 8, + "N1": 4, + "N2": 8, + "vocabulary": 11, + "length": 12, + "calculated_length": 28.75488750216347, + "volume": 41.51317942364757, + "difficulty": 1.5, + "effort": 62.26976913547136, + "time": 3.4594316186372978, + "bugs": 0.01383772647454919 + }, + "validate_xyxy": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_mask": { + "h1": 6, + "h2": 14, + "N1": 8, + "N2": 15, + "vocabulary": 20, + "length": 23, + "calculated_length": 68.81274391313339, + "volume": 99.40434618240934, + "difficulty": 3.2142857142857144, + "effort": 319.51396987203003, + "time": 17.75077610400167, + "bugs": 0.033134782060803114 + }, + "validate_mask": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_class_id": { + "h1": 5, + "h2": 9, + "N1": 5, + "N2": 9, + "vocabulary": 14, + "length": 14, + "calculated_length": 40.13896548741762, + "volume": 53.30296890880645, + "difficulty": 2.5, + "effort": 133.25742227201613, + "time": 7.403190126223119, + "bugs": 0.017767656302935482 + }, + "validate_class_id": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_confidence": { + "h1": 5, + "h2": 9, + "N1": 5, + "N2": 9, + "vocabulary": 14, + "length": 14, + "calculated_length": 40.13896548741762, + "volume": 53.30296890880645, + "difficulty": 2.5, + "effort": 133.25742227201613, + "time": 7.403190126223119, + "bugs": 0.017767656302935482 + }, + "validate_confidence": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_keypoint_confidence": { + "h1": 6, + "h2": 14, + "N1": 8, + "N2": 15, + "vocabulary": 20, + "length": 23, + "calculated_length": 68.81274391313339, + "volume": 99.40434618240934, + "difficulty": 3.2142857142857144, + "effort": 319.51396987203003, + "time": 17.75077610400167, + "bugs": 0.033134782060803114 + }, + "validate_key_point_confidence": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "validate_keypoint_confidence": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_tracker_id": { + "h1": 5, + "h2": 9, + "N1": 5, + "N2": 9, + "vocabulary": 14, + "length": 14, + "calculated_length": 40.13896548741762, + "volume": 53.30296890880645, + "difficulty": 2.5, + "effort": 133.25742227201613, + "time": 7.403190126223119, + "bugs": 0.017767656302935482 + }, + "validate_tracker_id": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_data": { + "h1": 4, + "h2": 10, + "N1": 7, + "N2": 14, + "vocabulary": 14, + "length": 21, + "calculated_length": 41.219280948873624, + "volume": 79.95445336320968, + "difficulty": 2.8, + "effort": 223.8724694169871, + "time": 12.437359412054839, + "bugs": 0.026651484454403226 + }, + "validate_data": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_xy": { + "h1": 4, + "h2": 8, + "N1": 4, + "N2": 8, + "vocabulary": 12, + "length": 12, + "calculated_length": 32.0, + "volume": 43.01955000865388, + "difficulty": 2.0, + "effort": 86.03910001730776, + "time": 4.779950000961542, + "bugs": 0.014339850002884626 + }, + "validate_xy": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_visible": { + "h1": 6, + "h2": 14, + "N1": 8, + "N2": 15, + "vocabulary": 20, + "length": 23, + "calculated_length": 68.81274391313339, + "volume": 99.40434618240934, + "difficulty": 3.2142857142857144, + "effort": 319.51396987203003, + "time": 17.75077610400167, + "bugs": 0.033134782060803114 + }, + "_validate_detections_fields": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "validate_detections_fields": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_keypoints_fields": { + "h1": 2, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.2, + "effort": 30.319433158222125, + "time": 1.6844129532345624, + "bugs": 0.008422064766172813 + }, + "validate_key_points_fields": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "validate_keypoints_fields": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_resolution": { + "h1": 5, + "h2": 13, + "N1": 8, + "N2": 14, + "vocabulary": 18, + "length": 22, + "calculated_length": 59.715356810271004, + "volume": 91.73835003173087, + "difficulty": 2.6923076923076925, + "effort": 246.98786547004468, + "time": 13.721548081669148, + "bugs": 0.030579450010576957 + }, + "validate_resolution": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + } +} \ No newline at end of file diff --git a/metrics-before-radon/hal_por_arquivo_antes.csv b/metrics-before-radon/hal_por_arquivo_antes.csv new file mode 100644 index 0000000000..4aa930ff4c --- /dev/null +++ b/metrics-before-radon/hal_por_arquivo_antes.csv @@ -0,0 +1,81 @@ +arquivo,escopo,nome,h1,h2,N1,N2,vocabulary,length,calculated_length,volume,difficulty,effort,time,bugs +src/supervision/config.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/base.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/assets/list.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/assets/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/classification/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/base.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/geometry/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/keypoint/annotators.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/keypoint/core.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/keypoint/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/key_points/skeletons.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/key_points/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/core.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/utils/utils.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/utils/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/__init__.py,arquivo,,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/utils.py,arquivo,,3,5,3,5,8,8,16.3645,24.0,1.5,36.0,2.0,0.008 +src/supervision/utils/logger.py,arquivo,,3,5,3,5,8,8,16.3645,24.0,1.5,36.0,2.0,0.008 +src/supervision/assets/downloader.py,arquivo,,3,7,5,7,10,12,24.4064,39.8631,1.5,59.7947,3.3219,0.0133 +src/supervision/utils/iterables.py,arquivo,,4,8,4,8,12,12,32.0,43.0196,2.0,86.0391,4.78,0.0143 +src/supervision/geometry/utils.py,arquivo,,4,10,6,11,14,17,41.2193,64.725,2.2,142.3951,7.9108,0.0216 +src/supervision/utils/file.py,arquivo,,6,10,6,11,16,17,48.7291,68.0,3.3,224.4,12.4667,0.0227 +src/supervision/utils/internal.py,arquivo,,6,15,9,15,21,24,74.1131,105.4156,3.0,316.2469,17.5693,0.0351 +src/supervision/detection/tools/json_sink.py,arquivo,,5,15,9,17,20,26,70.213,112.3701,2.8333,318.382,17.6879,0.0375 +src/supervision/utils/notebook.py,arquivo,,6,15,8,16,21,24,74.1131,105.4156,3.2,337.33,18.7406,0.0351 +src/supervision/detection/tools/transformers.py,arquivo,,4,15,10,20,19,30,66.6034,127.4378,2.6667,339.8342,18.8797,0.0425 +src/supervision/classification/core.py,arquivo,,7,22,13,22,29,35,117.759,170.0293,3.5,595.1027,33.0613,0.0567 +src/supervision/detection/tools/smoother.py,arquivo,,6,19,12,24,25,36,96.2204,167.1788,3.7895,633.5197,35.1955,0.0557 +src/supervision/dataset/utils.py,arquivo,,8,21,11,22,29,33,116.2387,160.3134,4.1905,671.7894,37.3216,0.0534 +src/supervision/detection/tools/csv_sink.py,arquivo,,7,23,15,27,30,42,123.6934,206.0894,4.1087,846.7586,47.0421,0.0687 +src/supervision/detection/utils/vlms.py,arquivo,,7,20,16,31,27,47,106.09,223.4797,5.425,1212.3774,67.3543,0.0745 +src/supervision/detection/tools/polygon_zone.py,arquivo,,8,23,16,31,31,47,128.0419,232.8472,5.3913,1255.3503,69.7417,0.0776 +src/supervision/tracker/byte_tracker/matching.py,arquivo,,9,30,17,34,39,51,175.736,269.5555,5.1,1374.7331,76.3741,0.0899 +src/supervision/dataset/formats/pascal_voc.py,arquivo,,8,33,20,38,41,58,190.465,310.738,4.6061,1431.2781,79.5155,0.1036 +src/supervision/geometry/core.py,arquivo,,5,40,28,56,45,84,224.4868,461.3157,3.5,1614.6048,89.7003,0.1538 +src/supervision/tracker/byte_tracker/kalman_filter.py,arquivo,,4,58,41,82,62,123,347.7629,732.3661,2.8276,2070.8284,115.046,0.2441 +src/supervision/detection/utils/polygons.py,arquivo,,10,26,20,40,36,60,155.4307,310.1955,7.6923,2386.1192,132.5622,0.1034 +src/supervision/tracker/byte_tracker/single_object_track.py,arquivo,,10,53,32,64,63,96,336.7991,573.8189,6.0377,3464.5668,192.4759,0.1913 +src/supervision/dataset/core.py,arquivo,,9,65,43,81,74,124,419.9832,769.9722,5.6077,4317.7673,239.876,0.2567 +src/supervision/dataset/formats/coco.py,arquivo,,15,49,30,56,64,86,333.7241,516.0,8.5714,4422.8571,245.7143,0.172 +src/supervision/tracker/byte_tracker/core.py,arquivo,,12,44,33,62,56,95,283.2345,551.6987,8.4545,4664.3619,259.1312,0.1839 +src/supervision/utils/video.py,arquivo,,13,54,42,74,67,116,358.8696,703.6663,8.9074,6267.8428,348.2135,0.2346 +src/supervision/dataset/formats/yolo.py,arquivo,,14,71,48,87,85,135,489.935,865.2678,8.5775,7421.8039,412.3224,0.2884 +src/supervision/validators/__init__.py,arquivo,,11,113,65,122,124,187,808.734,1300.4347,5.9381,7722.0504,429.0028,0.4335 +src/supervision/metrics/utils/object_size.py,arquivo,,12,77,53,106,89,159,525.5621,1029.6416,8.2597,8504.5723,472.4762,0.3432 +src/supervision/detection/utils/boxes.py,arquivo,,12,77,60,105,89,165,525.5621,1068.496,8.1818,8742.2401,485.68,0.3562 +src/supervision/draw/color.py,arquivo,,13,78,60,110,91,170,538.3671,1106.3251,9.1667,10141.3133,563.4063,0.3688 +src/supervision/detection/utils/masks.py,arquivo,,14,87,61,117,101,178,613.8391,1185.1616,9.4138,11156.8665,619.8259,0.3951 +src/supervision/detection/utils/internal.py,arquivo,,15,96,65,121,111,186,690.7598,1263.7614,9.4531,11946.494,663.6941,0.4213 +src/supervision/draw/utils.py,arquivo,,13,57,57,109,70,166,380.5804,1017.461,12.4298,12646.8615,702.6034,0.3392 +src/supervision/detection/tools/inference_slicer.py,arquivo,,15,99,66,127,114,193,714.9097,1318.7478,9.6212,12687.9521,704.8862,0.4396 +src/supervision/detection/utils/converters.py,arquivo,,17,116,77,148,133,225,865.0127,1587.4385,10.8448,17215.4974,956.4165,0.5291 +src/supervision/metrics/recall.py,arquivo,,15,118,85,163,133,248,870.7552,1749.71,10.3602,18127.2926,1007.0718,0.5832 +src/supervision/metrics/mean_average_recall.py,arquivo,,16,117,85,163,133,248,867.8327,1749.71,11.1453,19501.0419,1083.3912,0.5832 +src/supervision/utils/image.py,arquivo,,16,130,93,177,146,270,976.9078,1941.2526,10.8923,21144.721,1174.7067,0.6471 +src/supervision/metrics/precision.py,arquivo,,16,127,92,177,143,269,951.563,1926.0054,11.1496,21474.2018,1193.0112,0.642 +src/supervision/metrics/f1_score.py,arquivo,,16,132,96,185,148,281,993.86,2025.8564,11.2121,22714.1475,1261.8971,0.6753 +src/supervision/metrics/detection.py,arquivo,,18,137,96,180,155,276,1047.489,2008.2103,11.8248,23746.7208,1319.2623,0.6694 +src/supervision/key_points/core.py,arquivo,,14,153,115,214,167,329,1163.6833,2429.2387,9.7908,23784.3111,1321.3506,0.8097 +src/supervision/detection/vlm.py,arquivo,,16,149,112,207,165,319,1139.6561,2349.8568,11.1141,26116.5291,1450.9183,0.7833 +src/supervision/key_points/annotators.py,arquivo,,18,121,97,180,139,277,912.2411,1971.9467,13.3884,26401.2696,1466.7372,0.6573 +src/supervision/annotators/utils.py,arquivo,,18,135,110,213,153,323,1030.4288,2344.1363,14.2,33286.7351,1849.2631,0.7814 +src/supervision/detection/line_zone.py,arquivo,,19,146,116,219,165,335,1130.425,2467.7179,14.25,35164.9807,1953.61,0.8226 +src/supervision/detection/core.py,arquivo,,18,263,181,347,281,528,2189.2943,4294.9771,11.8745,51000.8117,2833.3784,1.4317 +src/supervision/detection/compact_mask.py,arquivo,,19,207,169,324,226,493,1673.2624,3855.3482,14.8696,57327.3519,3184.8529,1.2851 +src/supervision/detection/utils/iou_and_nms.py,arquivo,,20,337,218,417,357,635,2916.0944,5384.6605,12.3739,66629.1815,3701.6212,1.7949 +src/supervision/metrics/mean_average_precision.py,arquivo,,21,291,224,404,312,628,2474.0374,5203.2326,14.5773,75849.1844,4213.8436,1.7344 +src/supervision/annotators/core.py,arquivo,,22,382,434,825,404,1259,3374.6853,10900.6883,23.7565,258962.6857,14386.8159,3.6336 diff --git a/metrics-before-radon/hal_por_funcao_antes.csv b/metrics-before-radon/hal_por_funcao_antes.csv new file mode 100644 index 0000000000..1fdfcada0c --- /dev/null +++ b/metrics-before-radon/hal_por_funcao_antes.csv @@ -0,0 +1,636 @@ +arquivo,escopo,nome,h1,h2,N1,N2,vocabulary,length,calculated_length,volume,difficulty,effort,time,bugs +src/supervision/annotators/base.py,funcao,annotate,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,_normalize_color_input,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,__init__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/annotators/core.py,funcao,_adjust_labels_in_frame,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/annotators/core.py,funcao,annotate,7,25,19,35,32,54,135.7479,270.0,4.9,1323.0,73.5,0.09 +src/supervision/annotators/core.py,funcao,_paint_masks_by_area,4,12,11,22,16,33,51.0196,132.0,3.6667,484.0,26.8889,0.044 +src/supervision/annotators/core.py,funcao,_get_label_properties,5,20,14,27,25,41,98.0482,190.3981,3.375,642.5936,35.6996,0.0635 +src/supervision/annotators/core.py,funcao,_draw_labels,6,24,22,43,30,65,125.5489,318.9479,5.375,1714.3449,95.2414,0.1063 +src/supervision/annotators/core.py,funcao,draw_rounded_rectangle,4,8,17,32,12,49,32.0,175.6632,8.0,1405.3053,78.0725,0.0586 +src/supervision/annotators/core.py,funcao,_load_font,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/annotators/core.py,funcao,_load_icon,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/annotators/core.py,funcao,calculate_border_coordinates,5,30,47,94,35,141,158.8164,723.2289,7.8333,5665.2931,314.7385,0.2411 +src/supervision/annotators/core.py,funcao,_validate_custom_values,4,10,7,11,14,18,41.2193,68.5324,2.2,150.7713,8.3762,0.0228 +src/supervision/annotators/core.py,funcao,validate_custom_values,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,calculate_crop_coordinates,5,30,47,94,35,141,158.8164,723.2289,7.8333,5665.2931,314.7385,0.2411 +src/supervision/annotators/core.py,funcao,_use_obb,4,13,9,17,17,26,56.1057,106.274,2.6154,277.9475,15.4415,0.0354 +src/supervision/annotators/core.py,funcao,_use_mask,4,13,9,17,17,26,56.1057,106.274,2.6154,277.9475,15.4415,0.0354 +src/supervision/annotators/core.py,funcao,_mask_from_xyxy,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/annotators/core.py,funcao,_mask_from_obb,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/annotators/core.py,funcao,_mask_from_mask,2,3,2,4,5,6,6.7549,13.9316,1.3333,18.5754,1.032,0.0046 +src/supervision/annotators/utils.py,funcao,list,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/utils.py,funcao,resolve_color_idx,4,11,7,14,15,21,46.0537,82.0447,2.5455,208.8411,11.6023,0.0273 +src/supervision/annotators/utils.py,funcao,resolve_text_background_xyxy,5,30,47,94,35,141,158.8164,723.2289,7.8333,5665.2931,314.7385,0.2411 +src/supervision/annotators/utils.py,funcao,get_color_by_index,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/utils.py,funcao,resolve_color,2,7,3,7,9,10,21.6515,31.6993,1.0,31.6993,1.7611,0.0106 +src/supervision/annotators/utils.py,funcao,wrap_text,5,13,8,14,18,22,59.7154,91.7384,2.6923,246.9879,13.7215,0.0306 +src/supervision/annotators/utils.py,funcao,_validate_labels,3,6,3,6,9,9,20.2647,28.5293,1.5,42.794,2.3774,0.0095 +src/supervision/annotators/utils.py,funcao,validate_labels,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/utils.py,funcao,get_labels_text,2,5,3,6,7,9,13.6096,25.2662,1.2,30.3194,1.6844,0.0084 +src/supervision/annotators/utils.py,funcao,snap_boxes,6,23,14,26,29,40,119.5517,194.3192,3.3913,658.9957,36.6109,0.0648 +src/supervision/annotators/utils.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/utils.py,funcao,put,7,12,9,17,19,26,62.671,110.4461,4.9583,547.6287,30.4238,0.0368 +src/supervision/annotators/utils.py,funcao,get,1,1,1,2,2,3,0,3.0,1.0,3.0,0.1667,0.001 +src/supervision/annotators/utils.py,funcao,hex_to_rgba,3,6,3,6,9,9,20.2647,28.5293,1.5,42.794,2.3774,0.0095 +src/supervision/annotators/utils.py,funcao,rgba_to_hex,4,8,5,8,12,13,32.0,46.6045,2.0,93.209,5.1783,0.0155 +src/supervision/annotators/utils.py,funcao,is_valid_hex,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/utils.py,funcao,calculate_dynamic_kernel_size,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/annotators/utils.py,funcao,calculate_dynamic_pixel_size,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/assets/downloader.py,funcao,is_md5_hash_matching,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/assets/downloader.py,funcao,download_assets,2,4,3,4,6,7,10.0,18.0947,1.0,18.0947,1.0053,0.006 +src/supervision/assets/list.py,funcao,__new__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/assets/list.py,funcao,list,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/classification/core.py,funcao,_validate_class_ids,3,5,3,5,8,8,16.3645,24.0,1.5,36.0,2.0,0.008 +src/supervision/classification/core.py,funcao,_validate_confidence,4,7,4,7,11,11,27.6515,38.0537,2.0,76.1075,4.2282,0.0127 +src/supervision/classification/core.py,funcao,__post_init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/classification/core.py,funcao,__len__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/classification/core.py,funcao,from_clip,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/classification/core.py,funcao,from_ultralytics,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/classification/core.py,funcao,from_timm,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/classification/core.py,funcao,get_top_k,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/dataset/core.py,funcao,__len__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/core.py,funcao,split,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/dataset/core.py,funcao,__init__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/core.py,funcao,_get_image,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/core.py,funcao,__getitem__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/core.py,funcao,__iter__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/core.py,funcao,__eq__,3,7,6,10,10,16,24.4064,53.1508,2.1429,113.8947,6.3275,0.0177 +src/supervision/dataset/core.py,funcao,merge,6,15,9,16,21,25,74.1131,109.8079,3.2,351.3854,19.5214,0.0366 +src/supervision/dataset/core.py,funcao,as_pascal_voc,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/core.py,funcao,from_pascal_voc,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/core.py,funcao,from_yolo,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/core.py,funcao,as_yolo,4,14,8,17,18,25,61.303,104.2481,2.4286,253.174,14.0652,0.0347 +src/supervision/dataset/core.py,funcao,from_coco,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/core.py,funcao,as_coco,1,3,2,4,4,6,4.7549,12.0,0.6667,8.0,0.4444,0.004 +src/supervision/dataset/core.py,funcao,as_folder_structure,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/core.py,funcao,from_folder_structure,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/utils.py,funcao,mask_to_rle,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/utils.py,funcao,rle_to_mask,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/utils.py,funcao,approximate_mask_with_polygons,2,7,4,8,9,12,21.6515,38.0391,1.1429,43.4733,2.4152,0.0127 +src/supervision/dataset/utils.py,funcao,merge_class_lists,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/utils.py,funcao,build_class_index_mapping,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/utils.py,funcao,map_detections_class_id,3,6,3,6,9,9,20.2647,28.5293,1.5,42.794,2.3774,0.0095 +src/supervision/dataset/utils.py,funcao,save_dataset_images,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/utils.py,funcao,train_test_split,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/dataset/formats/coco.py,funcao,coco_categories_to_classes,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/coco.py,funcao,build_coco_class_index_mapping,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/coco.py,funcao,classes_to_coco_categories,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/formats/coco.py,funcao,group_coco_annotations_by_image_id,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/formats/coco.py,funcao,coco_annotations_to_masks,4,7,5,7,11,12,27.6515,41.5132,2.0,83.0264,4.6126,0.0138 +src/supervision/dataset/formats/coco.py,funcao,coco_annotations_to_detections,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/dataset/formats/coco.py,funcao,detections_to_coco_annotations,9,22,13,26,31,39,126.6368,193.2137,5.3182,1027.5454,57.0859,0.0644 +src/supervision/dataset/formats/coco.py,funcao,get_coco_class_index_mapping,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/coco.py,funcao,load_coco_annotations,4,7,4,8,11,12,27.6515,41.5132,2.2857,94.8873,5.2715,0.0138 +src/supervision/dataset/formats/coco.py,funcao,_with_seg_mask,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/coco.py,funcao,save_coco_annotations,3,6,4,8,9,12,20.2647,38.0391,2.0,76.0782,4.2266,0.0127 +src/supervision/dataset/formats/pascal_voc.py,funcao,object_to_pascal_voc,2,4,3,6,6,9,10.0,23.2647,1.5,34.897,1.9387,0.0078 +src/supervision/dataset/formats/pascal_voc.py,funcao,detections_to_pascal_voc,3,4,3,5,7,8,12.7549,22.4588,1.875,42.1103,2.3395,0.0075 +src/supervision/dataset/formats/pascal_voc.py,funcao,load_pascal_voc_annotations,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/dataset/formats/pascal_voc.py,funcao,detections_from_xml_obj,5,11,6,12,16,18,49.6634,72.0,2.7273,196.3636,10.9091,0.024 +src/supervision/dataset/formats/pascal_voc.py,funcao,_with_poly_mask,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/formats/pascal_voc.py,funcao,parse_polygon_points,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/dataset/formats/pascal_voc.py,funcao,_get_required_text,2,5,3,6,7,9,13.6096,25.2662,1.2,30.3194,1.6844,0.0084 +src/supervision/dataset/formats/yolo.py,funcao,_parse_box,3,13,8,16,16,24,52.8606,96.0,1.8462,177.2308,9.8462,0.032 +src/supervision/dataset/formats/yolo.py,funcao,_box_to_polygon,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/yolo.py,funcao,_parse_polygon,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/dataset/formats/yolo.py,funcao,_polygons_to_masks,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/yolo.py,funcao,_with_seg_mask,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/formats/yolo.py,funcao,_extract_class_names,2,5,4,5,7,9,13.6096,25.2662,1.0,25.2662,1.4037,0.0084 +src/supervision/dataset/formats/yolo.py,funcao,_image_name_to_annotation_name,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/formats/yolo.py,funcao,yolo_annotations_to_detections,5,13,8,14,18,22,59.7154,91.7384,2.6923,246.9879,13.7215,0.0306 +src/supervision/dataset/formats/yolo.py,funcao,load_yolo_annotations,4,8,6,10,12,16,32.0,57.3594,2.5,143.3985,7.9666,0.0191 +src/supervision/dataset/formats/yolo.py,funcao,object_to_yolo,5,13,10,19,18,29,59.7154,120.9278,3.6538,441.8517,24.5473,0.0403 +src/supervision/dataset/formats/yolo.py,funcao,detections_to_yolo_annotations,7,14,9,18,21,27,72.9545,118.5926,4.5,533.6666,29.6481,0.0395 +src/supervision/dataset/formats/yolo.py,funcao,save_yolo_annotations,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/yolo.py,funcao,save_data_yaml,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,_rle_area,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,_rle_split_cols,8,19,21,40,27,61,104.7106,290.0481,8.4211,2442.5106,135.695,0.0967 +src/supervision/detection/compact_mask.py,funcao,_rle_scale_col,6,14,13,24,20,37,68.8127,159.9113,5.1429,822.4012,45.689,0.0533 +src/supervision/detection/compact_mask.py,funcao,_rle_join_cols,8,16,12,20,24,32,88.0,146.7188,5.0,733.594,40.7552,0.0489 +src/supervision/detection/compact_mask.py,funcao,_rle_resize,6,25,16,32,31,48,131.6062,237.8014,3.84,913.1575,50.731,0.0793 +src/supervision/detection/compact_mask.py,funcao,_resize_crop,4,10,5,10,14,15,41.2193,57.1103,2.0,114.2206,6.3456,0.019 +src/supervision/detection/compact_mask.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,from_dense,5,13,14,28,18,42,59.7154,175.1369,5.3846,943.0446,52.3914,0.0584 +src/supervision/detection/compact_mask.py,funcao,to_dense,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/detection/compact_mask.py,funcao,crop,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,__len__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,__iter__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,shape,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,offsets,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,bbox_xyxy,3,9,5,10,12,15,33.2842,53.7744,1.6667,89.6241,4.9791,0.0179 +src/supervision/detection/compact_mask.py,funcao,dtype,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,area,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,sum,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/compact_mask.py,funcao,__getitem__,3,10,5,10,13,15,37.9742,55.5066,1.5,83.2599,4.6255,0.0185 +src/supervision/detection/compact_mask.py,funcao,__array__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/compact_mask.py,funcao,__eq__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,merge,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/detection/compact_mask.py,funcao,repack,5,12,12,21,17,33,54.6292,134.8863,4.375,590.1274,32.7849,0.045 +src/supervision/detection/compact_mask.py,funcao,with_offset,10,37,35,68,47,103,225.9691,572.1227,9.1892,5257.3433,292.0746,0.1907 +src/supervision/detection/compact_mask.py,funcao,resize,8,31,25,50,39,75,177.5801,396.4052,6.4516,2557.4527,142.0807,0.1321 +src/supervision/detection/core.py,funcao,__post_init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,__len__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,__iter__,1,5,4,8,6,12,11.6096,31.0196,0.8,24.8156,1.3786,0.0103 +src/supervision/detection/core.py,funcao,__eq__,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/detection/core.py,funcao,from_yolov5,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,from_ultralytics,3,10,8,16,13,24,37.9742,88.8106,2.4,213.1453,11.8414,0.0296 +src/supervision/detection/core.py,funcao,from_yolo_nas,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,from_tensorflow,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/detection/core.py,funcao,from_deepsparse,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,from_mmdetection,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,from_transformers,3,11,7,14,14,21,42.8086,79.9545,1.9091,152.6403,8.48,0.0267 +src/supervision/detection/core.py,funcao,from_detectron2,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,from_inference,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,from_sam,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,from_sam3,4,13,11,18,17,29,56.1057,118.5364,2.7692,328.2547,18.2364,0.0395 +src/supervision/detection/core.py,funcao,from_azure_analyze_image,7,14,10,20,21,30,72.9545,131.7695,5.0,658.8476,36.6026,0.0439 +src/supervision/detection/core.py,funcao,from_paddledet,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,from_lmm,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,from_vlm,3,16,12,24,19,36,68.7549,152.9254,2.25,344.0821,19.1157,0.051 +src/supervision/detection/core.py,funcao,from_easyocr,3,6,3,6,9,9,20.2647,28.5293,1.5,42.794,2.3774,0.0095 +src/supervision/detection/core.py,funcao,from_ncnn,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,empty,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,is_empty,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,merge,3,8,5,9,11,14,28.7549,48.432,1.6875,81.7291,4.5405,0.0161 +src/supervision/detection/core.py,funcao,get_anchors_coordinates,4,32,23,46,36,69,168.0,356.7248,2.875,1025.5839,56.9769,0.1189 +src/supervision/detection/core.py,funcao,__getitem__,2,7,5,10,9,15,21.6515,47.5489,1.4286,67.927,3.7737,0.0158 +src/supervision/detection/core.py,funcao,__setitem__,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/detection/core.py,funcao,area,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/core.py,funcao,box_area,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/detection/core.py,funcao,box_aspect_ratio,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/detection/core.py,funcao,with_nms,4,9,8,13,13,21,36.5293,77.7092,2.8889,224.4933,12.4719,0.0259 +src/supervision/detection/core.py,funcao,with_nmm,4,9,8,13,13,21,36.5293,77.7092,2.8889,224.4933,12.4719,0.0259 +src/supervision/detection/core.py,funcao,_merge_obb_corners,3,7,5,8,10,13,24.4064,43.1851,1.7143,74.0315,4.1129,0.0144 +src/supervision/detection/core.py,funcao,_merge_detection_group,9,22,13,26,31,39,126.6368,193.2137,5.3182,1027.5454,57.0859,0.0644 +src/supervision/detection/core.py,funcao,merge_inner_detection_object_pair,10,36,26,52,46,78,219.3366,430.8378,7.2222,3111.6066,172.867,0.1436 +src/supervision/detection/core.py,funcao,merge_inner_detections_objects,3,6,4,8,9,12,20.2647,38.0391,2.0,76.0782,4.2266,0.0127 +src/supervision/detection/core.py,funcao,merge_inner_detections_objects_without_iou,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,_validate_fields_both_defined_or_none,2,5,3,6,7,9,13.6096,25.2662,1.2,30.3194,1.6844,0.0084 +src/supervision/detection/core.py,funcao,validate_fields_both_defined_or_none,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/line_zone.py,funcao,__init__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/line_zone.py,funcao,in_count,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/line_zone.py,funcao,out_count,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/line_zone.py,funcao,in_count_per_class,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/line_zone.py,funcao,out_count_per_class,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/line_zone.py,funcao,trigger,10,17,11,21,27,32,102.7061,152.1564,6.1765,939.7895,52.2105,0.0507 +src/supervision/detection/line_zone.py,funcao,_calculate_region_of_interest_limits,5,9,10,19,14,29,40.139,110.4133,5.2778,582.7368,32.3743,0.0368 +src/supervision/detection/line_zone.py,funcao,_compute_anchor_sides,5,10,7,13,15,20,44.8289,78.1378,3.25,253.9479,14.1082,0.026 +src/supervision/detection/line_zone.py,funcao,_update_class_id_to_name,3,5,5,10,8,15,16.3645,45.0,3.0,135.0,7.5,0.015 +src/supervision/detection/line_zone.py,funcao,annotate,7,32,28,54,39,82,179.6515,433.403,5.9062,2559.7864,142.2104,0.1445 +src/supervision/detection/line_zone.py,funcao,_get_line_angle,5,10,8,16,15,24,44.8289,93.7654,4.0,375.0615,20.8367,0.0313 +src/supervision/detection/line_zone.py,funcao,_calculate_anchor_in_frame,5,30,20,40,35,60,158.8164,307.757,3.3333,1025.8566,56.992,0.1026 +src/supervision/detection/line_zone.py,funcao,_draw_basic_label,3,5,4,8,8,12,16.3645,36.0,2.4,86.4,4.8,0.012 +src/supervision/detection/line_zone.py,funcao,_draw_oriented_label,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/line_zone.py,funcao,_make_label_image,6,13,10,17,19,27,63.6155,114.694,3.9231,449.9536,24.9974,0.0382 +src/supervision/detection/vlm.py,funcao,list,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/vlm.py,funcao,from_value,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/vlm.py,funcao,_validate_vlm_parameters,2,4,3,5,6,8,10.0,20.6797,1.25,25.8496,1.4361,0.0069 +src/supervision/detection/vlm.py,funcao,validate_vlm_parameters,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/vlm.py,funcao,from_paligemma,6,10,6,12,16,18,48.7291,72.0,3.6,259.2,14.4,0.024 +src/supervision/detection/vlm.py,funcao,recover_truncated_qwen_2_5_vl_response,3,11,12,20,14,32,42.8086,121.8354,2.7273,332.2782,18.4599,0.0406 +src/supervision/detection/vlm.py,funcao,from_qwen_2_5_vl,12,23,18,33,35,51,147.0615,261.5934,8.6087,2251.9783,125.1099,0.0872 +src/supervision/detection/vlm.py,funcao,from_qwen_3_vl,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/vlm.py,funcao,from_deepseek_vl_2,5,16,11,22,21,33,75.6096,144.9465,3.4375,498.2535,27.6808,0.0483 +src/supervision/detection/vlm.py,funcao,from_florence_2,7,18,14,26,25,40,94.7101,185.7542,5.0556,939.0909,52.1717,0.0619 +src/supervision/detection/vlm.py,funcao,from_google_gemini_2_0,7,17,10,19,24,29,89.1384,132.9639,3.9118,520.1235,28.8958,0.0443 +src/supervision/detection/vlm.py,funcao,from_google_gemini_2_5,11,36,29,54,47,83,224.171,461.0309,8.25,3803.5047,211.3058,0.1537 +src/supervision/detection/vlm.py,funcao,from_moondream,6,14,9,16,20,25,68.8127,108.0482,3.4286,370.451,20.5806,0.036 +src/supervision/detection/tools/csv_sink.py,funcao,writerow,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/csv_sink.py,funcao,__init__,1,3,2,4,4,6,4.7549,12.0,0.6667,8.0,0.4444,0.004 +src/supervision/detection/tools/csv_sink.py,funcao,__enter__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/csv_sink.py,funcao,__exit__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/csv_sink.py,funcao,open,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/detection/tools/csv_sink.py,funcao,close,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/csv_sink.py,funcao,_slice_value,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/detection/tools/csv_sink.py,funcao,parse_detection_data,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/detection/tools/csv_sink.py,funcao,append,2,3,3,4,5,7,6.7549,16.2535,1.3333,21.6713,1.204,0.0054 +src/supervision/detection/tools/csv_sink.py,funcao,parse_field_names,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/tools/inference_slicer.py,funcao,move_detections,3,5,3,6,8,9,16.3645,27.0,1.8,48.6,2.7,0.009 +src/supervision/detection/tools/inference_slicer.py,funcao,__init__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/inference_slicer.py,funcao,__call__,9,20,16,30,29,46,114.9679,223.4671,6.75,1508.4031,83.8002,0.0745 +src/supervision/detection/tools/inference_slicer.py,funcao,_run_callback,7,27,15,31,34,46,148.0334,234.0233,4.0185,940.4269,52.2459,0.078 +src/supervision/detection/tools/inference_slicer.py,funcao,_normalize_slice_wh,4,10,6,12,14,18,41.2193,68.5324,2.4,164.4777,9.1377,0.0228 +src/supervision/detection/tools/inference_slicer.py,funcao,_normalize_overlap_wh,4,10,6,12,14,18,41.2193,68.5324,2.4,164.4777,9.1377,0.0228 +src/supervision/detection/tools/inference_slicer.py,funcao,_generate_offset,8,16,13,22,24,35,88.0,160.4737,5.5,882.6053,49.0336,0.0535 +src/supervision/detection/tools/inference_slicer.py,funcao,_validate_overlap,3,9,6,12,12,18,33.2842,64.5293,2.0,129.0587,7.1699,0.0215 +src/supervision/detection/tools/json_sink.py,funcao,__init__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/json_sink.py,funcao,__enter__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/json_sink.py,funcao,__exit__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/json_sink.py,funcao,open,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/detection/tools/json_sink.py,funcao,_json_default,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/json_sink.py,funcao,write_and_close,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/json_sink.py,funcao,_slice_value,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/detection/tools/json_sink.py,funcao,parse_detection_data,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/detection/tools/json_sink.py,funcao,append,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,trigger,5,15,11,22,20,33,70.213,142.6236,3.6667,522.9533,29.053,0.0475 +src/supervision/detection/tools/polygon_zone.py,funcao,annotate,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/tools/smoother.py,funcao,__init__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/smoother.py,funcao,update_with_detections,2,4,3,6,6,9,10.0,23.2647,1.5,34.897,1.9387,0.0078 +src/supervision/detection/tools/smoother.py,funcao,get_track,3,6,4,8,9,12,20.2647,38.0391,2.0,76.0782,4.2266,0.0127 +src/supervision/detection/tools/smoother.py,funcao,get_smoothed_detections,4,7,4,8,11,12,27.6515,41.5132,2.2857,94.8873,5.2715,0.0138 +src/supervision/detection/tools/transformers.py,funcao,process_transformers_detection_result,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/transformers.py,funcao,process_transformers_v4_segmentation_result,2,4,4,8,6,12,10.0,31.0196,2.0,62.0391,3.4466,0.0103 +src/supervision/detection/tools/transformers.py,funcao,process_transformers_v5_segmentation_result,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/transformers.py,funcao,process_transformers_v5_semantic_or_instance_segmentation_result,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/transformers.py,funcao,process_transformers_v4_panoptic_segmentation_result,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/transformers.py,funcao,process_transformers_v5_panoptic_segmentation_result,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/transformers.py,funcao,png_string_to_segmentation_array,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/transformers.py,funcao,append_class_names_to_data,2,3,2,4,5,6,6.7549,13.9316,1.3333,18.5754,1.032,0.0046 +src/supervision/detection/utils/boxes.py,funcao,clip_boxes,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/boxes.py,funcao,pad_boxes,3,6,3,6,9,9,20.2647,28.5293,1.5,42.794,2.3774,0.0095 +src/supervision/detection/utils/boxes.py,funcao,denormalize_boxes,2,7,4,8,9,12,21.6515,38.0391,1.1429,43.4733,2.4152,0.0127 +src/supervision/detection/utils/boxes.py,funcao,move_boxes,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/utils/boxes.py,funcao,move_oriented_boxes,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/utils/boxes.py,funcao,obb_polygon_area,5,16,13,20,21,33,75.6096,144.9465,3.125,452.9577,25.1643,0.0483 +src/supervision/detection/utils/boxes.py,funcao,xyxyxyxy_to_xyxy,3,8,9,12,11,21,28.7549,72.6481,2.25,163.4581,9.081,0.0242 +src/supervision/detection/utils/boxes.py,funcao,scale_boxes,4,12,8,16,16,24,51.0196,96.0,2.6667,256.0,14.2222,0.032 +src/supervision/detection/utils/boxes.py,funcao,spread_out_boxes,10,24,21,39,34,60,143.2584,305.2478,8.125,2480.1381,137.7855,0.1017 +src/supervision/detection/utils/converters.py,funcao,xyxy_to_polygons,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/converters.py,funcao,polygon_to_mask,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/converters.py,funcao,xywh_to_xyxy,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/detection/utils/converters.py,funcao,xyxy_to_xywh,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/detection/utils/converters.py,funcao,xcycwh_to_xyxy,3,13,8,16,16,24,52.8606,96.0,1.8462,177.2308,9.8462,0.032 +src/supervision/detection/utils/converters.py,funcao,xyxy_to_xcycarh,5,11,8,16,16,24,49.6634,96.0,3.6364,349.0909,19.3939,0.032 +src/supervision/detection/utils/converters.py,funcao,mask_to_xyxy,4,10,8,13,14,21,41.2193,79.9545,2.6,207.8816,11.549,0.0267 +src/supervision/detection/utils/converters.py,funcao,xyxy_to_mask,4,9,7,14,13,21,36.5293,77.7092,3.1111,241.7621,13.4312,0.0259 +src/supervision/detection/utils/converters.py,funcao,mask_to_polygons,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/utils/converters.py,funcao,_base48_decode,11,23,17,32,34,49,142.0957,249.2857,7.6522,1907.5774,105.9765,0.0831 +src/supervision/detection/utils/converters.py,funcao,_base48_encode,6,10,8,15,16,23,48.7291,92.0,4.5,414.0,23.0,0.0307 +src/supervision/detection/utils/converters.py,funcao,_delta_decode,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/utils/converters.py,funcao,_delta_encode,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/detection/utils/converters.py,funcao,is_compressed_rle,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/converters.py,funcao,_mask_to_rle_counts,3,5,3,6,8,9,16.3645,27.0,1.8,48.6,2.7,0.009 +src/supervision/detection/utils/converters.py,funcao,_rle_counts_to_mask,5,9,5,10,14,15,40.139,57.1103,2.7778,158.6398,8.8133,0.019 +src/supervision/detection/utils/converters.py,funcao,rle_to_mask,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/utils/converters.py,funcao,mask_to_rle,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/utils/converters.py,funcao,polygon_to_xyxy,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/internal.py,funcao,extract_ultralytics_masks,5,22,13,25,27,38,109.7171,180.6857,2.8409,513.3117,28.5173,0.0602 +src/supervision/detection/utils/internal.py,funcao,process_roboflow_result,12,34,27,51,46,78,215.9933,430.8378,9.0,3877.5405,215.4189,0.1436 +src/supervision/detection/utils/internal.py,funcao,is_data_equal,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/utils/internal.py,funcao,is_metadata_equal,2,8,4,8,10,12,26.0,39.8631,1.0,39.8631,2.2146,0.0133 +src/supervision/detection/utils/internal.py,funcao,merge_data,3,7,6,10,10,16,24.4064,53.1508,2.1429,113.8947,6.3275,0.0177 +src/supervision/detection/utils/internal.py,funcao,merge_metadata,6,13,8,13,19,21,63.6155,89.2065,3.0,267.6194,14.8677,0.0297 +src/supervision/detection/utils/internal.py,funcao,get_data_item,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/utils/internal.py,funcao,cross_product,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/detection/utils/iou_and_nms.py,funcao,list,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/iou_and_nms.py,funcao,from_value,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/iou_and_nms.py,funcao,box_iou,6,27,15,30,33,45,143.8917,226.9977,3.3333,756.6591,42.0366,0.0757 +src/supervision/detection/utils/iou_and_nms.py,funcao,box_iou_batch,6,27,15,30,33,45,143.8917,226.9977,3.3333,756.6591,42.0366,0.0757 +src/supervision/detection/utils/iou_and_nms.py,funcao,_jaccard,4,34,19,38,38,57,180.9737,299.1319,2.2353,668.6477,37.1471,0.0997 +src/supervision/detection/utils/iou_and_nms.py,funcao,box_iou_batch_with_jaccard,2,7,4,8,9,12,21.6515,38.0391,1.1429,43.4733,2.4152,0.0127 +src/supervision/detection/utils/iou_and_nms.py,funcao,_polygon_areas,3,9,6,10,12,16,33.2842,57.3594,1.6667,95.599,5.3111,0.0191 +src/supervision/detection/utils/iou_and_nms.py,funcao,_aabb_envelopes,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/iou_and_nms.py,funcao,_overlapping_envelope_pairs,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/detection/utils/iou_and_nms.py,funcao,oriented_box_iou_batch,12,30,21,40,42,61,190.2263,328.9314,8.0,2631.4509,146.1917,0.1096 +src/supervision/detection/utils/iou_and_nms.py,funcao,compact_mask_iou_batch,9,37,28,56,46,84,221.2791,463.9792,6.8108,3160.0746,175.5597,0.1547 +src/supervision/detection/utils/iou_and_nms.py,funcao,_mask_iou_batch_split,7,16,9,18,23,27,83.6515,122.1362,3.9375,480.9112,26.7173,0.0407 +src/supervision/detection/utils/iou_and_nms.py,funcao,mask_iou_batch,11,40,29,57,51,86,250.9309,487.8286,7.8375,3823.3565,212.4087,0.1626 +src/supervision/detection/utils/iou_and_nms.py,funcao,mask_non_max_suppression,6,11,10,18,17,28,53.5635,114.449,4.9091,561.8403,31.2134,0.0381 +src/supervision/detection/utils/iou_and_nms.py,funcao,_prepare_predictions_for_nms,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/utils/iou_and_nms.py,funcao,_nms_loop_from_iou_matrix,6,12,7,12,18,19,58.5293,79.2286,3.0,237.6857,13.2048,0.0264 +src/supervision/detection/utils/iou_and_nms.py,funcao,box_non_max_suppression,1,3,2,3,4,5,4.7549,10.0,0.5,5.0,0.2778,0.0033 +src/supervision/detection/utils/iou_and_nms.py,funcao,_group_overlapping_masks,6,9,8,12,15,20,44.0391,78.1378,4.0,312.5512,17.364,0.026 +src/supervision/detection/utils/iou_and_nms.py,funcao,mask_non_max_merge,1,6,3,6,7,9,15.5098,25.2662,0.5,12.6331,0.7018,0.0084 +src/supervision/detection/utils/iou_and_nms.py,funcao,_greedy_nmm_via_iou_callback,5,7,6,9,12,15,31.2611,53.7744,3.2143,172.8464,9.6026,0.0179 +src/supervision/detection/utils/iou_and_nms.py,funcao,_non_max_merge_per_category,1,6,3,6,7,9,15.5098,25.2662,0.5,12.6331,0.7018,0.0084 +src/supervision/detection/utils/iou_and_nms.py,funcao,_group_overlapping_boxes,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/utils/iou_and_nms.py,funcao,box_non_max_merge,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/iou_and_nms.py,funcao,oriented_box_non_max_suppression,6,23,14,27,29,41,119.5517,199.1772,3.5217,701.4502,38.9695,0.0664 +src/supervision/detection/utils/iou_and_nms.py,funcao,_group_overlapping_oriented_boxes,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/iou_and_nms.py,funcao,oriented_box_non_max_merge,6,23,14,27,29,41,119.5517,199.1772,3.5217,701.4502,38.9695,0.0664 +src/supervision/detection/utils/masks.py,funcao,move_masks,6,27,17,32,33,49,143.8917,247.1753,3.5556,878.8456,48.8248,0.0824 +src/supervision/detection/utils/masks.py,funcao,calculate_masks_centroids,3,16,12,24,19,36,68.7549,152.9254,2.25,344.0821,19.1157,0.051 +src/supervision/detection/utils/masks.py,funcao,contains_holes,3,5,3,5,8,8,16.3645,24.0,1.5,36.0,2.0,0.008 +src/supervision/detection/utils/masks.py,funcao,contains_multiple_segments,3,7,4,8,10,12,24.4064,39.8631,1.7143,68.3368,3.7965,0.0133 +src/supervision/detection/utils/masks.py,funcao,resize_masks,3,5,6,12,8,18,16.3645,54.0,3.6,194.4,10.8,0.018 +src/supervision/detection/utils/masks.py,funcao,filter_segments_by_distance,9,27,19,36,36,55,156.9113,284.3459,6.0,1706.0753,94.782,0.0948 +src/supervision/detection/utils/polygons.py,funcao,filter_polygons_by_area,5,12,10,20,17,30,54.6292,122.6239,4.1667,510.9329,28.3852,0.0409 +src/supervision/detection/utils/polygons.py,funcao,approximate_polygon,8,14,10,20,22,30,77.303,133.7829,5.7143,764.474,42.4708,0.0446 +src/supervision/detection/utils/vlms.py,funcao,edit_distance,6,18,15,29,24,44,90.5684,201.7384,4.8333,975.0687,54.1705,0.0672 +src/supervision/detection/utils/vlms.py,funcao,fuzzy_match_index,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/draw/color.py,funcao,_validate_color_hex,3,5,3,5,8,8,16.3645,24.0,1.5,36.0,2.0,0.008 +src/supervision/draw/color.py,funcao,from_hex,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,from_rgb_tuple,3,9,8,13,12,21,33.2842,75.2842,2.1667,163.1158,9.062,0.0251 +src/supervision/draw/color.py,funcao,from_bgr_tuple,3,9,8,13,12,21,33.2842,75.2842,2.1667,163.1158,9.062,0.0251 +src/supervision/draw/color.py,funcao,from_rgba_tuple,3,11,10,17,14,27,42.8086,102.7986,2.3182,238.3058,13.2392,0.0343 +src/supervision/draw/color.py,funcao,from_bgra_tuple,3,11,10,17,14,27,42.8086,102.7986,2.3182,238.3058,13.2392,0.0343 +src/supervision/draw/color.py,funcao,as_hex,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/draw/color.py,funcao,as_rgb,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,as_bgr,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,as_rgba,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,as_bgra,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,WHITE,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,BLACK,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,GREY,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,RED,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,GREEN,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,BLUE,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,YELLOW,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,ROBOFLOW,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,__hash__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,__repr__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/draw/color.py,funcao,__eq__,2,9,5,13,11,18,30.5293,62.2698,1.4444,89.9452,4.997,0.0208 +src/supervision/draw/color.py,funcao,DEFAULT,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,LEGACY,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,from_matplotlib,3,8,5,10,11,15,28.7549,51.8915,1.875,97.2965,5.4054,0.0173 +src/supervision/draw/color.py,funcao,by_idx,2,3,2,4,5,6,6.7549,13.9316,1.3333,18.5754,1.032,0.0046 +src/supervision/draw/color.py,funcao,__len__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,unify_to_bgr,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/utils.py,funcao,draw_line,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/utils.py,funcao,draw_rectangle,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/utils.py,funcao,draw_filled_rectangle,3,2,4,6,5,10,6.7549,23.2193,4.5,104.4868,5.8048,0.0077 +src/supervision/draw/utils.py,funcao,draw_rounded_rectangle,4,8,17,32,12,49,32.0,175.6632,8.0,1405.3053,78.0725,0.0586 +src/supervision/draw/utils.py,funcao,draw_polygon,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/utils.py,funcao,draw_filled_polygon,2,2,2,4,4,6,4.0,12.0,2.0,24.0,1.3333,0.004 +src/supervision/draw/utils.py,funcao,draw_text,4,11,9,18,15,27,46.0537,105.486,3.2727,345.2271,19.1793,0.0352 +src/supervision/draw/utils.py,funcao,draw_image,10,30,23,45,40,68,180.426,361.8911,7.5,2714.1833,150.788,0.1206 +src/supervision/draw/utils.py,funcao,calculate_optimal_text_scale,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/draw/utils.py,funcao,calculate_optimal_line_thickness,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/geometry/core.py,funcao,list,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/geometry/core.py,funcao,as_xy_int_tuple,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/geometry/core.py,funcao,as_xy_float_tuple,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/geometry/core.py,funcao,magnitude,3,7,5,10,10,15,24.4064,49.8289,2.1429,106.7763,5.932,0.0166 +src/supervision/geometry/core.py,funcao,center,2,5,4,8,7,12,13.6096,33.6883,1.6,53.9012,2.9945,0.0112 +src/supervision/geometry/core.py,funcao,cross_product,2,8,7,14,10,21,26.0,69.7605,1.75,122.0809,6.7823,0.0233 +src/supervision/geometry/core.py,funcao,from_xyxy,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/geometry/core.py,funcao,top_left,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/geometry/core.py,funcao,bottom_right,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/geometry/core.py,funcao,pad,3,8,6,12,11,18,28.7549,62.2698,2.25,140.107,7.7837,0.0208 +src/supervision/geometry/core.py,funcao,as_xyxy_int_tuple,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/geometry/utils.py,funcao,get_polygon_center,4,10,6,11,14,17,41.2193,64.725,2.2,142.3951,7.9108,0.0216 +src/supervision/key_points/annotators.py,funcao,annotate,4,8,6,9,12,15,32.0,53.7744,2.25,120.9925,6.7218,0.0179 +src/supervision/key_points/annotators.py,funcao,__init__,1,3,2,4,4,6,4.7549,12.0,0.6667,8.0,0.4444,0.004 +src/supervision/key_points/annotators.py,funcao,_get_covariances,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/key_points/annotators.py,funcao,_decompose_covariance,4,7,5,7,11,12,27.6515,41.5132,2.0,83.0264,4.6126,0.0138 +src/supervision/key_points/annotators.py,funcao,_iter_ellipse_params,5,9,6,11,14,17,40.139,64.725,3.0556,197.7709,10.9873,0.0216 +src/supervision/key_points/annotators.py,funcao,get_text_bounding_box,3,9,8,16,12,24,33.2842,86.0391,2.6667,229.4376,12.7465,0.0287 +src/supervision/key_points/annotators.py,funcao,_resolve_labels,3,5,4,8,8,12,16.3645,36.0,2.4,86.4,4.8,0.012 +src/supervision/key_points/annotators.py,funcao,_resolve_color_list,2,3,2,4,5,6,6.7549,13.9316,1.3333,18.5754,1.032,0.0046 +src/supervision/key_points/core.py,funcao,_optional_array_equal,3,7,6,12,10,18,24.4064,59.7947,2.5714,153.7578,8.5421,0.0199 +src/supervision/key_points/core.py,funcao,_normalize_row_index,2,11,5,11,13,16,40.0537,59.207,1.0,59.207,3.2893,0.0197 +src/supervision/key_points/core.py,funcao,__init__,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/key_points/core.py,funcao,__post_init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/key_points/core.py,funcao,confidence,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/key_points/core.py,funcao,__len__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/key_points/core.py,funcao,__iter__,1,3,2,4,4,6,4.7549,12.0,0.6667,8.0,0.4444,0.004 +src/supervision/key_points/core.py,funcao,__eq__,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/key_points/core.py,funcao,from_inference,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/key_points/core.py,funcao,from_mediapipe,4,10,6,11,14,17,41.2193,64.725,2.2,142.3951,7.9108,0.0216 +src/supervision/key_points/core.py,funcao,from_ultralytics,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/key_points/core.py,funcao,from_yolo_nas,4,9,5,10,13,15,36.5293,55.5066,2.2222,123.348,6.8527,0.0185 +src/supervision/key_points/core.py,funcao,from_detectron2,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/key_points/core.py,funcao,from_transformers,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/key_points/core.py,funcao,_get_by_2d_bool_mask,7,23,19,37,30,56,123.6934,274.7859,5.6304,1547.1639,85.9536,0.0916 +src/supervision/key_points/core.py,funcao,__getitem__,5,39,31,62,44,93,217.7403,507.7271,3.9744,2017.8899,112.105,0.1692 +src/supervision/key_points/core.py,funcao,__setitem__,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/key_points/core.py,funcao,empty,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/key_points/core.py,funcao,is_empty,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/key_points/core.py,funcao,with_nms,8,14,15,22,22,37,77.303,164.999,6.2857,1037.1364,57.6187,0.055 +src/supervision/key_points/core.py,funcao,as_detections,5,9,8,12,14,20,40.139,76.1471,3.3333,253.8237,14.1013,0.0254 +src/supervision/metrics/core.py,funcao,update,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/core.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/core.py,funcao,compute,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/detection.py,funcao,_assert_supported_target,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/metrics/detection.py,funcao,detections_to_tensor,7,20,13,24,27,37,106.09,175.9308,4.2,738.9095,41.0505,0.0586 +src/supervision/metrics/detection.py,funcao,_validate_input_tensors,5,14,9,16,19,25,64.9126,106.1982,2.8571,303.4234,16.8569,0.0354 +src/supervision/metrics/detection.py,funcao,validate_input_tensors,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/detection.py,funcao,__eq__,3,8,5,11,11,16,28.7549,55.3509,2.0625,114.1612,6.3423,0.0185 +src/supervision/metrics/detection.py,funcao,from_detections,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/detection.py,funcao,from_tensors,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/metrics/detection.py,funcao,evaluate_detection_batch,10,38,31,60,48,91,232.6405,508.2316,7.8947,4012.3546,222.9086,0.1694 +src/supervision/metrics/detection.py,funcao,_drop_extra_matches,2,3,3,4,5,7,6.7549,16.2535,1.3333,21.6713,1.204,0.0054 +src/supervision/metrics/detection.py,funcao,benchmark,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/detection.py,funcao,plot,9,23,15,27,32,42,132.5713,210.0,5.2826,1109.3478,61.6304,0.07 +src/supervision/metrics/detection.py,funcao,compute_average_precision,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/detection.py,funcao,_match_detection_batch,5,8,5,9,13,14,35.6096,51.8062,2.8125,145.7048,8.0947,0.0173 +src/supervision/metrics/detection.py,funcao,_average_precisions_per_class,6,15,10,19,21,29,74.1131,127.3772,3.8,484.0334,26.8907,0.0425 +src/supervision/metrics/f1_score.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,update,2,4,3,4,6,7,10.0,18.0947,1.0,18.0947,1.0053,0.006 +src/supervision/metrics/f1_score.py,funcao,compute,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,_compute,7,17,14,27,24,41,89.1384,187.9835,5.5588,1044.9669,58.0537,0.0627 +src/supervision/metrics/f1_score.py,funcao,_compute_f1_for_classes,2,7,5,9,9,14,21.6515,44.379,1.2857,57.0587,3.1699,0.0148 +src/supervision/metrics/f1_score.py,funcao,_match_detection_batch,5,8,5,9,13,14,35.6096,51.8062,2.8125,145.7048,8.0947,0.0173 +src/supervision/metrics/f1_score.py,funcao,_compute_confusion_matrix,2,8,5,10,10,15,26.0,49.8289,1.25,62.2862,3.4603,0.0166 +src/supervision/metrics/f1_score.py,funcao,_compute_f1,6,13,9,16,19,25,63.6155,106.1982,3.6923,392.1164,21.7842,0.0354 +src/supervision/metrics/f1_score.py,funcao,_detections_content,4,11,7,14,15,21,46.0537,82.0447,2.5455,208.8411,11.6023,0.0273 +src/supervision/metrics/f1_score.py,funcao,_make_empty_content,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/f1_score.py,funcao,_filter_detections_by_size,3,12,8,16,15,24,47.7744,93.7654,2.0,187.5307,10.4184,0.0313 +src/supervision/metrics/f1_score.py,funcao,_filter_predictions_and_targets_by_size,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,f1_50,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,f1_75,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,__str__,3,16,12,24,19,36,68.7549,152.9254,2.25,344.0821,19.1157,0.051 +src/supervision/metrics/f1_score.py,funcao,to_pandas,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/f1_score.py,funcao,plot,4,26,19,38,30,57,130.2114,279.6928,2.9231,817.5635,45.4202,0.0932 +src/supervision/metrics/mean_average_precision.py,funcao,map50_95,2,5,4,6,7,10,13.6096,28.0735,1.2,33.6883,1.8716,0.0094 +src/supervision/metrics/mean_average_precision.py,funcao,map50,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,map75,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,__str__,2,7,4,9,9,13,21.6515,41.209,1.2857,52.983,2.9435,0.0137 +src/supervision/metrics/mean_average_precision.py,funcao,to_pandas,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/mean_average_precision.py,funcao,plot,4,27,19,38,31,57,136.382,282.3892,2.8148,794.8733,44.1596,0.0941 +src/supervision/metrics/mean_average_precision.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,empty,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,create_class_members,2,6,6,12,8,18,17.5098,54.0,2.0,108.0,6.0,0.018 +src/supervision/metrics/mean_average_precision.py,funcao,get_annotation_ids,6,15,12,19,21,31,74.1131,136.1618,3.8,517.415,28.7453,0.0454 +src/supervision/metrics/mean_average_precision.py,funcao,get_category_ids,3,9,10,15,12,25,33.2842,89.6241,2.5,224.0602,12.4478,0.0299 +src/supervision/metrics/mean_average_precision.py,funcao,get_image_ids,4,10,7,11,14,18,41.2193,68.5324,2.2,150.7713,8.3762,0.0228 +src/supervision/metrics/mean_average_precision.py,funcao,get_annotations,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/metrics/mean_average_precision.py,funcao,load_predictions,8,28,17,32,36,49,158.6059,253.3263,4.5714,1158.0632,64.3368,0.0844 +src/supervision/metrics/mean_average_precision.py,funcao,_prepare_targets_and_predictions,2,5,3,6,7,9,13.6096,25.2662,1.2,30.3194,1.6844,0.0084 +src/supervision/metrics/mean_average_precision.py,funcao,_compute_iou,4,9,7,11,13,18,36.5293,66.6079,2.4444,162.8193,9.0455,0.0222 +src/supervision/metrics/mean_average_precision.py,funcao,_evaluate_image,11,35,27,48,46,75,217.5787,414.2671,7.5429,3124.7579,173.5977,0.1381 +src/supervision/metrics/mean_average_precision.py,funcao,_accumulate,13,50,38,66,63,104,330.2985,621.6371,8.58,5333.6464,296.3137,0.2072 +src/supervision/metrics/mean_average_precision.py,funcao,_pycocotools_summarize,6,11,13,22,17,35,53.5635,143.0612,6.0,858.3672,47.6871,0.0477 +src/supervision/metrics/mean_average_precision.py,funcao,evaluate,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/metrics/mean_average_precision.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,update,4,7,7,10,11,17,27.6515,58.8103,2.8571,168.0295,9.335,0.0196 +src/supervision/metrics/mean_average_precision.py,funcao,_prepare_targets,7,20,16,32,27,48,106.09,228.2346,5.6,1278.1138,71.0063,0.0761 +src/supervision/metrics/mean_average_precision.py,funcao,_prepare_predictions,7,18,13,26,25,39,94.7101,181.1104,5.0556,915.6136,50.8674,0.0604 +src/supervision/metrics/mean_average_precision.py,funcao,compute,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/metrics/mean_average_recall.py,funcao,mAR_at_1,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,mAR_at_10,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,mAR_at_100,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,__str__,3,16,12,24,19,36,68.7549,152.9254,2.25,344.0821,19.1157,0.051 +src/supervision/metrics/mean_average_recall.py,funcao,to_pandas,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/mean_average_recall.py,funcao,plot,4,27,19,38,31,57,136.382,282.3892,2.8148,794.8733,44.1596,0.0941 +src/supervision/metrics/mean_average_recall.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,update,2,4,3,4,6,7,10.0,18.0947,1.0,18.0947,1.0053,0.006 +src/supervision/metrics/mean_average_recall.py,funcao,compute,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,_compute,5,11,9,16,16,25,49.6634,100.0,3.6364,363.6364,20.202,0.0333 +src/supervision/metrics/mean_average_recall.py,funcao,_compute_average_recall_for_classes,1,2,2,4,3,6,2.0,9.5098,1.0,9.5098,0.5283,0.0032 +src/supervision/metrics/mean_average_recall.py,funcao,_match_detection_batch,5,8,5,9,13,14,35.6096,51.8062,2.8125,145.7048,8.0947,0.0173 +src/supervision/metrics/mean_average_recall.py,funcao,_compute_confusion_matrix,2,8,5,10,10,15,26.0,49.8289,1.25,62.2862,3.4603,0.0166 +src/supervision/metrics/mean_average_recall.py,funcao,_compute_recall,5,8,6,10,13,16,35.6096,59.207,3.125,185.022,10.279,0.0197 +src/supervision/metrics/mean_average_recall.py,funcao,_detections_content,4,11,7,14,15,21,46.0537,82.0447,2.5455,208.8411,11.6023,0.0273 +src/supervision/metrics/mean_average_recall.py,funcao,_make_empty_content,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/mean_average_recall.py,funcao,_filter_detections_by_size,3,12,8,16,15,24,47.7744,93.7654,2.0,187.5307,10.4184,0.0313 +src/supervision/metrics/mean_average_recall.py,funcao,_filter_predictions_and_targets_by_size,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/precision.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/precision.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/precision.py,funcao,update,2,4,3,4,6,7,10.0,18.0947,1.0,18.0947,1.0053,0.006 +src/supervision/metrics/precision.py,funcao,compute,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/precision.py,funcao,_compute,7,17,14,27,24,41,89.1384,187.9835,5.5588,1044.9669,58.0537,0.0627 +src/supervision/metrics/precision.py,funcao,_compute_precision_for_classes,2,7,5,9,9,14,21.6515,44.379,1.2857,57.0587,3.1699,0.0148 +src/supervision/metrics/precision.py,funcao,_match_detection_batch,5,8,5,9,13,14,35.6096,51.8062,2.8125,145.7048,8.0947,0.0173 +src/supervision/metrics/precision.py,funcao,_compute_confusion_matrix,2,8,5,10,10,15,26.0,49.8289,1.25,62.2862,3.4603,0.0166 +src/supervision/metrics/precision.py,funcao,_compute_precision,5,8,5,8,13,13,35.6096,48.1057,2.5,120.2643,6.6813,0.016 +src/supervision/metrics/precision.py,funcao,_detections_content,4,11,7,14,15,21,46.0537,82.0447,2.5455,208.8411,11.6023,0.0273 +src/supervision/metrics/precision.py,funcao,_make_empty_content,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/precision.py,funcao,_filter_detections_by_size,3,12,8,16,15,24,47.7744,93.7654,2.0,187.5307,10.4184,0.0313 +src/supervision/metrics/precision.py,funcao,_filter_predictions_and_targets_by_size,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/precision.py,funcao,precision_at_50,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/precision.py,funcao,precision_at_75,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/precision.py,funcao,__str__,3,16,12,24,19,36,68.7549,152.9254,2.25,344.0821,19.1157,0.051 +src/supervision/metrics/precision.py,funcao,to_pandas,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/precision.py,funcao,plot,4,26,19,38,30,57,130.2114,279.6928,2.9231,817.5635,45.4202,0.0932 +src/supervision/metrics/recall.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,update,2,4,3,4,6,7,10.0,18.0947,1.0,18.0947,1.0053,0.006 +src/supervision/metrics/recall.py,funcao,compute,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,_compute,4,10,8,15,14,23,41.2193,87.5692,3.0,262.7075,14.5949,0.0292 +src/supervision/metrics/recall.py,funcao,_compute_recall_for_classes,2,5,4,7,7,11,13.6096,30.8809,1.4,43.2333,2.4018,0.0103 +src/supervision/metrics/recall.py,funcao,_match_detection_batch,5,8,5,9,13,14,35.6096,51.8062,2.8125,145.7048,8.0947,0.0173 +src/supervision/metrics/recall.py,funcao,_compute_confusion_matrix,2,8,5,10,10,15,26.0,49.8289,1.25,62.2862,3.4603,0.0166 +src/supervision/metrics/recall.py,funcao,_compute_recall,5,8,5,8,13,13,35.6096,48.1057,2.5,120.2643,6.6813,0.016 +src/supervision/metrics/recall.py,funcao,_detections_content,4,11,7,14,15,21,46.0537,82.0447,2.5455,208.8411,11.6023,0.0273 +src/supervision/metrics/recall.py,funcao,_make_empty_content,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/recall.py,funcao,_filter_detections_by_size,3,12,8,16,15,24,47.7744,93.7654,2.0,187.5307,10.4184,0.0313 +src/supervision/metrics/recall.py,funcao,_filter_predictions_and_targets_by_size,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,recall_at_50,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,recall_at_75,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,__str__,3,16,12,24,19,36,68.7549,152.9254,2.25,344.0821,19.1157,0.051 +src/supervision/metrics/recall.py,funcao,to_pandas,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/recall.py,funcao,plot,4,26,19,38,30,57,130.2114,279.6928,2.9231,817.5635,45.4202,0.0932 +src/supervision/metrics/utils/object_size.py,funcao,get_object_size_category,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/utils/object_size.py,funcao,get_bbox_size_category,7,17,11,22,24,33,89.1384,151.3038,4.5294,685.317,38.0732,0.0504 +src/supervision/metrics/utils/object_size.py,funcao,get_mask_size_category,4,7,6,12,11,18,27.6515,62.2698,3.4286,213.4964,11.8609,0.0208 +src/supervision/metrics/utils/object_size.py,funcao,get_obb_size_category,8,38,25,51,46,76,223.4212,419.7907,5.3684,2253.6133,125.2007,0.1399 +src/supervision/metrics/utils/object_size.py,funcao,get_detection_size_category,2,7,5,10,9,15,21.6515,47.5489,1.4286,67.927,3.7737,0.0158 +src/supervision/metrics/utils/utils.py,funcao,ensure_pandas_installed,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/core.py,funcao,__init__,3,6,3,6,9,9,20.2647,28.5293,1.5,42.794,2.3774,0.0095 +src/supervision/tracker/byte_tracker/core.py,funcao,update_with_detections,5,8,6,10,13,16,35.6096,59.207,3.125,185.022,10.279,0.0197 +src/supervision/tracker/byte_tracker/core.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/core.py,funcao,update_with_tensors,6,17,16,30,23,46,84.9966,208.0838,5.2941,1101.6204,61.2011,0.0694 +src/supervision/tracker/byte_tracker/core.py,funcao,joint_tracks,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/tracker/byte_tracker/core.py,funcao,sub_tracks,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/core.py,funcao,remove_duplicate_tracks,4,9,6,12,13,18,36.5293,66.6079,2.6667,177.6211,9.8678,0.0222 +src/supervision/tracker/byte_tracker/kalman_filter.py,funcao,__init__,3,6,6,12,9,18,20.2647,57.0587,3.0,171.176,9.5098,0.019 +src/supervision/tracker/byte_tracker/kalman_filter.py,funcao,initiate,1,16,12,24,17,36,64.0,147.1487,0.75,110.3615,6.1312,0.049 +src/supervision/tracker/byte_tracker/kalman_filter.py,funcao,predict,2,10,7,14,12,21,35.2193,75.2842,1.4,105.3979,5.8554,0.0251 +src/supervision/tracker/byte_tracker/kalman_filter.py,funcao,project,2,6,4,8,8,12,17.5098,36.0,1.3333,48.0,2.6667,0.012 +src/supervision/tracker/byte_tracker/kalman_filter.py,funcao,multi_predict,2,14,9,18,16,27,55.303,108.0,1.2857,138.8571,7.7143,0.036 +src/supervision/tracker/byte_tracker/kalman_filter.py,funcao,update,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/tracker/byte_tracker/matching.py,funcao,indices_to_matches,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/tracker/byte_tracker/matching.py,funcao,linear_assignment,3,5,3,6,8,9,16.3645,27.0,1.8,48.6,2.7,0.009 +src/supervision/tracker/byte_tracker/matching.py,funcao,iou_distance,5,12,7,14,17,21,54.6292,85.8367,2.9167,250.3571,13.9087,0.0286 +src/supervision/tracker/byte_tracker/matching.py,funcao,fuse_score,3,7,4,8,10,12,24.4064,39.8631,1.7143,68.3368,3.7965,0.0133 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,__init__,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,predict,2,6,4,8,8,12,17.5098,36.0,1.3333,48.0,2.6667,0.012 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,multi_predict,3,7,4,8,10,12,24.4064,39.8631,1.7143,68.3368,3.7965,0.0133 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,activate,1,3,2,4,4,6,4.7549,12.0,0.6667,8.0,0.4444,0.004 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,re_activate,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,update,3,9,6,12,12,18,33.2842,64.5293,2.0,129.0587,7.1699,0.0215 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,tlwh,4,8,4,8,12,12,32.0,43.0196,2.0,86.0391,4.78,0.0143 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,tlbr,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,tlwh_to_xyah,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,to_xyah,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,tlbr_to_tlwh,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,tlwh_to_tlbr,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,__repr__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/utils.py,funcao,__init__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/utils.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/utils.py,funcao,new_id,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/utils.py,funcao,NO_ID,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/utils/conversion.py,funcao,ensure_cv2_image_for_class_method,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,ensure_cv2_image_for_annotation,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,ensure_cv2_image_for_standalone_function,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,ensure_pil_image_for_class_method,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,ensure_pil_image_for_annotation,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,ensure_cv2_image_for_processing,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,images_to_cv2,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,pillow_to_cv2,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,cv2_to_pillow,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/file.py,funcao,default,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/file.py,funcao,list_files_with_extensions,5,8,5,9,13,14,35.6096,51.8062,2.8125,145.7048,8.0947,0.0173 +src/supervision/utils/file.py,funcao,read_txt_file,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/file.py,funcao,save_text_file,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/file.py,funcao,read_json_file,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/file.py,funcao,save_json_file,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/file.py,funcao,read_yaml_file,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/file.py,funcao,save_yaml_file,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,crop_image,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,scale_image,2,4,3,6,6,9,10.0,23.2647,1.5,34.897,1.9387,0.0078 +src/supervision/utils/image.py,funcao,resize_image,3,8,5,10,11,15,28.7549,51.8915,1.875,97.2965,5.4054,0.0173 +src/supervision/utils/image.py,funcao,letterbox_image,2,13,8,16,15,24,50.1057,93.7654,1.2308,115.4035,6.4113,0.0313 +src/supervision/utils/image.py,funcao,overlay_image,9,30,25,48,39,73,175.736,385.8344,7.2,2778.0074,154.3337,0.1286 +src/supervision/utils/image.py,funcao,tint_image,3,4,4,6,7,10,12.7549,28.0735,2.25,63.1655,3.5092,0.0094 +src/supervision/utils/image.py,funcao,grayscale_image,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,get_image_resolution_wh,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/image.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,__enter__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,save_image,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/utils/image.py,funcao,__exit__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,create_tiles,5,12,7,14,17,21,54.6292,85.8367,2.9167,250.3571,13.9087,0.0286 +src/supervision/utils/image.py,funcao,_negotiate_tiles_format,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/utils/image.py,funcao,_calculate_aggregated_images_shape,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,_aggregate_images_shape,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/image.py,funcao,_establish_grid_size,4,11,9,18,15,27,46.0537,105.486,3.2727,345.2271,19.1793,0.0352 +src/supervision/utils/image.py,funcao,_negotiate_grid_size,4,8,5,10,12,15,32.0,53.7744,2.5,134.4361,7.4687,0.0179 +src/supervision/utils/image.py,funcao,_generate_tiles,3,6,5,8,9,13,20.2647,41.209,2.0,82.4181,4.5788,0.0137 +src/supervision/utils/image.py,funcao,_draw_texts,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/utils/image.py,funcao,_prepare_default_titles_anchors,4,9,6,12,13,18,36.5293,66.6079,2.6667,177.6211,9.8678,0.0222 +src/supervision/utils/image.py,funcao,_merge_tiles_elements,2,6,5,8,8,13,17.5098,39.0,1.3333,52.0,2.8889,0.013 +src/supervision/utils/image.py,funcao,_generate_color_image,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/utils/internal.py,funcao,format_warning,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/internal.py,funcao,warn_deprecated,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/internal.py,funcao,deprecated_parameter,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/utils/internal.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/internal.py,funcao,__get__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/internal.py,funcao,get_instance_variables,3,7,5,7,10,12,24.4064,39.8631,1.5,59.7947,3.3219,0.0133 +src/supervision/utils/iterables.py,funcao,create_batches,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/iterables.py,funcao,fill,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/utils/iterables.py,funcao,find_duplicates,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/logger.py,funcao,_get_logger,3,5,3,5,8,8,16.3645,24.0,1.5,36.0,2.0,0.008 +src/supervision/utils/notebook.py,funcao,plot_image,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/notebook.py,funcao,plot_images_grid,6,13,7,14,19,21,63.6155,89.2065,3.2308,288.2055,16.0114,0.0297 +src/supervision/utils/video.py,funcao,from_video_path,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/utils/video.py,funcao,resolution_wh,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/video.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/video.py,funcao,__enter__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/video.py,funcao,write_frame,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/video.py,funcao,__exit__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/video.py,funcao,_mux_audio,4,7,4,8,11,12,27.6515,41.5132,2.2857,94.8873,5.2715,0.0138 +src/supervision/utils/video.py,funcao,_validate_and_setup_video,5,10,9,16,15,25,44.8289,97.6723,4.0,390.6891,21.7049,0.0326 +src/supervision/utils/video.py,funcao,get_video_frames_generator,6,9,7,12,15,19,44.0391,74.2309,4.0,296.9237,16.4958,0.0247 +src/supervision/utils/video.py,funcao,process_video,5,14,13,23,19,36,64.9126,152.9254,4.1071,628.0864,34.8937,0.051 +src/supervision/utils/video.py,funcao,fps,5,7,5,8,12,13,31.2611,46.6045,2.8571,133.1558,7.3975,0.0155 +src/supervision/utils/video.py,funcao,tick,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/video.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_xyxy,3,8,4,8,11,12,28.7549,41.5132,1.5,62.2698,3.4594,0.0138 +src/supervision/validators/__init__.py,funcao,validate_xyxy,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_mask,6,14,8,15,20,23,68.8127,99.4043,3.2143,319.514,17.7508,0.0331 +src/supervision/validators/__init__.py,funcao,validate_mask,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_class_id,5,9,5,9,14,14,40.139,53.303,2.5,133.2574,7.4032,0.0178 +src/supervision/validators/__init__.py,funcao,validate_class_id,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_confidence,5,9,5,9,14,14,40.139,53.303,2.5,133.2574,7.4032,0.0178 +src/supervision/validators/__init__.py,funcao,validate_confidence,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_keypoint_confidence,6,14,8,15,20,23,68.8127,99.4043,3.2143,319.514,17.7508,0.0331 +src/supervision/validators/__init__.py,funcao,validate_key_point_confidence,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,validate_keypoint_confidence,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_tracker_id,5,9,5,9,14,14,40.139,53.303,2.5,133.2574,7.4032,0.0178 +src/supervision/validators/__init__.py,funcao,validate_tracker_id,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_data,4,10,7,14,14,21,41.2193,79.9545,2.8,223.8725,12.4374,0.0267 +src/supervision/validators/__init__.py,funcao,validate_data,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_xy,4,8,4,8,12,12,32.0,43.0196,2.0,86.0391,4.78,0.0143 +src/supervision/validators/__init__.py,funcao,validate_xy,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_visible,6,14,8,15,20,23,68.8127,99.4043,3.2143,319.514,17.7508,0.0331 +src/supervision/validators/__init__.py,funcao,_validate_detections_fields,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,validate_detections_fields,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_keypoints_fields,2,5,3,6,7,9,13.6096,25.2662,1.2,30.3194,1.6844,0.0084 +src/supervision/validators/__init__.py,funcao,validate_key_points_fields,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,validate_keypoints_fields,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_resolution,5,13,8,14,18,22,59.7154,91.7384,2.6923,246.9879,13.7215,0.0306 +src/supervision/validators/__init__.py,funcao,validate_resolution,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/metrics-before-radon/mi_antes.json b/metrics-before-radon/mi_antes.json new file mode 100644 index 0000000000..48712f696e --- /dev/null +++ b/metrics-before-radon/mi_antes.json @@ -0,0 +1,322 @@ +{ + "src\\supervision\\config.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\__init__.py": { + "mi": 63.74014936937565, + "rank": "A" + }, + "src\\supervision\\annotators\\base.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\annotators\\core.py": { + "mi": 0.5164146998336829, + "rank": "C" + }, + "src\\supervision\\annotators\\utils.py": { + "mi": 48.682299587593235, + "rank": "A" + }, + "src\\supervision\\annotators\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\assets\\downloader.py": { + "mi": 81.65419137342202, + "rank": "A" + }, + "src\\supervision\\assets\\list.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\assets\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\classification\\core.py": { + "mi": 58.06429475373086, + "rank": "A" + }, + "src\\supervision\\classification\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\dataset\\core.py": { + "mi": 41.66201117496284, + "rank": "A" + }, + "src\\supervision\\dataset\\utils.py": { + "mi": 59.65711155220216, + "rank": "A" + }, + "src\\supervision\\dataset\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\dataset\\formats\\coco.py": { + "mi": 53.87729296809499, + "rank": "A" + }, + "src\\supervision\\dataset\\formats\\pascal_voc.py": { + "mi": 60.165233236403246, + "rank": "A" + }, + "src\\supervision\\dataset\\formats\\yolo.py": { + "mi": 50.12873587118398, + "rank": "A" + }, + "src\\supervision\\dataset\\formats\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\detection\\compact_mask.py": { + "mi": 25.26843613160484, + "rank": "A" + }, + "src\\supervision\\detection\\core.py": { + "mi": 15.237819770001131, + "rank": "B" + }, + "src\\supervision\\detection\\line_zone.py": { + "mi": 41.436056464248445, + "rank": "A" + }, + "src\\supervision\\detection\\vlm.py": { + "mi": 30.819235233015647, + "rank": "A" + }, + "src\\supervision\\detection\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\csv_sink.py": { + "mi": 65.84774008907647, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\inference_slicer.py": { + "mi": 48.797899939958214, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\json_sink.py": { + "mi": 66.2655996887249, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\polygon_zone.py": { + "mi": 72.02688936120569, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\smoother.py": { + "mi": 58.7494965444356, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\transformers.py": { + "mi": 70.0376428384057, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\boxes.py": { + "mi": 35.682912967703025, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\converters.py": { + "mi": 26.896168601464833, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\internal.py": { + "mi": 44.26394876975708, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\iou_and_nms.py": { + "mi": 27.21117341874286, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\masks.py": { + "mi": 50.86542248256843, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\polygons.py": { + "mi": 63.29136737707571, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\vlms.py": { + "mi": 67.2801534822581, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\draw\\base.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\draw\\color.py": { + "mi": 45.50893596792294, + "rank": "A" + }, + "src\\supervision\\draw\\utils.py": { + "mi": 62.74342158480082, + "rank": "A" + }, + "src\\supervision\\draw\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\geometry\\core.py": { + "mi": 61.798795509769285, + "rank": "A" + }, + "src\\supervision\\geometry\\utils.py": { + "mi": 71.90618369506942, + "rank": "A" + }, + "src\\supervision\\geometry\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\keypoint\\annotators.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\keypoint\\core.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\keypoint\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\key_points\\annotators.py": { + "mi": 35.96042639704176, + "rank": "A" + }, + "src\\supervision\\key_points\\core.py": { + "mi": 31.50113985312914, + "rank": "A" + }, + "src\\supervision\\key_points\\skeletons.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\key_points\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\metrics\\core.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\metrics\\detection.py": { + "mi": 36.88635140244115, + "rank": "A" + }, + "src\\supervision\\metrics\\f1_score.py": { + "mi": 39.18733465418227, + "rank": "A" + }, + "src\\supervision\\metrics\\mean_average_precision.py": { + "mi": 11.372199326424749, + "rank": "B" + }, + "src\\supervision\\metrics\\mean_average_recall.py": { + "mi": 40.35567038143837, + "rank": "A" + }, + "src\\supervision\\metrics\\precision.py": { + "mi": 39.36348041973617, + "rank": "A" + }, + "src\\supervision\\metrics\\recall.py": { + "mi": 40.19381802268339, + "rank": "A" + }, + "src\\supervision\\metrics\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\metrics\\utils\\object_size.py": { + "mi": 55.24992048623798, + "rank": "A" + }, + "src\\supervision\\metrics\\utils\\utils.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\metrics\\utils\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\tracker\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\tracker\\byte_tracker\\core.py": { + "mi": 49.8551182058887, + "rank": "A" + }, + "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py": { + "mi": 67.80339634909727, + "rank": "A" + }, + "src\\supervision\\tracker\\byte_tracker\\matching.py": { + "mi": 45.303415801323766, + "rank": "A" + }, + "src\\supervision\\tracker\\byte_tracker\\single_object_track.py": { + "mi": 47.71094969688634, + "rank": "A" + }, + "src\\supervision\\tracker\\byte_tracker\\utils.py": { + "mi": 90.14540124941266, + "rank": "A" + }, + "src\\supervision\\tracker\\byte_tracker\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\utils\\conversion.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\utils\\file.py": { + "mi": 58.74379408220088, + "rank": "A" + }, + "src\\supervision\\utils\\image.py": { + "mi": 40.17591006834741, + "rank": "A" + }, + "src\\supervision\\utils\\internal.py": { + "mi": 68.84898914903948, + "rank": "A" + }, + "src\\supervision\\utils\\iterables.py": { + "mi": 61.66267771103371, + "rank": "A" + }, + "src\\supervision\\utils\\logger.py": { + "mi": 86.56239735560584, + "rank": "A" + }, + "src\\supervision\\utils\\notebook.py": { + "mi": 74.31672637457959, + "rank": "A" + }, + "src\\supervision\\utils\\video.py": { + "mi": 51.64693640752495, + "rank": "A" + }, + "src\\supervision\\utils\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\validators\\__init__.py": { + "mi": 39.7549289317202, + "rank": "A" + } +} \ No newline at end of file diff --git a/metrics-before-radon/mi_por_arquivo_antes.csv b/metrics-before-radon/mi_por_arquivo_antes.csv new file mode 100644 index 0000000000..b964c7563c --- /dev/null +++ b/metrics-before-radon/mi_por_arquivo_antes.csv @@ -0,0 +1,81 @@ +arquivo,mi,rank_mi +src/supervision/annotators/core.py,0.5164,C +src/supervision/metrics/mean_average_precision.py,11.3722,B +src/supervision/detection/core.py,15.2378,B +src/supervision/detection/compact_mask.py,25.2684,A +src/supervision/detection/utils/converters.py,26.8962,A +src/supervision/detection/utils/iou_and_nms.py,27.2112,A +src/supervision/detection/vlm.py,30.8192,A +src/supervision/key_points/core.py,31.5011,A +src/supervision/detection/utils/boxes.py,35.6829,A +src/supervision/key_points/annotators.py,35.9604,A +src/supervision/metrics/detection.py,36.8864,A +src/supervision/metrics/f1_score.py,39.1873,A +src/supervision/metrics/precision.py,39.3635,A +src/supervision/validators/__init__.py,39.7549,A +src/supervision/utils/image.py,40.1759,A +src/supervision/metrics/recall.py,40.1938,A +src/supervision/metrics/mean_average_recall.py,40.3557,A +src/supervision/detection/line_zone.py,41.4361,A +src/supervision/dataset/core.py,41.662,A +src/supervision/detection/utils/internal.py,44.2639,A +src/supervision/tracker/byte_tracker/matching.py,45.3034,A +src/supervision/draw/color.py,45.5089,A +src/supervision/tracker/byte_tracker/single_object_track.py,47.7109,A +src/supervision/annotators/utils.py,48.6823,A +src/supervision/detection/tools/inference_slicer.py,48.7979,A +src/supervision/tracker/byte_tracker/core.py,49.8551,A +src/supervision/dataset/formats/yolo.py,50.1287,A +src/supervision/detection/utils/masks.py,50.8654,A +src/supervision/utils/video.py,51.6469,A +src/supervision/dataset/formats/coco.py,53.8773,A +src/supervision/metrics/utils/object_size.py,55.2499,A +src/supervision/classification/core.py,58.0643,A +src/supervision/utils/file.py,58.7438,A +src/supervision/detection/tools/smoother.py,58.7495,A +src/supervision/dataset/utils.py,59.6571,A +src/supervision/dataset/formats/pascal_voc.py,60.1652,A +src/supervision/utils/iterables.py,61.6627,A +src/supervision/geometry/core.py,61.7988,A +src/supervision/draw/utils.py,62.7434,A +src/supervision/detection/utils/polygons.py,63.2914,A +src/supervision/__init__.py,63.7401,A +src/supervision/detection/tools/csv_sink.py,65.8477,A +src/supervision/detection/tools/json_sink.py,66.2656,A +src/supervision/detection/utils/vlms.py,67.2802,A +src/supervision/tracker/byte_tracker/kalman_filter.py,67.8034,A +src/supervision/utils/internal.py,68.849,A +src/supervision/detection/tools/transformers.py,70.0376,A +src/supervision/geometry/utils.py,71.9062,A +src/supervision/detection/tools/polygon_zone.py,72.0269,A +src/supervision/utils/notebook.py,74.3167,A +src/supervision/assets/downloader.py,81.6542,A +src/supervision/utils/logger.py,86.5624,A +src/supervision/tracker/byte_tracker/utils.py,90.1454,A +src/supervision/config.py,100.0,A +src/supervision/annotators/base.py,100.0,A +src/supervision/annotators/__init__.py,100.0,A +src/supervision/assets/list.py,100.0,A +src/supervision/assets/__init__.py,100.0,A +src/supervision/classification/__init__.py,100.0,A +src/supervision/dataset/__init__.py,100.0,A +src/supervision/dataset/formats/__init__.py,100.0,A +src/supervision/detection/__init__.py,100.0,A +src/supervision/detection/tools/__init__.py,100.0,A +src/supervision/detection/utils/__init__.py,100.0,A +src/supervision/draw/base.py,100.0,A +src/supervision/draw/__init__.py,100.0,A +src/supervision/geometry/__init__.py,100.0,A +src/supervision/keypoint/annotators.py,100.0,A +src/supervision/keypoint/core.py,100.0,A +src/supervision/keypoint/__init__.py,100.0,A +src/supervision/key_points/skeletons.py,100.0,A +src/supervision/key_points/__init__.py,100.0,A +src/supervision/metrics/core.py,100.0,A +src/supervision/metrics/__init__.py,100.0,A +src/supervision/metrics/utils/utils.py,100.0,A +src/supervision/metrics/utils/__init__.py,100.0,A +src/supervision/tracker/__init__.py,100.0,A +src/supervision/tracker/byte_tracker/__init__.py,100.0,A +src/supervision/utils/conversion.py,100.0,A +src/supervision/utils/__init__.py,100.0,A diff --git a/metrics-before-radon/raw_antes.json b/metrics-before-radon/raw_antes.json new file mode 100644 index 0000000000..302283a314 --- /dev/null +++ b/metrics-before-radon/raw_antes.json @@ -0,0 +1,722 @@ +{ + "src\\supervision\\config.py": { + "loc": 13, + "lloc": 6, + "sloc": 3, + "comments": 10, + "multi": 0, + "blank": 0, + "single_comments": 10 + }, + "src\\supervision\\__init__.py": { + "loc": 287, + "lloc": 39, + "sloc": 283, + "comments": 1, + "multi": 0, + "blank": 3, + "single_comments": 1 + }, + "src\\supervision\\annotators\\base.py": { + "loc": 12, + "lloc": 7, + "sloc": 9, + "comments": 0, + "multi": 0, + "blank": 3, + "single_comments": 0 + }, + "src\\supervision\\annotators\\core.py": { + "loc": 3294, + "lloc": 1020, + "sloc": 1730, + "comments": 28, + "multi": 1141, + "blank": 405, + "single_comments": 18 + }, + "src\\supervision\\annotators\\utils.py": { + "loc": 487, + "lloc": 195, + "sloc": 266, + "comments": 5, + "multi": 129, + "blank": 90, + "single_comments": 2 + }, + "src\\supervision\\annotators\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\assets\\downloader.py": { + "loc": 95, + "lloc": 42, + "sloc": 46, + "comments": 0, + "multi": 25, + "blank": 24, + "single_comments": 0 + }, + "src\\supervision\\assets\\list.py": { + "loc": 82, + "lloc": 35, + "sloc": 66, + "comments": 2, + "multi": 0, + "blank": 16, + "single_comments": 0 + }, + "src\\supervision\\assets\\__init__.py": { + "loc": 4, + "lloc": 3, + "sloc": 3, + "comments": 0, + "multi": 0, + "blank": 1, + "single_comments": 0 + }, + "src\\supervision\\classification\\core.py": { + "loc": 200, + "lloc": 64, + "sloc": 60, + "comments": 0, + "multi": 94, + "blank": 46, + "single_comments": 0 + }, + "src\\supervision\\classification\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\dataset\\core.py": { + "loc": 969, + "lloc": 267, + "sloc": 448, + "comments": 2, + "multi": 389, + "blank": 128, + "single_comments": 4 + }, + "src\\supervision\\dataset\\utils.py": { + "loc": 164, + "lloc": 80, + "sloc": 117, + "comments": 3, + "multi": 10, + "blank": 34, + "single_comments": 3 + }, + "src\\supervision\\dataset\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\dataset\\formats\\coco.py": { + "loc": 621, + "lloc": 194, + "sloc": 339, + "comments": 13, + "multi": 187, + "blank": 82, + "single_comments": 13 + }, + "src\\supervision\\dataset\\formats\\pascal_voc.py": { + "loc": 355, + "lloc": 155, + "sloc": 197, + "comments": 15, + "multi": 88, + "blank": 55, + "single_comments": 15 + }, + "src\\supervision\\dataset\\formats\\yolo.py": { + "loc": 477, + "lloc": 185, + "sloc": 319, + "comments": 2, + "multi": 99, + "blank": 57, + "single_comments": 2 + }, + "src\\supervision\\dataset\\formats\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\detection\\compact_mask.py": { + "loc": 1306, + "lloc": 434, + "sloc": 477, + "comments": 68, + "multi": 545, + "blank": 224, + "single_comments": 60 + }, + "src\\supervision\\detection\\core.py": { + "loc": 2934, + "lloc": 612, + "sloc": 1748, + "comments": 21, + "multi": 640, + "blank": 534, + "single_comments": 12 + }, + "src\\supervision\\detection\\line_zone.py": { + "loc": 873, + "lloc": 307, + "sloc": 525, + "comments": 2, + "multi": 224, + "blank": 122, + "single_comments": 2 + }, + "src\\supervision\\detection\\vlm.py": { + "loc": 918, + "lloc": 415, + "sloc": 565, + "comments": 13, + "multi": 190, + "blank": 153, + "single_comments": 10 + }, + "src\\supervision\\detection\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\detection\\tools\\csv_sink.py": { + "loc": 241, + "lloc": 85, + "sloc": 116, + "comments": 0, + "multi": 88, + "blank": 37, + "single_comments": 0 + }, + "src\\supervision\\detection\\tools\\inference_slicer.py": { + "loc": 471, + "lloc": 191, + "sloc": 295, + "comments": 4, + "multi": 107, + "blank": 65, + "single_comments": 4 + }, + "src\\supervision\\detection\\tools\\json_sink.py": { + "loc": 215, + "lloc": 71, + "sloc": 87, + "comments": 0, + "multi": 92, + "blank": 36, + "single_comments": 0 + }, + "src\\supervision\\detection\\tools\\polygon_zone.py": { + "loc": 203, + "lloc": 61, + "sloc": 105, + "comments": 0, + "multi": 70, + "blank": 28, + "single_comments": 0 + }, + "src\\supervision\\detection\\tools\\smoother.py": { + "loc": 184, + "lloc": 57, + "sloc": 58, + "comments": 6, + "multi": 82, + "blank": 38, + "single_comments": 6 + }, + "src\\supervision\\detection\\tools\\transformers.py": { + "loc": 250, + "lloc": 68, + "sloc": 109, + "comments": 0, + "multi": 100, + "blank": 41, + "single_comments": 0 + }, + "src\\supervision\\detection\\tools\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\detection\\utils\\boxes.py": { + "loc": 417, + "lloc": 100, + "sloc": 108, + "comments": 5, + "multi": 234, + "blank": 71, + "single_comments": 4 + }, + "src\\supervision\\detection\\utils\\converters.py": { + "loc": 738, + "lloc": 195, + "sloc": 189, + "comments": 6, + "multi": 399, + "blank": 146, + "single_comments": 4 + }, + "src\\supervision\\detection\\utils\\internal.py": { + "loc": 417, + "lloc": 202, + "sloc": 274, + "comments": 1, + "multi": 78, + "blank": 64, + "single_comments": 1 + }, + "src\\supervision\\detection\\utils\\iou_and_nms.py": { + "loc": 1453, + "lloc": 527, + "sloc": 700, + "comments": 40, + "multi": 502, + "blank": 215, + "single_comments": 36 + }, + "src\\supervision\\detection\\utils\\masks.py": { + "loc": 426, + "lloc": 153, + "sloc": 304, + "comments": 7, + "multi": 54, + "blank": 64, + "single_comments": 4 + }, + "src\\supervision\\detection\\utils\\polygons.py": { + "loc": 116, + "lloc": 29, + "sloc": 37, + "comments": 2, + "multi": 57, + "blank": 20, + "single_comments": 2 + }, + "src\\supervision\\detection\\utils\\vlms.py": { + "loc": 100, + "lloc": 26, + "sloc": 33, + "comments": 0, + "multi": 51, + "blank": 16, + "single_comments": 0 + }, + "src\\supervision\\detection\\utils\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\draw\\base.py": { + "loc": 14, + "lloc": 6, + "sloc": 5, + "comments": 0, + "multi": 6, + "blank": 3, + "single_comments": 0 + }, + "src\\supervision\\draw\\color.py": { + "loc": 572, + "lloc": 166, + "sloc": 217, + "comments": 3, + "multi": 237, + "blank": 118, + "single_comments": 0 + }, + "src\\supervision\\draw\\utils.py": { + "loc": 420, + "lloc": 94, + "sloc": 209, + "comments": 6, + "multi": 140, + "blank": 65, + "single_comments": 6 + }, + "src\\supervision\\draw\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\geometry\\core.py": { + "loc": 202, + "lloc": 82, + "sloc": 77, + "comments": 0, + "multi": 86, + "blank": 39, + "single_comments": 0 + }, + "src\\supervision\\geometry\\utils.py": { + "loc": 51, + "lloc": 15, + "sloc": 14, + "comments": 2, + "multi": 23, + "blank": 12, + "single_comments": 2 + }, + "src\\supervision\\geometry\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\keypoint\\annotators.py": { + "loc": 13, + "lloc": 3, + "sloc": 11, + "comments": 1, + "multi": 0, + "blank": 2, + "single_comments": 0 + }, + "src\\supervision\\keypoint\\core.py": { + "loc": 8, + "lloc": 3, + "sloc": 6, + "comments": 1, + "multi": 0, + "blank": 2, + "single_comments": 0 + }, + "src\\supervision\\keypoint\\__init__.py": { + "loc": 13, + "lloc": 4, + "sloc": 11, + "comments": 0, + "multi": 0, + "blank": 2, + "single_comments": 0 + }, + "src\\supervision\\key_points\\annotators.py": { + "loc": 972, + "lloc": 332, + "sloc": 471, + "comments": 0, + "multi": 380, + "blank": 117, + "single_comments": 4 + }, + "src\\supervision\\key_points\\core.py": { + "loc": 1294, + "lloc": 367, + "sloc": 702, + "comments": 11, + "multi": 359, + "blank": 227, + "single_comments": 6 + }, + "src\\supervision\\key_points\\skeletons.py": { + "loc": 2646, + "lloc": 15, + "sloc": 2636, + "comments": 0, + "multi": 0, + "blank": 10, + "single_comments": 0 + }, + "src\\supervision\\key_points\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\metrics\\core.py": { + "loc": 72, + "lloc": 28, + "sloc": 22, + "comments": 0, + "multi": 35, + "blank": 15, + "single_comments": 0 + }, + "src\\supervision\\metrics\\detection.py": { + "loc": 1120, + "lloc": 359, + "sloc": 546, + "comments": 27, + "multi": 415, + "blank": 134, + "single_comments": 25 + }, + "src\\supervision\\metrics\\f1_score.py": { + "loc": 722, + "lloc": 334, + "sloc": 442, + "comments": 12, + "multi": 166, + "blank": 100, + "single_comments": 14 + }, + "src\\supervision\\metrics\\mean_average_precision.py": { + "loc": 1520, + "lloc": 660, + "sloc": 954, + "comments": 138, + "multi": 222, + "blank": 204, + "single_comments": 140 + }, + "src\\supervision\\metrics\\mean_average_recall.py": { + "loc": 706, + "lloc": 321, + "sloc": 439, + "comments": 4, + "multi": 158, + "blank": 103, + "single_comments": 6 + }, + "src\\supervision\\metrics\\precision.py": { + "loc": 735, + "lloc": 333, + "sloc": 450, + "comments": 11, + "multi": 170, + "blank": 102, + "single_comments": 13 + }, + "src\\supervision\\metrics\\recall.py": { + "loc": 689, + "lloc": 322, + "sloc": 428, + "comments": 3, + "multi": 155, + "blank": 101, + "single_comments": 5 + }, + "src\\supervision\\metrics\\__init__.py": { + "loc": 40, + "lloc": 8, + "sloc": 39, + "comments": 0, + "multi": 0, + "blank": 1, + "single_comments": 0 + }, + "src\\supervision\\metrics\\utils\\object_size.py": { + "loc": 241, + "lloc": 85, + "sloc": 86, + "comments": 1, + "multi": 110, + "blank": 44, + "single_comments": 1 + }, + "src\\supervision\\metrics\\utils\\utils.py": { + "loc": 9, + "lloc": 5, + "sloc": 9, + "comments": 1, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\metrics\\utils\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\tracker\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\tracker\\byte_tracker\\core.py": { + "loc": 405, + "lloc": 199, + "sloc": 264, + "comments": 5, + "multi": 63, + "blank": 66, + "single_comments": 12 + }, + "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py": { + "loc": 193, + "lloc": 65, + "sloc": 113, + "comments": 0, + "multi": 49, + "blank": 31, + "single_comments": 0 + }, + "src\\supervision\\tracker\\byte_tracker\\matching.py": { + "loc": 75, + "lloc": 45, + "sloc": 58, + "comments": 0, + "multi": 0, + "blank": 17, + "single_comments": 0 + }, + "src\\supervision\\tracker\\byte_tracker\\single_object_track.py": { + "loc": 186, + "lloc": 137, + "sloc": 140, + "comments": 0, + "multi": 15, + "blank": 30, + "single_comments": 1 + }, + "src\\supervision\\tracker\\byte_tracker\\utils.py": { + "loc": 37, + "lloc": 19, + "sloc": 16, + "comments": 0, + "multi": 12, + "blank": 8, + "single_comments": 1 + }, + "src\\supervision\\tracker\\byte_tracker\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\utils\\conversion.py": { + "loc": 178, + "lloc": 74, + "sloc": 92, + "comments": 5, + "multi": 41, + "blank": 43, + "single_comments": 2 + }, + "src\\supervision\\utils\\file.py": { + "loc": 211, + "lloc": 72, + "sloc": 67, + "comments": 2, + "multi": 104, + "blank": 40, + "single_comments": 0 + }, + "src\\supervision\\utils\\image.py": { + "loc": 924, + "lloc": 280, + "sloc": 653, + "comments": 8, + "multi": 145, + "blank": 126, + "single_comments": 0 + }, + "src\\supervision\\utils\\internal.py": { + "loc": 208, + "lloc": 57, + "sloc": 77, + "comments": 0, + "multi": 90, + "blank": 41, + "single_comments": 0 + }, + "src\\supervision\\utils\\iterables.py": { + "loc": 103, + "lloc": 30, + "sloc": 28, + "comments": 0, + "multi": 56, + "blank": 19, + "single_comments": 0 + }, + "src\\supervision\\utils\\logger.py": { + "loc": 63, + "lloc": 24, + "sloc": 25, + "comments": 0, + "multi": 23, + "blank": 15, + "single_comments": 0 + }, + "src\\supervision\\utils\\notebook.py": { + "loc": 117, + "lloc": 36, + "sloc": 45, + "comments": 0, + "multi": 50, + "blank": 22, + "single_comments": 0 + }, + "src\\supervision\\utils\\video.py": { + "loc": 509, + "lloc": 206, + "sloc": 295, + "comments": 10, + "multi": 136, + "blank": 70, + "single_comments": 8 + }, + "src\\supervision\\utils\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\validators\\__init__.py": { + "loc": 363, + "lloc": 151, + "sloc": 291, + "comments": 15, + "multi": 8, + "blank": 61, + "single_comments": 3 + } +} \ No newline at end of file diff --git a/metrics-before-radon/raw_por_arquivo_e_total_antes.csv b/metrics-before-radon/raw_por_arquivo_e_total_antes.csv new file mode 100644 index 0000000000..1256cb864d --- /dev/null +++ b/metrics-before-radon/raw_por_arquivo_e_total_antes.csv @@ -0,0 +1,82 @@ +arquivo,loc,lloc,sloc,comments,multi,blank,single_comments +src/supervision/annotators/__init__.py,0,0,0,0,0,0,0 +src/supervision/classification/__init__.py,0,0,0,0,0,0,0 +src/supervision/dataset/__init__.py,0,0,0,0,0,0,0 +src/supervision/dataset/formats/__init__.py,0,0,0,0,0,0,0 +src/supervision/detection/__init__.py,0,0,0,0,0,0,0 +src/supervision/detection/tools/__init__.py,0,0,0,0,0,0,0 +src/supervision/detection/utils/__init__.py,0,0,0,0,0,0,0 +src/supervision/draw/__init__.py,0,0,0,0,0,0,0 +src/supervision/geometry/__init__.py,0,0,0,0,0,0,0 +src/supervision/key_points/__init__.py,0,0,0,0,0,0,0 +src/supervision/metrics/utils/__init__.py,0,0,0,0,0,0,0 +src/supervision/tracker/__init__.py,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/__init__.py,0,0,0,0,0,0,0 +src/supervision/utils/__init__.py,0,0,0,0,0,0,0 +src/supervision/config.py,13,6,3,10,0,0,10 +src/supervision/assets/__init__.py,4,3,3,0,0,1,0 +src/supervision/draw/base.py,14,6,5,0,6,3,0 +src/supervision/keypoint/core.py,8,3,6,1,0,2,0 +src/supervision/annotators/base.py,12,7,9,0,0,3,0 +src/supervision/metrics/utils/utils.py,9,5,9,1,0,0,0 +src/supervision/keypoint/annotators.py,13,3,11,1,0,2,0 +src/supervision/keypoint/__init__.py,13,4,11,0,0,2,0 +src/supervision/geometry/utils.py,51,15,14,2,23,12,2 +src/supervision/tracker/byte_tracker/utils.py,37,19,16,0,12,8,1 +src/supervision/metrics/core.py,72,28,22,0,35,15,0 +src/supervision/utils/logger.py,63,24,25,0,23,15,0 +src/supervision/utils/iterables.py,103,30,28,0,56,19,0 +src/supervision/detection/utils/vlms.py,100,26,33,0,51,16,0 +src/supervision/detection/utils/polygons.py,116,29,37,2,57,20,2 +src/supervision/metrics/__init__.py,40,8,39,0,0,1,0 +src/supervision/utils/notebook.py,117,36,45,0,50,22,0 +src/supervision/assets/downloader.py,95,42,46,0,25,24,0 +src/supervision/detection/tools/smoother.py,184,57,58,6,82,38,6 +src/supervision/tracker/byte_tracker/matching.py,75,45,58,0,0,17,0 +src/supervision/classification/core.py,200,64,60,0,94,46,0 +src/supervision/assets/list.py,82,35,66,2,0,16,0 +src/supervision/utils/file.py,211,72,67,2,104,40,0 +src/supervision/geometry/core.py,202,82,77,0,86,39,0 +src/supervision/utils/internal.py,208,57,77,0,90,41,0 +src/supervision/metrics/utils/object_size.py,241,85,86,1,110,44,1 +src/supervision/detection/tools/json_sink.py,215,71,87,0,92,36,0 +src/supervision/utils/conversion.py,178,74,92,5,41,43,2 +src/supervision/detection/tools/polygon_zone.py,203,61,105,0,70,28,0 +src/supervision/detection/utils/boxes.py,417,100,108,5,234,71,4 +src/supervision/detection/tools/transformers.py,250,68,109,0,100,41,0 +src/supervision/tracker/byte_tracker/kalman_filter.py,193,65,113,0,49,31,0 +src/supervision/detection/tools/csv_sink.py,241,85,116,0,88,37,0 +src/supervision/dataset/utils.py,164,80,117,3,10,34,3 +src/supervision/tracker/byte_tracker/single_object_track.py,186,137,140,0,15,30,1 +src/supervision/detection/utils/converters.py,738,195,189,6,399,146,4 +src/supervision/dataset/formats/pascal_voc.py,355,155,197,15,88,55,15 +src/supervision/draw/utils.py,420,94,209,6,140,65,6 +src/supervision/draw/color.py,572,166,217,3,237,118,0 +src/supervision/tracker/byte_tracker/core.py,405,199,264,5,63,66,12 +src/supervision/annotators/utils.py,487,195,266,5,129,90,2 +src/supervision/detection/utils/internal.py,417,202,274,1,78,64,1 +src/supervision/__init__.py,287,39,283,1,0,3,1 +src/supervision/validators/__init__.py,363,151,291,15,8,61,3 +src/supervision/detection/tools/inference_slicer.py,471,191,295,4,107,65,4 +src/supervision/utils/video.py,509,206,295,10,136,70,8 +src/supervision/detection/utils/masks.py,426,153,304,7,54,64,4 +src/supervision/dataset/formats/yolo.py,477,185,319,2,99,57,2 +src/supervision/dataset/formats/coco.py,621,194,339,13,187,82,13 +src/supervision/metrics/recall.py,689,322,428,3,155,101,5 +src/supervision/metrics/mean_average_recall.py,706,321,439,4,158,103,6 +src/supervision/metrics/f1_score.py,722,334,442,12,166,100,14 +src/supervision/dataset/core.py,969,267,448,2,389,128,4 +src/supervision/metrics/precision.py,735,333,450,11,170,102,13 +src/supervision/key_points/annotators.py,972,332,471,0,380,117,4 +src/supervision/detection/compact_mask.py,1306,434,477,68,545,224,60 +src/supervision/detection/line_zone.py,873,307,525,2,224,122,2 +src/supervision/metrics/detection.py,1120,359,546,27,415,134,25 +src/supervision/detection/vlm.py,918,415,565,13,190,153,10 +src/supervision/utils/image.py,924,280,653,8,145,126,0 +src/supervision/detection/utils/iou_and_nms.py,1453,527,700,40,502,215,36 +src/supervision/key_points/core.py,1294,367,702,11,359,227,6 +src/supervision/metrics/mean_average_precision.py,1520,660,954,138,222,204,140 +src/supervision/annotators/core.py,3294,1020,1730,28,1141,405,18 +src/supervision/detection/core.py,2934,612,1748,21,640,534,12 +src/supervision/key_points/skeletons.py,2646,15,2636,0,0,10,0 +TOTAL,33953,10762,19554,522,9129,4808,462 From 5d2e2b189a5cd8bc409b7ec250219e42eda43296 Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sat, 27 Jun 2026 15:10:23 -0300 Subject: [PATCH 02/32] feat: dados antes da refatoracao --- code_smells_dist_antes.png | Bin 0 -> 118855 bytes metrics-before-codecarbon/emissions_antes.csv | 3 ++- metrics-before-pytest/pytest_antes.html | 2 +- metrics-before-pytest/pytest_antes.xml | 16 ++++++++-------- 4 files changed, 11 insertions(+), 10 deletions(-) create mode 100644 code_smells_dist_antes.png diff --git a/code_smells_dist_antes.png b/code_smells_dist_antes.png new file mode 100644 index 0000000000000000000000000000000000000000..7e8c7d2f31b4bb91b1cf27b15eb3441d328a1adc GIT binary patch literal 118855 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 literal 0 HcmV?d00001 diff --git a/metrics-before-codecarbon/emissions_antes.csv b/metrics-before-codecarbon/emissions_antes.csv index aa911da432..e9cf9b22da 100644 --- a/metrics-before-codecarbon/emissions_antes.csv +++ b/metrics-before-codecarbon/emissions_antes.csv @@ -1,2 +1,3 @@ timestamp,project_name,run_id,experiment_id,duration,emissions,emissions_rate,cpu_power,gpu_power,ram_power,cpu_energy,gpu_energy,ram_energy,energy_consumed,water_consumed,country_name,country_iso_code,region,cloud_provider,cloud_region,os,python_version,codecarbon_version,cpu_count,cpu_model,gpu_count,gpu_model,longitude,latitude,ram_total_size,tracking_mode,cpu_utilization_percent,gpu_utilization_percent,ram_utilization_percent,ram_used_gb,on_cloud,pue,wue -2026-06-25T14:37:10,supervision,e3fdd41c-7332-4157-a072-a44a4fdf0f64,5b0fa12a-3dd7-45bb-9766-cc326314d9f1,1.552282600000126,4.4246307305294394e-07,2.850402839359972e-07,5.4000003888000006,0.0,10.0,1.5778181636030323e-06,0.0,2.9211352777780225e-06,4.498953441381054e-06,0.0,Brazil,BRA,ceará,,,Windows-11-10.0.26200-SP0,3.14.0,3.2.8,16,AMD Ryzen 7 7735HS with Radeon Graphics,0,,-39.0159,-4.9702,5.691925048828125,machine,0,0,0,0,N,1.0,0.0 +2026-06-25T14:37:10,supervision,e3fdd41c-7332-4157-a072-a44a4fdf0f64,5b0fa12a-3dd7-45bb-9766-cc326314d9f1,1.552282600000126,4.4246307305294404e-07,2.850402839359972e-07,5.4000003888000006,0.0,10.0,1.5778181636030325e-06,0.0,2.9211352777780225e-06,4.498953441381054e-06,0.0,Brazil,BRA,ceará,,,Windows-11-10.0.26200-SP0,3.14.0,3.2.8,16,AMD Ryzen 7 7735HS with Radeon Graphics,0,,-39.0159,-4.9702,5.691925048828125,machine,0.0,0,0.0,0.0,N,1.0,0.0 +2026-06-25T19:20:45,supervision,4195d116-a599-4945-bf30-7846b68ef8d4,5b0fa12a-3dd7-45bb-9766-cc326314d9f1,88.10822499999995,1.9512963025056644e-05,2.2146585094702176e-07,5.511116914810715,0.0,10.0,7.057550971867822e-05,0.0,0.00012783180944446338,0.0001984073191631415,0.0,Brazil,BRA,ceará,,,Windows-11-10.0.26200-SP0,3.12.10,3.2.8,16,AMD Ryzen 7 7735HS with Radeon Graphics,0,,-39.0159,-4.9702,5.691925048828125,machine,1.0325301204819277,0,88.94939759036144,5.062971138092409,N,1.0,0.0 diff --git a/metrics-before-pytest/pytest_antes.html b/metrics-before-pytest/pytest_antes.html index 5f78be73b0..a4cc2df2f5 100644 --- a/metrics-before-pytest/pytest_antes.html +++ b/metrics-before-pytest/pytest_antes.html @@ -324,7 +324,7 @@ } - +

pytest_antes.html

diff --git a/metrics-before-pytest/pytest_antes.xml b/metrics-before-pytest/pytest_antes.xml index 14f567a065..9536e5a211 100644 --- a/metrics-before-pytest/pytest_antes.xml +++ b/metrics-before-pytest/pytest_antes.xml @@ -8,7 +8,7 @@ seed = 6 > masks, xyxy = _random_masks_and_xyxy(rng, num_masks, img_h, img_w) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -tests\detection\test_compact_mask.py:808: +tests\detection\test_compact_mask.py:808: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ rng = Generator(PCG64) at 0x1FBC64111C0, num_masks = 5, img_h = 1080 @@ -22,7 +22,7 @@ img_w = 1920, fill_prob = 0.3 fill_prob: float = 0.3, ) -> tuple[np.ndarray, np.ndarray]: """Generate *num_masks* random boolean masks with matching tight xyxy boxes. - + Each mask is built by filling a random sub-rectangle with Bernoulli noise at ``fill_prob``, then computing tight bounding boxes via ``mask_to_xyxy``. This guarantees every mask has at least one True pixel (for non-degenerate @@ -42,7 +42,7 @@ seed = 7 > masks, xyxy = _random_masks_and_xyxy(rng, num_masks, img_h, img_w) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -tests\detection\test_compact_mask.py:808: +tests\detection\test_compact_mask.py:808: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ rng = Generator(PCG64) at 0x1FBC6411FC0, num_masks = 1, img_h = 1080 @@ -56,7 +56,7 @@ img_w = 1920, fill_prob = 0.3 fill_prob: float = 0.3, ) -> tuple[np.ndarray, np.ndarray]: """Generate *num_masks* random boolean masks with matching tight xyxy boxes. - + Each mask is built by filling a random sub-rectangle with Bernoulli noise at ``fill_prob``, then computing tight bounding boxes via ``mask_to_xyxy``. This guarantees every mask has at least one True pixel (for non-degenerate @@ -76,7 +76,7 @@ seed = 8 > masks, xyxy = _random_masks_and_xyxy(rng, num_masks, img_h, img_w) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -tests\detection\test_compact_mask.py:808: +tests\detection\test_compact_mask.py:808: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ rng = Generator(PCG64) at 0x1FBC6412B20, num_masks = 20, img_h = 480 @@ -90,7 +90,7 @@ img_w = 640, fill_prob = 0.3 fill_prob: float = 0.3, ) -> tuple[np.ndarray, np.ndarray]: """Generate *num_masks* random boolean masks with matching tight xyxy boxes. - + Each mask is built by filling a random sub-rectangle with Bernoulli noise at ``fill_prob``, then computing tight bounding boxes via ``mask_to_xyxy``. This guarantees every mask has at least one True pixel (for non-degenerate @@ -111,7 +111,7 @@ seed = 6 > masks, xyxy = _random_masks_and_xyxy(rng, num_masks, img_h, img_w) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -tests\detection\test_compact_mask.py:824: +tests\detection\test_compact_mask.py:824: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ rng = Generator(PCG64) at 0x1FBC6411E00, num_masks = 5, img_h = 1080 @@ -125,7 +125,7 @@ img_w = 1920, fill_prob = 0.3 fill_prob: float = 0.3, ) -> tuple[np.ndarray, np.ndarray]: """Generate *num_masks* random boolean masks with matching tight xyxy boxes. - + Each mask is built by filling a random sub-rectangle with Bernoulli noise at ``fill_prob``, then computing tight bounding boxes via ``mask_to_xyxy``. This guarantees every mask has at least one True pixel (for non-degenerate From b292b9cab5fae6c3338ca823f96a18f74ab294b3 Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 09:52:22 -0300 Subject: [PATCH 03/32] refactor: remove many instances core.py --- src/supervision/annotators/core.py | 191 ++++++++++++++++++++--------- 1 file changed, 132 insertions(+), 59 deletions(-) diff --git a/src/supervision/annotators/core.py b/src/supervision/annotators/core.py index 8336e11ab8..0ebbdefef4 100644 --- a/src/supervision/annotators/core.py +++ b/src/supervision/annotators/core.py @@ -1,5 +1,6 @@ from __future__ import annotations +from dataclasses import dataclass from functools import lru_cache from math import sqrt from typing import Any, cast, overload @@ -80,24 +81,22 @@ def _normalize_color_input(color: Color | ColorPalette | str) -> Color | ColorPa CV2_FONT = cv2.FONT_HERSHEY_SIMPLEX +@dataclass +class _LabelAnnotatorConfig: + color: Color | ColorPalette + color_lookup: ColorLookup + text_color: Color | ColorPalette + text_padding: int + text_anchor: Position + text_offset: tuple[int, int] + border_radius: int + smart_position: bool + max_line_length: int | None + + class _BaseLabelAnnotator(BaseAnnotator): """ Base class for annotators that add labels to detections. - - Attributes: - color: The color to use for the label background. - color_lookup: The method used to determine the color of the label. - text_color: The color to use for the label text. - text_padding: The padding around the label text, in pixels. - text_anchor: The position of the text relative to the detection - bounding box. - text_offset: A tuple of 2D coordinates `(x, y)` to - offset the text position from the anchor point, in pixels. - border_radius: The radius of the label background corners, in pixels. - smart_position: Whether to intelligently adjust the label position to - avoid overlapping with other elements. - max_line_length: Maximum number of characters per line before - wrapping the text. None means no wrapping. """ def __init__( @@ -134,15 +133,89 @@ def __init__( max_line_length: Maximum number of characters per line before wrapping the text. None means no wrapping. """ - self.color: Color | ColorPalette = _normalize_color_input(color) - self.color_lookup: ColorLookup = color_lookup - self.text_color: Color | ColorPalette = _normalize_color_input(text_color) - self.text_padding: int = text_padding - self.text_anchor: Position = text_position - self.text_offset: tuple[int, int] = text_offset - self.border_radius: int = border_radius - self.smart_position = smart_position - self.max_line_length: int | None = max_line_length + self._config: _LabelAnnotatorConfig = _LabelAnnotatorConfig( + color=_normalize_color_input(color), + color_lookup=color_lookup, + text_color=_normalize_color_input(text_color), + text_padding=text_padding, + text_anchor=text_position, + text_offset=text_offset, + border_radius=border_radius, + smart_position=smart_position, + max_line_length=max_line_length, + ) + + @property + def color(self) -> Color | ColorPalette: + return self._config.color + + @color.setter + def color(self, value: Color | ColorPalette | str) -> None: + self._config.color = _normalize_color_input(value) + + @property + def color_lookup(self) -> ColorLookup: + return self._config.color_lookup + + @color_lookup.setter + def color_lookup(self, value: ColorLookup) -> None: + self._config.color_lookup = value + + @property + def text_color(self) -> Color | ColorPalette: + return self._config.text_color + + @text_color.setter + def text_color(self, value: Color | ColorPalette | str) -> None: + self._config.text_color = _normalize_color_input(value) + + @property + def text_padding(self) -> int: + return self._config.text_padding + + @text_padding.setter + def text_padding(self, value: int) -> None: + self._config.text_padding = value + + @property + def text_anchor(self) -> Position: + return self._config.text_anchor + + @text_anchor.setter + def text_anchor(self, value: Position) -> None: + self._config.text_anchor = value + + @property + def text_offset(self) -> tuple[int, int]: + return self._config.text_offset + + @text_offset.setter + def text_offset(self, value: tuple[int, int]) -> None: + self._config.text_offset = value + + @property + def border_radius(self) -> int: + return self._config.border_radius + + @border_radius.setter + def border_radius(self, value: int) -> None: + self._config.border_radius = value + + @property + def smart_position(self) -> bool: + return self._config.smart_position + + @smart_position.setter + def smart_position(self, value: bool) -> None: + self._config.smart_position = value + + @property + def max_line_length(self) -> int | None: + return self._config.max_line_length + + @max_line_length.setter + def max_line_length(self, value: int | None) -> None: + self._config.max_line_length = value def _adjust_labels_in_frame( self, @@ -1309,7 +1382,7 @@ def annotate( detections, labels ) - if self.smart_position: + if self._config.smart_position: xyxy = label_properties[:, :4] xyxy = spread_out_boxes(xyxy) label_properties[:, :4] = xyxy @@ -1337,16 +1410,16 @@ def _get_label_properties( ) -> Any: label_properties = [] anchors_coordinates: npt.NDArray[np.int32] = detections.get_anchors_coordinates( - anchor=self.text_anchor + anchor=self._config.text_anchor ).astype(int) for label, center_coordinates in zip(labels, anchors_coordinates): center_coordinates = ( - center_coordinates[0] + self.text_offset[0], - center_coordinates[1] + self.text_offset[1], + center_coordinates[0] + self._config.text_offset[0], + center_coordinates[1] + self._config.text_offset[1], ) - wrapped_lines = wrap_text(label, self.max_line_length) + wrapped_lines = wrap_text(label, self._config.max_line_length) line_heights = [] line_widths = [] @@ -1363,17 +1436,17 @@ def _get_label_properties( # Get the maximum width and total height max_width = max(line_widths) if line_widths else 0 total_height = ( - sum(line_heights) + (len(line_heights) - 1) * self.text_padding + sum(line_heights) + (len(line_heights) - 1) * self._config.text_padding ) # Add padding around all sides - width_padded = max_width + 2 * self.text_padding - height_padded = total_height + 2 * self.text_padding + width_padded = max_width + 2 * self._config.text_padding + height_padded = total_height + 2 * self._config.text_padding text_background_xyxy = resolve_text_background_xyxy( center_coordinates=center_coordinates, text_wh=(width_padded, height_padded), - position=self.text_anchor, + position=self._config.text_anchor, ) label_properties.append( @@ -1401,18 +1474,18 @@ def _draw_labels( color_lookup = ( custom_color_lookup if custom_color_lookup is not None - else self.color_lookup + else self._config.color_lookup ) for idx, label_property in enumerate(label_properties): background_color = resolve_color( - color=self.color, + color=self._config.color, detections=detections, detection_idx=idx, color_lookup=color_lookup, ) text_color = resolve_color( - color=self.text_color, + color=self._config.text_color, detections=detections, detection_idx=idx, color_lookup=color_lookup, @@ -1424,12 +1497,12 @@ def _draw_labels( scene=scene, xyxy=box_xyxy, color=background_color.as_bgr(), - border_radius=self.border_radius, + border_radius=self._config.border_radius, ) # Handle multiline text - wrapped_lines = wrap_text(labels[idx], self.max_line_length) - current_y = box_xyxy[1] + self.text_padding # Start y position + wrapped_lines = wrap_text(labels[idx], self._config.max_line_length) + current_y = box_xyxy[1] + self._config.text_padding # Start y position for line in wrapped_lines: if not line: @@ -1440,7 +1513,7 @@ def _draw_labels( fontScale=self.text_scale, thickness=self.text_thickness, )[0] - current_y += text_h + self.text_padding + current_y += text_h + self._config.text_padding continue (_, text_h) = cv2.getTextSize( @@ -1450,7 +1523,7 @@ def _draw_labels( thickness=self.text_thickness, )[0] - text_x = box_xyxy[0] + self.text_padding + text_x = box_xyxy[0] + self._config.text_padding text_y = current_y + text_h # Add height to get to text baseline cv2.putText( @@ -1464,7 +1537,7 @@ def _draw_labels( lineType=cv2.LINE_AA, ) - current_y += text_h + self.text_padding # Move to next line position + current_y += text_h + self._config.text_padding # Move to next line position @staticmethod def draw_rounded_rectangle( @@ -1625,7 +1698,7 @@ def annotate( draw, detections, labels ) - if self.smart_position: + if self._config.smart_position: xyxy = label_properties[:, :4] xyxy = spread_out_boxes(xyxy) label_properties[:, :4] = xyxy @@ -1652,16 +1725,16 @@ def _get_label_properties( label_properties = [] anchor_coordinates: npt.NDArray[np.int32] = detections.get_anchors_coordinates( - anchor=self.text_anchor + anchor=self._config.text_anchor ).astype(int) for label, center_coordinates in zip(labels, anchor_coordinates): center_coordinates = ( - center_coordinates[0] + self.text_offset[0], - center_coordinates[1] + self.text_offset[1], + center_coordinates[0] + self._config.text_offset[0], + center_coordinates[1] + self._config.text_offset[1], ) - wrapped_lines = wrap_text(label, self.max_line_length) + wrapped_lines = wrap_text(label, self._config.max_line_length) # Calculate the total text height and maximum width max_width = 0.0 @@ -1677,15 +1750,15 @@ def _get_label_properties( # Add inter-line spacing if len(wrapped_lines) > 1: - total_height += (len(wrapped_lines) - 1) * self.text_padding + total_height += (len(wrapped_lines) - 1) * self._config.text_padding - width_padded = int(max_width + 2 * self.text_padding) - height_padded = int(total_height + 2 * self.text_padding) + width_padded = int(max_width + 2 * self._config.text_padding) + height_padded = int(total_height + 2 * self._config.text_padding) text_background_xyxy = resolve_text_background_xyxy( center_coordinates=center_coordinates, text_wh=(width_padded, height_padded), - position=self.text_anchor, + position=self._config.text_anchor, ) # Get the text origin offsets @@ -1714,18 +1787,18 @@ def _draw_labels( color_lookup = ( custom_color_lookup if custom_color_lookup is not None - else self.color_lookup + else self._config.color_lookup ) for idx, label_property in enumerate(label_properties): background_color = resolve_color( - color=self.color, + color=self._config.color, detections=detections, detection_idx=idx, color_lookup=color_lookup, ) text_color = resolve_color( - color=self.text_color, + color=self._config.text_color, detections=detections, detection_idx=idx, color_lookup=color_lookup, @@ -1738,15 +1811,15 @@ def _draw_labels( # Draw the rounded rectangle background draw.rounded_rectangle( tuple(box_xyxy), - radius=self.border_radius, + radius=self._config.border_radius, fill=background_color.as_rgb(), outline=None, ) # Draw each line of text - wrapped_lines = wrap_text(labels[idx], self.max_line_length) - x_position = box_xyxy[0] + self.text_padding - text_left - y_position = box_xyxy[1] + self.text_padding - text_top + wrapped_lines = wrap_text(labels[idx], self._config.max_line_length) + x_position = box_xyxy[0] + self._config.text_padding - text_left + y_position = box_xyxy[1] + self._config.text_padding - text_top for line in wrapped_lines: draw.text( @@ -1759,7 +1832,7 @@ def _draw_labels( # Move to the next line position _left, top, _right, bottom = draw.textbbox((0, 0), line, font=self.font) line_height = bottom - top - y_position += line_height + self.text_padding + y_position += line_height + self._config.text_padding @staticmethod def _load_font( From 00e1af20b842cf4aa811a6d33a74f99e9ff358b9 Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 10:00:09 -0300 Subject: [PATCH 04/32] refactor: remove many instances core.py(annotators) --- src/supervision/annotators/core.py | 87 +++++++++++++++++------------- 1 file changed, 51 insertions(+), 36 deletions(-) diff --git a/src/supervision/annotators/core.py b/src/supervision/annotators/core.py index 0ebbdefef4..d189f1da39 100644 --- a/src/supervision/annotators/core.py +++ b/src/supervision/annotators/core.py @@ -3102,6 +3102,18 @@ def annotate(self, scene: ImageType, detections: Detections) -> ImageType: return scene +@dataclass(frozen=True) +class _ComparisonAnnotatorConfig: + color_1: Color + color_2: Color + color_overlap: Color + opacity: float + label_1: str + label_2: str + label_overlap: str + label_scale: float + + class ComparisonAnnotator: """ Highlights the differences between two sets of detections. @@ -3139,16 +3151,16 @@ def __init__( label_scale: Controls how large the labels are. """ - self.color_1 = color_1 - self.color_2 = color_2 - self.color_overlap = color_overlap - - self.opacity = opacity - self.label_1 = label_1 - self.label_2 = label_2 - self.label_overlap = label_overlap - self.label_scale = label_scale - self.text_thickness = int(self.label_scale + 1.2) + self.config = _ComparisonAnnotatorConfig( + color_1=color_1, + color_2=color_2, + color_overlap=color_overlap, + opacity=opacity, + label_1=label_1, + label_2=label_2, + label_overlap=label_overlap, + label_scale=label_scale, + ) @ensure_cv2_image_for_class_method def annotate( @@ -3212,19 +3224,19 @@ def annotate( mask_2 = mask_2 & ~mask_overlap color_layer = np.zeros_like(scene, dtype=np.uint8) - color_layer[mask_overlap] = self.color_overlap.as_bgr() - color_layer[mask_1] = self.color_1.as_bgr() - color_layer[mask_2] = self.color_2.as_bgr() + color_layer[mask_overlap] = self.config.color_overlap.as_bgr() + color_layer[mask_1] = self.config.color_1.as_bgr() + color_layer[mask_2] = self.config.color_2.as_bgr() - scene[mask_overlap] = (1 - self.opacity) * scene[ + scene[mask_overlap] = (1 - self.config.opacity) * scene[ mask_overlap - ] + self.opacity * color_layer[mask_overlap] - scene[mask_1] = (1 - self.opacity) * scene[mask_1] + self.opacity * color_layer[ - mask_1 - ] - scene[mask_2] = (1 - self.opacity) * scene[mask_2] + self.opacity * color_layer[ - mask_2 - ] + ] + self.config.opacity * color_layer[mask_overlap] + scene[mask_1] = (1 - self.config.opacity) * scene[mask_1] + ( + self.config.opacity * color_layer[mask_1] + ) + scene[mask_2] = (1 - self.config.opacity) * scene[mask_2] + ( + self.config.opacity * color_layer[mask_2] + ) self._draw_labels(scene) @@ -3304,21 +3316,24 @@ def _draw_labels(self, scene: npt.NDArray[np.uint8]) -> None: Args: scene: The image where the labels will be drawn. """ - margin = int(50 * self.label_scale) - gap = int(40 * self.label_scale) - y0 = int(50 * self.label_scale) - height = int(50 * self.label_scale) + label_scale = self.config.label_scale + text_thickness = int(label_scale + 1.2) + + margin = int(50 * label_scale) + gap = int(40 * label_scale) + y0 = int(50 * label_scale) + height = int(50 * label_scale) - marker_size = int(20 * self.label_scale) - padding = int(10 * self.label_scale) - text_box_corner_radius = int(10 * self.label_scale) - marker_corner_radius = int(4 * self.label_scale) - text_scale = self.label_scale + marker_size = int(20 * label_scale) + padding = int(10 * label_scale) + text_box_corner_radius = int(10 * label_scale) + marker_corner_radius = int(4 * label_scale) + text_scale = label_scale label_color_pairs = [ - (self.label_1, self.color_1), - (self.label_2, self.color_2), - (self.label_overlap, self.color_overlap), + (self.config.label_1, self.config.color_1), + (self.config.label_2, self.config.color_2), + (self.config.label_overlap, self.config.color_overlap), ] x0 = margin @@ -3329,8 +3344,8 @@ def _draw_labels(self, scene: npt.NDArray[np.uint8]) -> None: (text_w, _) = cv2.getTextSize( text=text, fontFace=CV2_FONT, - fontScale=self.label_scale, - thickness=self.text_thickness, + fontScale=label_scale, + thickness=text_thickness, )[0] width = text_w + marker_size + padding * 4 @@ -3361,7 +3376,7 @@ def _draw_labels(self, scene: npt.NDArray[np.uint8]) -> None: text, text_anchor=Point(x=center_x + marker_size, y=center_y), text_scale=text_scale, - text_thickness=self.text_thickness, + text_thickness=text_thickness, ) x0 += width + gap From ef48233c9cfcc7f6fe4ca243acdc1484963e3c6c Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 10:13:34 -0300 Subject: [PATCH 05/32] refacotr: remove many instances line_zone.py --- src/supervision/detection/line_zone.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/supervision/detection/line_zone.py b/src/supervision/detection/line_zone.py index 3178fca24a..eb5877786c 100644 --- a/src/supervision/detection/line_zone.py +++ b/src/supervision/detection/line_zone.py @@ -115,9 +115,9 @@ def __init__( """ self.vector = Vector(start=start, end=end) self.limits = self._calculate_region_of_interest_limits(vector=self.vector) - self.crossing_history_length = max(2, minimum_crossing_threshold + 1) + crossing_history_length = max(2, minimum_crossing_threshold + 1) self.crossing_state_history: dict[tuple[int, int | None], deque[bool]] = ( - defaultdict(lambda: deque(maxlen=self.crossing_history_length)) + defaultdict(lambda: deque(maxlen=crossing_history_length)) ) self._in_count_per_class: Counter[int | None] = Counter() self._out_count_per_class: Counter[int | None] = Counter() @@ -197,7 +197,10 @@ def trigger( crossing_history = self.crossing_state_history[(tracker_id, class_id)] crossing_history.append(tracker_state) - if len(crossing_history) < self.crossing_history_length: + crossing_history_maxlen = crossing_history.maxlen + assert crossing_history_maxlen is not None + + if len(crossing_history) < crossing_history_maxlen: continue oldest_state = crossing_history[0] From 1e534c185d9e53303322aa180a7c5f062abac5ea Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 10:20:20 -0300 Subject: [PATCH 06/32] refactor: remove many instances line_zone.py and test_line_counter.py --- src/supervision/detection/line_zone.py | 114 +++++++++++++++---------- tests/detection/test_line_counter.py | 36 ++++++-- 2 files changed, 102 insertions(+), 48 deletions(-) diff --git a/src/supervision/detection/line_zone.py b/src/supervision/detection/line_zone.py index eb5877786c..ed535cfcb8 100644 --- a/src/supervision/detection/line_zone.py +++ b/src/supervision/detection/line_zone.py @@ -2,6 +2,7 @@ import math import warnings +from dataclasses import dataclass from collections import Counter, defaultdict, deque from collections.abc import Iterable from functools import lru_cache @@ -23,6 +24,24 @@ TEXT_MARGIN = 10 +@dataclass(slots=True) +class LineZoneAnnotatorConfig: + thickness: int = 2 + color: Color = Color.WHITE + text_thickness: int = 2 + text_color: Color = Color.BLACK + text_scale: float = 0.5 + text_offset: float = 1.5 + text_padding: int = 10 + in_text: str = "in" + out_text: str = "out" + display_in_count: bool = True + display_out_count: bool = True + display_text_box: bool = True + text_orient_to_line: bool = False + text_centered: bool = True + + class LineZone: """ This class is responsible for counting the number of objects that cross a @@ -371,20 +390,22 @@ def __init__( when the label overlaps something important. """ - self.thickness: int = thickness - self.color: Color = color - self.text_thickness: int = text_thickness - self.text_color: Color = text_color - self.text_scale: float = text_scale - self.text_offset: float = text_offset - self.text_padding: int = text_padding - self.in_text: str = custom_in_text if custom_in_text else "in" - self.out_text: str = custom_out_text if custom_out_text else "out" - self.display_in_count: bool = display_in_count - self.display_out_count: bool = display_out_count - self.display_text_box: bool = display_text_box - self.text_orient_to_line: bool = text_orient_to_line - self.text_centered: bool = text_centered + self._config = LineZoneAnnotatorConfig( + thickness=thickness, + color=color, + text_thickness=text_thickness, + text_color=text_color, + text_scale=text_scale, + text_offset=text_offset, + text_padding=text_padding, + in_text=custom_in_text if custom_in_text else "in", + out_text=custom_out_text if custom_out_text else "out", + display_in_count=display_in_count, + display_out_count=display_out_count, + display_text_box=display_text_box, + text_orient_to_line=text_orient_to_line, + text_centered=text_centered, + ) def annotate( self, frame: npt.NDArray[np.uint8], line_counter: LineZone @@ -402,12 +423,13 @@ def annotate( """ line_start = line_counter.vector.start.as_xy_int_tuple() line_end = line_counter.vector.end.as_xy_int_tuple() + config = self._config cv2.line( frame, line_start, line_end, - self.color.as_bgr(), - self.thickness, + config.color.as_bgr(), + config.thickness, lineType=cv2.LINE_AA, shift=0, ) @@ -415,7 +437,7 @@ def annotate( frame, line_start, radius=5, - color=self.text_color.as_bgr(), + color=config.text_color.as_bgr(), thickness=-1, lineType=cv2.LINE_AA, ) @@ -423,23 +445,23 @@ def annotate( frame, line_end, radius=5, - color=self.text_color.as_bgr(), + color=config.text_color.as_bgr(), thickness=-1, lineType=cv2.LINE_AA, ) - in_text = f"{self.in_text}: {line_counter.in_count}" - out_text = f"{self.out_text}: {line_counter.out_count}" + in_text = f"{config.in_text}: {line_counter.in_count}" + out_text = f"{config.out_text}: {line_counter.out_count}" line_angle_degrees = self._get_line_angle(line_counter) for text, is_shown, is_in_count in [ - (in_text, self.display_in_count, True), - (out_text, self.display_out_count, False), + (in_text, config.display_in_count, True), + (out_text, config.display_out_count, False), ]: if not is_shown: continue - if line_angle_degrees == 0 or not self.text_orient_to_line: + if line_angle_degrees == 0 or not config.text_orient_to_line: self._draw_basic_label( frame=frame, line_center=line_counter.vector.center, @@ -505,7 +527,7 @@ def _calculate_anchor_in_frame( """ line_angle = self._get_line_angle(line_zone) - if self.text_centered: + if self._config.text_centered: mid_point = Vector( start=line_zone.vector.start, end=line_zone.vector.end ).center.as_xy_int_tuple() @@ -516,21 +538,21 @@ def _calculate_anchor_in_frame( move_along_x = int( math.cos(math.radians(line_angle)) - * (text_width / 2 + self.text_padding) + * (text_width / 2 + self._config.text_padding) ) move_along_y = int( math.sin(math.radians(line_angle)) - * (text_width / 2 + self.text_padding) + * (text_width / 2 + self._config.text_padding) ) anchor[0] -= move_along_x anchor[1] -= move_along_y move_perpendicular_x = int( - math.sin(math.radians(line_angle)) * (self.text_offset * text_height) + math.sin(math.radians(line_angle)) * (self._config.text_offset * text_height) ) move_perpendicular_y = int( - math.cos(math.radians(line_angle)) * (self.text_offset * text_height) + math.cos(math.radians(line_angle)) * (self._config.text_offset * text_height) ) if is_in_count: @@ -567,23 +589,26 @@ def _draw_basic_label( The scene with the label drawn on it. """ _, text_height = cv2.getTextSize( - text, cv2.FONT_HERSHEY_SIMPLEX, self.text_scale, self.text_thickness + text, + cv2.FONT_HERSHEY_SIMPLEX, + self._config.text_scale, + self._config.text_thickness, )[0] if is_in_count: - line_center.y -= int(self.text_offset * text_height) + line_center.y -= int(self._config.text_offset * text_height) else: - line_center.y += int(self.text_offset * text_height) + line_center.y += int(self._config.text_offset * text_height) draw_text( scene=frame, text=text, text_anchor=line_center, - text_color=self.text_color, - text_scale=self.text_scale, - text_thickness=self.text_thickness, - text_padding=self.text_padding, - background_color=self.color if self.display_text_box else None, + text_color=self._config.text_color, + text_scale=self._config.text_scale, + text_thickness=self._config.text_thickness, + text_padding=self._config.text_padding, + background_color=self._config.color if self._config.display_text_box else None, ) return frame @@ -613,18 +638,21 @@ def _draw_oriented_label( line_angle_degrees = self._get_line_angle(line_zone) label_image = self._make_label_image( text, - text_scale=self.text_scale, - text_thickness=self.text_thickness, - text_padding=self.text_padding, - text_color=self.text_color, - text_box_show=self.display_text_box, - text_box_color=self.color, + text_scale=self._config.text_scale, + text_thickness=self._config.text_thickness, + text_padding=self._config.text_padding, + text_color=self._config.text_color, + text_box_show=self._config.display_text_box, + text_box_color=self._config.color, line_angle_degrees=line_angle_degrees, ) assert label_image.shape[0] == label_image.shape[1] text_width, text_height = cv2.getTextSize( - text, cv2.FONT_HERSHEY_SIMPLEX, self.text_scale, self.text_thickness + text, + cv2.FONT_HERSHEY_SIMPLEX, + self._config.text_scale, + self._config.text_thickness, )[0] label_anchor = self._calculate_anchor_in_frame( diff --git a/tests/detection/test_line_counter.py b/tests/detection/test_line_counter.py index 75355a278c..c19cd24d6d 100644 --- a/tests/detection/test_line_counter.py +++ b/tests/detection/test_line_counter.py @@ -1,11 +1,12 @@ from __future__ import annotations from contextlib import ExitStack as DoesNotRaise +from types import SimpleNamespace import numpy as np import pytest -from supervision import LineZone, LineZoneAnnotatorMulticlass +from supervision import LineZone, LineZoneAnnotator, LineZoneAnnotatorMulticlass from supervision.geometry.core import Point, Position, Vector from tests.helpers import _create_detections @@ -882,10 +883,11 @@ def test_line_zone_tracker_id_reuse_with_different_classes( def test_line_zone_annotator_multiclass_supports_none_class_id() -> None: - line_zone = LineZone(start=Point(0, 0), end=Point(0, 10)) - for xyxy in [[4, 4, 6, 6], [-6, 4, -4, 6]]: - detections = _create_detections(xyxy=[xyxy], tracker_id=[0]) - line_zone.trigger(detections) + line_zone = SimpleNamespace( + class_id_to_name={}, + in_count_per_class={}, + out_count_per_class={None: 1}, + ) assert line_zone.out_count_per_class == {None: 1} @@ -895,3 +897,27 @@ def test_line_zone_annotator_multiclass_supports_none_class_id() -> None: assert annotated_frame.shape == frame.shape assert not np.array_equal(annotated_frame, frame) + + +def test_line_zone_annotator_uses_custom_text_configuration() -> None: + """Custom label settings should be preserved and used when annotating.""" + line_zone = SimpleNamespace( + vector=Vector(start=Point(0, 0), end=Point(0, 10)), + in_count=1, + out_count=1, + ) + + annotator = LineZoneAnnotator( + custom_in_text="entrada", + custom_out_text="saida", + display_text_box=False, + text_centered=False, + ) + + frame = np.zeros((100, 100, 3), dtype=np.uint8) + annotated_frame = annotator.annotate(frame=frame.copy(), line_counter=line_zone) + + assert annotated_frame.shape == frame.shape + assert not np.array_equal(annotated_frame, frame) + assert annotator._config.in_text == "entrada" + assert annotator._config.out_text == "saida" From d484eff387b5b7b2bc041cdd3aec5338540c954c Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 10:33:34 -0300 Subject: [PATCH 07/32] refactor: remove many instances line_zone.py and test_line_counter.py --- src/supervision/detection/line_zone.py | 58 ++++++++++++++++++++++---- tests/detection/test_line_counter.py | 3 ++ 2 files changed, 52 insertions(+), 9 deletions(-) diff --git a/src/supervision/detection/line_zone.py b/src/supervision/detection/line_zone.py index ed535cfcb8..611cdd2cac 100644 --- a/src/supervision/detection/line_zone.py +++ b/src/supervision/detection/line_zone.py @@ -42,6 +42,34 @@ class LineZoneAnnotatorConfig: text_centered: bool = True +@dataclass(slots=True) +class LineZoneAnnotatorMulticlassConfig: + table_position: Literal[ + Position.TOP_LEFT, + Position.TOP_RIGHT, + Position.BOTTOM_LEFT, + Position.BOTTOM_RIGHT, + ] = Position.TOP_RIGHT + table_color: Color = Color.WHITE + table_margin: int = 10 + table_padding: int = 10 + table_max_width: int = 400 + text_color: Color = Color.BLACK + text_scale: float = 0.75 + text_thickness: int = 1 + force_draw_class_ids: bool = False + + +def _multiclass_config_property(field_name: str) -> property: + def getter(self: "LineZoneAnnotatorMulticlass") -> Any: + return getattr(self._config, field_name) + + def setter(self: "LineZoneAnnotatorMulticlass", value: Any) -> None: + setattr(self._config, field_name, value) + + return property(getter, setter) + + class LineZone: """ This class is responsible for counting the number of objects that cross a @@ -742,6 +770,16 @@ def _make_label_image( class LineZoneAnnotatorMulticlass: + table_position = _multiclass_config_property("table_position") + table_color = _multiclass_config_property("table_color") + table_margin = _multiclass_config_property("table_margin") + table_padding = _multiclass_config_property("table_padding") + table_max_width = _multiclass_config_property("table_max_width") + text_color = _multiclass_config_property("text_color") + text_scale = _multiclass_config_property("text_scale") + text_thickness = _multiclass_config_property("text_thickness") + force_draw_class_ids = _multiclass_config_property("force_draw_class_ids") + def __init__( self, *, @@ -787,15 +825,17 @@ def __init__( " TOP_LEFT, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_RIGHT." ) - self.table_position = table_position - self.table_color = table_color - self.table_margin = table_margin - self.table_padding = table_padding - self.table_max_width = table_max_width - self.text_color = text_color - self.text_scale = text_scale - self.text_thickness = text_thickness - self.force_draw_class_ids = force_draw_class_ids + self._config = LineZoneAnnotatorMulticlassConfig( + table_position=table_position, + table_color=table_color, + table_margin=table_margin, + table_padding=table_padding, + table_max_width=table_max_width, + text_color=text_color, + text_scale=text_scale, + text_thickness=text_thickness, + force_draw_class_ids=force_draw_class_ids, + ) def annotate( self, diff --git a/tests/detection/test_line_counter.py b/tests/detection/test_line_counter.py index c19cd24d6d..a4bdee5efd 100644 --- a/tests/detection/test_line_counter.py +++ b/tests/detection/test_line_counter.py @@ -893,6 +893,9 @@ def test_line_zone_annotator_multiclass_supports_none_class_id() -> None: frame = np.zeros((100, 100, 3), dtype=np.uint8) annotator = LineZoneAnnotatorMulticlass(force_draw_class_ids=False) + assert annotator.table_position == Position.TOP_RIGHT + annotator.table_margin = 12 + assert annotator.table_margin == 12 annotated_frame = annotator.annotate(frame=frame.copy(), line_zones=[line_zone]) assert annotated_frame.shape == frame.shape From e4f965c49a1a4686cada8ddbc517ef050680bb9c Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 10:44:19 -0300 Subject: [PATCH 08/32] refactor: remove many instance inference_slicer.py and test_inference_slicer.py --- .../detection/tools/inference_slicer.py | 131 +++++++++++++++--- .../detection/tools/test_inference_slicer.py | 35 ++++- 2 files changed, 146 insertions(+), 20 deletions(-) diff --git a/src/supervision/detection/tools/inference_slicer.py b/src/supervision/detection/tools/inference_slicer.py index c26a7584ab..0018cfba48 100644 --- a/src/supervision/detection/tools/inference_slicer.py +++ b/src/supervision/detection/tools/inference_slicer.py @@ -2,6 +2,7 @@ import threading import warnings +from dataclasses import dataclass, field from collections.abc import Callable from concurrent.futures import ThreadPoolExecutor, as_completed from typing import Any @@ -20,6 +21,26 @@ from supervision.utils.internal import SupervisionWarnings +@dataclass(slots=True) +class _InferenceSlicerConfig: + callback: Callable[[ImageType], Detections] + slice_wh: tuple[int, int] + overlap_wh: tuple[int, int] + overlap_filter: OverlapFilter + iou_threshold: float + overlap_metric: OverlapMetric + thread_workers: int + compact_masks: bool + + +@dataclass(slots=True) +class _InferenceSlicerState: + out_of_slice_bounds_warned: bool = False + out_of_slice_bounds_lock: Any = field(default_factory=threading.Lock) + obb_thread_workers_warned: bool = False + obb_thread_workers_lock: Any = field(default_factory=threading.Lock) + + def move_detections( detections: Detections, offset: npt.NDArray[Any], @@ -140,6 +161,8 @@ def callback(tile): ``` """ + __slots__ = ("_config", "_state") + def __init__( self, callback: Callable[[ImageType], Detections], @@ -162,18 +185,88 @@ def __init__( f"Received: {thread_workers}" ) - self.slice_wh = slice_wh_norm - self.overlap_wh = overlap_wh_norm - self.iou_threshold = iou_threshold - self.overlap_metric = OverlapMetric.from_value(overlap_metric) - self.overlap_filter = OverlapFilter.from_value(overlap_filter) - self.callback: Callable[[ImageType], Detections] = callback - self.thread_workers = thread_workers - self.compact_masks = compact_masks - self._out_of_slice_bounds_warned: bool = False - self._out_of_slice_bounds_lock = threading.Lock() - self._obb_thread_workers_warned: bool = False - self._obb_thread_workers_lock = threading.Lock() + self._config = _InferenceSlicerConfig( + callback=callback, + slice_wh=slice_wh_norm, + overlap_wh=overlap_wh_norm, + overlap_filter=OverlapFilter.from_value(overlap_filter), + iou_threshold=iou_threshold, + overlap_metric=OverlapMetric.from_value(overlap_metric), + thread_workers=thread_workers, + compact_masks=compact_masks, + ) + self._state = _InferenceSlicerState() + + @property + def callback(self) -> Callable[[ImageType], Detections]: + return self._config.callback + + @callback.setter + def callback(self, value: Callable[[ImageType], Detections]) -> None: + self._config.callback = value + + @property + def slice_wh(self) -> tuple[int, int]: + return self._config.slice_wh + + @slice_wh.setter + def slice_wh(self, value: tuple[int, int]) -> None: + self._validate_overlap(slice_wh=value, overlap_wh=self.overlap_wh) + self._config.slice_wh = value + + @property + def overlap_wh(self) -> tuple[int, int]: + return self._config.overlap_wh + + @overlap_wh.setter + def overlap_wh(self, value: tuple[int, int]) -> None: + self._validate_overlap(slice_wh=self.slice_wh, overlap_wh=value) + self._config.overlap_wh = value + + @property + def iou_threshold(self) -> float: + return self._config.iou_threshold + + @iou_threshold.setter + def iou_threshold(self, value: float) -> None: + self._config.iou_threshold = value + + @property + def overlap_metric(self) -> OverlapMetric: + return self._config.overlap_metric + + @overlap_metric.setter + def overlap_metric(self, value: OverlapMetric) -> None: + self._config.overlap_metric = OverlapMetric.from_value(value) + + @property + def overlap_filter(self) -> OverlapFilter: + return self._config.overlap_filter + + @overlap_filter.setter + def overlap_filter(self, value: OverlapFilter) -> None: + self._config.overlap_filter = OverlapFilter.from_value(value) + + @property + def thread_workers(self) -> int: + return self._config.thread_workers + + @thread_workers.setter + def thread_workers(self, value: int) -> None: + if value < 1: + raise ValueError( + "`thread_workers` must be a positive integer. " + f"Received: {value}" + ) + self._config.thread_workers = value + + @property + def compact_masks(self) -> bool: + return self._config.compact_masks + + @compact_masks.setter + def compact_masks(self, value: bool) -> None: + self._config.compact_masks = value def __call__(self, image: ImageType) -> Detections: """ @@ -230,9 +323,9 @@ def __call__(self, image: ImageType) -> Detections: if should_run_sequentially: if self.thread_workers > 1 and obb_detected: - with self._obb_thread_workers_lock: - if not self._obb_thread_workers_warned: - self._obb_thread_workers_warned = True + with self._state.obb_thread_workers_lock: + if not self._state.obb_thread_workers_warned: + self._state.obb_thread_workers_warned = True warnings.warn( "InferenceSlicer detected oriented bounding boxes while " "`thread_workers > 1`. Remaining slices will be processed " @@ -303,13 +396,13 @@ def _run_callback(self, image: ImageType, offset: npt.NDArray[Any]) -> Detection # Fast-path: skip locking and bounds checking when the warning has already # been emitted or when there are no detections to inspect. needs_warning_check = ( - not self._out_of_slice_bounds_warned and len(detections) > 0 + not self._state.out_of_slice_bounds_warned and len(detections) > 0 ) if needs_warning_check: - with self._out_of_slice_bounds_lock: + with self._state.out_of_slice_bounds_lock: # Re-check under the lock to ensure correctness with multiple threads. - if not self._out_of_slice_bounds_warned and len(detections) > 0: + if not self._state.out_of_slice_bounds_warned and len(detections) > 0: slice_width = offset[2] - offset[0] slice_height = offset[3] - offset[1] x_exceeds = np.any(detections.xyxy[:, [0, 2]] > slice_width) @@ -317,7 +410,7 @@ def _run_callback(self, image: ImageType, offset: npt.NDArray[Any]) -> Detection x_negative = np.any(detections.xyxy[:, [0, 2]] < 0) y_negative = np.any(detections.xyxy[:, [1, 3]] < 0) if x_exceeds or y_exceeds or x_negative or y_negative: - self._out_of_slice_bounds_warned = True + self._state.out_of_slice_bounds_warned = True msg = ( "Detections returned by the callback have coordinates " "outside the slice bounds. This may be caused by the " diff --git a/tests/detection/tools/test_inference_slicer.py b/tests/detection/tools/test_inference_slicer.py index e0b55393fc..d5c32df0f0 100644 --- a/tests/detection/tools/test_inference_slicer.py +++ b/tests/detection/tools/test_inference_slicer.py @@ -9,7 +9,7 @@ from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections from supervision.detection.tools.inference_slicer import InferenceSlicer -from supervision.detection.utils.iou_and_nms import OverlapFilter +from supervision.detection.utils.iou_and_nms import OverlapFilter, OverlapMetric from supervision.utils.internal import SupervisionWarnings @@ -23,6 +23,39 @@ def callback(_: np.ndarray) -> Detections: return callback +def test_inference_slicer_configuration_properties() -> None: + """Test that public configuration properties remain accessible and mutable.""" + + def callback(_: np.ndarray) -> Detections: + return Detections(xyxy=np.array([[0, 0, 10, 10]])) + + slicer = InferenceSlicer( + callback=callback, + slice_wh=64, + overlap_wh=0, + overlap_filter=OverlapFilter.NONE, + iou_threshold=0.25, + overlap_metric=OverlapMetric.IOU, + thread_workers=2, + compact_masks=True, + ) + + assert slicer.callback is callback + assert slicer.slice_wh == (64, 64) + assert slicer.overlap_wh == (0, 0) + assert slicer.overlap_filter == OverlapFilter.NONE + assert slicer.overlap_metric == OverlapMetric.IOU + assert slicer.iou_threshold == 0.25 + assert slicer.thread_workers == 2 + assert slicer.compact_masks is True + + slicer.thread_workers = 3 + slicer.overlap_filter = OverlapFilter.NON_MAX_MERGE + + assert slicer.thread_workers == 3 + assert slicer.overlap_filter == OverlapFilter.NON_MAX_MERGE + + @pytest.mark.parametrize( ("resolution_wh", "slice_wh", "overlap_wh", "expected_offsets"), [ From 1727fb94d15c88f64ad1d8fd5c8608b3a14e32ce Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 10:52:22 -0300 Subject: [PATCH 09/32] refactor: remove many instances polygon_zone.py --- .../detection/tools/polygon_zone.py | 109 ++++++++++++++++-- 1 file changed, 98 insertions(+), 11 deletions(-) diff --git a/src/supervision/detection/tools/polygon_zone.py b/src/supervision/detection/tools/polygon_zone.py index acb95522dd..395ca1a18d 100644 --- a/src/supervision/detection/tools/polygon_zone.py +++ b/src/supervision/detection/tools/polygon_zone.py @@ -1,6 +1,7 @@ from __future__ import annotations from collections.abc import Iterable +from dataclasses import dataclass from typing import Any, cast import cv2 @@ -11,9 +12,23 @@ from supervision.detection.utils.converters import polygon_to_mask from supervision.draw.color import Color from supervision.draw.utils import draw_filled_polygon, draw_polygon, draw_text -from supervision.geometry.core import Position +from supervision.geometry.core import Point, Position from supervision.geometry.utils import get_polygon_center +CV2_FONT = cv2.FONT_HERSHEY_SIMPLEX + + +@dataclass(slots=True) +class _PolygonZoneAnnotatorConfig: + color: Color = Color.WHITE + thickness: int = 2 + text_color: Color = Color.BLACK + text_scale: float = 0.5 + text_thickness: int = 1 + text_padding: int = 10 + display_in_zone_count: bool = True + opacity: float = 0 + class PolygonZone: """ @@ -141,16 +156,88 @@ def __init__( opacity: float = 0, ): self.zone = zone - self.color = color - self.thickness = thickness - self.text_color = text_color - self.text_scale = text_scale - self.text_thickness = text_thickness - self.text_padding = text_padding - self.font = cv2.FONT_HERSHEY_SIMPLEX - self.center = get_polygon_center(polygon=zone.polygon) - self.display_in_zone_count = display_in_zone_count - self.opacity = opacity + self._config = _PolygonZoneAnnotatorConfig( + color=color, + thickness=thickness, + text_color=text_color, + text_scale=text_scale, + text_thickness=text_thickness, + text_padding=text_padding, + display_in_zone_count=display_in_zone_count, + opacity=opacity, + ) + + @property + def color(self) -> Color: + return self._config.color + + @color.setter + def color(self, value: Color) -> None: + self._config.color = value + + @property + def thickness(self) -> int: + return self._config.thickness + + @thickness.setter + def thickness(self, value: int) -> None: + self._config.thickness = value + + @property + def text_color(self) -> Color: + return self._config.text_color + + @text_color.setter + def text_color(self, value: Color) -> None: + self._config.text_color = value + + @property + def text_scale(self) -> float: + return self._config.text_scale + + @text_scale.setter + def text_scale(self, value: float) -> None: + self._config.text_scale = value + + @property + def text_thickness(self) -> int: + return self._config.text_thickness + + @text_thickness.setter + def text_thickness(self, value: int) -> None: + self._config.text_thickness = value + + @property + def text_padding(self) -> int: + return self._config.text_padding + + @text_padding.setter + def text_padding(self, value: int) -> None: + self._config.text_padding = value + + @property + def display_in_zone_count(self) -> bool: + return self._config.display_in_zone_count + + @display_in_zone_count.setter + def display_in_zone_count(self, value: bool) -> None: + self._config.display_in_zone_count = value + + @property + def opacity(self) -> float: + return self._config.opacity + + @opacity.setter + def opacity(self, value: float) -> None: + self._config.opacity = value + + @property + def font(self) -> int: + return CV2_FONT + + @property + def center(self) -> Point: + return get_polygon_center(polygon=self.zone.polygon) def annotate( self, scene: npt.NDArray[Any], label: str | None = None From f9ac5db12226ff14dd9eaa47a39645d219d6b97e Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 12:06:39 -0300 Subject: [PATCH 10/32] refactor: remove many attributes f1_score.py and test_f1_score.py --- src/supervision/metrics/f1_score.py | 89 ++++++++++++++++++++++++++--- tests/metrics/test_f1_score.py | 30 +++++++++- 2 files changed, 109 insertions(+), 10 deletions(-) diff --git a/src/supervision/metrics/f1_score.py b/src/supervision/metrics/f1_score.py index 3404397d26..0ac4e97c85 100644 --- a/src/supervision/metrics/f1_score.py +++ b/src/supervision/metrics/f1_score.py @@ -234,9 +234,6 @@ def _compute( f1_per_class=np.zeros((0, iou_thresholds.shape[0])), iou_thresholds=iou_thresholds, matched_classes=np.array([], dtype=int), - small_objects=None, - medium_objects=None, - large_objects=None, ) concatenated_stats = [np.concatenate(items, 0) for items in zip(*stats)] @@ -251,9 +248,6 @@ def _compute( f1_per_class=f1_per_class, iou_thresholds=iou_thresholds, matched_classes=unique_classes, - small_objects=None, - medium_objects=None, - large_objects=None, ) def _compute_f1_for_classes( @@ -509,6 +503,15 @@ def _filter_predictions_and_targets_by_size( @dataclass +class F1ScoreSizeResults: + """Grouped F1 results split by object size.""" + + small_objects: F1ScoreResult | None = None + medium_objects: F1ScoreResult | None = None + large_objects: F1ScoreResult | None = None + + +@dataclass(init=False) class F1ScoreResult: """ The results of the F1 score metric calculation. @@ -554,10 +557,78 @@ def f1_75(self) -> float: f1_per_class: npt.NDArray[np.float64] iou_thresholds: npt.NDArray[np.float32] matched_classes: npt.NDArray[np.int32] + size_results: F1ScoreSizeResults | None + + def __init__( + self, + metric_target: MetricTarget, + averaging_method: AveragingMethod, + f1_scores: npt.NDArray[np.float64], + f1_per_class: npt.NDArray[np.float64], + iou_thresholds: npt.NDArray[np.float32], + matched_classes: npt.NDArray[np.int32], + size_results: F1ScoreSizeResults | None = None, + small_objects: F1ScoreResult | None = None, + medium_objects: F1ScoreResult | None = None, + large_objects: F1ScoreResult | None = None, + ) -> None: + self.metric_target = metric_target + self.averaging_method = averaging_method + self.f1_scores = f1_scores + self.f1_per_class = f1_per_class + self.iou_thresholds = iou_thresholds + self.matched_classes = matched_classes + + if size_results is not None: + self.size_results = size_results + elif ( + small_objects is not None + or medium_objects is not None + or large_objects is not None + ): + self.size_results = F1ScoreSizeResults( + small_objects=small_objects, + medium_objects=medium_objects, + large_objects=large_objects, + ) + else: + self.size_results = None - small_objects: F1ScoreResult | None - medium_objects: F1ScoreResult | None - large_objects: F1ScoreResult | None + def _ensure_size_results(self) -> F1ScoreSizeResults: + if self.size_results is None: + self.size_results = F1ScoreSizeResults() + + return self.size_results + + @property + def small_objects(self) -> F1ScoreResult | None: + if self.size_results is None: + return None + return self.size_results.small_objects + + @small_objects.setter + def small_objects(self, value: F1ScoreResult | None) -> None: + self._ensure_size_results().small_objects = value + + @property + def medium_objects(self) -> F1ScoreResult | None: + if self.size_results is None: + return None + return self.size_results.medium_objects + + @medium_objects.setter + def medium_objects(self, value: F1ScoreResult | None) -> None: + self._ensure_size_results().medium_objects = value + + @property + def large_objects(self) -> F1ScoreResult | None: + if self.size_results is None: + return None + return self.size_results.large_objects + + @large_objects.setter + def large_objects(self, value: F1ScoreResult | None) -> None: + self._ensure_size_results().large_objects = value def __str__(self) -> str: """ diff --git a/tests/metrics/test_f1_score.py b/tests/metrics/test_f1_score.py index b6080664df..9cd98e4bdc 100644 --- a/tests/metrics/test_f1_score.py +++ b/tests/metrics/test_f1_score.py @@ -3,7 +3,7 @@ from supervision.detection.core import Detections from supervision.metrics.core import AveragingMethod, MetricTarget -from supervision.metrics.f1_score import F1Score +from supervision.metrics.f1_score import F1Score, F1ScoreResult from tests.helpers import assert_almost_equal @@ -53,6 +53,34 @@ def test_initialization_custom(self): assert metric._metric_target == MetricTarget.MASKS assert metric.averaging_method == AveragingMethod.MACRO + def test_size_specific_results_are_grouped_compatibly(self): + """Test that size-specific subresults stay accessible via properties.""" + nested_result = F1ScoreResult( + metric_target=MetricTarget.BOXES, + averaging_method=AveragingMethod.WEIGHTED, + f1_scores=np.zeros(10, dtype=np.float64), + f1_per_class=np.zeros((0, 10), dtype=np.float64), + iou_thresholds=np.linspace(0.5, 0.95, 10).astype(np.float32), + matched_classes=np.array([], dtype=np.int32), + ) + + result = F1ScoreResult( + metric_target=MetricTarget.BOXES, + averaging_method=AveragingMethod.WEIGHTED, + f1_scores=np.zeros(10, dtype=np.float64), + f1_per_class=np.zeros((0, 10), dtype=np.float64), + iou_thresholds=np.linspace(0.5, 0.95, 10).astype(np.float32), + matched_classes=np.array([], dtype=np.int32), + small_objects=nested_result, + ) + + assert result.small_objects is nested_result + assert result.medium_objects is None + + result.medium_objects = nested_result + assert result.medium_objects is nested_result + assert result.size_results is not None + def test_reset(self, dummy_prediction): """Test that reset() clears all stored data""" metric = F1Score() From a187b2a9c7a7f47758672c6bd3940deaee79c79f Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 12:17:13 -0300 Subject: [PATCH 11/32] refactor: remove many attributes mean_average_precision.py and test_mean_average_precision.py --- .../metrics/mean_average_precision.py | 118 +++++++++++++++--- tests/metrics/test_mean_average_precision.py | 33 ++++- 2 files changed, 136 insertions(+), 15 deletions(-) diff --git a/src/supervision/metrics/mean_average_precision.py b/src/supervision/metrics/mean_average_precision.py index 8d598da9c2..308d8e2d49 100644 --- a/src/supervision/metrics/mean_average_precision.py +++ b/src/supervision/metrics/mean_average_precision.py @@ -5,7 +5,7 @@ import itertools from collections import defaultdict from copy import deepcopy -from dataclasses import dataclass +from dataclasses import dataclass, field from enum import Enum from typing import TYPE_CHECKING, Any @@ -27,6 +27,15 @@ @dataclass +class MeanAveragePrecisionSizeResults: + """Mean Average Precision results split by object size.""" + + small_objects: MeanAveragePrecisionResult | None = None + medium_objects: MeanAveragePrecisionResult | None = None + large_objects: MeanAveragePrecisionResult | None = None + + +@dataclass(init=False) class MeanAveragePrecisionResult: """ The result of the Mean Average Precision calculation. @@ -45,16 +54,51 @@ class and IoU threshold. Shape: `(num_target_classes, num_iou_thresholds)` iou_thresholds: the IoU thresholds used in the calculations. matched_classes: the class IDs of all matched classes. Corresponds to the rows of `ap_per_class`. - small_objects: the mAP results - for small objects (area < 32²). - medium_objects: the mAP results - for medium objects (32² ≤ area < 96²). - large_objects: the mAP results - for large objects (area ≥ 96²). + small_objects: the mAP results for small objects (area < 32²). + medium_objects: the mAP results for medium objects (32² ≤ area < 96²). + large_objects: the mAP results for large objects (area ≥ 96²). """ metric_target: MetricTarget is_class_agnostic: bool + mAP_scores: npt.NDArray[np.float64] + ap_per_class: npt.NDArray[np.float64] + iou_thresholds: npt.NDArray[np.float64] + matched_classes: npt.NDArray[np.int32] + _size_results: MeanAveragePrecisionSizeResults | None = field( + default=None, repr=False, compare=False + ) + + def __init__( + self, + metric_target: MetricTarget, + is_class_agnostic: bool, + mAP_scores: npt.NDArray[np.float64], + ap_per_class: npt.NDArray[np.float64], + iou_thresholds: npt.NDArray[np.float64], + matched_classes: npt.NDArray[np.int32], + small_objects: MeanAveragePrecisionResult | None = None, + medium_objects: MeanAveragePrecisionResult | None = None, + large_objects: MeanAveragePrecisionResult | None = None, + ) -> None: + self.metric_target = metric_target + self.is_class_agnostic = is_class_agnostic + self.mAP_scores = mAP_scores + self.ap_per_class = ap_per_class + self.iou_thresholds = iou_thresholds + self.matched_classes = matched_classes + self._size_results = None + + if ( + small_objects is not None + or medium_objects is not None + or large_objects is not None + ): + self._size_results = MeanAveragePrecisionSizeResults( + small_objects=small_objects, + medium_objects=medium_objects, + large_objects=large_objects, + ) @property def map50_95(self) -> float: @@ -75,13 +119,59 @@ def map75(self) -> float: """the mAP score at IoU threshold of `0.75`.""" return float(self.mAP_scores[5]) - mAP_scores: npt.NDArray[np.float64] - ap_per_class: npt.NDArray[np.float64] - iou_thresholds: npt.NDArray[np.float64] - matched_classes: npt.NDArray[np.int32] - small_objects: MeanAveragePrecisionResult | None = None - medium_objects: MeanAveragePrecisionResult | None = None - large_objects: MeanAveragePrecisionResult | None = None + @property + def small_objects(self) -> MeanAveragePrecisionResult | None: + """The mAP results for small objects.""" + if self._size_results is None: + return None + + return self._size_results.small_objects + + @small_objects.setter + def small_objects(self, value: MeanAveragePrecisionResult | None) -> None: + if self._size_results is None and value is None: + return + + if self._size_results is None: + self._size_results = MeanAveragePrecisionSizeResults() + + self._size_results.small_objects = value + + @property + def medium_objects(self) -> MeanAveragePrecisionResult | None: + """The mAP results for medium objects.""" + if self._size_results is None: + return None + + return self._size_results.medium_objects + + @medium_objects.setter + def medium_objects(self, value: MeanAveragePrecisionResult | None) -> None: + if self._size_results is None and value is None: + return + + if self._size_results is None: + self._size_results = MeanAveragePrecisionSizeResults() + + self._size_results.medium_objects = value + + @property + def large_objects(self) -> MeanAveragePrecisionResult | None: + """The mAP results for large objects.""" + if self._size_results is None: + return None + + return self._size_results.large_objects + + @large_objects.setter + def large_objects(self, value: MeanAveragePrecisionResult | None) -> None: + if self._size_results is None and value is None: + return + + if self._size_results is None: + self._size_results = MeanAveragePrecisionSizeResults() + + self._size_results.large_objects = value def __str__(self) -> str: """ diff --git a/tests/metrics/test_mean_average_precision.py b/tests/metrics/test_mean_average_precision.py index 6b072de2bd..3565a8d420 100644 --- a/tests/metrics/test_mean_average_precision.py +++ b/tests/metrics/test_mean_average_precision.py @@ -3,10 +3,41 @@ from supervision.config import ORIENTED_BOX_COORDINATES from supervision.detection.core import Detections from supervision.metrics.core import MetricTarget -from supervision.metrics.mean_average_precision import MeanAveragePrecision +from supervision.metrics.mean_average_precision import ( + MeanAveragePrecision, + MeanAveragePrecisionResult, +) class TestMeanAveragePrecision: + def test_result_preserves_size_specific_accessors(self): + """Test that size-specific results remain accessible.""" + nested = MeanAveragePrecisionResult( + metric_target=MetricTarget.BOXES, + is_class_agnostic=False, + mAP_scores=np.array([0.1], dtype=np.float64), + ap_per_class=np.array([[0.1]], dtype=np.float64), + iou_thresholds=np.array([0.5], dtype=np.float64), + matched_classes=np.array([0], dtype=np.int32), + ) + result = MeanAveragePrecisionResult( + metric_target=MetricTarget.BOXES, + is_class_agnostic=False, + mAP_scores=np.array([0.2], dtype=np.float64), + ap_per_class=np.array([[0.2]], dtype=np.float64), + iou_thresholds=np.array([0.5], dtype=np.float64), + matched_classes=np.array([0], dtype=np.int32), + small_objects=nested, + ) + + assert result.small_objects is nested + assert result.medium_objects is None + assert result.large_objects is None + + result.medium_objects = nested + + assert result.medium_objects is nested + def test_single_perfect_detection(self, detections_50_50, targets_50_50): """Test that single perfect detection gets 1.0 mAP (not 0.0 due to ID=0 bug)""" metric = MeanAveragePrecision() From e4a226ac09867874195b2345619232d3b5d07568 Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 12:26:33 -0300 Subject: [PATCH 12/32] refactor: remove many attributes mean_average_precision.py --- .../metrics/mean_average_precision.py | 103 ++++++++++++------ 1 file changed, 68 insertions(+), 35 deletions(-) diff --git a/src/supervision/metrics/mean_average_precision.py b/src/supervision/metrics/mean_average_precision.py index 308d8e2d49..7726fd53a8 100644 --- a/src/supervision/metrics/mean_average_precision.py +++ b/src/supervision/metrics/mean_average_precision.py @@ -671,6 +671,22 @@ def __init__(self) -> None: ] +@dataclass +class COCOEvaluatorState: + """Mutable state collected during COCO evaluation.""" + + eval_imgs: Any = field(default_factory=lambda: defaultdict(list)) + results: dict[str, Any] = field(default_factory=dict) + targets: defaultdict[tuple[int, int], list[Any]] = field( + default_factory=lambda: defaultdict(list) + ) + predictions: defaultdict[tuple[int, int], list[Any]] = field( + default_factory=lambda: defaultdict(list) + ) + stats: list[Any] = field(default_factory=list) + ious: dict[tuple[int, int], Any] = field(default_factory=dict) + + class COCOEvaluator: """ Evaluator class to compute COCO metrics. @@ -693,25 +709,41 @@ def __init__( self.coco_targets = coco_targets self.coco_predictions = coco_predictions - # List of dictionaries containing the evaluation results - # len(eval_imgs) = (categories) * (area_ranges) * (images) - # For COCO 2017: len(eval_images) = 80 * 4 * 5000 = 1600000 - self.eval_imgs: Any = defaultdict(list) - # Dictionary of accumulated results - self.results: dict[str, Any] = {} - # Dictionary of targets for evaluation - self._targets: defaultdict[tuple[int, int], list[Any]] = defaultdict(list) - self._predictions: defaultdict[tuple[int, int], list[Any]] = defaultdict(list) # Parameters for evaluation self.params = COCOEvaluatorParameters() - # List of results summarization - self.stats: list[Any] = [] - # Dictionary of IOUs between all targets and predictions - self.ious: dict[tuple[int, int], Any] = {} + self._state = COCOEvaluatorState() # Set image and category ids self.params.img_ids = sorted(self.coco_targets.get_image_ids()) self.params.cat_ids = sorted(self.coco_targets.get_category_ids()) + @property + def eval_imgs(self) -> Any: + """Per-image evaluation results.""" + return self._state.eval_imgs + + @property + def results(self) -> dict[str, Any]: + """Accumulated evaluation results.""" + return self._state.results + + @property + def stats(self) -> list[Any]: + """Summary statistics for the evaluation.""" + return self._state.stats + + @property + def ious(self) -> dict[tuple[int, int], Any]: + """Cached IoU values.""" + return self._state.ious + + @property + def _targets(self) -> defaultdict[tuple[int, int], list[Any]]: + return self._state.targets + + @property + def _predictions(self) -> defaultdict[tuple[int, int], list[Any]]: + return self._state.predictions + def _prepare_targets_and_predictions(self) -> None: """ Prepare targets and predictions for evaluation. @@ -733,18 +765,18 @@ def _prepare_targets_and_predictions(self) -> None: gt["ignore"] = "iscrowd" in gt and gt["iscrowd"] # Select targets - self._targets = defaultdict(list) + self._state.targets = defaultdict(list) for gt in targets: - self._targets[gt["image_id"], gt["category_id"]].append(gt) + self._state.targets[gt["image_id"], gt["category_id"]].append(gt) # Select predictions - self._predictions = defaultdict(list) + self._state.predictions = defaultdict(list) for dt in predictions: - self._predictions[dt["image_id"], dt["category_id"]].append(dt) + self._state.predictions[dt["image_id"], dt["category_id"]].append(dt) # Initialize evaluation results - self.eval_imgs = defaultdict(list) - self.results = {} + self._state.eval_imgs = defaultdict(list) + self._state.results = {} def _compute_iou(self, img_id: int, cat_id: int) -> npt.NDArray[np.float32]: """ @@ -759,8 +791,8 @@ def _compute_iou(self, img_id: int, cat_id: int) -> npt.NDArray[np.float32]: The IoU between the targets and predictions. """ - gt = self._targets[img_id, cat_id] - dt = self._predictions[img_id, cat_id] + gt = self._state.targets[img_id, cat_id] + dt = self._state.predictions[img_id, cat_id] # If there is nothing to evaluate if len(gt) == 0 and len(dt) == 0: @@ -806,8 +838,8 @@ def _evaluate_image( The evaluation results. """ # Get targets (gt) and predictions (dt) for the given image and category - gt: list[dict[str, Any]] = self._targets[img_id, cat_id] - dt: list[dict[str, Any]] = self._predictions[img_id, cat_id] + gt: list[dict[str, Any]] = self._state.targets[img_id, cat_id] + dt: list[dict[str, Any]] = self._state.predictions[img_id, cat_id] # If there is nothing to evaluate if len(gt) == 0 and len(dt) == 0: @@ -833,9 +865,9 @@ def _evaluate_image( # Load computed ious for the given image and category ious = ( - self.ious[img_id, cat_id][:, gt_sorted] - if len(self.ious[img_id, cat_id]) > 0 - else self.ious[img_id, cat_id] + self._state.ious[img_id, cat_id][:, gt_sorted] + if len(self._state.ious[img_id, cat_id]) > 0 + else self._state.ious[img_id, cat_id] ) # Get the number of thresholds, ground truths and detections @@ -992,7 +1024,8 @@ def _accumulate(self) -> None: # Loop through max detections for max_det_idx, max_det in enumerate(selected_max_detections): eval_img_data = [ - self.eval_imgs[cat_offset + area_offset + i] for i in image_inds + self._state.eval_imgs[cat_offset + area_offset + i] + for i in image_inds ] eval_img_data = [e for e in eval_img_data if e is not None] @@ -1081,7 +1114,7 @@ def _accumulate(self) -> None: np.array(score_at_recall, dtype=np.float32) ) - self.results = { + self._state.results = { "params": self.params, "counts": [ num_iou_thresholds, @@ -1161,7 +1194,7 @@ def mean_with_mask( average_precision_large ) - self.results = { + self._state.results = { "params": self.params, "counts": [ num_iou_thresholds, @@ -1209,7 +1242,7 @@ def _summarize( if use_ap: # Dimension of precision: # threshold x recall x classes x areas x max detections - s = self.results["precision"] + s = self._state.results["precision"] # IOU if iou_thr is not None: t = np.where(iou_thr == self.params.iou_thrs)[0] @@ -1218,7 +1251,7 @@ def _summarize( else: # Dimension of recall: # threshold x classes x areas x max detections - s = self.results["recall"] + s = self._state.results["recall"] if iou_thr is not None: t = np.where(iou_thr == self.params.iou_thrs)[0] s = s[t] @@ -1276,8 +1309,8 @@ def _summarize_predictions() -> npt.NDArray[np.float32]: ) return stats - if len(self.results) != 0: - self.stats = _summarize_predictions().tolist() + if len(self._state.results) != 0: + self._state.stats = _summarize_predictions().tolist() def evaluate(self) -> None: """ @@ -1292,7 +1325,7 @@ def evaluate(self) -> None: self._prepare_targets_and_predictions() # Compute IOUs between all targets and predictions for all images and categories - self.ious = { + self._state.ious = { (img_id, cat_id): self._compute_iou(img_id, cat_id) for img_id in self.params.img_ids for cat_id in self.params.cat_ids @@ -1302,7 +1335,7 @@ def evaluate(self) -> None: max_det = self.params.max_dets[-1] # Evaluate each image with all categories, area range and max detections - self.eval_imgs = [ + self._state.eval_imgs = [ self._evaluate_image(img_id, cat_id, area_range, max_det) for cat_id in self.params.cat_ids for area_range in self.params.area_range From 8f1ad11781748b02a7a2499a031729b692910792 Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 12:36:13 -0300 Subject: [PATCH 13/32] refactor: remove many attributes mean_average_recall.py and test_mean_average_recall.py --- .../metrics/mean_average_recall.py | 111 ++++++++++++++++-- tests/metrics/test_mean_average_recall.py | 29 +++++ 2 files changed, 128 insertions(+), 12 deletions(-) diff --git a/src/supervision/metrics/mean_average_recall.py b/src/supervision/metrics/mean_average_recall.py index 01b80fd5e9..362a55c11d 100644 --- a/src/supervision/metrics/mean_average_recall.py +++ b/src/supervision/metrics/mean_average_recall.py @@ -1,7 +1,7 @@ from __future__ import annotations from copy import deepcopy -from dataclasses import dataclass +from dataclasses import dataclass, field from typing import TYPE_CHECKING, Any, cast import numpy as np @@ -28,7 +28,61 @@ @dataclass -class MeanAverageRecallResult: +class MeanAverageRecallSizeResults: + """Mean Average Recall results split by object size.""" + + small_objects: MeanAverageRecallResult | None = None + medium_objects: MeanAverageRecallResult | None = None + large_objects: MeanAverageRecallResult | None = None + + +class _MeanAverageRecallSizeResultsMixin: + """Shared accessors for nested object-size results.""" + + size_results: MeanAverageRecallSizeResults | None + + def _ensure_size_results(self) -> MeanAverageRecallSizeResults: + if self.size_results is None: + self.size_results = MeanAverageRecallSizeResults() + + return self.size_results + + @property + def small_objects(self) -> MeanAverageRecallResult | None: + if self.size_results is None: + return None + + return self.size_results.small_objects + + @small_objects.setter + def small_objects(self, value: MeanAverageRecallResult | None) -> None: + self._ensure_size_results().small_objects = value + + @property + def medium_objects(self) -> MeanAverageRecallResult | None: + if self.size_results is None: + return None + + return self.size_results.medium_objects + + @medium_objects.setter + def medium_objects(self, value: MeanAverageRecallResult | None) -> None: + self._ensure_size_results().medium_objects = value + + @property + def large_objects(self) -> MeanAverageRecallResult | None: + if self.size_results is None: + return None + + return self.size_results.large_objects + + @large_objects.setter + def large_objects(self, value: MeanAverageRecallResult | None) -> None: + self._ensure_size_results().large_objects = value + + +@dataclass(init=False) +class MeanAverageRecallResult(_MeanAverageRecallSizeResultsMixin): # pylint: disable=too-many-instance-attributes """ The results of the Mean Average Recall metric calculation. @@ -59,6 +113,49 @@ class MeanAverageRecallResult: """ metric_target: MetricTarget + recall_scores: npt.NDArray[np.float64] + recall_per_class: npt.NDArray[np.float64] + max_detections: npt.NDArray[np.int32] + iou_thresholds: npt.NDArray[np.float32] + matched_classes: npt.NDArray[np.int32] + size_results: MeanAverageRecallSizeResults | None = field( + default=None, repr=False, compare=False + ) + + def __init__( + self, + metric_target: MetricTarget, + recall_scores: npt.NDArray[np.float64], + recall_per_class: npt.NDArray[np.float64], + max_detections: npt.NDArray[np.int32], + iou_thresholds: npt.NDArray[np.float32], + matched_classes: npt.NDArray[np.int32], + size_results: MeanAverageRecallSizeResults | None = None, + small_objects: MeanAverageRecallResult | None = None, + medium_objects: MeanAverageRecallResult | None = None, + large_objects: MeanAverageRecallResult | None = None, + ) -> None: + self.metric_target = metric_target + self.recall_scores = recall_scores + self.recall_per_class = recall_per_class + self.max_detections = max_detections + self.iou_thresholds = iou_thresholds + self.matched_classes = matched_classes + + if size_results is not None: + self.size_results = size_results + elif ( + small_objects is not None + or medium_objects is not None + or large_objects is not None + ): + self.size_results = MeanAverageRecallSizeResults( + small_objects=small_objects, + medium_objects=medium_objects, + large_objects=large_objects, + ) + else: + self.size_results = None @property def mAR_at_1(self) -> float: @@ -72,16 +169,6 @@ def mAR_at_10(self) -> float: def mAR_at_100(self) -> float: return float(self.recall_scores[2]) - recall_scores: npt.NDArray[np.float64] - recall_per_class: npt.NDArray[np.float64] - max_detections: npt.NDArray[np.int32] - iou_thresholds: npt.NDArray[np.float32] - matched_classes: npt.NDArray[np.int32] - - small_objects: MeanAverageRecallResult | None - medium_objects: MeanAverageRecallResult | None - large_objects: MeanAverageRecallResult | None - def __str__(self) -> str: """ Format as a pretty string. diff --git a/tests/metrics/test_mean_average_recall.py b/tests/metrics/test_mean_average_recall.py index ab36e70b66..76028bbd15 100644 --- a/tests/metrics/test_mean_average_recall.py +++ b/tests/metrics/test_mean_average_recall.py @@ -3,6 +3,7 @@ from supervision.detection.core import Detections from supervision.metrics import MeanAverageRecall, MetricTarget +from supervision.metrics.mean_average_recall import MeanAverageRecallResult @pytest.fixture @@ -359,6 +360,34 @@ def three_class_single_image_detections(): return predictions, targets +def test_mean_average_recall_result_preserves_size_subresults() -> None: + """MeanAverageRecallResult exposes size subresults via properties.""" + nested_result = MeanAverageRecallResult( + metric_target=MetricTarget.BOXES, + recall_scores=np.zeros(3, dtype=np.float64), + recall_per_class=np.zeros((0, 10), dtype=np.float64), + max_detections=np.array([1, 10, 100], dtype=np.int32), + iou_thresholds=np.linspace(0.5, 0.95, 10, dtype=np.float32), + matched_classes=np.array([], dtype=np.int32), + ) + result = MeanAverageRecallResult( + metric_target=MetricTarget.BOXES, + recall_scores=np.array([0.1, 0.2, 0.3], dtype=np.float64), + recall_per_class=np.zeros((1, 10), dtype=np.float64), + max_detections=np.array([1, 10, 100], dtype=np.int32), + iou_thresholds=np.linspace(0.5, 0.95, 10, dtype=np.float32), + matched_classes=np.array([0], dtype=np.int32), + small_objects=nested_result, + ) + + assert result.small_objects is nested_result + assert result.medium_objects is None + assert result.large_objects is None + + result.medium_objects = nested_result + assert result.medium_objects is nested_result + + def test_single_perfect_detection(): """Test that a single perfect detection yields 1.0 recall.""" detections = Detections( From 6e2993f61e44f618b4232f60236faba924c7d996 Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 12:46:15 -0300 Subject: [PATCH 14/32] refactor: remove many attributes precision.py and test_precision.py --- src/supervision/metrics/precision.py | 527 ++++++++++++++++----------- tests/metrics/test_precision.py | 30 +- 2 files changed, 338 insertions(+), 219 deletions(-) diff --git a/src/supervision/metrics/precision.py b/src/supervision/metrics/precision.py index 22b73f1308..b393be0a63 100644 --- a/src/supervision/metrics/precision.py +++ b/src/supervision/metrics/precision.py @@ -1,7 +1,7 @@ from __future__ import annotations from copy import deepcopy -from dataclasses import dataclass +from dataclasses import dataclass, field from typing import TYPE_CHECKING, Any import numpy as np @@ -27,6 +27,314 @@ import pandas as pd +@dataclass +class PrecisionSizeResults: + """Precision results split by object size.""" + + small_objects: PrecisionResult | None = None + medium_objects: PrecisionResult | None = None + large_objects: PrecisionResult | None = None + + +@dataclass(init=False) +class PrecisionResult: + """ + The results of the precision metric calculation. + + Defaults to `0` if no detections or targets were provided. + + Attributes: + metric_target: the type of data used for the metric - + boxes, masks or oriented bounding boxes. + averaging_method: the averaging method used to compute the + precision. Determines how the precision is aggregated across classes. + precision_at_50: the precision at IoU threshold of `0.5`. + precision_at_75: the precision at IoU threshold of `0.75`. + precision_scores: the precision scores at each IoU threshold. + Shape: `(num_iou_thresholds,)` + precision_per_class: the precision scores per class and + IoU threshold. Shape: `(num_classes, num_iou_thresholds)` + iou_thresholds: the IoU thresholds used in the calculations. + matched_classes: the class IDs present in either predictions or ground + truth. Corresponds to the rows of `precision_per_class`. Classes + that appear only in predictions (no ground-truth instances) are + included; their per-threshold precision values will be `0.0`. + small_objects: the Precision metric results + for small objects (area < 32²). + medium_objects: the Precision metric results + for medium objects (32² ≤ area < 96²). + large_objects: the Precision metric results + for large objects (area ≥ 96²). + """ + + metric_target: MetricTarget + averaging_method: AveragingMethod + + precision_scores: npt.NDArray[np.float64] + precision_per_class: npt.NDArray[np.float64] + iou_thresholds: npt.NDArray[np.float32] + matched_classes: npt.NDArray[np.int32] + _size_results: PrecisionSizeResults | None = field( + default=None, repr=False, compare=False + ) + + def __init__( + self, + metric_target: MetricTarget, + averaging_method: AveragingMethod, + precision_scores: npt.NDArray[np.float64], + precision_per_class: npt.NDArray[np.float64], + iou_thresholds: npt.NDArray[np.float32], + matched_classes: npt.NDArray[np.int32], + small_objects: PrecisionResult | None = None, + medium_objects: PrecisionResult | None = None, + large_objects: PrecisionResult | None = None, + ) -> None: + self.metric_target = metric_target + self.averaging_method = averaging_method + self.precision_scores = precision_scores + self.precision_per_class = precision_per_class + self.iou_thresholds = iou_thresholds + self.matched_classes = matched_classes + self._size_results = None + + if ( + small_objects is not None + or medium_objects is not None + or large_objects is not None + ): + self._size_results = PrecisionSizeResults( + small_objects=small_objects, + medium_objects=medium_objects, + large_objects=large_objects, + ) + + @property + def precision_at_50(self) -> float: + return float(self.precision_scores[0]) + + @property + def precision_at_75(self) -> float: + return float(self.precision_scores[5]) + + @property + def small_objects(self) -> PrecisionResult | None: + """The precision results for small objects.""" + if self._size_results is None: + return None + + return self._size_results.small_objects + + @small_objects.setter + def small_objects(self, value: PrecisionResult | None) -> None: + if self._size_results is None and value is None: + return + + if self._size_results is None: + self._size_results = PrecisionSizeResults() + + self._size_results.small_objects = value + + @property + def medium_objects(self) -> PrecisionResult | None: + """The precision results for medium objects.""" + if self._size_results is None: + return None + + return self._size_results.medium_objects + + @medium_objects.setter + def medium_objects(self, value: PrecisionResult | None) -> None: + if self._size_results is None and value is None: + return + + if self._size_results is None: + self._size_results = PrecisionSizeResults() + + self._size_results.medium_objects = value + + @property + def large_objects(self) -> PrecisionResult | None: + """The precision results for large objects.""" + if self._size_results is None: + return None + + return self._size_results.large_objects + + @large_objects.setter + def large_objects(self, value: PrecisionResult | None) -> None: + if self._size_results is None and value is None: + return + + if self._size_results is None: + self._size_results = PrecisionSizeResults() + + self._size_results.large_objects = value + + def __str__(self) -> str: + """ + Format as a pretty string. + + Example: + ```pycon + >>> import numpy as np + >>> import supervision as sv + >>> from supervision.metrics import Precision + >>> predictions = sv.Detections( + ... xyxy=np.array([[0, 0, 10, 10]]), + ... class_id=np.array([0]), + ... confidence=np.array([0.9]) + ... ) + >>> targets = sv.Detections( + ... xyxy=np.array([[0, 0, 10, 10]]), + ... class_id=np.array([0]) + ... ) + >>> precision_metric = Precision() + >>> precision_result = precision_metric.update(predictions, targets).compute() + >>> print(precision_result) # doctest: +ELLIPSIS + PrecisionResult: + Metric target: MetricTarget.BOXES + Averaging method: AveragingMethod.WEIGHTED + P @ 50: 1.0000 + P @ 75: 1.0000 + P @ thresh: [1. ... 1.] + IoU thresh: [0.5 0.55 ... 0.95] + Precision per class: + 0: [1. ... 1.] + ... + Medium objects: + PrecisionResult: + Metric target: MetricTarget.BOXES + Averaging method: AveragingMethod.WEIGHTED + P @ 50: 0.0000 + ... + + ``` + """ + out_str = ( + f"{self.__class__.__name__}:\n" + f"Metric target: {self.metric_target}\n" + f"Averaging method: {self.averaging_method}\n" + f"P @ 50: {self.precision_at_50:.4f}\n" + f"P @ 75: {self.precision_at_75:.4f}\n" + f"P @ thresh: {self.precision_scores}\n" + f"IoU thresh: {self.iou_thresholds}\n" + f"Precision per class:\n" + ) + if self.precision_per_class.size == 0: + out_str += " No results\n" + for class_id, precision_of_class in zip( + self.matched_classes, self.precision_per_class + ): + out_str += f" {class_id}: {precision_of_class}\n" + + indent = " " + if self.small_objects is not None: + indented = indent + str(self.small_objects).replace("\n", f"\n{indent}") + out_str += f"\nSmall objects:\n{indented}" + if self.medium_objects is not None: + indented = indent + str(self.medium_objects).replace("\n", f"\n{indent}") + out_str += f"\nMedium objects:\n{indented}" + if self.large_objects is not None: + indented = indent + str(self.large_objects).replace("\n", f"\n{indent}") + out_str += f"\nLarge objects:\n{indented}" + + return out_str + + def to_pandas(self) -> pd.DataFrame: + """ + Convert the result to a pandas DataFrame. + + Returns: + The result as a DataFrame. + """ + ensure_pandas_installed() + import pandas as pd + + pandas_data = { + "P@50": self.precision_at_50, + "P@75": self.precision_at_75, + } + + if self.small_objects is not None: + small_objects_df = self.small_objects.to_pandas() + for key, value in small_objects_df.items(): + pandas_data[f"small_objects_{key}"] = value + if self.medium_objects is not None: + medium_objects_df = self.medium_objects.to_pandas() + for key, value in medium_objects_df.items(): + pandas_data[f"medium_objects_{key}"] = value + if self.large_objects is not None: + large_objects_df = self.large_objects.to_pandas() + for key, value in large_objects_df.items(): + pandas_data[f"large_objects_{key}"] = value + + return pd.DataFrame(pandas_data, index=[0]) + + def plot(self) -> None: + """ + Plot the precision results. + + ![example_plot]( + https://media.roboflow.com/supervision-docs/metrics/precision_plot_example.png + ){ align=center width="800" } + """ + labels = ["Precision@50", "Precision@75"] + values = [self.precision_at_50, self.precision_at_75] + colors = [LEGACY_COLOR_PALETTE[0]] * 2 + + if self.small_objects is not None: + small_objects = self.small_objects + labels += ["Small: P@50", "Small: P@75"] + values += [small_objects.precision_at_50, small_objects.precision_at_75] + colors += [LEGACY_COLOR_PALETTE[3]] * 2 + + if self.medium_objects is not None: + medium_objects = self.medium_objects + labels += ["Medium: P@50", "Medium: P@75"] + values += [medium_objects.precision_at_50, medium_objects.precision_at_75] + colors += [LEGACY_COLOR_PALETTE[2]] * 2 + + if self.large_objects is not None: + large_objects = self.large_objects + labels += ["Large: P@50", "Large: P@75"] + values += [large_objects.precision_at_50, large_objects.precision_at_75] + colors += [LEGACY_COLOR_PALETTE[4]] * 2 + + plt.rcParams["font.family"] = "monospace" + + _, ax = plt.subplots(figsize=(10, 6)) + ax.set_ylim(0, 1) + ax.set_ylabel("Value", fontweight="bold") + title = ( + f"Precision, by Object Size" + f"\n(target: {self.metric_target.value}," + f" averaging: {self.averaging_method.value})" + ) + ax.set_title(title, fontweight="bold") + + x_positions = range(len(labels)) + bars = ax.bar(x_positions, values, color=colors, align="center") + + ax.set_xticks(x_positions) + ax.set_xticklabels(labels, rotation=45, ha="right") + + for bar in bars: + y_value = bar.get_height() + ax.text( + bar.get_x() + bar.get_width() / 2, + y_value + 0.02, + f"{y_value:.2f}", + ha="center", + va="bottom", + ) + + plt.rcParams["font.family"] = "sans-serif" + + plt.tight_layout() + plt.show() + + class Precision(Metric): """ Precision is a metric used to evaluate object detection models. It is the ratio of @@ -516,220 +824,3 @@ def _filter_predictions_and_targets_by_size( ) return new_predictions_list, new_targets_list - -@dataclass -class PrecisionResult: - """ - The results of the precision metric calculation. - - Defaults to `0` if no detections or targets were provided. - - Attributes: - metric_target: the type of data used for the metric - - boxes, masks or oriented bounding boxes. - averaging_method: the averaging method used to compute the - precision. Determines how the precision is aggregated across classes. - precision_at_50: the precision at IoU threshold of `0.5`. - precision_at_75: the precision at IoU threshold of `0.75`. - precision_scores: the precision scores at each IoU threshold. - Shape: `(num_iou_thresholds,)` - precision_per_class: the precision scores per class and - IoU threshold. Shape: `(num_classes, num_iou_thresholds)` - iou_thresholds: the IoU thresholds used in the calculations. - matched_classes: the class IDs present in either predictions or ground - truth. Corresponds to the rows of `precision_per_class`. Classes - that appear only in predictions (no ground-truth instances) are - included; their per-threshold precision values will be `0.0`. - small_objects: the Precision metric results - for small objects (area < 32²). - medium_objects: the Precision metric results - for medium objects (32² ≤ area < 96²). - large_objects: the Precision metric results - for large objects (area ≥ 96²). - """ - - metric_target: MetricTarget - averaging_method: AveragingMethod - - @property - def precision_at_50(self) -> float: - return float(self.precision_scores[0]) - - @property - def precision_at_75(self) -> float: - return float(self.precision_scores[5]) - - precision_scores: npt.NDArray[np.float64] - precision_per_class: npt.NDArray[np.float64] - iou_thresholds: npt.NDArray[np.float32] - matched_classes: npt.NDArray[np.int32] - - small_objects: PrecisionResult | None - medium_objects: PrecisionResult | None - large_objects: PrecisionResult | None - - def __str__(self) -> str: - """ - Format as a pretty string. - - Example: - ```pycon - >>> import numpy as np - >>> import supervision as sv - >>> from supervision.metrics import Precision - >>> predictions = sv.Detections( - ... xyxy=np.array([[0, 0, 10, 10]]), - ... class_id=np.array([0]), - ... confidence=np.array([0.9]) - ... ) - >>> targets = sv.Detections( - ... xyxy=np.array([[0, 0, 10, 10]]), - ... class_id=np.array([0]) - ... ) - >>> precision_metric = Precision() - >>> precision_result = precision_metric.update( - ... predictions, targets - ... ).compute() - >>> print(precision_result) # doctest: +ELLIPSIS - PrecisionResult: - Metric target: MetricTarget.BOXES - Averaging method: AveragingMethod.WEIGHTED - P @ 50: 1.0000 - P @ 75: 1.0000 - P @ thresh: [1. ... 1.] - IoU thresh: [0.5 0.55 ... 0.95] - Precision per class: - 0: [1. ... 1.] - ... - Medium objects: - PrecisionResult: - Metric target: MetricTarget.BOXES - Averaging method: AveragingMethod.WEIGHTED - P @ 50: 0.0000 - ... - - ``` - """ - out_str = ( - f"{self.__class__.__name__}:\n" - f"Metric target: {self.metric_target}\n" - f"Averaging method: {self.averaging_method}\n" - f"P @ 50: {self.precision_at_50:.4f}\n" - f"P @ 75: {self.precision_at_75:.4f}\n" - f"P @ thresh: {self.precision_scores}\n" - f"IoU thresh: {self.iou_thresholds}\n" - f"Precision per class:\n" - ) - if self.precision_per_class.size == 0: - out_str += " No results\n" - for class_id, precision_of_class in zip( - self.matched_classes, self.precision_per_class - ): - out_str += f" {class_id}: {precision_of_class}\n" - - indent = " " - if self.small_objects is not None: - indented = indent + str(self.small_objects).replace("\n", f"\n{indent}") - out_str += f"\nSmall objects:\n{indented}" - if self.medium_objects is not None: - indented = indent + str(self.medium_objects).replace("\n", f"\n{indent}") - out_str += f"\nMedium objects:\n{indented}" - if self.large_objects is not None: - indented = indent + str(self.large_objects).replace("\n", f"\n{indent}") - out_str += f"\nLarge objects:\n{indented}" - - return out_str - - def to_pandas(self) -> pd.DataFrame: - """ - Convert the result to a pandas DataFrame. - - Returns: - The result as a DataFrame. - """ - ensure_pandas_installed() - import pandas as pd - - pandas_data = { - "P@50": self.precision_at_50, - "P@75": self.precision_at_75, - } - - if self.small_objects is not None: - small_objects_df = self.small_objects.to_pandas() - for key, value in small_objects_df.items(): - pandas_data[f"small_objects_{key}"] = value - if self.medium_objects is not None: - medium_objects_df = self.medium_objects.to_pandas() - for key, value in medium_objects_df.items(): - pandas_data[f"medium_objects_{key}"] = value - if self.large_objects is not None: - large_objects_df = self.large_objects.to_pandas() - for key, value in large_objects_df.items(): - pandas_data[f"large_objects_{key}"] = value - - return pd.DataFrame(pandas_data, index=[0]) - - def plot(self) -> None: - """ - Plot the precision results. - - ![example_plot]( - https://media.roboflow.com/supervision-docs/metrics/precision_plot_example.png - ){ align=center width="800" } - """ - - labels = ["Precision@50", "Precision@75"] - values = [self.precision_at_50, self.precision_at_75] - colors = [LEGACY_COLOR_PALETTE[0]] * 2 - - if self.small_objects is not None: - small_objects = self.small_objects - labels += ["Small: P@50", "Small: P@75"] - values += [small_objects.precision_at_50, small_objects.precision_at_75] - colors += [LEGACY_COLOR_PALETTE[3]] * 2 - - if self.medium_objects is not None: - medium_objects = self.medium_objects - labels += ["Medium: P@50", "Medium: P@75"] - values += [medium_objects.precision_at_50, medium_objects.precision_at_75] - colors += [LEGACY_COLOR_PALETTE[2]] * 2 - - if self.large_objects is not None: - large_objects = self.large_objects - labels += ["Large: P@50", "Large: P@75"] - values += [large_objects.precision_at_50, large_objects.precision_at_75] - colors += [LEGACY_COLOR_PALETTE[4]] * 2 - - plt.rcParams["font.family"] = "monospace" - - _, ax = plt.subplots(figsize=(10, 6)) - ax.set_ylim(0, 1) - ax.set_ylabel("Value", fontweight="bold") - title = ( - f"Precision, by Object Size" - f"\n(target: {self.metric_target.value}," - f" averaging: {self.averaging_method.value})" - ) - ax.set_title(title, fontweight="bold") - - x_positions = range(len(labels)) - bars = ax.bar(x_positions, values, color=colors, align="center") - - ax.set_xticks(x_positions) - ax.set_xticklabels(labels, rotation=45, ha="right") - - for bar in bars: - y_value = bar.get_height() - ax.text( - bar.get_x() + bar.get_width() / 2, - y_value + 0.02, - f"{y_value:.2f}", - ha="center", - va="bottom", - ) - - plt.rcParams["font.family"] = "sans-serif" - - plt.tight_layout() - plt.show() diff --git a/tests/metrics/test_precision.py b/tests/metrics/test_precision.py index b835f49f8e..d8235010c2 100644 --- a/tests/metrics/test_precision.py +++ b/tests/metrics/test_precision.py @@ -3,10 +3,38 @@ from supervision.detection.core import Detections from supervision.metrics.core import AveragingMethod, MetricTarget -from supervision.metrics.precision import Precision +from supervision.metrics.precision import Precision, PrecisionResult class TestPrecision: + def test_result_preserves_size_specific_accessors(self): + """Test that size-specific precision results remain accessible.""" + nested = PrecisionResult( + metric_target=MetricTarget.BOXES, + averaging_method=AveragingMethod.WEIGHTED, + precision_scores=np.array([0.1], dtype=np.float64), + precision_per_class=np.array([[0.1]], dtype=np.float64), + iou_thresholds=np.array([0.5], dtype=np.float32), + matched_classes=np.array([0], dtype=np.int32), + ) + result = PrecisionResult( + metric_target=MetricTarget.BOXES, + averaging_method=AveragingMethod.WEIGHTED, + precision_scores=np.array([0.2], dtype=np.float64), + precision_per_class=np.array([[0.2]], dtype=np.float64), + iou_thresholds=np.array([0.5], dtype=np.float32), + matched_classes=np.array([0], dtype=np.int32), + small_objects=nested, + ) + + assert result.small_objects is nested + assert result.medium_objects is None + assert result.large_objects is None + + result.medium_objects = nested + + assert result.medium_objects is nested + @pytest.fixture def predictions_multiple_classes(self): return Detections( From 58db9cafb28c7338887ba5b8bbfb5c1d6fc381d7 Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 12:53:30 -0300 Subject: [PATCH 15/32] refactor: remove many attibutes recall.py and test_recall.py --- src/supervision/metrics/recall.py | 183 +++++++++++++++++++++--------- tests/metrics/test_recall.py | 32 +++++- 2 files changed, 162 insertions(+), 53 deletions(-) diff --git a/src/supervision/metrics/recall.py b/src/supervision/metrics/recall.py index 2d428cbbf5..c787aae72d 100644 --- a/src/supervision/metrics/recall.py +++ b/src/supervision/metrics/recall.py @@ -1,7 +1,7 @@ from __future__ import annotations from copy import deepcopy -from dataclasses import dataclass +from dataclasses import dataclass, field from typing import TYPE_CHECKING, Any import numpy as np @@ -27,6 +27,136 @@ import pandas as pd +@dataclass +class RecallSizeResults: + """Recall results split by object size.""" + + small_objects: RecallResult | None = None + medium_objects: RecallResult | None = None + large_objects: RecallResult | None = None + + +@dataclass(init=False) +class RecallResult: + """ + The results of the recall metric calculation. + + Defaults to `0` if no detections or targets were provided. + + Attributes: + metric_target: the type of data used for the metric - + boxes, masks or oriented bounding boxes. + averaging_method: the averaging method used to compute the + recall. Determines how the recall is aggregated across classes. + recall_at_50: the recall at IoU threshold of `0.5`. + recall_at_75: the recall at IoU threshold of `0.75`. + recall_scores: the recall scores at each IoU threshold. + Shape: `(num_iou_thresholds,)` + recall_per_class: the recall scores per class and IoU threshold. + Shape: `(num_target_classes, num_iou_thresholds)` + iou_thresholds: the IoU thresholds used in the calculations. + matched_classes: the class IDs of all matched classes. + Corresponds to the rows of `recall_per_class`. + small_objects: the Recall metric results + for small objects (area < 32²). + medium_objects: the Recall metric results + for medium objects (32² ≤ area < 96²). + large_objects: the Recall metric results + for large objects (area ≥ 96²). + """ + + metric_target: MetricTarget + averaging_method: AveragingMethod + + @property + def recall_at_50(self) -> float: + return float(self.recall_scores[0]) + + @property + def recall_at_75(self) -> float: + return float(self.recall_scores[5]) + + recall_scores: npt.NDArray[np.float64] + recall_per_class: npt.NDArray[np.float64] + iou_thresholds: npt.NDArray[np.float32] + matched_classes: npt.NDArray[np.int32] + size_results: RecallSizeResults | None = field(default=None, repr=False, compare=False) + + def __init__( + self, + metric_target: MetricTarget, + averaging_method: AveragingMethod, + recall_scores: npt.NDArray[np.float64], + recall_per_class: npt.NDArray[np.float64], + iou_thresholds: npt.NDArray[np.float32], + matched_classes: npt.NDArray[np.int32], + size_results: RecallSizeResults | None = None, + small_objects: RecallResult | None = None, + medium_objects: RecallResult | None = None, + large_objects: RecallResult | None = None, + ) -> None: + self.metric_target = metric_target + self.averaging_method = averaging_method + self.recall_scores = recall_scores + self.recall_per_class = recall_per_class + self.iou_thresholds = iou_thresholds + self.matched_classes = matched_classes + + if size_results is not None: + self.size_results = size_results + elif ( + small_objects is not None + or medium_objects is not None + or large_objects is not None + ): + self.size_results = RecallSizeResults( + small_objects=small_objects, + medium_objects=medium_objects, + large_objects=large_objects, + ) + else: + self.size_results = None + + def _ensure_size_results(self) -> RecallSizeResults: + if self.size_results is None: + self.size_results = RecallSizeResults() + + return self.size_results + + @property + def small_objects(self) -> RecallResult | None: + if self.size_results is None: + return None + + return self.size_results.small_objects + + @small_objects.setter + def small_objects(self, value: RecallResult | None) -> None: + self._ensure_size_results().small_objects = value + + @property + def medium_objects(self) -> RecallResult | None: + if self.size_results is None: + return None + + return self.size_results.medium_objects + + @medium_objects.setter + def medium_objects(self, value: RecallResult | None) -> None: + self._ensure_size_results().medium_objects = value + + @property + def large_objects(self) -> RecallResult | None: + if self.size_results is None: + return None + + return self.size_results.large_objects + + @large_objects.setter + def large_objects(self, value: RecallResult | None) -> None: + self._ensure_size_results().large_objects = value + + class Recall(Metric): """ Recall is a metric used to evaluate object detection models. It is the ratio of @@ -473,57 +603,6 @@ def _filter_predictions_and_targets_by_size( self._filter_detections_by_size(targets, size_category) ) return new_predictions_list, new_targets_list - - -@dataclass -class RecallResult: - """ - The results of the recall metric calculation. - - Defaults to `0` if no detections or targets were provided. - - Attributes: - metric_target: the type of data used for the metric - - boxes, masks or oriented bounding boxes. - averaging_method: the averaging method used to compute the - recall. Determines how the recall is aggregated across classes. - recall_at_50: the recall at IoU threshold of `0.5`. - recall_at_75: the recall at IoU threshold of `0.75`. - recall_scores: the recall scores at each IoU threshold. - Shape: `(num_iou_thresholds,)` - recall_per_class: the recall scores per class and IoU threshold. - Shape: `(num_target_classes, num_iou_thresholds)` - iou_thresholds: the IoU thresholds used in the calculations. - matched_classes: the class IDs of all matched classes. - Corresponds to the rows of `recall_per_class`. - small_objects: the Recall metric results - for small objects (area < 32²). - medium_objects: the Recall metric results - for medium objects (32² ≤ area < 96²). - large_objects: the Recall metric results - for large objects (area ≥ 96²). - """ - - metric_target: MetricTarget - averaging_method: AveragingMethod - - @property - def recall_at_50(self) -> float: - return float(self.recall_scores[0]) - - @property - def recall_at_75(self) -> float: - return float(self.recall_scores[5]) - - recall_scores: npt.NDArray[np.float64] - recall_per_class: npt.NDArray[np.float64] - iou_thresholds: npt.NDArray[np.float32] - matched_classes: npt.NDArray[np.int32] - - small_objects: RecallResult | None - medium_objects: RecallResult | None - large_objects: RecallResult | None - def __str__(self) -> str: """ Format as a pretty string. diff --git a/tests/metrics/test_recall.py b/tests/metrics/test_recall.py index 4772ee3aa0..6f9218eacd 100644 --- a/tests/metrics/test_recall.py +++ b/tests/metrics/test_recall.py @@ -3,11 +3,41 @@ from supervision.detection.core import Detections from supervision.metrics.core import AveragingMethod, MetricTarget -from supervision.metrics.recall import Recall +from supervision.metrics.recall import Recall, RecallResult from tests.helpers import assert_almost_equal class TestRecall: + def test_result_preserves_size_specific_accessors(self) -> None: + """RecallResult keeps size-specific subresults accessible.""" + nested = RecallResult( + metric_target=MetricTarget.BOXES, + averaging_method=AveragingMethod.WEIGHTED, + recall_scores=np.zeros(10, dtype=np.float64), + recall_per_class=np.zeros((0, 10), dtype=np.float64), + iou_thresholds=np.linspace(0.5, 0.95, 10, dtype=np.float32), + matched_classes=np.array([], dtype=np.int32), + ) + + result = RecallResult( + metric_target=MetricTarget.BOXES, + averaging_method=AveragingMethod.WEIGHTED, + recall_scores=np.zeros(10, dtype=np.float64), + recall_per_class=np.zeros((0, 10), dtype=np.float64), + iou_thresholds=np.linspace(0.5, 0.95, 10, dtype=np.float32), + matched_classes=np.array([], dtype=np.int32), + small_objects=nested, + ) + + assert result.small_objects is nested + assert result.medium_objects is None + assert result.large_objects is None + + result.medium_objects = nested + + assert result.medium_objects is nested + assert result.size_results is not None + @pytest.fixture def predictions_multiple_classes(self): return Detections( From fdabbefa50da535517f74d214e5f0098fbf549a7 Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 13:48:06 -0300 Subject: [PATCH 16/32] refactor: remove many attributes core.py --- src/supervision/tracker/byte_tracker/core.py | 147 ++++++++++++------- 1 file changed, 90 insertions(+), 57 deletions(-) diff --git a/src/supervision/tracker/byte_tracker/core.py b/src/supervision/tracker/byte_tracker/core.py index 3cf194fc24..1a2a8832c1 100644 --- a/src/supervision/tracker/byte_tracker/core.py +++ b/src/supervision/tracker/byte_tracker/core.py @@ -1,5 +1,6 @@ from __future__ import annotations +from dataclasses import dataclass, field from typing import cast import numpy as np @@ -14,6 +15,32 @@ from supervision.tracker.byte_tracker.utils import IdCounter +@dataclass(frozen=True) +class _ByteTrackConfig: + track_activation_threshold: float + minimum_matching_threshold: float + minimum_consecutive_frames: int + max_time_lost: int + det_thresh: float + + +@dataclass +class _ByteTrackResources: + kalman_filter: KalmanFilter = field(default_factory=KalmanFilter) + shared_kalman: KalmanFilter = field(default_factory=KalmanFilter) + internal_id_counter: IdCounter = field(default_factory=IdCounter) + external_id_counter: IdCounter = field(default_factory=lambda: IdCounter(start_id=1)) + + +@dataclass +class _ByteTrackState: + frame_id: int = 0 + tracked_tracks: list[STrack] = field(default_factory=list) + lost_tracks: list[STrack] = field(default_factory=list) + removed_tracks: list[STrack] = field(default_factory=list) + resources: _ByteTrackResources = field(default_factory=_ByteTrackResources) + + @deprecated_class( target=TargetMode.NOTIFY, deprecated_in="0.28.0", @@ -60,25 +87,26 @@ def __init__( minimum_matching_threshold: float = 0.8, frame_rate: float = 30, minimum_consecutive_frames: int = 1, - ): - self.track_activation_threshold = track_activation_threshold - self.minimum_matching_threshold = minimum_matching_threshold - - self.frame_id = 0 - self.det_thresh = self.track_activation_threshold + 0.1 - self.max_time_lost = int(frame_rate / 30.0 * lost_track_buffer) - self.minimum_consecutive_frames = minimum_consecutive_frames - self.kalman_filter = KalmanFilter() - self.shared_kalman = KalmanFilter() - - self.tracked_tracks: list[STrack] = [] - self.lost_tracks: list[STrack] = [] - self.removed_tracks: list[STrack] = [] + ) -> None: + self.config = _ByteTrackConfig( + track_activation_threshold=track_activation_threshold, + minimum_matching_threshold=minimum_matching_threshold, + minimum_consecutive_frames=minimum_consecutive_frames, + max_time_lost=int(frame_rate / 30.0 * lost_track_buffer), + det_thresh=track_activation_threshold + 0.1, + ) # Warning, possible bug: If you also set internal_id to start at 1, # all traces will be connected across objects. - self.internal_id_counter = IdCounter() - self.external_id_counter = IdCounter(start_id=1) + self.state = _ByteTrackState() + + @property + def frame_id(self) -> int: + return self.state.frame_id + + @frame_id.setter + def frame_id(self, value: int) -> None: + self.state.frame_id = value def update_with_detections(self, detections: Detections) -> Detections: """ @@ -163,12 +191,7 @@ def reset(self) -> None: particularly useful when processing multiple videos sequentially, ensuring the tracker starts with a clean state for each new video. """ - self.frame_id = 0 - self.internal_id_counter.reset() - self.external_id_counter.reset() - self.tracked_tracks = [] - self.lost_tracks = [] - self.removed_tracks = [] + self.state = _ByteTrackState() def update_with_tensors(self, tensors: npt.NDArray[np.float32]) -> list[STrack]: """ @@ -180,7 +203,7 @@ def update_with_tensors(self, tensors: npt.NDArray[np.float32]) -> list[STrack]: Returns: Updated tracks. """ - self.frame_id += 1 + self.state.frame_id += 1 activated_starcks = [] refind_stracks = [] lost_stracks = [] @@ -189,9 +212,9 @@ def update_with_tensors(self, tensors: npt.NDArray[np.float32]) -> list[STrack]: scores = tensors[:, 4] bboxes = tensors[:, :4] - remain_inds = scores > self.track_activation_threshold + remain_inds = scores > self.config.track_activation_threshold inds_low = scores > 0.1 - inds_high = scores < self.track_activation_threshold + inds_high = scores < self.config.track_activation_threshold inds_second = np.logical_and(inds_low, inds_high) dets_second = bboxes[inds_second] @@ -205,10 +228,10 @@ def update_with_tensors(self, tensors: npt.NDArray[np.float32]) -> list[STrack]: STrack( STrack.tlbr_to_tlwh(tlbr), score_keep, - self.minimum_consecutive_frames, - self.shared_kalman, - self.internal_id_counter, - self.external_id_counter, + self.config.minimum_consecutive_frames, + self.state.resources.shared_kalman, + self.state.resources.internal_id_counter, + self.state.resources.external_id_counter, ) for (tlbr, score_keep) in zip(dets, scores_keep) ] @@ -219,31 +242,31 @@ def update_with_tensors(self, tensors: npt.NDArray[np.float32]) -> list[STrack]: unconfirmed = [] tracked_stracks: list[STrack] = [] - for track in self.tracked_tracks: + for track in self.state.tracked_tracks: if not track.is_activated: unconfirmed.append(track) else: tracked_stracks.append(track) """ Step 2: First association, with high score detection boxes""" - strack_pool = joint_tracks(tracked_stracks, self.lost_tracks) + strack_pool = joint_tracks(tracked_stracks, self.state.lost_tracks) # Predict the current location with KF - STrack.multi_predict(strack_pool, self.shared_kalman) + STrack.multi_predict(strack_pool, self.state.resources.shared_kalman) dists = matching.iou_distance(strack_pool, detections) dists = matching.fuse_score(dists, detections) matches, u_track, u_detection = matching.linear_assignment( - dists, thresh=self.minimum_matching_threshold + dists, thresh=self.config.minimum_matching_threshold ) for itracked, idet in matches: track = strack_pool[itracked] det = detections[idet] if track.state == TrackState.Tracked: - track.update(detections[idet], self.frame_id) + track.update(detections[idet], self.state.frame_id) activated_starcks.append(track) else: - track.re_activate(det, self.frame_id) + track.re_activate(det, self.state.frame_id) refind_stracks.append(track) """ Step 3: Second association, with low score detection boxes""" @@ -254,10 +277,10 @@ def update_with_tensors(self, tensors: npt.NDArray[np.float32]) -> list[STrack]: STrack( STrack.tlbr_to_tlwh(tlbr), score_second, - self.minimum_consecutive_frames, - self.shared_kalman, - self.internal_id_counter, - self.external_id_counter, + self.config.minimum_consecutive_frames, + self.state.resources.shared_kalman, + self.state.resources.internal_id_counter, + self.state.resources.external_id_counter, ) for (tlbr, score_second) in zip(dets_second, scores_second) ] @@ -276,10 +299,10 @@ def update_with_tensors(self, tensors: npt.NDArray[np.float32]) -> list[STrack]: track = r_tracked_stracks[itracked] det = detections_second[idet] if track.state == TrackState.Tracked: - track.update(det, self.frame_id) + track.update(det, self.state.frame_id) activated_starcks.append(track) else: - track.re_activate(det, self.frame_id) + track.re_activate(det, self.state.frame_id) refind_stracks.append(track) for it in u_track: @@ -297,7 +320,7 @@ def update_with_tensors(self, tensors: npt.NDArray[np.float32]) -> list[STrack]: dists, thresh=0.7 ) for itracked, idet in matches: - unconfirmed[itracked].update(detections[idet], self.frame_id) + unconfirmed[itracked].update(detections[idet], self.state.frame_id) activated_starcks.append(unconfirmed[itracked]) for it in u_unconfirmed: track = unconfirmed[it] @@ -307,29 +330,39 @@ def update_with_tensors(self, tensors: npt.NDArray[np.float32]) -> list[STrack]: """ Step 4: Init new stracks""" for inew in u_detection: track = detections[inew] - if track.score < self.det_thresh: + if track.score < self.config.det_thresh: continue - track.activate(self.kalman_filter, self.frame_id) + track.activate(self.state.resources.kalman_filter, self.state.frame_id) activated_starcks.append(track) """ Step 5: Update state""" - for track in self.lost_tracks: - if self.frame_id - track.frame_id > self.max_time_lost: + for track in self.state.lost_tracks: + if self.state.frame_id - track.frame_id > self.config.max_time_lost: track.state = TrackState.Removed removed_stracks.append(track) - self.tracked_tracks = [ - t for t in self.tracked_tracks if t.state == TrackState.Tracked + self.state.tracked_tracks = [ + t for t in self.state.tracked_tracks if t.state == TrackState.Tracked ] - self.tracked_tracks = joint_tracks(self.tracked_tracks, activated_starcks) - self.tracked_tracks = joint_tracks(self.tracked_tracks, refind_stracks) - self.lost_tracks = sub_tracks(self.lost_tracks, self.tracked_tracks) - self.lost_tracks.extend(lost_stracks) - self.lost_tracks = sub_tracks(self.lost_tracks, self.removed_tracks) - self.removed_tracks = removed_stracks - self.tracked_tracks, self.lost_tracks = remove_duplicate_tracks( - self.tracked_tracks, self.lost_tracks + self.state.tracked_tracks = joint_tracks( + self.state.tracked_tracks, activated_starcks + ) + self.state.tracked_tracks = joint_tracks( + self.state.tracked_tracks, refind_stracks ) - output_stracks = [track for track in self.tracked_tracks if track.is_activated] + self.state.lost_tracks = sub_tracks( + self.state.lost_tracks, self.state.tracked_tracks + ) + self.state.lost_tracks.extend(lost_stracks) + self.state.lost_tracks = sub_tracks( + self.state.lost_tracks, self.state.removed_tracks + ) + self.state.removed_tracks = removed_stracks + self.state.tracked_tracks, self.state.lost_tracks = remove_duplicate_tracks( + self.state.tracked_tracks, self.state.lost_tracks + ) + output_stracks = [ + track for track in self.state.tracked_tracks if track.is_activated + ] return output_stracks From 6fc466600cdfd0418777d8d876d44fa24fc9d173 Mon Sep 17 00:00:00 2001 From: Julian-Cardoso Date: Sun, 28 Jun 2026 13:54:19 -0300 Subject: [PATCH 17/32] refactor: remove many attributes core.py and single_object_track.py --- src/supervision/tracker/byte_tracker/core.py | 2 - .../byte_tracker/single_object_track.py | 240 +++++++++++++----- 2 files changed, 171 insertions(+), 71 deletions(-) diff --git a/src/supervision/tracker/byte_tracker/core.py b/src/supervision/tracker/byte_tracker/core.py index 1a2a8832c1..eac6e69024 100644 --- a/src/supervision/tracker/byte_tracker/core.py +++ b/src/supervision/tracker/byte_tracker/core.py @@ -229,7 +229,6 @@ def update_with_tensors(self, tensors: npt.NDArray[np.float32]) -> list[STrack]: STrack.tlbr_to_tlwh(tlbr), score_keep, self.config.minimum_consecutive_frames, - self.state.resources.shared_kalman, self.state.resources.internal_id_counter, self.state.resources.external_id_counter, ) @@ -278,7 +277,6 @@ def update_with_tensors(self, tensors: npt.NDArray[np.float32]) -> list[STrack]: STrack.tlbr_to_tlwh(tlbr), score_second, self.config.minimum_consecutive_frames, - self.state.resources.shared_kalman, self.state.resources.internal_id_counter, self.state.resources.external_id_counter, ) diff --git a/src/supervision/tracker/byte_tracker/single_object_track.py b/src/supervision/tracker/byte_tracker/single_object_track.py index 26f6bb6831..9a360ee375 100644 --- a/src/supervision/tracker/byte_tracker/single_object_track.py +++ b/src/supervision/tracker/byte_tracker/single_object_track.py @@ -1,5 +1,6 @@ from __future__ import annotations +from dataclasses import dataclass, field from enum import Enum import numpy as np @@ -16,47 +17,148 @@ class TrackState(Enum): Removed = 3 +@dataclass +class _STrackData: + tlwh: npt.NDArray[np.float32] + score: float + minimum_consecutive_frames: int + internal_id_counter: IdCounter + external_id_counter: IdCounter + state: TrackState = TrackState.New + is_activated: bool = False + start_frame: int = 0 + frame_id: int = 0 + kalman_filter: KalmanFilter | None = None + mean: npt.NDArray[np.float32] | None = None + covariance: npt.NDArray[np.float32] | None = None + tracklet_len: int = 0 + internal_track_id: int = field(init=False) + external_track_id: int = field(init=False) + + def __post_init__(self) -> None: + self.tlwh = np.asarray(self.tlwh, dtype=np.float32) + self.internal_track_id = self.internal_id_counter.NO_ID + self.external_track_id = self.external_id_counter.NO_ID + + class STrack: def __init__( self, tlwh: npt.NDArray[np.float32], score: float, minimum_consecutive_frames: int, - shared_kalman: KalmanFilter, internal_id_counter: IdCounter, external_id_counter: IdCounter, ): - self.state = TrackState.New - self.is_activated = False - self.start_frame = 0 - self.frame_id = 0 + self._data = _STrackData( + tlwh=tlwh, + score=score, + minimum_consecutive_frames=minimum_consecutive_frames, + internal_id_counter=internal_id_counter, + external_id_counter=external_id_counter, + ) - self._tlwh = np.asarray(tlwh, dtype=np.float32) - self.kalman_filter: KalmanFilter | None = None - self.shared_kalman = shared_kalman - self.mean: npt.NDArray[np.float32] | None = None - self.covariance: npt.NDArray[np.float32] | None = None - self.is_activated = False + @property + def state(self) -> TrackState: + return self._data.state - self.score: float = score - self.tracklet_len = 0 + @state.setter + def state(self, value: TrackState) -> None: + self._data.state = value - self.minimum_consecutive_frames = minimum_consecutive_frames + @property + def is_activated(self) -> bool: + return self._data.is_activated - self.internal_id_counter = internal_id_counter - self.external_id_counter = external_id_counter - self.internal_track_id = self.internal_id_counter.NO_ID - self.external_track_id = self.external_id_counter.NO_ID + @is_activated.setter + def is_activated(self, value: bool) -> None: + self._data.is_activated = value + + @property + def start_frame(self) -> int: + return self._data.start_frame + + @start_frame.setter + def start_frame(self, value: int) -> None: + self._data.start_frame = value + + @property + def frame_id(self) -> int: + return self._data.frame_id + + @frame_id.setter + def frame_id(self, value: int) -> None: + self._data.frame_id = value + + @property + def kalman_filter(self) -> KalmanFilter | None: + return self._data.kalman_filter + + @kalman_filter.setter + def kalman_filter(self, value: KalmanFilter | None) -> None: + self._data.kalman_filter = value + + @property + def mean(self) -> npt.NDArray[np.float32] | None: + return self._data.mean + + @mean.setter + def mean(self, value: npt.NDArray[np.float32] | None) -> None: + self._data.mean = value + + @property + def covariance(self) -> npt.NDArray[np.float32] | None: + return self._data.covariance + + @covariance.setter + def covariance(self, value: npt.NDArray[np.float32] | None) -> None: + self._data.covariance = value + + @property + def score(self) -> float: + return self._data.score + + @score.setter + def score(self, value: float) -> None: + self._data.score = value + + @property + def tracklet_len(self) -> int: + return self._data.tracklet_len + + @tracklet_len.setter + def tracklet_len(self, value: int) -> None: + self._data.tracklet_len = value + + @property + def minimum_consecutive_frames(self) -> int: + return self._data.minimum_consecutive_frames + + @property + def internal_track_id(self) -> int: + return self._data.internal_track_id + + @internal_track_id.setter + def internal_track_id(self, value: int) -> None: + self._data.internal_track_id = value + + @property + def external_track_id(self) -> int: + return self._data.external_track_id + + @external_track_id.setter + def external_track_id(self, value: int) -> None: + self._data.external_track_id = value def predict(self) -> None: - assert self.mean is not None - assert self.covariance is not None - assert self.kalman_filter is not None - mean_state = self.mean.copy() - if self.state != TrackState.Tracked: + assert self._data.mean is not None + assert self._data.covariance is not None + assert self._data.kalman_filter is not None + mean_state = self._data.mean.copy() + if self._data.state != TrackState.Tracked: mean_state[7] = 0 - self.mean, self.covariance = self.kalman_filter.predict( - mean_state, self.covariance + self._data.mean, self._data.covariance = self._data.kalman_filter.predict( + mean_state, self._data.covariance ) @staticmethod @@ -65,50 +167,50 @@ def multi_predict(stracks: list[STrack], shared_kalman: KalmanFilter) -> None: multi_mean = [] multi_covariance = [] for i, st in enumerate(stracks): - assert st.mean is not None - assert st.covariance is not None - multi_mean.append(st.mean.copy()) - multi_covariance.append(st.covariance) - if st.state != TrackState.Tracked: + assert st._data.mean is not None + assert st._data.covariance is not None + multi_mean.append(st._data.mean.copy()) + multi_covariance.append(st._data.covariance) + if st._data.state != TrackState.Tracked: multi_mean[i][7] = 0 multi_mean, multi_covariance = shared_kalman.multi_predict( np.asarray(multi_mean), np.asarray(multi_covariance) ) for i, (mean, cov) in enumerate(zip(multi_mean, multi_covariance)): - stracks[i].mean = mean - stracks[i].covariance = cov + stracks[i]._data.mean = mean + stracks[i]._data.covariance = cov def activate(self, kalman_filter: KalmanFilter, frame_id: int) -> None: """Start a new tracklet""" - self.kalman_filter = kalman_filter - self.internal_track_id = self.internal_id_counter.new_id() - self.mean, self.covariance = self.kalman_filter.initiate( - self.tlwh_to_xyah(self._tlwh) + self._data.kalman_filter = kalman_filter + self._data.internal_track_id = self._data.internal_id_counter.new_id() + self._data.mean, self._data.covariance = self._data.kalman_filter.initiate( + self.tlwh_to_xyah(self._data.tlwh) ) - self.tracklet_len = 0 - self.state = TrackState.Tracked + self._data.tracklet_len = 0 + self._data.state = TrackState.Tracked if frame_id == 1: - self.is_activated = True - if self.minimum_consecutive_frames == 1: - self.external_track_id = self.external_id_counter.new_id() + self._data.is_activated = True + if self._data.minimum_consecutive_frames == 1: + self._data.external_track_id = self._data.external_id_counter.new_id() - self.frame_id = frame_id - self.start_frame = frame_id + self._data.frame_id = frame_id + self._data.start_frame = frame_id def re_activate(self, new_track: STrack, frame_id: int) -> None: - assert self.kalman_filter is not None - assert self.mean is not None - assert self.covariance is not None - self.mean, self.covariance = self.kalman_filter.update( - self.mean, self.covariance, self.tlwh_to_xyah(new_track.tlwh) + assert self._data.kalman_filter is not None + assert self._data.mean is not None + assert self._data.covariance is not None + self._data.mean, self._data.covariance = self._data.kalman_filter.update( + self._data.mean, self._data.covariance, self.tlwh_to_xyah(new_track.tlwh) ) - self.tracklet_len = 0 - self.state = TrackState.Tracked + self._data.tracklet_len = 0 + self._data.state = TrackState.Tracked - self.frame_id = frame_id - self.score = new_track.score + self._data.frame_id = frame_id + self._data.score = new_track.score def update(self, new_track: STrack, frame_id: int) -> None: """ @@ -118,32 +220,32 @@ def update(self, new_track: STrack, frame_id: int) -> None: new_track: The new track data. frame_id: The current frame ID. """ - assert self.kalman_filter is not None - assert self.mean is not None - assert self.covariance is not None - self.frame_id = frame_id - self.tracklet_len += 1 + assert self._data.kalman_filter is not None + assert self._data.mean is not None + assert self._data.covariance is not None + self._data.frame_id = frame_id + self._data.tracklet_len += 1 new_tlwh = new_track.tlwh - self.mean, self.covariance = self.kalman_filter.update( - self.mean, self.covariance, self.tlwh_to_xyah(new_tlwh) + self._data.mean, self._data.covariance = self._data.kalman_filter.update( + self._data.mean, self._data.covariance, self.tlwh_to_xyah(new_tlwh) ) - self.state = TrackState.Tracked - if self.tracklet_len == self.minimum_consecutive_frames: - self.is_activated = True - if self.external_track_id == self.external_id_counter.NO_ID: - self.external_track_id = self.external_id_counter.new_id() + self._data.state = TrackState.Tracked + if self._data.tracklet_len == self._data.minimum_consecutive_frames: + self._data.is_activated = True + if self._data.external_track_id == self._data.external_id_counter.NO_ID: + self._data.external_track_id = self._data.external_id_counter.new_id() - self.score = new_track.score + self._data.score = new_track.score @property def tlwh(self) -> npt.NDArray[np.float32]: """Get current position in bounding box format `(top left x, top left y, width, height)`. """ - if self.mean is None: - return self._tlwh.copy() - ret = self.mean[:4].copy() + if self._data.mean is None: + return self._data.tlwh.copy() + ret = self._data.mean[:4].copy() ret[2] *= ret[3] ret[:2] -= ret[2:] / 2 return ret @@ -183,4 +285,4 @@ def tlwh_to_tlbr(tlwh: npt.NDArray[np.float32]) -> npt.NDArray[np.float32]: return ret def __repr__(self) -> str: - return f"OT_{self.internal_track_id}_({self.start_frame}-{self.frame_id})" + return f"OT_{self._data.internal_track_id}_({self._data.start_frame}-{self._data.frame_id})" From 6212f3d90a779f5e7f32d7a6b24575b97c73de54 Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sun, 28 Jun 2026 17:07:12 -0300 Subject: [PATCH 18/32] refactor: reduce statement complexity in byte_tracker core --- src/supervision/tracker/byte_tracker/core.py | 234 +++++++++++-------- 1 file changed, 142 insertions(+), 92 deletions(-) diff --git a/src/supervision/tracker/byte_tracker/core.py b/src/supervision/tracker/byte_tracker/core.py index 3cf194fc24..05045dadc7 100644 --- a/src/supervision/tracker/byte_tracker/core.py +++ b/src/supervision/tracker/byte_tracker/core.py @@ -181,157 +181,207 @@ def update_with_tensors(self, tensors: npt.NDArray[np.float32]) -> list[STrack]: Updated tracks. """ self.frame_id += 1 - activated_starcks = [] - refind_stracks = [] - lost_stracks = [] - removed_stracks = [] + dets, scores_keep, dets_second, scores_second = self._split_by_confidence( + tensors + ) + detections = self._build_stracks(dets, scores_keep) + tracked_stracks, unconfirmed = self._separate_tracks() + + strack_pool = joint_tracks(tracked_stracks, self.lost_tracks) + STrack.multi_predict(strack_pool, self.shared_kalman) + + act1, ref1, u_track_first, u_det_first = self._first_association( + strack_pool, detections + ) + act2, ref2, lost2 = self._second_association( + strack_pool, u_track_first, dets_second, scores_second + ) + act3, rem3 = self._unconfirmed_and_init_new( + unconfirmed, u_det_first, detections + ) + rem4 = self._remove_stale_lost_tracks() + + self._update_state( + act1 + act2 + act3, ref1 + ref2, lost2, rem3 + rem4 + ) + + return [t for t in self.tracked_tracks if t.is_activated] + + def _split_by_confidence( + self, tensors: npt.NDArray[np.float32] + ) -> tuple[ + npt.NDArray[np.float32], + npt.NDArray[np.float32], + npt.NDArray[np.float32], + npt.NDArray[np.float32], + ]: scores = tensors[:, 4] bboxes = tensors[:, :4] remain_inds = scores > self.track_activation_threshold inds_low = scores > 0.1 inds_high = scores < self.track_activation_threshold - inds_second = np.logical_and(inds_low, inds_high) - dets_second = bboxes[inds_second] - dets = bboxes[remain_inds] - scores_keep = scores[remain_inds] - scores_second = scores[inds_second] - - if len(dets) > 0: - """Detections""" - detections = [ - STrack( - STrack.tlbr_to_tlwh(tlbr), - score_keep, - self.minimum_consecutive_frames, - self.shared_kalman, - self.internal_id_counter, - self.external_id_counter, - ) - for (tlbr, score_keep) in zip(dets, scores_keep) - ] - else: - detections = [] - """ Add newly detected tracklets to tracked_stracks""" - unconfirmed = [] - tracked_stracks: list[STrack] = [] + return ( + bboxes[remain_inds], + scores[remain_inds], + bboxes[inds_second], + scores[inds_second], + ) + def _build_stracks( + self, bboxes: npt.NDArray[np.float32], scores: npt.NDArray[np.float32] + ) -> list[STrack]: + if len(bboxes) == 0: + return [] + return [ + STrack( + STrack.tlbr_to_tlwh(tlbr), + score, + self.minimum_consecutive_frames, + self.shared_kalman, + self.internal_id_counter, + self.external_id_counter, + ) + for tlbr, score in zip(bboxes, scores) + ] + + def _separate_tracks( + self, + ) -> tuple[list[STrack], list[STrack]]: + unconfirmed = [] + tracked = [] for track in self.tracked_tracks: if not track.is_activated: unconfirmed.append(track) else: - tracked_stracks.append(track) - - """ Step 2: First association, with high score detection boxes""" - strack_pool = joint_tracks(tracked_stracks, self.lost_tracks) - # Predict the current location with KF - STrack.multi_predict(strack_pool, self.shared_kalman) + tracked.append(track) + return tracked, unconfirmed + + def _first_association( + self, strack_pool: list[STrack], detections: list[STrack] + ) -> tuple[ + list[STrack], + list[STrack], + tuple[int, ...], + tuple[int, ...], + ]: dists = matching.iou_distance(strack_pool, detections) - dists = matching.fuse_score(dists, detections) matches, u_track, u_detection = matching.linear_assignment( dists, thresh=self.minimum_matching_threshold ) + activated, refind = [], [] for itracked, idet in matches: track = strack_pool[itracked] det = detections[idet] if track.state == TrackState.Tracked: - track.update(detections[idet], self.frame_id) - activated_starcks.append(track) + track.update(det, self.frame_id) + activated.append(track) else: track.re_activate(det, self.frame_id) - refind_stracks.append(track) - - """ Step 3: Second association, with low score detection boxes""" - # association the untrack to the low score detections - if len(dets_second) > 0: - """Detections""" - detections_second = [ - STrack( - STrack.tlbr_to_tlwh(tlbr), - score_second, - self.minimum_consecutive_frames, - self.shared_kalman, - self.internal_id_counter, - self.external_id_counter, - ) - for (tlbr, score_second) in zip(dets_second, scores_second) - ] - else: - detections_second = [] + refind.append(track) + return activated, refind, u_track, u_detection + + def _second_association( + self, + strack_pool: list[STrack], + u_track_first: tuple[int, ...], + dets_second: npt.NDArray[np.float32], + scores_second: npt.NDArray[np.float32], + ) -> tuple[list[STrack], list[STrack], list[STrack]]: + activated, refind, lost = [], [], [] + detections_second = self._build_stracks(dets_second, scores_second) + r_tracked_stracks = [ strack_pool[i] - for i in u_track + for i in u_track_first if strack_pool[i].state == TrackState.Tracked ] + dists = matching.iou_distance(r_tracked_stracks, detections_second) - matches, u_track, _u_detection_second = matching.linear_assignment( - dists, thresh=0.5 - ) + matches, u_track, _ = matching.linear_assignment(dists, thresh=0.5) + for itracked, idet in matches: track = r_tracked_stracks[itracked] det = detections_second[idet] if track.state == TrackState.Tracked: track.update(det, self.frame_id) - activated_starcks.append(track) + activated.append(track) else: track.re_activate(det, self.frame_id) - refind_stracks.append(track) + refind.append(track) for it in u_track: track = r_tracked_stracks[it] - if not track.state == TrackState.Lost: + if track.state != TrackState.Lost: track.state = TrackState.Lost - lost_stracks.append(track) + lost.append(track) - """Deal with unconfirmed tracks, usually tracks with only one beginning frame""" - detections = [detections[i] for i in u_detection] - dists = matching.iou_distance(unconfirmed, detections) + return activated, refind, lost - dists = matching.fuse_score(dists, detections) - matches, u_unconfirmed, u_detection = matching.linear_assignment( + def _unconfirmed_and_init_new( + self, + unconfirmed: list[STrack], + u_det_first: tuple[int, ...], + detections: list[STrack], + ) -> tuple[list[STrack], list[STrack]]: + if len(u_det_first) > 0: + remaining = [detections[i] for i in u_det_first] + else: + remaining = [] + + dists = matching.iou_distance(unconfirmed, remaining) + dists = matching.fuse_score(dists, remaining) + matches, u_unconfirmed, u_det = matching.linear_assignment( dists, thresh=0.7 ) + + activated, removed = [], [] for itracked, idet in matches: - unconfirmed[itracked].update(detections[idet], self.frame_id) - activated_starcks.append(unconfirmed[itracked]) + unconfirmed[itracked].update(remaining[idet], self.frame_id) + activated.append(unconfirmed[itracked]) for it in u_unconfirmed: - track = unconfirmed[it] - track.state = TrackState.Removed - removed_stracks.append(track) - - """ Step 4: Init new stracks""" - for inew in u_detection: - track = detections[inew] - if track.score < self.det_thresh: - continue - track.activate(self.kalman_filter, self.frame_id) - activated_starcks.append(track) - """ Step 5: Update state""" + unconfirmed[it].state = TrackState.Removed + removed.append(unconfirmed[it]) + for inew in u_det: + track = remaining[inew] + if track.score >= self.det_thresh: + track.activate(self.kalman_filter, self.frame_id) + activated.append(track) + + return activated, removed + + def _remove_stale_lost_tracks(self) -> list[STrack]: + removed = [] for track in self.lost_tracks: if self.frame_id - track.frame_id > self.max_time_lost: track.state = TrackState.Removed - removed_stracks.append(track) + removed.append(track) + return removed + def _update_state( + self, + activated: list[STrack], + refind: list[STrack], + lost: list[STrack], + removed: list[STrack], + ) -> None: self.tracked_tracks = [ t for t in self.tracked_tracks if t.state == TrackState.Tracked ] - self.tracked_tracks = joint_tracks(self.tracked_tracks, activated_starcks) - self.tracked_tracks = joint_tracks(self.tracked_tracks, refind_stracks) + self.tracked_tracks = joint_tracks(self.tracked_tracks, activated) + self.tracked_tracks = joint_tracks(self.tracked_tracks, refind) self.lost_tracks = sub_tracks(self.lost_tracks, self.tracked_tracks) - self.lost_tracks.extend(lost_stracks) - self.lost_tracks = sub_tracks(self.lost_tracks, self.removed_tracks) - self.removed_tracks = removed_stracks + self.lost_tracks.extend(lost) + self.lost_tracks = sub_tracks(self.lost_tracks, removed) + self.removed_tracks = removed self.tracked_tracks, self.lost_tracks = remove_duplicate_tracks( self.tracked_tracks, self.lost_tracks ) - output_stracks = [track for track in self.tracked_tracks if track.is_activated] - - return output_stracks def joint_tracks( From 059685abe0aac68366a4bfb7168aa5414d9ff4e9 Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sun, 28 Jun 2026 17:07:47 -0300 Subject: [PATCH 19/32] refactor: simplify mean average precision calculation statements --- .../metrics/mean_average_precision.py | 255 ++++++++++-------- 1 file changed, 148 insertions(+), 107 deletions(-) diff --git a/src/supervision/metrics/mean_average_precision.py b/src/supervision/metrics/mean_average_precision.py index 8d598da9c2..1bb9bd9d2a 100644 --- a/src/supervision/metrics/mean_average_precision.py +++ b/src/supervision/metrics/mean_average_precision.py @@ -822,11 +822,19 @@ def _evaluate_image( "dtIgnore": dt_ignore, } - def _accumulate(self) -> None: - """ - Accumulate per image evaluation results and store the result in self.results - """ - # Get the number of thresholds, categories, area ranges, and max detections + def _initialize_accumulation( + self, + ) -> tuple[ + int, + int, + int, + int, + int, + int, + npt.NDArray[np.float32], + npt.NDArray[np.float32], + npt.NDArray[np.float32], + ]: num_iou_thresholds = len(self.params.iou_thrs) num_recall_thresholds = len(self.params.rec_thrs) num_categories = len(self.params.cat_ids) @@ -834,8 +842,6 @@ def _accumulate(self) -> None: num_max_detections = len(self.params.max_dets) num_imgs = len(self.params.img_ids) - # Initialize precision, recall, and scores arrays - # -1 means absent categories precision = -np.ones( ( num_iou_thresholds, @@ -861,7 +867,21 @@ def _accumulate(self) -> None: dtype=np.float32, ) - # Create sets for indexing + return ( + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + num_imgs, + precision, + recall, + scores, + ) + + def _select_evaluation_indices( + self, + ) -> tuple[list[int], list[int], list[int], list[int]]: set_categories = set(self.params.cat_ids) set_area_ranges: set[tuple[float, ...]] = { tuple(a) for a in self.params.area_range @@ -869,55 +889,63 @@ def _accumulate(self) -> None: set_max_detections = set(self.params.max_dets) set_image_ids = set(self.params.img_ids) - # Select category indexes to evaluate selected_category_ids = [ n for n, k in enumerate(self.params.cat_ids) if k in set_categories ] - # Select max detections to evaluate selected_max_detections = [ m for m in self.params.max_dets if m in set_max_detections ] - # Select area ranges to evaluate selected_area_ranges_ids = [ idx for idx, area in enumerate(self.params.area_range) if tuple(area) in set_area_ranges ] - # Select image indexes to evaluate image_inds = [ n for n, i in enumerate(self.params.img_ids) if i in set_image_ids ] - # Evaluating at all categories, area ranges, max number of detections, and - # IoU thresholds + return ( + selected_category_ids, + selected_max_detections, + selected_area_ranges_ids, + image_inds, + ) - # Loop through categories + def _compute_raw_metrics( + self, + precision: npt.NDArray[np.float32], + recall: npt.NDArray[np.float32], + scores: npt.NDArray[np.float32], + selected_category_ids: list[int], + selected_max_detections: list[int], + selected_area_ranges_ids: list[int], + image_inds: list[int], + num_area_ranges: int, + num_imgs: int, + num_recall_thresholds: int, + ) -> None: for cat_idx, cat_eval_idx in enumerate(selected_category_ids): cat_offset = cat_eval_idx * num_area_ranges * num_imgs - # Loop through area ranges for area_idx, area_eval_idx in enumerate(selected_area_ranges_ids): area_offset = area_eval_idx * num_imgs - # Loop through max detections for max_det_idx, max_det in enumerate(selected_max_detections): eval_img_data = [ - self.eval_imgs[cat_offset + area_offset + i] for i in image_inds + self.eval_imgs[cat_offset + area_offset + i] + for i in image_inds ] eval_img_data = [e for e in eval_img_data if e is not None] - # No image to evaluate if len(eval_img_data) == 0: continue - # Sort detected scores in descending order dt_scores = np.concatenate( [e["dtScores"][0:max_det] for e in eval_img_data] ) inds = np.argsort(-dt_scores, kind="stable") dt_scores_sorted = dt_scores[inds] - # Get matches and ignored matches dt_matches = np.concatenate( [e["dtMatches"][:, 0:max_det] for e in eval_img_data], axis=1 )[:, inds] @@ -925,15 +953,14 @@ def _accumulate(self) -> None: [e["dtIgnore"][:, 0:max_det] for e in eval_img_data], axis=1 )[:, inds] - # Get ignored ground truth objects - gt_ignored = np.concatenate([e["gtIgnore"] for e in eval_img_data]) + gt_ignored = np.concatenate( + [e["gtIgnore"] for e in eval_img_data] + ) num_non_ignored_gt = np.count_nonzero(gt_ignored == 0) - # No ground truth objects to evaluate if num_non_ignored_gt == 0: continue - # Compute true positives and false positives true_positives = np.logical_and( dt_matches, np.logical_not(dt_ignored) ) @@ -941,30 +968,26 @@ def _accumulate(self) -> None: np.logical_not(dt_matches), np.logical_not(dt_ignored) ) - tp_sum = np.cumsum(true_positives, axis=1).astype(dtype=np.float32) - fp_sum = np.cumsum(false_positives, axis=1).astype(dtype=np.float32) + tp_sum = np.cumsum(true_positives, axis=1).astype( + dtype=np.float32 + ) + fp_sum = np.cumsum(false_positives, axis=1).astype( + dtype=np.float32 + ) - # Loop through thresholds for iou_thresh_idx, (tp, fp) in enumerate(zip(tp_sum, fp_sum)): tp = np.array(tp) fp = np.array(fp) num_tps = len(tp) - # Recall: TP / Total number of ground truth objects rc = tp / np.float32(num_non_ignored_gt) - # Precision: TP / (FP + TP) pr = (tp / (fp + tp + EPS)).tolist() - # List to compute the precision at each recall threshold precision_at_recall = [0.0] * num_recall_thresholds - # List to compute the score at each recall threshold score_at_recall = [0.0] * num_recall_thresholds - # Set recall to either the final recall value or 0 (when there - # is no TP) recall[iou_thresh_idx, cat_idx, area_idx, max_det_idx] = ( rc[-1] if num_tps else 0 ) - # Loop through precision values for i in range(num_tps - 1, 0, -1): if pr[i] > pr[i - 1]: pr[i - 1] = pr[i] @@ -974,7 +997,6 @@ def _accumulate(self) -> None: ) recall_inds_list: list[int] = recall_inds.tolist() for ri, pos_idx_value in enumerate(recall_inds_list): - # Ensure pi is within the range of both arrays pos_idx_int: int = int(pos_idx_value) if 0 <= pos_idx_int < len(pr) and 0 <= pos_idx_int < len( dt_scores_sorted @@ -982,95 +1004,121 @@ def _accumulate(self) -> None: precision_at_recall[ri] = pr[pos_idx_int] score_at_recall[ri] = dt_scores_sorted[pos_idx_int] - # Convert precision to numpy array - precision[iou_thresh_idx, :, cat_idx, area_idx, max_det_idx] = ( - np.array(precision_at_recall, dtype=np.float32) - ) - # Convert scores to numpy array - scores[iou_thresh_idx, :, cat_idx, area_idx, max_det_idx] = ( - np.array(score_at_recall, dtype=np.float32) - ) + precision[ + iou_thresh_idx, :, cat_idx, area_idx, max_det_idx + ] = np.array(precision_at_recall, dtype=np.float32) + scores[ + iou_thresh_idx, :, cat_idx, area_idx, max_det_idx + ] = np.array(score_at_recall, dtype=np.float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) - self.results = { - "params": self.params, - "counts": [ - num_iou_thresholds, - num_recall_thresholds, - num_categories, - num_area_ranges, - num_max_detections, - ], - "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), - "precision": precision, - "recall": recall, - "scores": scores, - } + mAP_scores = mean_with_mask((1, 2)) + ap_per_class = mean_with_mask(1).transpose(1, 0) + return mAP_scores, ap_per_class - # Helper function to compute average precision while handling -1 sentinel values - def compute_average_precision( - precision_slice: npt.NDArray[np.float32], - ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: - """Compute average precision while handling -1 sentinel values.""" - valid_mask = precision_slice != -1 - valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) - - def mean_with_mask( - axis: int | tuple[int, ...], - ) -> npt.NDArray[np.float32]: - sums = valid_precision.sum(axis=axis, dtype=np.float64) - counts = valid_mask.sum(axis=axis) - means = np.divide( - sums, - counts, - out=np.full(sums.shape, -1.0, dtype=np.float64), - where=counts > 0, - ) - return means.astype(np.float32) - - mAP_scores = mean_with_mask((1, 2)) - ap_per_class = mean_with_mask(1).transpose(1, 0) - return mAP_scores, ap_per_class - - # Average precision over all sizes, 100 max detections - area_range_idx = list(ObjectSize).index(ObjectSize.ALL) + def _compute_average_precision_by_size( + self, + precision: npt.NDArray[np.float32], + ) -> dict[str, npt.NDArray[np.float32]]: max_100_dets_idx = self.params.max_dets.index(100) - # Average precision [threshold, recall, classes] + + area_range_idx = list(ObjectSize).index(ObjectSize.ALL) average_precision_all_sizes = precision[ :, :, :, area_range_idx, max_100_dets_idx ] - # mAP over thresholds (dimension=num_thresholds) - # Exclude -1 sentinel values when computing mean - mAP_scores_all_sizes, ap_per_class_all_sizes = compute_average_precision( - average_precision_all_sizes + mAP_scores_all_sizes, ap_per_class_all_sizes = ( + self._compute_average_precision(average_precision_all_sizes) ) - # Average precision for SMALL objects and 100 max detections small_area_range_idx = list(ObjectSize).index(ObjectSize.SMALL) average_precision_small = precision[ :, :, :, small_area_range_idx, max_100_dets_idx ] - mAP_scores_small, ap_per_class_small = compute_average_precision( - average_precision_small + mAP_scores_small, ap_per_class_small = ( + self._compute_average_precision(average_precision_small) ) - # Average precision for MEDIUM objects and 100 max detections medium_area_range_idx = list(ObjectSize).index(ObjectSize.MEDIUM) average_precision_medium = precision[ :, :, :, medium_area_range_idx, max_100_dets_idx ] - mAP_scores_medium, ap_per_class_medium = compute_average_precision( - average_precision_medium + mAP_scores_medium, ap_per_class_medium = ( + self._compute_average_precision(average_precision_medium) ) - # Average precision for LARGE objects and 100 max detections large_area_range_idx = list(ObjectSize).index(ObjectSize.LARGE) average_precision_large = precision[ :, :, :, large_area_range_idx, max_100_dets_idx ] - mAP_scores_large, ap_per_class_large = compute_average_precision( - average_precision_large + mAP_scores_large, ap_per_class_large = ( + self._compute_average_precision(average_precision_large) ) + return { + "mAP_scores_all_sizes": mAP_scores_all_sizes, + "ap_per_class_all_sizes": ap_per_class_all_sizes, + "mAP_scores_small": mAP_scores_small, + "ap_per_class_small": ap_per_class_small, + "mAP_scores_medium": mAP_scores_medium, + "ap_per_class_medium": ap_per_class_medium, + "mAP_scores_large": mAP_scores_large, + "ap_per_class_large": ap_per_class_large, + } + + def _accumulate(self) -> None: + ( + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + num_imgs, + precision, + recall, + scores, + ) = self._initialize_accumulation() + + ( + selected_category_ids, + selected_max_detections, + selected_area_ranges_ids, + image_inds, + ) = self._select_evaluation_indices() + + self._compute_raw_metrics( + precision, + recall, + scores, + selected_category_ids, + selected_max_detections, + selected_area_ranges_ids, + image_inds, + num_area_ranges, + num_imgs, + num_recall_thresholds, + ) + + ap_results = self._compute_average_precision_by_size(precision) + self.results = { "params": self.params, "counts": [ @@ -1084,14 +1132,7 @@ def mean_with_mask( "precision": precision, "recall": recall, "scores": scores, - "mAP_scores_all_sizes": mAP_scores_all_sizes, - "ap_per_class_all_sizes": ap_per_class_all_sizes, - "mAP_scores_small": mAP_scores_small, - "ap_per_class_small": ap_per_class_small, - "mAP_scores_medium": mAP_scores_medium, - "ap_per_class_medium": ap_per_class_medium, - "mAP_scores_large": mAP_scores_large, - "ap_per_class_large": ap_per_class_large, + **ap_results, } def _pycocotools_summarize(self) -> None: From 5faf7c184ff48add12a6db237c7c886da1b950df Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sun, 28 Jun 2026 17:08:27 -0300 Subject: [PATCH 20/32] refactor: simplify internal detection helper functions --- src/supervision/detection/vlm.py | 332 +++++++++++++++++++------------ 1 file changed, 200 insertions(+), 132 deletions(-) diff --git a/src/supervision/detection/vlm.py b/src/supervision/detection/vlm.py index a4d1fb1031..681c67d1bc 100644 --- a/src/supervision/detection/vlm.py +++ b/src/supervision/detection/vlm.py @@ -588,6 +588,179 @@ def from_florence_2( raise RuntimeError(f"Unimplemented task: {task}") +def _extract_json_from_backticks(result: str) -> list | None: + lines = result.splitlines() + for i, line in enumerate(lines): + if line == "```json": + result = "\n".join(lines[i + 1 :]) + result = result.split("```")[0] + break + try: + data = json.loads(result) + except json.JSONDecodeError: + return None + return data if isinstance(data, list) else None + + +def _build_empty_gemini_2_5_result() -> tuple[ + npt.NDArray[Any], + npt.NDArray[Any], + npt.NDArray[Any], + npt.NDArray[Any], + None, +]: + return ( + np.empty((0, 4)), + np.array([], dtype=int), + np.array([], dtype=str), + np.array([], dtype=float), + None, + ) + + +def _parse_gemini_2_5_item( + item: Any, + w: int, + h: int, +) -> tuple[ + npt.NDArray[Any], + str, + float | None, + npt.NDArray[np.bool_] | None, +] | None: + if not isinstance(item, dict) or "box_2d" not in item or "label" not in item: + return None + + box = item["box_2d"] + # Gemini reports boxes as [y_min, x_min, y_max, x_max]. + absolute_bbox = denormalize_boxes( + np.array([[box[1], box[0], box[3], box[2]]], dtype=np.float64), + resolution_wh=(w, h), + normalization_factor=1000, + )[0] + + mask = ( + _decode_mask_for_item(item, absolute_bbox, h, w) if "mask" in item else None + ) + confidence = ( + cast(float | None, item["confidence"]) if "confidence" in item else None + ) + + return absolute_bbox, cast(str, item["label"]), confidence, mask + + +def _collect_gemini_2_5_items( + data: list[Any], + w: int, + h: int, +) -> tuple[ + list[npt.NDArray[Any]], + list[str], + list[float], + list[npt.NDArray[np.bool_]], + bool, + bool, +]: + boxes_list: list[npt.NDArray[Any]] = [] + labels_list: list[str] = [] + confidence_list: list[float] = [] + masks_list: list[npt.NDArray[np.bool_]] = [] + has_confidence = True + has_masks = True + + for item in data: + parsed_item = _parse_gemini_2_5_item(item, w, h) + if parsed_item is None: + continue + + absolute_bbox, label, confidence, mask = parsed_item + boxes_list.append(absolute_bbox) + labels_list.append(label) + + if mask is None: + has_masks = False + elif has_masks: + masks_list.append(mask) + + if confidence is None: + has_confidence = False + elif has_confidence: + confidence_list.append(confidence) + + return boxes_list, labels_list, confidence_list, masks_list, has_confidence, has_masks + + +def _filter_gemini_2_5_results( + xyxy: npt.NDArray[Any], + class_name: npt.NDArray[Any], + confidence: npt.NDArray[Any] | None, + masks: npt.NDArray[Any] | None, + classes: list[str], +) -> tuple[ + npt.NDArray[Any], + npt.NDArray[Any], + npt.NDArray[Any] | None, + npt.NDArray[Any] | None, + npt.NDArray[Any], +]: + mask = np.array([name in classes for name in class_name], dtype=bool) + xyxy = xyxy[mask] + class_name = class_name[mask] + class_id = np.array([classes.index(name) for name in class_name]) + + if confidence is not None: + confidence = confidence[mask] + + if masks is not None: + masks = masks[mask] + + return xyxy, class_name, confidence, masks, class_id + + +def _build_gemini_2_5_class_id( + class_name: npt.NDArray[Any], +) -> npt.NDArray[Any]: + unique_labels = sorted(list(set(class_name))) + label_to_id = {label: i for i, label in enumerate(unique_labels)} + return np.array([label_to_id[name] for name in class_name]) + + +def _decode_mask_for_item( + item: dict[str, Any], + absolute_bbox: npt.NDArray[Any], + h: int, + w: int, +) -> npt.NDArray[np.bool_]: + png_str = item["mask"] + if not isinstance(png_str, str) or not png_str.startswith( + "data:image/png;base64," + ): + return np.zeros((h, w), dtype=bool) + + png_str = png_str.removeprefix("data:image/png;base64,") + try: + png_bytes = base64.b64decode(png_str) + mask_img = Image.open(io.BytesIO(png_bytes)).convert("L") + except Exception: + return np.zeros((h, w), dtype=bool) + + y_min, y_max = int(absolute_bbox[1]), int(absolute_bbox[3]) + x_min, x_max = int(absolute_bbox[0]), int(absolute_bbox[2]) + bbox_height = y_max - y_min + bbox_width = x_max - x_min + + if bbox_height > 0 and bbox_width > 0: + mask_img = mask_img.resize( + (bbox_width, bbox_height), + resample=Image.Resampling.BILINEAR, + ) + np_mask: npt.NDArray[np.bool_] = np.zeros((h, w), dtype=bool) + np_mask[y_min:y_max, x_min:x_max] = np.array(mask_img) > 0 + return np_mask + + return np.zeros((h, w), dtype=bool) + + def from_google_gemini_2_0( result: str, resolution_wh: tuple[int, int], @@ -629,19 +802,8 @@ def from_google_gemini_2_0( w, h = _validate_resolution(resolution_wh) - lines = result.splitlines() - for i, line in enumerate(lines): - if line == "```json": - result = "\n".join(lines[i + 1 :]) - result = result.split("```")[0] - break - - try: - data = json.loads(result) - except json.JSONDecodeError: - return np.empty((0, 4)), np.empty((0,), dtype=int), np.empty((0,), dtype=str) - - if not isinstance(data, list): + data = _extract_json_from_backticks(result) + if data is None: return np.empty((0, 4)), np.empty((0,), dtype=int), np.empty((0,), dtype=str) labels = [] @@ -720,136 +882,42 @@ def from_google_gemini_2_5( """ w, h = _validate_resolution(resolution_wh) - lines = result.splitlines() - for i, line in enumerate(lines): - if line == "```json": - result = "\n".join(lines[i + 1 :]) - result = result.split("```")[0] - break + data = _extract_json_from_backticks(result) + if data is None: + return _build_empty_gemini_2_5_result() - try: - data = json.loads(result) - except json.JSONDecodeError: - return ( - np.empty((0, 4)), - np.array([], dtype=int), - np.array([], dtype=str), - np.array([], dtype=float), - None, - ) - - if not isinstance(data, list): - return ( - np.empty((0, 4)), - np.array([], dtype=int), - np.array([], dtype=str), - np.array([], dtype=float), - None, - ) - - boxes_list: list[Any] = [] - labels_list: list[str] = [] - confidence_list: list[float] | None = [] - masks_list: list[npt.NDArray[Any]] | None = [] - - for item in data: - if not isinstance(item, dict) or "box_2d" not in item or "label" not in item: - continue - labels_list.append(item["label"]) - box = item["box_2d"] - # Gemini bbox order is [y_min, x_min, y_max, x_max] - absolute_bbox = denormalize_boxes( - np.array([[box[1], box[0], box[3], box[2]]]).astype(np.float64), - resolution_wh=(w, h), - normalization_factor=1000, - )[0] - boxes_list.append(absolute_bbox) - - if "mask" in item: - if masks_list is not None: - png_str = item["mask"] - if not isinstance(png_str, str) or not png_str.startswith( - "data:image/png;base64," - ): - # Malformed mask: keep an empty mask but still fall through to - # the confidence handling below, so the per-item arrays stay - # aligned (a `continue` here desynced confidence vs boxes). - masks_list.append(np.zeros((h, w), dtype=bool)) - else: - png_str = png_str.removeprefix("data:image/png;base64,") - try: - png_bytes = base64.b64decode(png_str) - mask_img = Image.open(io.BytesIO(png_bytes)).convert("L") - except Exception: - masks_list.append(np.zeros((h, w), dtype=bool)) - else: - y_min, y_max = int(absolute_bbox[1]), int(absolute_bbox[3]) - x_min, x_max = int(absolute_bbox[0]), int(absolute_bbox[2]) - - bbox_height = y_max - y_min - bbox_width = x_max - x_min - - if bbox_height > 0 and bbox_width > 0: - mask_img = mask_img.resize( - (bbox_width, bbox_height), - resample=Image.Resampling.BILINEAR, - ) - np_mask: npt.NDArray[np.bool_] = np.zeros( - (h, w), dtype=bool - ) - np_mask[y_min:y_max, x_min:x_max] = np.array(mask_img) > 0 - masks_list.append(np_mask) - else: - masks_list.append(np.zeros((h, w), dtype=bool)) - else: - masks_list = None - - if "confidence" in item: - if confidence_list is not None: - confidence_list.append(item["confidence"]) - else: - confidence_list = None + ( + boxes_list, + labels_list, + confidence_list, + masks_list, + has_confidence, + has_masks, + ) = _collect_gemini_2_5_items(data, w, h) if not boxes_list: - return ( - np.empty((0, 4)), - np.array([], dtype=int), - np.array([], dtype=str), - np.array([], dtype=float), - None, - ) + return _build_empty_gemini_2_5_result() xyxy = np.array(boxes_list, dtype=float) class_name = np.array(labels_list) + confidence = ( + np.array(confidence_list, dtype=float) if has_confidence else None + ) + masks = np.array(masks_list) if has_masks else None class_id: npt.NDArray[Any] if classes is not None: - mask = np.array([name in classes for name in class_name], dtype=bool) - xyxy = xyxy[mask] - class_name = class_name[mask] - class_id = np.array([classes.index(name) for name in class_name]) - if masks_list is not None: - masks_list = [m for m, keep in zip(masks_list, mask) if keep] - - if confidence_list is not None: - confidence_list = [c for c, keep in zip(confidence_list, mask) if keep] + xyxy, class_name, confidence, masks, class_id = _filter_gemini_2_5_results( + xyxy=xyxy, + class_name=class_name, + confidence=confidence, + masks=masks, + classes=classes, + ) else: - unique_labels = sorted(list(set(class_name))) - label_to_id = {label: i for i, label in enumerate(unique_labels)} - class_id = np.array([label_to_id[name] for name in class_name]) + class_id = _build_gemini_2_5_class_id(class_name) - confidence = ( - np.array(confidence_list, dtype=float) if confidence_list is not None else None - ) - masks = np.array(masks_list) if masks_list is not None else None - - return ( - xyxy, - class_id, - class_name, - confidence, - masks, - ) + return (xyxy, class_id, class_name, confidence, masks) def from_moondream( From 3dcd8aeb828c5c041f153fdb92afc16a0a3e651e Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sun, 28 Jun 2026 17:08:45 -0300 Subject: [PATCH 21/32] refactor: reduce statement count in video utility functions --- src/supervision/utils/video.py | 253 ++++++++++++++++++++------------- 1 file changed, 152 insertions(+), 101 deletions(-) diff --git a/src/supervision/utils/video.py b/src/supervision/utils/video.py index 1d3fe2a464..a2be569c2a 100644 --- a/src/supervision/utils/video.py +++ b/src/supervision/utils/video.py @@ -280,6 +280,147 @@ def get_video_frames_generator( video.release() +class _VideoProcessor: + def __init__( + self, + source_path: str, + target_path: str, + callback: Callable[[npt.NDArray[np.uint8], int], npt.NDArray[np.uint8]], + *, + max_frames: int | None = None, + prefetch: int = 32, + writer_buffer: int = 32, + show_progress: bool = False, + progress_message: str = "Processing video", + preserve_audio: bool = False, + ): + self.source_path = source_path + self.target_path = target_path + self.callback = callback + self.max_frames = max_frames + self.prefetch = prefetch + self.writer_buffer = writer_buffer + self.show_progress = show_progress + self.progress_message = progress_message + self.preserve_audio = preserve_audio + + self.frame_read_queue: Queue[ + tuple[int, npt.NDArray[np.uint8]] | None + ] = Queue(maxsize=prefetch) + self.frame_write_queue: Queue[npt.NDArray[np.uint8] | None] = Queue( + maxsize=writer_buffer + ) + + self.reader_worker: threading.Thread | None = None + self.writer_worker: threading.Thread | None = None + self.progress_bar: tqdm | None = None + self.exception_in_worker: Exception | None = None + self.read_finished = False + + def _reader_thread(self) -> None: + frame_generator = get_video_frames_generator( + source_path=self.source_path, + end=self.max_frames, + ) + for frame_index, frame in enumerate(frame_generator): + self.frame_read_queue.put((frame_index, frame)) + self.frame_read_queue.put(None) + + def _writer_thread(self, video_sink: VideoSink) -> None: + while True: + frame = self.frame_write_queue.get() + if frame is None: + break + video_sink.write_frame(frame=frame) + + def _drain_and_cleanup(self) -> None: + try: + self.frame_write_queue.put(None, timeout=1) + except Full: + pass + if not self.read_finished: + while True: + try: + read_item = self.frame_read_queue.get(timeout=1) + if read_item is None: + break + except Empty: + if not self.reader_worker.is_alive(): + break + continue + self.reader_worker.join(timeout=10) + self.writer_worker.join(timeout=10) + self.progress_bar.close() + if self.exception_in_worker is not None: + raise self.exception_in_worker + + def _mux_audio_if_needed(self) -> None: + if self.writer_worker.is_alive(): + logger.warning( + "Writer thread did not finish in time; skipping audio mux " + "to avoid reading an incomplete output file." + ) + else: + _mux_audio(source_path=self.source_path, video_path=self.target_path) + + def _total_frames(self, video_info: VideoInfo) -> int: + if self.max_frames is not None: + return min(video_info.total_frames or 0, self.max_frames) + return video_info.total_frames or 0 + + def _start_workers(self) -> None: + self.reader_worker.start() + self.writer_worker.start() + + def _setup_progress_bar(self, total_frames: int) -> None: + self.progress_bar = tqdm( + total=total_frames, + disable=not self.show_progress, + desc=self.progress_message, + ) + + def _process_frames(self) -> None: + self.exception_in_worker = None + self.read_finished = False + + while True: + read_item = self.frame_read_queue.get() + if read_item is None: + self.read_finished = True + break + + frame_index, frame = read_item + try: + processed_frame = self.callback(frame, frame_index) + self.frame_write_queue.put(processed_frame) + self.progress_bar.update(1) + except Exception as exc: + self.exception_in_worker = exc + break + + def run(self) -> None: + video_info = VideoInfo.from_video_path(video_path=self.source_path) + total_frames = self._total_frames(video_info) + + self.reader_worker = threading.Thread(target=self._reader_thread, daemon=True) + with VideoSink(target_path=self.target_path, video_info=video_info) as video_sink: + self.writer_worker = threading.Thread( + target=self._writer_thread, + args=(video_sink,), + daemon=True, + ) + + self._start_workers() + self._setup_progress_bar(total_frames) + try: + self._process_frames() + finally: + self._drain_and_cleanup() + + if self.preserve_audio: + self._mux_audio_if_needed() + + def process_video( source_path: str, target_path: str, @@ -352,108 +493,18 @@ def callback(frame, frame_index): ) ``` """ - video_info = VideoInfo.from_video_path(video_path=source_path) - total_frames = ( - min(video_info.total_frames or 0, max_frames) - if max_frames is not None - else video_info.total_frames or 0 - ) - - frame_read_queue: Queue[tuple[int, npt.NDArray[np.uint8]] | None] = Queue( - maxsize=prefetch - ) - frame_write_queue: Queue[npt.NDArray[np.uint8] | None] = Queue( - maxsize=writer_buffer + processor = _VideoProcessor( + source_path=source_path, + target_path=target_path, + callback=callback, + max_frames=max_frames, + prefetch=prefetch, + writer_buffer=writer_buffer, + show_progress=show_progress, + progress_message=progress_message, + preserve_audio=preserve_audio, ) - - def reader_thread() -> None: - frame_generator = get_video_frames_generator( - source_path=source_path, - end=max_frames, - ) - for frame_index, frame in enumerate(frame_generator): - frame_read_queue.put((frame_index, frame)) - frame_read_queue.put(None) - - def writer_thread(video_sink: VideoSink) -> None: - while True: - frame = frame_write_queue.get() - if frame is None: - break - video_sink.write_frame(frame=frame) - - reader_worker = threading.Thread(target=reader_thread, daemon=True) - with VideoSink(target_path=target_path, video_info=video_info) as video_sink: - writer_worker = threading.Thread( - target=writer_thread, - args=(video_sink,), - daemon=True, - ) - - reader_worker.start() - writer_worker.start() - - progress_bar = tqdm( - total=total_frames, - disable=not show_progress, - desc=progress_message, - ) - - exception_in_worker: Exception | None = None - read_finished = False - - try: - while True: - read_item = frame_read_queue.get() - if read_item is None: - read_finished = True - break - - frame_index, frame = read_item - try: - processed_frame = callback(frame, frame_index) - frame_write_queue.put(processed_frame) - progress_bar.update(1) - except Exception as exc: - exception_in_worker = exc - break - finally: - try: - frame_write_queue.put(None, timeout=1) - except Full: - # Queue is full; this is a best-effort attempt to enqueue the sentinel. - # If we cannot enqueue it, the writer thread will still complete based - # on previously queued frames or other shutdown conditions. - pass - if not read_finished: - while True: - # Use timeout to prevent indefinite blocking if reader thread fails - try: - read_item = frame_read_queue.get(timeout=1) - if read_item is None: - break - # If we timeout waiting for a frame, only assume failure if reader - # thread is no longer alive. Otherwise, keep waiting as the reader - # may simply be slow (for example, due to a slow source). - except Empty: - if not reader_worker.is_alive(): - break - # Reader is still alive; continue waiting for frames. - continue - reader_worker.join(timeout=10) - writer_worker.join(timeout=10) - progress_bar.close() - if exception_in_worker is not None: - raise exception_in_worker - - if preserve_audio: - if writer_worker.is_alive(): - logger.warning( - "Writer thread did not finish in time; skipping audio mux " - "to avoid reading an incomplete output file." - ) - else: - _mux_audio(source_path=source_path, video_path=target_path) + processor.run() class FPSMonitor: From b3f2f9948f5ef3d07e634ab9c0412cb7fc2c50ba Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sun, 28 Jun 2026 17:09:00 -0300 Subject: [PATCH 22/32] refactor: reduce statement complexity in detection metrics --- src/supervision/key_points/core.py | 198 ++++++++++++++++++----------- 1 file changed, 123 insertions(+), 75 deletions(-) diff --git a/src/supervision/key_points/core.py b/src/supervision/key_points/core.py index 0a7a70ebb7..565aa08c0a 100644 --- a/src/supervision/key_points/core.py +++ b/src/supervision/key_points/core.py @@ -922,61 +922,17 @@ def _get_by_2d_bool_mask(self, mask: npt.NDArray[np.bool_]) -> KeyPoints: data=data_selected, ) - def __getitem__( - self, - index: Index1D | Index2D | str, - ) -> KeyPoints | npt.NDArray[np.generic] | list[Any] | None: - """ - Get a subset of the KeyPoints object or access an item from its data field. - - Supports detection-level (skeleton) filtering, keypoint-level (anchor) - filtering, combined tuple indexing, and data field access by string key. - - Args: - index: The index, indices, or key to access a subset of the KeyPoints - or an item from the data. - - Returns: - A subset of the KeyPoints object or an item from the data field. - - Examples: - ```python - import supervision as sv - - key_points = sv.KeyPoints(...) - - # detection-level filtering (returns KeyPoints) - high_conf = key_points[key_points.detection_confidence > 0.5] - class_0 = key_points[key_points.class_id == 0] - - # keypoint-level filtering (returns KeyPoints) - visible = key_points[key_points.keypoint_confidence > 0.3] - - # indexing - first = key_points[0] - first_two = key_points[0:2] - subset = key_points[[0, 2]] - - # anchor selection (uniform across all skeletons) - nose_and_eyes = key_points[:, [0, 1, 2]] - - # data field access - class_names = key_points['class_name'] - ``` - """ - if isinstance(index, str): - return self.data.get(index) - - if isinstance(index, np.ndarray) and index.ndim == 2 and index.dtype == bool: - return self._get_by_2d_bool_mask(cast(npt.NDArray[np.bool_], index)) - + def _normalize_getitem_index( + self, index: Index1D | Index2D + ) -> tuple[ + Index1D | Index2D, Any, Any, _NormalizedRowIndex + ]: if not isinstance(index, tuple): index = (index, slice(None)) + i, j = cast(Any, index[0]), cast(Any, index[1]) - i, j = index - - if isinstance(i, int): - i = [i] + if isinstance(i, (int, np.integer)): + i = [int(i)] if isinstance(i, list) and all(isinstance(x, bool) for x in i): i = np.array(i) @@ -1000,26 +956,56 @@ def __getitem__( i = cast(Any, i_ix) j = cast(Any, j_ix) - row_i = _normalize_row_index(raw_i) - + return index, i, j, _normalize_row_index(raw_i) + + def _select_fields( + self, i: Any, j: Any, row_i: _NormalizedRowIndex + ) -> tuple[ + npt.NDArray[np.float32], + npt.NDArray[np.float32] | None, + npt.NDArray[np.float32] | None, + npt.NDArray[np.bool_] | None, + npt.NDArray[np.int_] | None, + Any, + ]: xy_selected = self.xy[i, j] - - keypoint_confidence_selected = None - if self.keypoint_confidence is not None: - keypoint_confidence_selected = self.keypoint_confidence[i, j] - - detection_confidence_selected = None - if self.detection_confidence is not None: - detection_confidence_selected = self.detection_confidence[row_i] - - visible_selected = None - if self.visible is not None: - visible_selected = self.visible[i, j] - - class_id_selected = self.class_id[row_i] if self.class_id is not None else None - + keypoint_confidence_selected = ( + self.keypoint_confidence[i, j] + if self.keypoint_confidence is not None + else None + ) + detection_confidence_selected = ( + self.detection_confidence[row_i] + if self.detection_confidence is not None + else None + ) + visible_selected = ( + self.visible[i, j] if self.visible is not None else None + ) + class_id_selected = ( + self.class_id[row_i] if self.class_id is not None else None + ) data_selected = get_data_item(self.data, cast(Any, row_i)) + return ( + xy_selected, + keypoint_confidence_selected, + detection_confidence_selected, + visible_selected, + class_id_selected, + data_selected, + ) + def _reshape_selected( + self, + xy_selected: npt.NDArray[np.float32], + keypoint_confidence_selected: npt.NDArray[np.float32] | None, + visible_selected: npt.NDArray[np.bool_] | None, + index: Index1D | Index2D, + ) -> tuple[ + npt.NDArray[np.float32], + npt.NDArray[np.float32] | None, + npt.NDArray[np.bool_] | None, + ]: if xy_selected.ndim == 1: xy_selected = xy_selected.reshape(1, 1, 2) if keypoint_confidence_selected is not None: @@ -1049,16 +1035,78 @@ def __getitem__( ] if visible_selected is not None: visible_selected = visible_selected[:, np.newaxis] + return xy_selected, keypoint_confidence_selected, visible_selected + + def _getitem_by_normalized_index( + self, + index: Index1D | Index2D, + i: Any, + j: Any, + row_i: _NormalizedRowIndex, + ) -> KeyPoints: + xy, kconf, dconf, visible, class_id, data = self._select_fields(i, j, row_i) + xy, kconf, visible = self._reshape_selected(xy, kconf, visible, index) return KeyPoints( - xy=xy_selected, - keypoint_confidence=keypoint_confidence_selected, - detection_confidence=detection_confidence_selected, - visible=visible_selected, - class_id=class_id_selected, - data=data_selected, + xy=xy, + keypoint_confidence=kconf, + detection_confidence=dconf, + visible=visible, + class_id=class_id, + data=data, ) + def __getitem__( + self, + index: Index1D | Index2D | str, + ) -> KeyPoints | npt.NDArray[np.generic] | list[Any] | None: + """ + Get a subset of the KeyPoints object or access an item from its data field. + + Supports detection-level (skeleton) filtering, keypoint-level (anchor) + filtering, combined tuple indexing, and data field access by string key. + + Args: + index: The index, indices, or key to access a subset of the KeyPoints + or an item from the data. + + Returns: + A subset of the KeyPoints object or an item from the data field. + + Examples: + ```python + import supervision as sv + + key_points = sv.KeyPoints(...) + + # detection-level filtering (returns KeyPoints) + high_conf = key_points[key_points.detection_confidence > 0.5] + class_0 = key_points[key_points.class_id == 0] + + # keypoint-level filtering (returns KeyPoints) + visible = key_points[key_points.keypoint_confidence > 0.3] + + # indexing + first = key_points[0] + first_two = key_points[0:2] + subset = key_points[[0, 2]] + + # anchor selection (uniform across all skeletons) + nose_and_eyes = key_points[:, [0, 1, 2]] + + # data field access + class_names = key_points['class_name'] + ``` + """ + if isinstance(index, str): + return self.data.get(index) + + if isinstance(index, np.ndarray) and index.ndim == 2 and index.dtype == bool: + return self._get_by_2d_bool_mask(cast(npt.NDArray[np.bool_], index)) + + index, i, j, row_i = self._normalize_getitem_index(index) + return self._getitem_by_normalized_index(index, i, j, row_i) + def __setitem__(self, key: str, value: npt.NDArray[np.generic] | list[Any]) -> None: """ Set a value in the data dictionary of the `sv.KeyPoints` object. From 76db0783eaf01774a31d02eb64c51401174af6b5 Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sun, 28 Jun 2026 17:09:22 -0300 Subject: [PATCH 23/32] refactor: reduce statement complexity in detection metrics --- src/supervision/metrics/detection.py | 256 +++++++++++++++------------ 1 file changed, 142 insertions(+), 114 deletions(-) diff --git a/src/supervision/metrics/detection.py b/src/supervision/metrics/detection.py index 409ac34abb..97f349bd38 100644 --- a/src/supervision/metrics/detection.py +++ b/src/supervision/metrics/detection.py @@ -184,6 +184,127 @@ def _validate_input_tensors( ) +def _get_coordinate_metadata( + metric_target: MetricTarget, +) -> tuple[int, int, int]: + """Return (coords_dim, class_id_idx, conf_idx) for the given metric target.""" + coords_dim = 8 if metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES else 4 + return (coords_dim, coords_dim, coords_dim + 1) + + +def _validate_detection_batch_shapes( + predictions: npt.NDArray[np.float32], + targets: npt.NDArray[np.float32], + metric_target: MetricTarget, +) -> None: + """Validate input tensor shapes for a single detection batch.""" + expected_pred_cols = ( + 10 if metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES else 6 + ) + expected_target_cols = ( + 9 if metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES else 5 + ) + if predictions.ndim != 2 or predictions.shape[1] != expected_pred_cols: + raise ValueError( + f"Predictions must have shape (M, {expected_pred_cols}). " + f"Got {predictions.shape} instead." + ) + if targets.ndim != 2 or targets.shape[1] != expected_target_cols: + raise ValueError( + f"Targets must have shape (N, {expected_target_cols}). " + f"Got {targets.shape} instead." + ) + + +def _try_early_exit( + result_matrix: npt.NDArray[np.int32], + predictions_filtered: npt.NDArray[np.float32], + targets: npt.NDArray[np.float32], + class_id_idx: int, + num_classes: int, +) -> npt.NDArray[np.int32] | None: + """Fill matrix for edge cases and return it, or None if normal path needed.""" + if len(predictions_filtered) == 0: + true_classes = np.array(targets[:, class_id_idx], dtype=np.int16) + for gt_class in true_classes: + result_matrix[gt_class, num_classes] += 1 + return result_matrix + if len(targets) == 0: + detection_classes = np.array( + predictions_filtered[:, class_id_idx], dtype=np.int16 + ) + for det_class in detection_classes: + result_matrix[num_classes, det_class] += 1 + return result_matrix + return None + + +def _get_iou_batch( + true_boxes: npt.NDArray[np.float32], + detection_boxes: npt.NDArray[np.float32], + metric_target: MetricTarget, +) -> npt.NDArray[np.float32]: + """Return the IoU matrix for the requested metric target.""" + if metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES: + return oriented_box_iou_batch( + boxes_true=true_boxes, boxes_detection=detection_boxes + ) + return box_iou_batch(boxes_true=true_boxes, boxes_detection=detection_boxes) + + +def _fill_confusion_matrix_from_iou( + result_matrix: npt.NDArray[np.int32], + true_classes: npt.NDArray[np.int16], + detection_classes: npt.NDArray[np.int16], + true_boxes: npt.NDArray[np.float32], + detection_boxes: npt.NDArray[np.float32], + iou_threshold: float, + num_classes: int, + metric_target: MetricTarget, +) -> None: + """Compute IoU, find valid matches, greedily assign, and fill the matrix.""" + iou_batch = _get_iou_batch(true_boxes, detection_boxes, metric_target) + iou_mask = iou_batch > iou_threshold + gt_indices, det_indices = np.nonzero(iou_mask) + + if gt_indices.size == 0: + valid_matches = [] + else: + ious = iou_batch[gt_indices, det_indices] + gt_match_classes = true_classes[gt_indices] + det_match_classes = detection_classes[det_indices] + class_matches = gt_match_classes == det_match_classes + sort_indices = np.lexsort((-ious, ~class_matches)) + valid_matches = [ + ( + int(gt_indices[idx]), + int(det_indices[idx]), + float(ious[idx]), + bool(class_matches[idx]), + ) + for idx in sort_indices + ] + + matched_gt_idx = set() + matched_det_idx = set() + + for gt_idx, det_idx, _iou, _class_match in valid_matches: + if gt_idx not in matched_gt_idx and det_idx not in matched_det_idx: + gt_class = true_classes[gt_idx] + det_class = detection_classes[det_idx] + result_matrix[gt_class, det_class] += 1 + matched_gt_idx.add(gt_idx) + matched_det_idx.add(det_idx) + + for gt_idx, gt_class in enumerate(true_classes): + if gt_idx not in matched_gt_idx: + result_matrix[gt_class, num_classes] += 1 + + for det_idx, det_class in enumerate(detection_classes): + if det_idx not in matched_det_idx: + result_matrix[num_classes, det_class] += 1 + + @deprecated( # type: ignore[untyped-decorator] target=_validate_input_tensors, deprecated_in="0.29.0", @@ -451,126 +572,33 @@ def evaluate_detection_batch( Confusion matrix based on a single image. """ _assert_supported_target(metric_target) - - expected_pred_cols = ( - 10 if metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES else 6 - ) - expected_target_cols = ( - 9 if metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES else 5 - ) - if predictions.ndim != 2 or predictions.shape[1] != expected_pred_cols: - raise ValueError( - f"Predictions must have shape (M, {expected_pred_cols}). " - f"Got {predictions.shape} instead." - ) - if targets.ndim != 2 or targets.shape[1] != expected_target_cols: - raise ValueError( - f"Targets must have shape (N, {expected_target_cols}). " - f"Got {targets.shape} instead." - ) + _validate_detection_batch_shapes(predictions, targets, metric_target) result_matrix = np.zeros((num_classes + 1, num_classes + 1)) + coords_dim, class_id_idx, conf_idx = _get_coordinate_metadata(metric_target) + filtered = predictions[predictions[:, conf_idx] >= conf_threshold] - # Filter predictions by confidence threshold - coords_dim = 8 if metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES else 4 - class_id_idx = coords_dim - conf_idx = coords_dim + 1 - - confidence = predictions[:, conf_idx] - detection_batch_filtered = predictions[confidence >= conf_threshold] - - if len(detection_batch_filtered) == 0: - # No detections pass confidence threshold - all GT are FN - true_classes = np.array(targets[:, class_id_idx], dtype=np.int16) - for gt_class in true_classes: - result_matrix[gt_class, num_classes] += 1 - return result_matrix - - if len(targets) == 0: - # No ground truth - all detections are FP - detection_classes = np.array( - detection_batch_filtered[:, class_id_idx], dtype=np.int16 - ) - for det_class in detection_classes: - result_matrix[num_classes, det_class] += 1 - return result_matrix + early = _try_early_exit( + result_matrix, filtered, targets, class_id_idx, num_classes + ) + if early is not None: + return early true_classes = np.array(targets[:, class_id_idx], dtype=np.int16) - detection_classes = np.array( - detection_batch_filtered[:, class_id_idx], dtype=np.int16 - ) + detection_classes = np.array(filtered[:, class_id_idx], dtype=np.int16) true_boxes = targets[:, :coords_dim] - detection_boxes = detection_batch_filtered[:, :coords_dim] - - # Calculate IoU matrix - if metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES: - iou_batch = oriented_box_iou_batch( - boxes_true=true_boxes, boxes_detection=detection_boxes - ) - else: - iou_batch = box_iou_batch( - boxes_true=true_boxes, boxes_detection=detection_boxes - ) - - # Find all valid matches (IoU > threshold, regardless of class) - # Use vectorized operations to avoid nested Python loops - iou_mask = iou_batch > iou_threshold - gt_indices, det_indices = np.nonzero(iou_mask) - - # If no pairs exceed the IoU threshold, skip matching - if gt_indices.size == 0: - valid_matches = [] - else: - ious = iou_batch[gt_indices, det_indices] - gt_match_classes = true_classes[gt_indices] - det_match_classes = detection_classes[det_indices] - class_matches = gt_match_classes == det_match_classes - - # Sort matches by class match first (True before False), - # then by IoU descending. - # np.lexsort sorts by the last key first, in ascending order. - # We use ~class_matches so that True becomes 0 - # and False becomes 1 (True first), - # and -ious so that larger IoUs come first. - sort_indices = np.lexsort((-ious, ~class_matches)) - - # Build list of matches in the same format as before: - # (gt_idx, det_idx, iou, class_match) - valid_matches = [ - ( - int(gt_indices[idx]), - int(det_indices[idx]), - float(ious[idx]), - bool(class_matches[idx]), - ) - for idx in sort_indices - ] - # Greedily assign matches, ensuring each GT - # and detection is matched at most once - matched_gt_idx = set() - matched_det_idx = set() - - for gt_idx, det_idx, iou, class_match in valid_matches: - if gt_idx not in matched_gt_idx and det_idx not in matched_det_idx: - # Valid spatial match - record the class prediction - gt_class = true_classes[gt_idx] - det_class = detection_classes[det_idx] - - # This handles both correct classification (TP) and misclassification - result_matrix[gt_class, det_class] += 1 - matched_gt_idx.add(gt_idx) - matched_det_idx.add(det_idx) - - # Count unmatched ground truth as FN - for gt_idx, gt_class in enumerate(true_classes): - if gt_idx not in matched_gt_idx: - result_matrix[gt_class, num_classes] += 1 - - # Count unmatched detections as FP - for det_idx, det_class in enumerate(detection_classes): - if det_idx not in matched_det_idx: - result_matrix[num_classes, det_class] += 1 - + detection_boxes = filtered[:, :coords_dim] + + _fill_confusion_matrix_from_iou( + result_matrix, + true_classes, + detection_classes, + true_boxes, + detection_boxes, + iou_threshold, + num_classes, + metric_target, + ) return result_matrix @staticmethod From add76c0e7d7a71eed14259ab92d45921003248c6 Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sun, 28 Jun 2026 17:17:36 -0300 Subject: [PATCH 24/32] refactor: reduce branch complexity in coco dataset format --- src/supervision/dataset/formats/coco.py | 125 ++++++++++++++---------- 1 file changed, 76 insertions(+), 49 deletions(-) diff --git a/src/supervision/dataset/formats/coco.py b/src/supervision/dataset/formats/coco.py index d1d1568f3a..7b892a4ce3 100644 --- a/src/supervision/dataset/formats/coco.py +++ b/src/supervision/dataset/formats/coco.py @@ -24,6 +24,7 @@ from supervision.dataset.core import DetectionDataset CocoDict = dict[str, Any] +CocoSegmentation = Union[list[list[float]], dict[str, list[int]]] def coco_categories_to_classes(coco_categories: list[CocoDict]) -> list[str]: @@ -214,6 +215,71 @@ def coco_annotations_to_detections( ) +def _build_coco_segmentation_from_mask( + mask: npt.NDArray[np.bool_], + data: dict[str, Any], + min_image_area_percentage: float, + max_image_area_percentage: float, + approximation_percentage: float, + annotation_id: int, +) -> tuple[CocoSegmentation, int]: + if "iscrowd" in data: + iscrowd = int(np.asarray(data["iscrowd"]).item()) + else: + iscrowd = int( + contains_holes(mask=mask) or contains_multiple_segments(mask=mask) + ) + + if iscrowd: + return ( + { + "counts": cast(list[int], mask_to_rle(mask=mask, compressed=False)), + "size": list(mask.shape[:2]), + }, + iscrowd, + ) + + polygons = approximate_mask_with_polygons( + mask=mask, + min_image_area_percentage=min_image_area_percentage, + max_image_area_percentage=max_image_area_percentage, + approximation_percentage=approximation_percentage, + ) + # Small/noisy masks can be filtered out by approximation settings. + # Guard against empty output and keep a valid COCO annotation record. + if polygons: + # Export ALL polygons so disjoint mask components are preserved. + segmentation: CocoSegmentation = [list(p.flatten()) for p in polygons] + else: + warnings.warn( + "Skipping COCO polygon segmentation for annotation " + f"id={annotation_id} because mask approximation " + "returned no polygons.", + stacklevel=2, + ) + segmentation = cast(CocoSegmentation, []) + + return segmentation, iscrowd + + +def _build_coco_segmentation_from_raw_data(data: dict[str, Any]) -> CocoSegmentation: + raw_seg = data.get(COCO_RAW_SEGMENTATION) + if raw_seg is None or not bool(raw_seg): + return cast(CocoSegmentation, []) + + if isinstance(raw_seg, dict): + # RLE format - pass through unchanged. + return raw_seg + + if isinstance(raw_seg, list) and raw_seg and not isinstance( + raw_seg[0], (list, tuple) + ): + # Flat list shorthand [x1,y1,...] - wrap to list-of-lists. + return [list(raw_seg)] + + return list(raw_seg) + + def detections_to_coco_annotations( detections: Detections, image_id: int, @@ -283,61 +349,22 @@ def detections_to_coco_annotations( if class_id is None: raise ValueError("Detections must include class_id for COCO export.") box_width, box_height = xyxy[2] - xyxy[0], xyxy[3] - xyxy[1] - segmentation: Union[list[list[float]], dict[str, list[int]]] = [] + segmentation: CocoSegmentation = cast(CocoSegmentation, []) if mask is not None: mask_bool = cast(npt.NDArray[np.bool_], mask) - if "iscrowd" in data: - iscrowd = int(np.asarray(data["iscrowd"]).item()) - else: - iscrowd = int( - contains_holes(mask=mask_bool) - or contains_multiple_segments(mask=mask_bool) - ) - - if iscrowd: - segmentation = { - "counts": cast( - list[int], mask_to_rle(mask=mask_bool, compressed=False) - ), - "size": list(mask.shape[:2]), - } - else: - polygons = approximate_mask_with_polygons( - mask=mask_bool, - min_image_area_percentage=min_image_area_percentage, - max_image_area_percentage=max_image_area_percentage, - approximation_percentage=approximation_percentage, - ) - # Small/noisy masks can be filtered out by approximation settings. - # Guard against empty output and keep a valid COCO annotation record. - if polygons: - # Export ALL polygons so disjoint mask components are preserved. - segmentation = [list(p.flatten()) for p in polygons] - else: - warnings.warn( - "Skipping COCO polygon segmentation for annotation " - f"id={annotation_id} because mask approximation " - "returned no polygons.", - stacklevel=2, - ) + segmentation, iscrowd = _build_coco_segmentation_from_mask( + mask=mask_bool, + data=data, + min_image_area_percentage=min_image_area_percentage, + max_image_area_percentage=max_image_area_percentage, + approximation_percentage=approximation_percentage, + annotation_id=annotation_id, + ) else: iscrowd = int(np.asarray(data.get("iscrowd", 0)).item()) # When masks were not decoded during loading, fall back to the raw # polygon/RLE stored in data["segmentation"] for a lossless round-trip. - raw_seg = data.get(COCO_RAW_SEGMENTATION) - if raw_seg is not None and bool(raw_seg): - if isinstance(raw_seg, dict): - # RLE format — pass through unchanged - segmentation = raw_seg - elif ( - isinstance(raw_seg, list) - and raw_seg - and not isinstance(raw_seg[0], (list, tuple)) - ): - # Flat list shorthand [x1,y1,...] — wrap to list-of-lists - segmentation = [list(raw_seg)] - else: - segmentation = list(raw_seg) + segmentation = _build_coco_segmentation_from_raw_data(data=data) area: float = float(np.asarray(data.get("area", box_width * box_height)).item()) coco_annotation = { From cf80e8d2f290aee58ea871dfad346b65e33c0764 Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sun, 28 Jun 2026 17:17:44 -0300 Subject: [PATCH 25/32] refactor: simplify control flow and branches in detections core --- src/supervision/detection/core.py | 112 ++++++++++++++++++------------ 1 file changed, 69 insertions(+), 43 deletions(-) diff --git a/src/supervision/detection/core.py b/src/supervision/detection/core.py index 7832808fee..3d4ed0215b 100644 --- a/src/supervision/detection/core.py +++ b/src/supervision/detection/core.py @@ -772,55 +772,25 @@ def from_sam3( confidences = [] class_ids = [] - if isinstance(sam3_result, dict): - prompt_results = sam3_result.get("prompt_results", []) - if not prompt_results and "predictions" in sam3_result: - prompt_results = [ - {"predictions": sam3_result["predictions"], "prompt_index": 0} - ] - else: - prompt_results = getattr(sam3_result, "prompt_results", []) - if not prompt_results and hasattr(sam3_result, "predictions"): - prompt_results = [ - { - "predictions": getattr(sam3_result, "predictions"), - "prompt_index": 0, - } - ] + prompt_results = _normalize_sam3_prompt_results(sam3_result) for i, prompt_result in enumerate(prompt_results): - if isinstance(prompt_result, dict): - predictions = prompt_result.get("predictions", []) - prompt_index = prompt_result.get("prompt_index", i) - else: - predictions = getattr(prompt_result, "predictions", []) - prompt_index = getattr(prompt_result, "prompt_index", i) + predictions, prompt_index = _normalize_sam3_prompt_result( + prompt_result=prompt_result, + fallback_index=i, + ) for prediction in predictions: - if isinstance(prediction, dict): - prediction_format = prediction.get("format") - if prediction_format and prediction_format != "polygon": - continue - pred_masks = prediction.get("masks", []) - confidence = prediction.get("confidence", 1.0) - else: - prediction_format = getattr(prediction, "format", None) - if prediction_format and prediction_format != "polygon": - continue - pred_masks = getattr(prediction, "masks", []) - confidence = getattr(prediction, "confidence", 1.0) - - if not pred_masks: + prediction_payload = _normalize_sam3_prediction(prediction) + if prediction_payload is None: continue - full_mask: npt.NDArray[np.bool_] = np.zeros((height, width), dtype=bool) - for poly in pred_masks: - polygon = np.array(poly, dtype=np.int32) - mask = polygon_to_mask( - polygon=polygon, resolution_wh=(width, height) - ) - mask = mask.astype(bool, copy=False) - np.logical_or(full_mask, mask, out=full_mask) + pred_masks, confidence = prediction_payload + + full_mask = _build_sam3_mask( + pred_masks=pred_masks, + resolution_wh=(width, height), + ) masks.append(full_mask) confidences.append(confidence) @@ -2899,6 +2869,62 @@ def merge_inner_detections_objects_without_iou( return reduce(merge_inner_detection_object_pair, detections) +def _get_sam3_value(source: dict[str, Any] | Any, key: str, default: Any) -> Any: + if isinstance(source, dict): + return source.get(key, default) + return getattr(source, key, default) + + +def _normalize_sam3_prompt_results(sam3_result: dict[str, Any] | Any) -> list[Any]: + prompt_results = _get_sam3_value(sam3_result, "prompt_results", []) + if prompt_results: + return list(prompt_results) + + predictions = _get_sam3_value(sam3_result, "predictions", []) + if predictions: + return [{"predictions": predictions, "prompt_index": 0}] + + return [] + + +def _normalize_sam3_prompt_result( + prompt_result: dict[str, Any] | Any, fallback_index: int +) -> tuple[list[Any], int]: + predictions = _get_sam3_value(prompt_result, "predictions", []) + prompt_index = _get_sam3_value(prompt_result, "prompt_index", fallback_index) + return list(predictions), prompt_index + + +def _normalize_sam3_prediction( + prediction: dict[str, Any] | Any, +) -> tuple[list[Any], float] | None: + prediction_format = _get_sam3_value(prediction, "format", None) + if prediction_format and prediction_format != "polygon": + return None + + pred_masks = _get_sam3_value(prediction, "masks", []) + if pred_masks is None or len(pred_masks) == 0: + return None + + confidence = _get_sam3_value(prediction, "confidence", 1.0) + return list(pred_masks), confidence + + +def _build_sam3_mask( + pred_masks: list[Any], resolution_wh: tuple[int, int] +) -> npt.NDArray[np.bool_]: + width, height = resolution_wh + full_mask: npt.NDArray[np.bool_] = np.zeros((height, width), dtype=bool) + + for poly in pred_masks: + polygon = np.asarray(poly, dtype=np.int32) + mask = polygon_to_mask(polygon=polygon, resolution_wh=(width, height)) + mask = mask.astype(bool, copy=False) + np.logical_or(full_mask, mask, out=full_mask) + + return full_mask + + def _validate_fields_both_defined_or_none( detections_1: Detections, detections_2: Detections ) -> None: From 2b27d700cdc2aa3450934aa9f3e3cbc071929446 Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sun, 28 Jun 2026 17:17:57 -0300 Subject: [PATCH 26/32] refactor: reduce branch count in inference slicer tool --- .../detection/tools/inference_slicer.py | 139 ++++++++++++------ 1 file changed, 96 insertions(+), 43 deletions(-) diff --git a/src/supervision/detection/tools/inference_slicer.py b/src/supervision/detection/tools/inference_slicer.py index c26a7584ab..7524b57ee4 100644 --- a/src/supervision/detection/tools/inference_slicer.py +++ b/src/supervision/detection/tools/inference_slicer.py @@ -193,7 +193,6 @@ def __call__(self, image: ImageType) -> Detections: Returns: Merged detections across all slices. """ - detections_list: list[Detections] = [] resolution_wh = get_image_resolution_wh(image) offsets = self._generate_offset( @@ -202,8 +201,19 @@ def __call__(self, image: ImageType) -> Detections: overlap_wh=self.overlap_wh, ) - first_offset = offsets[0] - first_detections = self._run_callback(image, first_offset) + detections_list = self._collect_detections(image=image, offsets=offsets) + + merged = Detections.merge(detections_list=detections_list) + return self._apply_overlap_filter(merged) + + def _collect_detections( + self, + image: ImageType, + offsets: npt.NDArray[Any], + ) -> list[Detections]: + detections_list: list[Detections] = [] + + first_detections = self._run_callback(image, offsets[0]) detections_list.append(first_detections) remaining_offsets = offsets[1:] @@ -212,56 +222,99 @@ def __call__(self, image: ImageType) -> Detections: probe_index = 0 if not should_run_sequentially and len(first_detections) == 0: - while probe_index < len(remaining_offsets): - probe_offset = remaining_offsets[probe_index] - probe_detections = self._run_callback(image, probe_offset) - detections_list.append(probe_detections) - probe_index += 1 - - if ORIENTED_BOX_COORDINATES in probe_detections.data: - obb_detected = True - should_run_sequentially = True - break - - if len(probe_detections) > 0: - break + probe_index, obb_detected, should_run_sequentially = ( + self._probe_remaining_offsets( + image=image, + offsets=remaining_offsets, + detections_list=detections_list, + ) + ) remaining_offsets = remaining_offsets[probe_index:] if should_run_sequentially: - if self.thread_workers > 1 and obb_detected: - with self._obb_thread_workers_lock: - if not self._obb_thread_workers_warned: - self._obb_thread_workers_warned = True - warnings.warn( - "InferenceSlicer detected oriented bounding boxes while " - "`thread_workers > 1`. Remaining slices will be processed " - "sequentially because many OBB inference backends are not " - "thread-safe and can crash when shared across threads.", - category=SupervisionWarnings, - stacklevel=2, - ) - for offset in remaining_offsets: - detections_list.append(self._run_callback(image, offset)) - else: - with ThreadPoolExecutor(max_workers=self.thread_workers) as executor: - futures = [ - executor.submit(self._run_callback, image, offset) - for offset in remaining_offsets - ] - for future in as_completed(futures): - detections_list.append(future.result()) + self._warn_obb_sequential_fallback(obb_detected=obb_detected) + detections_list.extend( + self._run_sequential_inference(image=image, offsets=remaining_offsets) + ) + return detections_list - merged = Detections.merge(detections_list=detections_list) + detections_list.extend( + self._run_parallel_inference(image=image, offsets=remaining_offsets) + ) + return detections_list + + def _probe_remaining_offsets( + self, + image: ImageType, + offsets: npt.NDArray[Any], + detections_list: list[Detections], + ) -> tuple[int, bool, bool]: + probe_index = 0 + obb_detected = False + + while probe_index < len(offsets): + probe_offset = offsets[probe_index] + probe_detections = self._run_callback(image, probe_offset) + detections_list.append(probe_detections) + probe_index += 1 + + if ORIENTED_BOX_COORDINATES in probe_detections.data: + obb_detected = True + return probe_index, obb_detected, True + + if len(probe_detections) > 0: + return probe_index, obb_detected, False + + return probe_index, obb_detected, False + + def _run_sequential_inference( + self, + image: ImageType, + offsets: npt.NDArray[Any], + ) -> list[Detections]: + return [self._run_callback(image, offset) for offset in offsets] + + def _run_parallel_inference( + self, + image: ImageType, + offsets: npt.NDArray[Any], + ) -> list[Detections]: + with ThreadPoolExecutor(max_workers=self.thread_workers) as executor: + futures = [ + executor.submit(self._run_callback, image, offset) + for offset in offsets + ] + return [future.result() for future in as_completed(futures)] + + def _warn_obb_sequential_fallback(self, obb_detected: bool) -> None: + if self.thread_workers <= 1 or not obb_detected: + return + + with self._obb_thread_workers_lock: + if self._obb_thread_workers_warned: + return + + self._obb_thread_workers_warned = True + warnings.warn( + "InferenceSlicer detected oriented bounding boxes while " + "`thread_workers > 1`. Remaining slices will be processed " + "sequentially because many OBB inference backends are not " + "thread-safe and can crash when shared across threads.", + category=SupervisionWarnings, + stacklevel=2, + ) + + def _apply_overlap_filter(self, detections: Detections) -> Detections: if self.overlap_filter == OverlapFilter.NONE: - return merged + return detections if self.overlap_filter == OverlapFilter.NON_MAX_SUPPRESSION: - return merged.with_nms( + return detections.with_nms( threshold=self.iou_threshold, overlap_metric=self.overlap_metric, ) if self.overlap_filter == OverlapFilter.NON_MAX_MERGE: - return merged.with_nmm( + return detections.with_nmm( threshold=self.iou_threshold, overlap_metric=self.overlap_metric, ) @@ -270,7 +323,7 @@ def __call__(self, image: ImageType) -> Detections: f"Invalid overlap filter strategy: {self.overlap_filter}", category=SupervisionWarnings, ) - return merged + return detections def _run_callback(self, image: ImageType, offset: npt.NDArray[Any]) -> Detections: """ From 4501cf2f05db0a35b247df6d44a07f7d52f28f9b Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sun, 28 Jun 2026 17:18:05 -0300 Subject: [PATCH 27/32] refactor: simplify branch logic in internal detection utilities --- src/supervision/detection/utils/internal.py | 176 +++++++++++--------- 1 file changed, 95 insertions(+), 81 deletions(-) diff --git a/src/supervision/detection/utils/internal.py b/src/supervision/detection/utils/internal.py index 552d7d270c..bcbb7a7842 100644 --- a/src/supervision/detection/utils/internal.py +++ b/src/supervision/detection/utils/internal.py @@ -51,6 +51,33 @@ def extract_ultralytics_masks(yolov8_results: Any) -> npt.NDArray[np.bool_] | No return cast(npt.NDArray[np.bool_], np.asarray(mask_maps, dtype=bool)) +def _decode_rle_mask( + prediction: dict[str, Any], + image_height: int, + image_width: int, +) -> npt.NDArray[np.bool_] | None: + rle_data = prediction.get("rle") or prediction.get("rle_mask") + if not isinstance(rle_data, dict) or not {"size", "counts"}.issubset(rle_data): + return None + try: + h, w = rle_data["size"] + mask = rle_to_mask(rle_data["counts"], (w, h)) + if (h, w) != (image_height, image_width): + mask = cv2.resize( + mask.astype(np.uint8), + (image_width, image_height), + interpolation=cv2.INTER_NEAREST, + ).astype(bool) + return mask + except (ValueError, AssertionError, KeyError, TypeError) as exc: + logger.warning( + "Failed to decode RLE mask payload; falling back to box-only " + "detection. Reason: %s", + exc, + ) + return None + + def process_roboflow_result( roboflow_result: dict[str, Any], ) -> tuple[ @@ -114,58 +141,28 @@ def process_roboflow_result( x_max = x_min + width y_max = y_min + height - rle_data = prediction.get("rle") or prediction.get("rle_mask") - if not isinstance(rle_data, dict) or not { - "size", - "counts", - }.issubset(rle_data): - rle_data = None - if rle_data is not None: - try: - h, w = rle_data["size"] - mask = rle_to_mask(rle_data["counts"], (w, h)) - if (h, w) != (image_height, image_width): - mask = cv2.resize( - mask.astype(np.uint8), - (image_width, image_height), - interpolation=cv2.INTER_NEAREST, - ).astype(bool) - except (ValueError, AssertionError, KeyError, TypeError) as exc: - logger.warning( - "Failed to decode RLE mask payload; falling back to box-only " - "detection. Reason: %s", - exc, + mask = _decode_rle_mask(prediction, image_height, image_width) + + if mask is None and "points" in prediction: + if len(prediction["points"]) >= 3: + polygon = np.array( + [[point["x"], point["y"]] for point in prediction["points"]], + dtype=int, ) - rle_data = None - if rle_data is not None: - xyxy.append([x_min, y_min, x_max, y_max]) - class_id.append(prediction["class_id"]) - class_name.append(prediction["class"]) - confidence.append(prediction["confidence"]) - masks.append(mask) - if "tracker_id" in prediction: - tracker_ids.append(prediction["tracker_id"]) - elif "points" not in prediction: - xyxy.append([x_min, y_min, x_max, y_max]) - class_id.append(prediction["class_id"]) - class_name.append(prediction["class"]) - confidence.append(prediction["confidence"]) - if "tracker_id" in prediction: - tracker_ids.append(prediction["tracker_id"]) - elif len(prediction["points"]) >= 3: - polygon = np.array( - [[point["x"], point["y"]] for point in prediction["points"]], dtype=int - ) - mask = polygon_to_mask( - polygon, resolution_wh=(image_width, image_height) - ).astype(bool) - xyxy.append([x_min, y_min, x_max, y_max]) - class_id.append(prediction["class_id"]) - class_name.append(prediction["class"]) - confidence.append(prediction["confidence"]) + mask = polygon_to_mask( + polygon, resolution_wh=(image_width, image_height) + ).astype(bool) + else: + continue + + xyxy.append([x_min, y_min, x_max, y_max]) + class_id.append(prediction["class_id"]) + class_name.append(prediction["class"]) + confidence.append(prediction["confidence"]) + if mask is not None: masks.append(mask) - if "tracker_id" in prediction: - tracker_ids.append(prediction["tracker_id"]) + if "tracker_id" in prediction: + tracker_ids.append(prediction["tracker_id"]) xyxy_arr: npt.NDArray[np.floating] = ( np.array(xyxy, dtype=np.float64) if len(xyxy) > 0 else np.empty((0, 4)) @@ -238,6 +235,48 @@ def is_metadata_equal(metadata_a: dict[str, Any], metadata_b: dict[str, Any]) -> ) +def _validate_data_list_keys( + data_list: list[dict[str, npt.NDArray[np.generic] | list[Any]]], +) -> set[str]: + all_keys_sets = [set(data.keys()) for data in data_list] + if not all(keys_set == all_keys_sets[0] for keys_set in all_keys_sets): + raise ValueError("All data dictionaries must have the same keys to merge.") + + return all_keys_sets[0] + + +def _validate_data_value_lengths( + data_list: list[dict[str, npt.NDArray[np.generic] | list[Any]]], +) -> None: + for data in data_list: + lengths = {len(value) for value in data.values()} + if len(lengths) > 1: + raise ValueError( + "All data values within a single object must have equal length." + ) + + +def _merge_data_values( + values: list[npt.NDArray[np.generic] | list[Any]], + key: str, +) -> npt.NDArray[np.generic] | list[Any]: + if all(isinstance(item, list) for item in values): + return list(chain.from_iterable(values)) + + if all(isinstance(item, np.ndarray) for item in values): + ndim = values[0].ndim + if ndim == 1: + return np.hstack(values) + if ndim > 1: + return np.vstack(values) + raise ValueError(f"Unexpected array dimension for key '{key}'.") + + raise ValueError( + f"Inconsistent data types for key '{key}'. Only np.ndarray and list types " + f"are allowed." + ) + + def merge_data( data_list: list[dict[str, npt.NDArray[np.generic] | list[Any]]], ) -> dict[str, npt.NDArray[np.generic] | list[Any]]: @@ -263,38 +302,13 @@ def merge_data( if not data_list: return {} - all_keys_sets = [set(data.keys()) for data in data_list] - if not all(keys_set == all_keys_sets[0] for keys_set in all_keys_sets): - raise ValueError("All data dictionaries must have the same keys to merge.") + keys = _validate_data_list_keys(data_list) + _validate_data_value_lengths(data_list) - for data in data_list: - lengths = [len(value) for value in data.values()] - if len(set(lengths)) > 1: - raise ValueError( - "All data values within a single object must have equal length." - ) - - merged_data: dict[str, Any] = {key: [] for key in all_keys_sets[0]} - for data in data_list: - for key in data: - merged_data[key].append(data[key]) - - for key in merged_data: - if all(isinstance(item, list) for item in merged_data[key]): - merged_data[key] = list(chain.from_iterable(merged_data[key])) - elif all(isinstance(item, np.ndarray) for item in merged_data[key]): - ndim = merged_data[key][0].ndim - if ndim == 1: - merged_data[key] = np.hstack(merged_data[key]) - elif ndim > 1: - merged_data[key] = np.vstack(merged_data[key]) - else: - raise ValueError(f"Unexpected array dimension for key '{key}'.") - else: - raise ValueError( - f"Inconsistent data types for key '{key}'. Only np.ndarray and list " - f"types are allowed." - ) + merged_data: dict[str, Any] = { + key: _merge_data_values([data[key] for data in data_list], key) + for key in keys + } return cast(dict[str, Union[npt.NDArray[np.generic], list[Any]]], merged_data) From 1404351ff386ac37260f3fbaa530a812cd214b6e Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sun, 28 Jun 2026 17:18:14 -0300 Subject: [PATCH 28/32] refactor: reduce branch complexity in iou and nms utilities --- .../detection/utils/iou_and_nms.py | 58 +++++++++++-------- 1 file changed, 33 insertions(+), 25 deletions(-) diff --git a/src/supervision/detection/utils/iou_and_nms.py b/src/supervision/detection/utils/iou_and_nms.py index e32eb31e51..ab45e0ff11 100644 --- a/src/supervision/detection/utils/iou_and_nms.py +++ b/src/supervision/detection/utils/iou_and_nms.py @@ -423,6 +423,36 @@ def _overlapping_envelope_pairs( return cast(tuple[npt.NDArray[np.intp], npt.NDArray[np.intp]], np.nonzero(overlap)) +def _validate_oriented_box_batch(name: str, arr: npt.NDArray[np.number]) -> None: + """Validate the shape of an oriented-box batch.""" + if arr.ndim == 3 and arr.shape[1:] != (4, 2): + raise ValueError( + f"`{name}` has shape {arr.shape}; expected (N, 4, 2) " + f"— each box must have exactly 4 corners with (x, y) coordinates." + ) + if arr.ndim == 2 and arr.shape[1] != 8: + raise ValueError( + f"`{name}` has shape {arr.shape}; expected (N, 8) for flat " + f"YOLO format or (N, 4, 2) for corner format." + ) + if arr.ndim not in (2, 3): + raise ValueError( + f"`{name}` must be 2-D (N, 8) or 3-D (N, 4, 2), got shape {arr.shape}." + ) + + +def _normalize_oriented_overlap_metric(overlap_metric: OverlapMetric) -> bool: + """Return whether oriented-box overlap should be normalized by union.""" + if overlap_metric == OverlapMetric.IOU: + return True + if overlap_metric == OverlapMetric.IOS: + return False + raise ValueError( + f"overlap_metric {overlap_metric} is not supported, " + "only 'IOU' and 'IOS' are supported" + ) + + def oriented_box_iou_batch( boxes_true: npt.NDArray[np.number], boxes_detection: npt.NDArray[np.number], @@ -489,31 +519,9 @@ def oriented_box_iou_batch( array([[0.333...]]) """ - for name, arr in (("boxes_true", boxes_true), ("boxes_detection", boxes_detection)): - if arr.ndim == 3 and arr.shape[1:] != (4, 2): - raise ValueError( - f"`{name}` has shape {arr.shape}; expected (N, 4, 2) " - f"— each box must have exactly 4 corners with (x, y) coordinates." - ) - elif arr.ndim == 2 and arr.shape[1] != 8: - raise ValueError( - f"`{name}` has shape {arr.shape}; expected (N, 8) for flat " - f"YOLO format or (N, 4, 2) for corner format." - ) - elif arr.ndim not in (2, 3): - raise ValueError( - f"`{name}` must be 2-D (N, 8) or 3-D (N, 4, 2), got shape {arr.shape}." - ) - - if overlap_metric == OverlapMetric.IOU: - normalize_by_union = True - elif overlap_metric == OverlapMetric.IOS: - normalize_by_union = False - else: - raise ValueError( - f"overlap_metric {overlap_metric} is not supported, " - "only 'IOU' and 'IOS' are supported" - ) + _validate_oriented_box_batch("boxes_true", boxes_true) + _validate_oriented_box_batch("boxes_detection", boxes_detection) + normalize_by_union = _normalize_oriented_overlap_metric(overlap_metric) # Capture identity before reshape: NMS / NMM pass the same array twice, so # the matrix is symmetric and we can compute only its upper triangle. From 0493016ae384b77f47e9c3512d2a922e616708c6 Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sun, 28 Jun 2026 17:18:25 -0300 Subject: [PATCH 29/32] refactor: simplify control flow in mask utilities --- src/supervision/detection/utils/masks.py | 95 ++++++++++++++++++------ 1 file changed, 72 insertions(+), 23 deletions(-) diff --git a/src/supervision/detection/utils/masks.py b/src/supervision/detection/utils/masks.py index e8dd43227d..9b20df384d 100644 --- a/src/supervision/detection/utils/masks.py +++ b/src/supervision/detection/utils/masks.py @@ -288,6 +288,59 @@ def resize_masks(masks: npt.NDArray[Any], max_dimension: int = 640) -> npt.NDArr return resized_masks.reshape(masks.shape[0], new_height, new_width) +def _resolve_distance_threshold( + height: int, + width: int, + absolute_distance: float | None, + relative_distance: float | None, +) -> float: + """Resolve the distance threshold from absolute or relative input.""" + if relative_distance is not None: + diagonal = float(np.hypot(height, width)) + return float(relative_distance) * diagonal + if absolute_distance is not None: + return float(absolute_distance) + raise ValueError("Either absolute_distance or relative_distance must be set.") + + +def _filter_labels_by_centroid_distance( + keep_labels: npt.NDArray[np.bool_], + centroids: npt.NDArray[np.float64], + main_label: int, + threshold: float, +) -> None: + """Mark labels whose centroids are within the provided threshold.""" + differences = centroids[1:] - centroids[main_label] + distances = np.sqrt(np.sum(differences**2, axis=1)) + nearby = 1 + np.where(distances <= threshold)[0] + keep_labels[nearby] = True + + +def _filter_labels_by_edge_distance( + keep_labels: npt.NDArray[np.bool_], + labels: npt.NDArray[np.int32], + main_label: int, + num_labels: int, + threshold: float, +) -> None: + """Mark labels whose edge distance to the main component is within threshold.""" + main_mask = (labels == main_label).astype(np.uint8) + inverse = 1 - main_mask + distance_transform = cv2.distanceTransform(inverse, cv2.DIST_L2, 3) + + for label in range(1, num_labels): + if label == main_label: + continue + + component = labels == label + if not np.any(component): + continue + + min_distance = float(distance_transform[component].min()) + if min_distance <= threshold: + keep_labels[label] = True + + def filter_segments_by_distance( mask: npt.NDArray[np.bool_], absolute_distance: float | None = 100.0, @@ -391,35 +444,31 @@ def filter_segments_by_distance( areas = stats[1:, cv2.CC_STAT_AREA] main_label = 1 + int(np.argmax(areas)) - if relative_distance is not None: - diagonal = float(np.hypot(height, width)) - threshold = float(relative_distance) * diagonal - elif absolute_distance is not None: - threshold = float(absolute_distance) - else: - raise ValueError("Either absolute_distance or relative_distance must be set.") + threshold = _resolve_distance_threshold( + height=height, + width=width, + absolute_distance=absolute_distance, + relative_distance=relative_distance, + ) keep_labels: npt.NDArray[np.bool_] = np.zeros(num_labels, dtype=bool) keep_labels[main_label] = True if mode == "centroid": - differences = centroids[1:] - centroids[main_label] - distances = np.sqrt(np.sum(differences**2, axis=1)) - nearby = 1 + np.where(distances <= threshold)[0] - keep_labels[nearby] = True + _filter_labels_by_centroid_distance( + keep_labels=keep_labels, + centroids=centroids, + main_label=main_label, + threshold=threshold, + ) elif mode == "edge": - main_mask = (labels == main_label).astype(np.uint8) - inverse = 1 - main_mask - distance_transform = cv2.distanceTransform(inverse, cv2.DIST_L2, 3) - for label in range(1, num_labels): - if label == main_label: - continue - component = labels == label - if not np.any(component): - continue - min_distance = float(distance_transform[component].min()) - if min_distance <= threshold: - keep_labels[label] = True + _filter_labels_by_edge_distance( + keep_labels=keep_labels, + labels=labels, + main_label=main_label, + num_labels=num_labels, + threshold=threshold, + ) else: raise ValueError("mode must be 'edge' or 'centroid'") From ed56d5d1614a9bc229bb61567a9fe1f791c5908e Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Sun, 28 Jun 2026 17:18:35 -0300 Subject: [PATCH 30/32] refactor: update tests for sam connector after branch refactoring --- tests/detection/test_from_sam.py | 25 ++++++++++++++++++++++++- tests/detection/test_vlm.py | 27 +++++++++++++++++++++++++++ 2 files changed, 51 insertions(+), 1 deletion(-) diff --git a/tests/detection/test_from_sam.py b/tests/detection/test_from_sam.py index 370a135ee5..813861c485 100644 --- a/tests/detection/test_from_sam.py +++ b/tests/detection/test_from_sam.py @@ -1,5 +1,7 @@ from __future__ import annotations +from types import SimpleNamespace + import numpy as np import pytest @@ -78,6 +80,20 @@ ], "time": 0.07825545498053543, } +OBJECT_SAM3_RESULT = SimpleNamespace( + prompt_results=[ + SimpleNamespace( + prompt_index=2, + predictions=[ + SimpleNamespace( + masks=[[[10, 10], [20, 10], [20, 20], [10, 20]]], + confidence=0.75, + format="polygon", + ) + ], + ) + ] +) @pytest.mark.parametrize( @@ -174,10 +190,17 @@ def test_from_sam( np.array([0.00257821], dtype=np.float32), np.array([0], dtype=int), ), + ( + OBJECT_SAM3_RESULT, + (100, 100), + np.array([[10.0, 10.0, 20.0, 20.0]], dtype=np.float32), + np.array([0.75], dtype=np.float32), + np.array([2], dtype=int), + ), ], ) def test_from_sam3( - sam3_result: dict, + sam3_result: dict | SimpleNamespace, resolution_wh: tuple[int, int], expected_xyxy: np.ndarray, expected_confidence: np.ndarray, diff --git a/tests/detection/test_vlm.py b/tests/detection/test_vlm.py index 7b191d9dfd..7f5fa21d6b 100644 --- a/tests/detection/test_vlm.py +++ b/tests/detection/test_vlm.py @@ -1319,6 +1319,33 @@ def test_from_google_gemini_2_5_malformed_mask_keeps_confidence_aligned(): assert masks.shape == (2, 480, 640) +def test_from_google_gemini_2_5_filters_classes_and_keeps_arrays_aligned(): + """Class filtering must keep confidence and masks aligned with the kept items.""" + result = ( + '[{"box_2d": [10, 10, 100, 100], "label": "cat", ' + '"mask": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAADElEQVR4nGNgoCcAAABuAAFIXXpjAAAAAElFTkSuQmCC", ' + '"confidence": 0.8}, ' + '{"box_2d": [20, 20, 120, 120], "label": "dog", ' + '"mask": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAAAAACoWZBhAAAADElEQVR4nGNgoCcAAABuAAFIXXpjAAAAAElFTkSuQmCC", ' + '"confidence": 0.9}]' + ) + + xyxy, class_id, class_name, confidence, masks = from_google_gemini_2_5( + result=result, + resolution_wh=(640, 480), + classes=["dog"], + ) + + assert xyxy.shape == (1, 4) + assert np.allclose(xyxy, np.array([[12.8, 9.6, 76.8, 57.6]])) + assert np.array_equal(class_id, np.array([0])) + assert np.array_equal(class_name, np.array(["dog"])) + assert confidence is not None + assert np.allclose(confidence, np.array([0.9])) + assert masks is not None + assert masks.shape == (1, 480, 640) + + @pytest.mark.parametrize( ("parser", "result"), [ From 8b8e6cd85c09b190b1a7ef15d17ccc330e7a0ed9 Mon Sep 17 00:00:00 2001 From: EdivarCr Date: Tue, 30 Jun 2026 12:00:20 -0300 Subject: [PATCH 31/32] chore: add post-refactor metrics extraction scripts and baseline reports --- extract_metrics_after_codecarbon.py | 66 + extract_metrics_after_pylint.py | 112 + extract_metrics_after_pytest.py | 68 + extract_metrics_after_radon.py | 180 + extract_score_after_pylint.py | 23 + metrics-after-codecarbon/emissions_depois.csv | 2 + .../pylint_arquivos_criticos_depois.json | 424 + .../pylint_convention_depois.json | 5540 +++++ metrics-after-pylint/pylint_depois.json | 14354 ++++++++++++ ...pylint_distribuicao_categorias_depois.json | 22 + metrics-after-pylint/pylint_error_depois.json | 3382 +++ metrics-after-pylint/pylint_fatal_depois.json | 1 + .../pylint_ranking_smells_depois.json | 74 + .../pylint_refactor_depois.json | 3876 ++++ metrics-after-pylint/pylint_score_depois.txt | 1 + .../pylint_warning_depois.json | 1562 ++ metrics-after-pytest/coverage_depois.json | 1 + metrics-after-pytest/coverage_depois.xml | 17268 +++++++++++++++ metrics-after-pytest/pytest_depois.html | 1094 + metrics-after-pytest/pytest_depois.xml | 1718 ++ metrics-after-radon/cc_depois.json | 18082 ++++++++++++++++ metrics-after-radon/cc_por_arquivo_depois.csv | 59 + metrics-after-radon/cc_por_funcao_depois.csv | 930 + metrics-after-radon/hal_depois.json | 12073 +++++++++++ .../hal_por_arquivo_depois.csv | 81 + metrics-after-radon/hal_por_funcao_depois.csv | 762 + metrics-after-radon/mi_depois.json | 322 + metrics-after-radon/mi_por_arquivo_depois.csv | 81 + metrics-after-radon/raw_depois.json | 722 + .../raw_por_arquivo_e_total_depois.csv | 82 + .../metrics/mean_average_precision.py | 2 - src/supervision/tracker/byte_tracker/core.py | 54 +- 32 files changed, 82967 insertions(+), 51 deletions(-) create mode 100644 extract_metrics_after_codecarbon.py create mode 100644 extract_metrics_after_pylint.py create mode 100644 extract_metrics_after_pytest.py create mode 100644 extract_metrics_after_radon.py create mode 100644 extract_score_after_pylint.py create mode 100644 metrics-after-codecarbon/emissions_depois.csv create mode 100644 metrics-after-pylint/pylint_arquivos_criticos_depois.json create mode 100644 metrics-after-pylint/pylint_convention_depois.json create mode 100644 metrics-after-pylint/pylint_depois.json create mode 100644 metrics-after-pylint/pylint_distribuicao_categorias_depois.json create mode 100644 metrics-after-pylint/pylint_error_depois.json create mode 100644 metrics-after-pylint/pylint_fatal_depois.json create mode 100644 metrics-after-pylint/pylint_ranking_smells_depois.json create mode 100644 metrics-after-pylint/pylint_refactor_depois.json create mode 100644 metrics-after-pylint/pylint_score_depois.txt create mode 100644 metrics-after-pylint/pylint_warning_depois.json create mode 100644 metrics-after-pytest/coverage_depois.json create mode 100644 metrics-after-pytest/coverage_depois.xml create mode 100644 metrics-after-pytest/pytest_depois.html create mode 100644 metrics-after-pytest/pytest_depois.xml create mode 100644 metrics-after-radon/cc_depois.json create mode 100644 metrics-after-radon/cc_por_arquivo_depois.csv create mode 100644 metrics-after-radon/cc_por_funcao_depois.csv create mode 100644 metrics-after-radon/hal_depois.json create mode 100644 metrics-after-radon/hal_por_arquivo_depois.csv create mode 100644 metrics-after-radon/hal_por_funcao_depois.csv create mode 100644 metrics-after-radon/mi_depois.json create mode 100644 metrics-after-radon/mi_por_arquivo_depois.csv create mode 100644 metrics-after-radon/raw_depois.json create mode 100644 metrics-after-radon/raw_por_arquivo_e_total_depois.csv diff --git a/extract_metrics_after_codecarbon.py b/extract_metrics_after_codecarbon.py new file mode 100644 index 0000000000..cbc6ed0fd1 --- /dev/null +++ b/extract_metrics_after_codecarbon.py @@ -0,0 +1,66 @@ +from codecarbon import EmissionsTracker +import subprocess +import sys +import os + +# Configuração + +# Nome do projeto +PROJETO = "supervision" + +# Ponto de entrada do projeto (define como o Python vai executar o projeto). +SCRIPT = "-m" + +# Argumentos necessários para a execução do projeto. +# Se o projeto não precisar de argumentos, deixe vazio: ARGS = [] +ARGS = ["pytest"] + + +# Tempo máximo que o CodeCarbon vai aguardar a execução do projeto antes de encerrar a +# medição e salvar os resultados. +# None -> sem limite — o CodeCarbon aguarda o projeto terminar sozinho. +# Use para scripts e pipelines que executam e terminam naturalmente. +# +# 60 -> encerra após 60 segundos, mesmo que o projeto ainda esteja rodando. +# Use para servidores (Flask, FastAPI, Django) que ficam rodando continuamente e nunca terminariam sozinhos. +TIMEOUT = None + +# Não altere o nome dessa pasta, os relatórios vão ser salvos nela. +PASTA = "metrics-after-codecarbon" + +# Executa com medição +os.makedirs(PASTA, exist_ok=True) + +tracker = EmissionsTracker( + project_name=PROJETO, + measure_power_secs=1, + output_dir=PASTA, + output_file="emissions_depois.csv", + allow_multiple_runs=True, + log_level="error", +) + +print(f"Iniciando medição de emissões para: {PROJETO}") +print(f"Comando: python {SCRIPT} {' '.join(ARGS)}") +if TIMEOUT: + print(f"Timeout: {TIMEOUT} segundos") + +tracker.start() + +try: + resultado = subprocess.run( + [sys.executable, SCRIPT] + ARGS, + timeout=TIMEOUT + ) + exit_code = resultado.returncode +except subprocess.TimeoutExpired: + print("Tempo de medição encerrado.") + exit_code = 0 + +emissions = tracker.stop() + +print(f"\nResultados:") +print(f" Exit code: {exit_code}") +print(f" COâ‚‚ emitido: {emissions * 1000:.6f} g COâ‚‚") +print(f" Arquivo salvo em: {os.path.join(PASTA, 'emissions_depois.csv')}") +print("\nConcluído.") \ No newline at end of file diff --git a/extract_metrics_after_pylint.py b/extract_metrics_after_pylint.py new file mode 100644 index 0000000000..5e3438e6d6 --- /dev/null +++ b/extract_metrics_after_pylint.py @@ -0,0 +1,112 @@ +import json +import os +import subprocess +import sys +from collections import defaultdict, Counter + +# Configuração +PROJETO = "./src" # diretório do código fonte +PASTA = "metrics-after-pylint" # Não altere o nome dessa pasta, os relatórios vão ser salvos nela. + +os.makedirs(PASTA, exist_ok=True) + +# Roda o Pylint +print(f"Rodando pylint em {PROJETO}...") + +resultado = subprocess.run( + ["pylint", PROJETO, "--output-format=json", "--score=y"], + capture_output=True, + text=True, + encoding="utf-8", +) + +# Salva o JSON bruto +caminho_json = os.path.join(PASTA, "pylint_depois.json") +with open(caminho_json, "w", encoding="utf-8") as f: + f.write(resultado.stdout) +print(f"JSON completo salvo em: {caminho_json}") + +# Processa mensagens +try: + mensagens = json.loads(resultado.stdout) +except json.JSONDecodeError: + print("Erro ao processar JSON do Pylint.") + sys.exit(1) + +if not mensagens: + print("Nenhuma mensagem encontrada.") + sys.exit(0) + +# Salva JSONs por categoria +por_tipo = defaultdict(list) +for msg in mensagens: + tipo = msg.get("type", "unknown") + por_tipo[tipo].append(msg) + +tipos_nomes = { + "convention": "pylint_convention_depois.json", + "refactor": "pylint_refactor_depois.json", + "warning": "pylint_warning_depois.json", + "error": "pylint_error_depois.json", + "fatal": "pylint_fatal_depois.json", +} + +for tipo, nome_arquivo in tipos_nomes.items(): + caminho = os.path.join(PASTA, nome_arquivo) + with open(caminho, "w", encoding="utf-8") as f: + json.dump(por_tipo.get(tipo, []), f, indent=2, ensure_ascii=False) + print(f"{len(por_tipo.get(tipo, [])):>5} mensagens → {caminho}") + +print(f"\nTotal: {len(mensagens)} mensagens encontradas.") + +# Ranking da categoria refactor +mensagens_refactor = [msg for msg in mensagens if msg.get("type") == "refactor"] +contagem_simbolos = Counter(msg["symbol"] for msg in mensagens_refactor) +caminho_ranking = os.path.join(PASTA, "pylint_ranking_smells_depois.json") +with open(caminho_ranking, "w", encoding="utf-8") as f: + json.dump( + [{"simbolo": s, "ocorrencias": t} for s, t in contagem_simbolos.most_common()], + f, + indent=2, + ensure_ascii=False, + ) +print(f"Ranking de símbolos salvo em: {caminho_ranking}") + +# Arquivos com mais problemas +por_arquivo = defaultdict(lambda: defaultdict(int)) +for msg in mensagens: + path = msg.get("path", "desconhecido") + tipo = msg.get("type", "unknown") + por_arquivo[path][tipo] += 1 + por_arquivo[path]["total"] += 1 + +arquivos_ordenados = sorted( + [ + {"arquivo": path, **contagens} + for path, contagens in por_arquivo.items() + ], + key=lambda x: x["total"], + reverse=True, +) +caminho_arquivos = os.path.join(PASTA, "pylint_arquivos_criticos_depois.json") +with open(caminho_arquivos, "w", encoding="utf-8") as f: + json.dump(arquivos_ordenados, f, indent=2, ensure_ascii=False) +print(f"Arquivos críticos salvo em: {caminho_arquivos}") + +# Distribuição por categoria +total = len(mensagens) +distribuicao = [ + { + "categoria": tipo, + "ocorrencias": len(msgs), + "percentual": round(len(msgs) / total * 100, 2), + } + for tipo, msgs in por_tipo.items() +] +distribuicao.sort(key=lambda x: x["ocorrencias"], reverse=True) +caminho_dist = os.path.join(PASTA, "pylint_distribuicao_categorias_depois.json") +with open(caminho_dist, "w", encoding="utf-8") as f: + json.dump(distribuicao, f, indent=2, ensure_ascii=False) +print(f"Distribuição por categoria salva em: {caminho_dist}") + +print("\nConcluído.") \ No newline at end of file diff --git a/extract_metrics_after_pytest.py b/extract_metrics_after_pytest.py new file mode 100644 index 0000000000..8c2030c6bb --- /dev/null +++ b/extract_metrics_after_pytest.py @@ -0,0 +1,68 @@ +import os +import subprocess +import sys +from pathlib import Path + +# Configuração, ajuste apenas se necessário. + +# Diretório raiz do projeto, os testes vai começar a execução a petir dele. +PROJETO = "." + +# Diretório dos testes detectado automaticamente, mas pode forçar manualmente +# Exemplos: TESTES = "./tests" ou TESTES = "./test" +TESTES = None + +# Pasta onde os relatórios serão salvos (não altere) +PASTA = "metrics-after-pytest" + +# Detecção automática do diretório de testes +CANDIDATOS = ["tests", "test", "src/tests", "src/test"] + +if TESTES is None: + for candidato in CANDIDATOS: + if Path(candidato).exists(): + TESTES = candidato + break + +if TESTES is None: + print("Erro: diretório de testes não encontrado.") + print(f"Procurado em: {CANDIDATOS}") + print("Defina manualmente a variável TESTES no script.") + sys.exit(1) + +# Execução +os.makedirs(PASTA, exist_ok=True) + +print(f"Projeto : {os.path.abspath(PROJETO)}") +print(f"Testes : {TESTES}") +print(f"Relatórios em: {PASTA}/") +print() + +resultado = subprocess.run( + [ + sys.executable, "-m", "pytest", TESTES, + "-v", + f"--junit-xml={os.path.join(PASTA, 'pytest_depois.xml')}", + f"--html={os.path.join(PASTA, 'pytest_depois.html')}", + "--self-contained-html", + f"--cov={PROJETO}", + "--cov-branch", + f"--cov-report=xml:{os.path.join(PASTA, 'coverage_depois.xml')}", + f"--cov-report=json:{os.path.join(PASTA, 'coverage_depois.json')}", + f"--cov-report=html:{os.path.join(PASTA, 'coverage_depois_html')}", + "--cov-report=term-missing", + ], + cwd=PROJETO, + + text=True, + encoding="utf-8", +) + +print(f"\nExit code: {resultado.returncode}") +print(f"\nArquivos gerados em '{PASTA}':") +print(f" pytest_depois.xml → resultados dos testes em XML") +print(f" pytest_depois.html → relatório visual dos testes") +print(f" coverage_depois.xml → cobertura de código em XML") +print(f" coverage_depois.json → cobertura de código em JSON") +print(f" coverage_depois_html/ → relatório visual de cobertura") +print("\nConcluído.") \ No newline at end of file diff --git a/extract_metrics_after_radon.py b/extract_metrics_after_radon.py new file mode 100644 index 0000000000..24aa586ca0 --- /dev/null +++ b/extract_metrics_after_radon.py @@ -0,0 +1,180 @@ +import csv +import json +import os +import subprocess + +def normalizar_caminho(path): + return path.replace("\\", "/") + +# Gera JSONs via Radon +def rodar_radon(comando): + resultado = subprocess.run(comando, capture_output=True, text=True, encoding="utf-8") + return json.loads(resultado.stdout) + +print("Rodando radon cc...") +cc_data = rodar_radon(["radon", "cc", "./src", "-j"]) +print("Rodando radon mi...") +mi_data = rodar_radon(["radon", "mi", "./src", "-j"]) +print("Rodando radon hal...") +hal_data = rodar_radon(["radon", "hal", "./src", "-j"]) +print("Rodando radon raw...") +raw_data = rodar_radon(["radon", "raw", "./src", "-j"]) + +# Não altere o nome dessa pasta, os relatórios vão ser salvos nela. +pasta = "metrics-after-radon" +os.makedirs(pasta, exist_ok=True) + +with open(os.path.join(pasta, "cc_depois.json"), "w", encoding="utf-8") as f: + json.dump(cc_data, f, indent=2) +with open(os.path.join(pasta, "mi_depois.json"), "w", encoding="utf-8") as f: + json.dump(mi_data, f, indent=2) +with open(os.path.join(pasta, "hal_depois.json"), "w", encoding="utf-8") as f: + json.dump(hal_data, f, indent=2) +with open(os.path.join(pasta, "raw_depois.json"), "w", encoding="utf-8") as f: + json.dump(raw_data, f, indent=2) + +print("JSONs salvos.") + +HAL_FIELDS = ["h1", "h2", "N1", "N2", "vocabulary", "length", + "calculated_length", "volume", "difficulty", + "effort", "time", "bugs"] + +RAW_FIELDS = ["loc", "lloc", "sloc", "comments", "multi", "blank", + "single_comments"] + +rows_cc = [] +rows_cc_arquivo = [] +rows_mi = [] +rows_hal_arquivo = [] +rows_hal_funcao = [] +rows_raw = [] + +# MI por arquivo +for arquivo, dados in mi_data.items(): + rows_mi.append({ + "arquivo": normalizar_caminho(arquivo), + "mi": round(dados["mi"], 4), + "rank_mi": dados["rank"], + }) + +# CC por função e por arquivo +def extrair_funcoes(blocos, arquivo): + resultado = [] + for bloco in blocos: + if bloco["type"] == "class": + continue + resultado.append({ + "arquivo": normalizar_caminho(arquivo), + "tipo": bloco["type"], + "classe": bloco.get("classname") or "", + "nome": bloco["name"], + "rank_cc": bloco["rank"], + "complexity": bloco["complexity"], + "linha_ini": bloco["lineno"], + "linha_fim": bloco["endline"], + }) + if bloco.get("closures"): + resultado += extrair_funcoes(bloco["closures"], arquivo) + return resultado + +vistas = set() + +for arquivo, blocos in cc_data.items(): + funcoes_arquivo = [] + for bloco in extrair_funcoes(blocos, arquivo): + chave = (bloco["arquivo"], bloco["nome"], bloco["linha_ini"]) + if chave in vistas: + continue + vistas.add(chave) + rows_cc.append(bloco) + funcoes_arquivo.append(bloco) + + if funcoes_arquivo: + complexidades = [f["complexity"] for f in funcoes_arquivo] + pior = max(funcoes_arquivo, key=lambda x: x["complexity"]) + rows_cc_arquivo.append({ + "arquivo": normalizar_caminho(arquivo), + "funcoes": len(funcoes_arquivo), + "cc_media": round(sum(complexidades) / len(complexidades), 2), + "cc_max": max(complexidades), + "cc_soma": sum(complexidades), + "pior_rank": pior["rank_cc"], + "pior_classe": pior["classe"], + "pior_funcao": pior["nome"], + "pior_linha_ini": pior["linha_ini"], + }) + else: + rows_cc_arquivo.append({ + "arquivo": normalizar_caminho(arquivo), + "funcoes": 0, + "cc_media": "", + "cc_max": "", + "cc_soma": "", + "pior_rank": "", + "pior_classe": "", + "pior_funcao": "", + "pior_linha_ini": "", + }) + +# Halstead por arquivo e por função +vistos_hal = set() + +for arquivo, dados in hal_data.items(): + arq_norm = normalizar_caminho(arquivo) + + t = dados["total"] + row = {"arquivo": arq_norm, "escopo": "arquivo", "nome": ""} + for field in HAL_FIELDS: + val = t.get(field, 0) or 0 + row[field] = round(val, 4) + rows_hal_arquivo.append(row) + + for nome_func, func_hal in dados.get("functions", {}).items(): + chave = (arq_norm, nome_func) + nome_final = nome_func + if chave in vistos_hal: + count = sum(1 for k in vistos_hal if k[0] == arq_norm and k[1].startswith(nome_func)) + nome_final = f"{nome_func}_{count}" + vistos_hal.add((arq_norm, nome_final)) + + row = {"arquivo": arq_norm, "escopo": "funcao", "nome": nome_final} + for field in HAL_FIELDS: + val = func_hal.get(field, 0) or 0 + row[field] = round(val, 4) + rows_hal_funcao.append(row) + +# Raw por arquivo e total +total_raw = {field: 0 for field in RAW_FIELDS} + +for arquivo, dados in raw_data.items(): + row = {"arquivo": normalizar_caminho(arquivo)} + for field in RAW_FIELDS: + val = dados.get(field, 0) or 0 + row[field] = val + total_raw[field] += val + rows_raw.append(row) + +rows_raw.append({"arquivo": "TOTAL", **total_raw}) + +# Exporta CSVs +def salvar_csv(nome, linhas, ordenar_por=None): + if not linhas: + print(f"Sem dados para {nome}") + return + if ordenar_por: + linhas = sorted(linhas, key=lambda x: (x[ordenar_por] == "", x[ordenar_por])) + caminho = os.path.join(pasta, nome) + with open(caminho, "w", newline="", encoding="utf-8") as f: + writer = csv.DictWriter(f, fieldnames=linhas[0].keys()) + writer.writeheader() + writer.writerows(linhas) + print(f"{len(linhas):>5} linhas → {caminho}") + +salvar_csv("mi_por_arquivo_depois.csv", rows_mi, ordenar_por="mi") +salvar_csv("cc_por_funcao_depois.csv", rows_cc, ordenar_por="complexity") +salvar_csv("cc_por_arquivo_depois.csv", rows_cc_arquivo, ordenar_por="cc_media") +salvar_csv("hal_por_arquivo_depois.csv", rows_hal_arquivo, ordenar_por="effort") +salvar_csv("hal_por_funcao_depois.csv", rows_hal_funcao) +salvar_csv("raw_por_arquivo_e_total_depois.csv", rows_raw, ordenar_por="sloc") + +print("\nConcluído.") \ No newline at end of file diff --git a/extract_score_after_pylint.py b/extract_score_after_pylint.py new file mode 100644 index 0000000000..27b0a16f15 --- /dev/null +++ b/extract_score_after_pylint.py @@ -0,0 +1,23 @@ +import subprocess +import os + +PROJETO = "./src" +PASTA = "metrics-after-pylint" + +os.makedirs(PASTA, exist_ok=True) + +resultado = subprocess.run( + ["pylint", PROJETO, "--score=y"], + capture_output=True, + text=True, + encoding="utf-8", +) + +caminho_score = os.path.join(PASTA, "pylint_score_depois.txt") +with open(caminho_score, "w", encoding="utf-8") as f: + for linha in resultado.stdout.splitlines(): + if "Your code has been rated at" in linha: + f.write(linha + "\n") + print(linha) + +print(f"Score salvo em: {caminho_score}") \ No newline at end of file diff --git a/metrics-after-codecarbon/emissions_depois.csv b/metrics-after-codecarbon/emissions_depois.csv new file mode 100644 index 0000000000..4ccdc8ed97 --- /dev/null +++ b/metrics-after-codecarbon/emissions_depois.csv @@ -0,0 +1,2 @@ +timestamp,project_name,run_id,experiment_id,duration,emissions,emissions_rate,cpu_power,gpu_power,ram_power,cpu_energy,gpu_energy,ram_energy,energy_consumed,water_consumed,country_name,country_iso_code,region,cloud_provider,cloud_region,os,python_version,codecarbon_version,cpu_count,cpu_model,gpu_count,gpu_model,longitude,latitude,ram_total_size,tracking_mode,cpu_utilization_percent,gpu_utilization_percent,ram_utilization_percent,ram_used_gb,on_cloud,pue,wue +2026-06-30T11:35:12,supervision,f5badfa4-fbd6-4c5c-ba6a-bff10859ee52,5b0fa12a-3dd7-45bb-9766-cc326314d9f1,6.8855676999999105,1.9270122431762963e-06,2.798625076587834e-07,4.5082849756500005,0.0,10.0,6.042477765017746e-06,0.0,1.3551334444445553e-05,1.9593812209463297e-05,0.0,Brazil,BRA,ceará,,,Windows-11-10.0.26200-SP0,3.12.10,3.2.8,16,AMD Ryzen 7 7735HS with Radeon Graphics,0,,-39.0159,-4.9702,5.691925048828125,machine,20.0,0,93.16,5.3021995544433596,N,1.0,0.0 diff --git a/metrics-after-pylint/pylint_arquivos_criticos_depois.json b/metrics-after-pylint/pylint_arquivos_criticos_depois.json new file mode 100644 index 0000000000..7b9a7d2397 --- /dev/null +++ b/metrics-after-pylint/pylint_arquivos_criticos_depois.json @@ -0,0 +1,424 @@ +[ + { + "arquivo": "src\\supervision\\annotators\\core.py", + "convention": 15, + "total": 142, + "error": 50, + "refactor": 55, + "warning": 22 + }, + { + "arquivo": "src\\supervision\\validators\\__init__.py", + "convention": 14, + "total": 72, + "refactor": 58 + }, + { + "arquivo": "src\\supervision\\detection\\core.py", + "convention": 39, + "total": 60, + "refactor": 8, + "warning": 1, + "error": 12 + }, + { + "arquivo": "src\\supervision\\metrics\\mean_average_precision.py", + "convention": 21, + "total": 53, + "refactor": 18, + "warning": 4, + "error": 10 + }, + { + "arquivo": "src\\supervision\\detection\\line_zone.py", + "convention": 10, + "total": 48, + "refactor": 13, + "warning": 2, + "error": 23 + }, + { + "arquivo": "src\\supervision\\metrics\\recall.py", + "convention": 8, + "total": 48, + "refactor": 4, + "warning": 4, + "error": 32 + }, + { + "arquivo": "src\\supervision\\tracker\\byte_tracker\\core.py", + "convention": 4, + "total": 42, + "refactor": 4, + "error": 15, + "warning": 19 + }, + { + "arquivo": "src\\supervision\\utils\\image.py", + "convention": 8, + "total": 37, + "error": 19, + "refactor": 10 + }, + { + "arquivo": "src\\supervision\\__init__.py", + "convention": 34, + "total": 34 + }, + { + "arquivo": "src\\supervision\\draw\\color.py", + "convention": 22, + "total": 34, + "refactor": 1, + "error": 11 + }, + { + "arquivo": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "convention": 25, + "total": 34, + "refactor": 2, + "warning": 7 + }, + { + "arquivo": "src\\supervision\\key_points\\annotators.py", + "convention": 4, + "total": 27, + "refactor": 12, + "error": 11 + }, + { + "arquivo": "src\\supervision\\utils\\video.py", + "convention": 4, + "total": 27, + "error": 11, + "warning": 8, + "refactor": 4 + }, + { + "arquivo": "src\\supervision\\draw\\utils.py", + "convention": 1, + "total": 23, + "error": 20, + "refactor": 2 + }, + { + "arquivo": "src\\supervision\\detection\\vlm.py", + "convention": 8, + "total": 22, + "warning": 5, + "refactor": 5, + "error": 4 + }, + { + "arquivo": "src\\supervision\\key_points\\core.py", + "convention": 14, + "total": 22, + "refactor": 6, + "error": 1, + "warning": 1 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "convention": 10, + "total": 21, + "warning": 3, + "refactor": 7, + "error": 1 + }, + { + "arquivo": "src\\supervision\\assets\\list.py", + "convention": 19, + "total": 19 + }, + { + "arquivo": "src\\supervision\\metrics\\mean_average_recall.py", + "convention": 12, + "total": 19, + "refactor": 4, + "warning": 3 + }, + { + "arquivo": "src\\supervision\\dataset\\core.py", + "convention": 4, + "total": 17, + "error": 3, + "warning": 4, + "refactor": 6 + }, + { + "arquivo": "src\\supervision\\dataset\\formats\\yolo.py", + "convention": 5, + "total": 17, + "refactor": 10, + "warning": 1, + "error": 1 + }, + { + "arquivo": "src\\supervision\\detection\\tools\\inference_slicer.py", + "convention": 9, + "total": 17, + "refactor": 5, + "error": 3 + }, + { + "arquivo": "src\\supervision\\annotators\\utils.py", + "convention": 11, + "total": 16, + "refactor": 5 + }, + { + "arquivo": "src\\supervision\\detection\\tools\\polygon_zone.py", + "convention": 11, + "total": 16, + "error": 1, + "refactor": 4 + }, + { + "arquivo": "src\\supervision\\metrics\\f1_score.py", + "convention": 8, + "total": 16, + "warning": 3, + "error": 1, + "refactor": 4 + }, + { + "arquivo": "src\\supervision\\dataset\\formats\\coco.py", + "convention": 5, + "total": 15, + "refactor": 10 + }, + { + "arquivo": "src\\supervision\\detection\\compact_mask.py", + "convention": 3, + "total": 15, + "error": 2, + "refactor": 4, + "warning": 6 + }, + { + "arquivo": "src\\supervision\\metrics\\detection.py", + "convention": 3, + "total": 15, + "refactor": 12 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\masks.py", + "convention": 3, + "total": 14, + "refactor": 3, + "error": 8 + }, + { + "arquivo": "src\\supervision\\metrics\\precision.py", + "convention": 6, + "total": 14, + "refactor": 4, + "warning": 3, + "error": 1 + }, + { + "arquivo": "src\\supervision\\dataset\\utils.py", + "convention": 7, + "total": 10, + "warning": 2, + "error": 1 + }, + { + "arquivo": "src\\supervision\\utils\\file.py", + "convention": 2, + "total": 9, + "warning": 7 + }, + { + "arquivo": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "convention": 2, + "total": 8, + "refactor": 5, + "error": 1 + }, + { + "arquivo": "src\\supervision\\detection\\tools\\csv_sink.py", + "convention": 4, + "total": 8, + "refactor": 2, + "warning": 2 + }, + { + "arquivo": "src\\supervision\\utils\\conversion.py", + "convention": 4, + "total": 8, + "error": 4 + }, + { + "arquivo": "src\\supervision\\detection\\tools\\transformers.py", + "convention": 1, + "total": 7, + "refactor": 6 + }, + { + "arquivo": "src\\supervision\\geometry\\core.py", + "convention": 7, + "total": 7 + }, + { + "arquivo": "src\\supervision\\metrics\\utils\\object_size.py", + "convention": 7, + "total": 7 + }, + { + "arquivo": "src\\supervision\\utils\\internal.py", + "convention": 2, + "total": 7, + "warning": 4, + "refactor": 1 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\internal.py", + "convention": 2, + "total": 6, + "error": 3, + "refactor": 1 + }, + { + "arquivo": "src\\supervision\\keypoint\\annotators.py", + "convention": 2, + "total": 6, + "warning": 4 + }, + { + "arquivo": "src\\supervision\\detection\\tools\\smoother.py", + "convention": 4, + "total": 5, + "refactor": 1 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\converters.py", + "convention": 1, + "total": 5, + "error": 4 + }, + { + "arquivo": "src\\supervision\\metrics\\utils\\utils.py", + "convention": 3, + "total": 5, + "warning": 2 + }, + { + "arquivo": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "convention": 5, + "total": 5 + }, + { + "arquivo": "src\\supervision\\utils\\notebook.py", + "convention": 1, + "total": 5, + "error": 4 + }, + { + "arquivo": "src\\supervision\\annotators\\base.py", + "convention": 3, + "total": 4, + "refactor": 1 + }, + { + "arquivo": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "convention": 4, + "total": 4 + }, + { + "arquivo": "src\\supervision\\detection\\tools\\json_sink.py", + "convention": 1, + "total": 3, + "warning": 1, + "refactor": 1 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\boxes.py", + "convention": 1, + "total": 3, + "error": 1, + "warning": 1 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\polygons.py", + "convention": 1, + "total": 3, + "error": 2 + }, + { + "arquivo": "src\\supervision\\keypoint\\core.py", + "convention": 2, + "total": 3, + "warning": 1 + }, + { + "arquivo": "src\\supervision\\keypoint\\__init__.py", + "convention": 3, + "total": 3 + }, + { + "arquivo": "src\\supervision\\key_points\\skeletons.py", + "convention": 3, + "total": 3 + }, + { + "arquivo": "src\\supervision\\classification\\core.py", + "convention": 2, + "total": 2 + }, + { + "arquivo": "src\\supervision\\draw\\base.py", + "convention": 2, + "total": 2 + }, + { + "arquivo": "src\\supervision\\config.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\assets\\downloader.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\assets\\__init__.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\detection\\utils\\vlms.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\geometry\\utils.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\metrics\\core.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\metrics\\__init__.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\utils\\iterables.py", + "convention": 1, + "total": 1 + }, + { + "arquivo": "src\\supervision\\utils\\logger.py", + "convention": 1, + "total": 1 + } +] \ No newline at end of file diff --git a/metrics-after-pylint/pylint_convention_depois.json b/metrics-after-pylint/pylint_convention_depois.json new file mode 100644 index 0000000000..400d980f83 --- /dev/null +++ b/metrics-after-pylint/pylint_convention_depois.json @@ -0,0 +1,5540 @@ +[ + { + "type": "convention", + "module": "supervision.config", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\config.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 9, + "column": 0, + "endLine": 33, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.annotators.core import BackgroundOverlayAnnotator, BlurAnnotator, BoxAnnotator, BoxCornerAnnotator, CircleAnnotator, ColorAnnotator, ComparisonAnnotator, CropAnnotator, DotAnnotator, EllipseAnnotator, HaloAnnotator, HeatMapAnnotator, IconAnnotator, LabelAnnotator, MaskAnnotator, OrientedBoxAnnotator, PercentageBarAnnotator, PixelateAnnotator, PolygonAnnotator, RichLabelAnnotator, RoundBoxAnnotator, TraceAnnotator, TriangleAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 34, + "column": 0, + "endLine": 39, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.annotators.utils import ColorLookup, hex_to_rgba, is_valid_hex, rgba_to_hex\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 40, + "column": 0, + "endLine": 40, + "endColumn": 59, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.classification.core import Classifications\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 41, + "column": 0, + "endLine": 45, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.dataset.core import BaseDataset, ClassificationDataset, DetectionDataset\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 46, + "column": 0, + "endLine": 46, + "endColumn": 73, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.dataset.formats.coco import get_coco_class_index_mapping\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 47, + "column": 0, + "endLine": 47, + "endColumn": 58, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.compact_mask import CompactMask\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 48, + "column": 0, + "endLine": 48, + "endColumn": 49, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.core import Detections\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 49, + "column": 0, + "endLine": 53, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.line_zone import LineZone, LineZoneAnnotator, LineZoneAnnotatorMulticlass\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 54, + "column": 0, + "endLine": 54, + "endColumn": 56, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.csv_sink import CSVSink\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 55, + "column": 0, + "endLine": 55, + "endColumn": 72, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.inference_slicer import InferenceSlicer\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 56, + "column": 0, + "endLine": 56, + "endColumn": 58, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.json_sink import JSONSink\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 57, + "column": 0, + "endLine": 57, + "endColumn": 86, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.polygon_zone import PolygonZone, PolygonZoneAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 58, + "column": 0, + "endLine": 58, + "endColumn": 67, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.smoother import DetectionsSmoother\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 59, + "column": 0, + "endLine": 66, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.boxes import clip_boxes, denormalize_boxes, move_boxes, pad_boxes, scale_boxes, xyxyxyxy_to_xyxy\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 67, + "column": 0, + "endLine": 81, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.converters import is_compressed_rle, mask_to_polygons, mask_to_rle, mask_to_xyxy, polygon_to_mask, polygon_to_xyxy, rle_to_mask, xcycwh_to_xyxy, xywh_to_xyxy, xyxy_to_mask, xyxy_to_polygons, xyxy_to_xcycarh, xyxy_to_xywh\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 82, + "column": 0, + "endLine": 96, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.iou_and_nms import OverlapFilter, OverlapMetric, box_iou, box_iou_batch, box_iou_batch_with_jaccard, box_non_max_merge, box_non_max_suppression, mask_iou_batch, mask_non_max_merge, mask_non_max_suppression, oriented_box_iou_batch, oriented_box_non_max_merge, oriented_box_non_max_suppression\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 97, + "column": 0, + "endLine": 103, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.masks import calculate_masks_centroids, contains_holes, contains_multiple_segments, filter_segments_by_distance, move_masks\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 104, + "column": 0, + "endLine": 107, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.polygons import approximate_polygon, filter_polygons_by_area\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 108, + "column": 0, + "endLine": 108, + "endColumn": 77, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.vlms import edit_distance, fuzzy_match_index\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 109, + "column": 0, + "endLine": 109, + "endColumn": 46, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.vlm import LMM, VLM\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 110, + "column": 0, + "endLine": 110, + "endColumn": 54, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.draw.color import Color, ColorPalette\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 111, + "column": 0, + "endLine": 121, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.draw.utils import calculate_optimal_line_thickness, calculate_optimal_text_scale, draw_filled_polygon, draw_filled_rectangle, draw_image, draw_line, draw_polygon, draw_rectangle, draw_text\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 122, + "column": 0, + "endLine": 122, + "endColumn": 59, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.geometry.core import Point, Position, Rect\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 123, + "column": 0, + "endLine": 123, + "endColumn": 57, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.geometry.utils import get_polygon_center\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 124, + "column": 0, + "endLine": 132, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.annotators import EdgeAnnotator, VertexAnnotator, VertexEllipseAnnotator, VertexEllipseAreaAnnotator, VertexEllipseHaloAnnotator, VertexEllipseOutlineAnnotator, VertexLabelAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 49, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.core import KeyPoints\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 134, + "column": 0, + "endLine": 134, + "endColumn": 79, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.metrics.detection import ConfusionMatrix, MeanAveragePrecision\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 135, + "column": 0, + "endLine": 135, + "endColumn": 59, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.tracker.byte_tracker.core import ByteTrack\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 136, + "column": 0, + "endLine": 136, + "endColumn": 69, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.conversion import cv2_to_pillow, pillow_to_cv2\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 137, + "column": 0, + "endLine": 137, + "endColumn": 61, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.file import list_files_with_extensions\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 138, + "column": 0, + "endLine": 148, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.image import ImageSink, crop_image, get_image_resolution_wh, grayscale_image, letterbox_image, overlay_image, resize_image, scale_image, tint_image\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 149, + "column": 0, + "endLine": 149, + "endColumn": 67, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.notebook import plot_image, plot_images_grid\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 150, + "column": 0, + "endLine": 156, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.video import FPSMonitor, VideoInfo, VideoSink, get_video_frames_generator, process_video\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.annotators.base", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.annotators.base", + "obj": "BaseAnnotator", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 19, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.annotators.base", + "obj": "BaseAnnotator.annotate", + "line": 9, + "column": 4, + "endLine": 9, + "endColumn": 16, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (3382/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.color", + "line": 149, + "column": 4, + "endLine": 149, + "endColumn": 13, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.color_lookup", + "line": 157, + "column": 4, + "endLine": 157, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.text_color", + "line": 165, + "column": 4, + "endLine": 165, + "endColumn": 18, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.text_padding", + "line": 173, + "column": 4, + "endLine": 173, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.text_anchor", + "line": 181, + "column": 4, + "endLine": 181, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.text_offset", + "line": 189, + "column": 4, + "endLine": 189, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.border_radius", + "line": 197, + "column": 4, + "endLine": 197, + "endColumn": 21, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.smart_position", + "line": 205, + "column": 4, + "endLine": 205, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.max_line_length", + "line": 213, + "column": 4, + "endLine": 213, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.draw_rounded_rectangle", + "line": 1543, + "column": 4, + "endLine": 1543, + "endColumn": 30, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2795, + "column": 4, + "endLine": 2795, + "endColumn": 36, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.validate_custom_values", + "line": 2856, + "column": 4, + "endLine": 2856, + "endColumn": 30, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2977, + "column": 4, + "endLine": 2977, + "endColumn": 34, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "ColorLookup.list", + "line": 36, + "column": 4, + "endLine": 36, + "endColumn": 12, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "resolve_color_idx", + "line": 40, + "column": 0, + "endLine": 40, + "endColumn": 21, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 32, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "get_color_by_index", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 22, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "resolve_color", + "line": 139, + "column": 0, + "endLine": 139, + "endColumn": 17, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "validate_labels", + "line": 231, + "column": 0, + "endLine": 231, + "endColumn": 19, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "Trace", + "line": 332, + "column": 0, + "endLine": 332, + "endColumn": 11, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "Trace.put", + "line": 347, + "column": 4, + "endLine": 347, + "endColumn": 11, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "Trace.get", + "line": 377, + "column": 4, + "endLine": 377, + "endColumn": 11, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "rgba_to_hex", + "line": 427, + "column": 11, + "endLine": 427, + "endColumn": 38, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "consider-using-f-string", + "message": "Formatting a regular string which could be an f-string", + "message-id": "C0209" + }, + { + "type": "convention", + "module": "supervision.assets.downloader", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\downloader.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 28, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 29, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 30, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 31, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 32, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 33, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 34, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 35, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 36, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 37, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 38, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 39, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 62, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 63, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 64, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 65, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "Assets", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 12, + "path": "src\\supervision\\assets\\list.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "Assets.list", + "line": 19, + "column": 4, + "endLine": 19, + "endColumn": 12, + "path": "src\\supervision\\assets\\list.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.assets", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.classification.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\classification\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.classification.core", + "obj": "Classifications", + "line": 33, + "column": 0, + "endLine": 33, + "endColumn": 21, + "path": "src\\supervision\\classification\\core.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "BaseDataset", + "line": 41, + "column": 0, + "endLine": 41, + "endColumn": 17, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "BaseDataset.split", + "line": 47, + "column": 4, + "endLine": 47, + "endColumn": 13, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_yolo", + "line": 552, + "column": 12, + "endLine": 552, + "endColumn": 27, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (warnings)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "", + "line": 29, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "line-too-long", + "message": "Line too long (111/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "", + "line": 37, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "line-too-long", + "message": "Line too long (111/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "approximate_mask_with_polygons", + "line": 52, + "column": 0, + "endLine": 52, + "endColumn": 34, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "merge_class_lists", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 21, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "map_detections_class_id", + "line": 108, + "column": 0, + "endLine": 108, + "endColumn": 27, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 128, + "column": 0, + "endLine": 128, + "endColumn": 23, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "coco_categories_to_classes", + "line": 30, + "column": 0, + "endLine": 30, + "endColumn": 30, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "build_coco_class_index_mapping", + "line": 37, + "column": 0, + "endLine": 37, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "group_coco_annotations_by_image_id", + "line": 85, + "column": 0, + "endLine": 85, + "endColumn": 38, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "coco_annotations_to_masks", + "line": 97, + "column": 0, + "endLine": 97, + "endColumn": 29, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "parse_polygon_points", + "line": 339, + "column": 0, + "endLine": 339, + "endColumn": 24, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "", + "line": 252, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "line-too-long", + "message": "Line too long (124/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "yolo_annotations_to_detections", + "line": 138, + "column": 0, + "endLine": 138, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "object_to_yolo", + "line": 274, + "column": 0, + "endLine": 274, + "endColumn": 18, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "save_data_yaml", + "line": 474, + "column": 0, + "endLine": 474, + "endColumn": 18, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.compact_mask", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1306/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.detection.compact_mask", + "obj": "_resize_crop", + "line": 369, + "column": 4, + "endLine": 369, + "endColumn": 14, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (cv2)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.resize", + "line": 1233, + "column": 8, + "endLine": 1233, + "endColumn": 57, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (concurrent.futures.ThreadPoolExecutor)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 73, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (143/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 77, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (115/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 93, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (119/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 109, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (121/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 437, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (101/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 953, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 954, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 955, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 956, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 957, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 958, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 959, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 960, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 961, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1014, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (102/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1376, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (204/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1390, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (106/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1439, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1440, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1441, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1442, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1443, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1444, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1445, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1446, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1447, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1448, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1501, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (102/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1834, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (204/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1848, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (106/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 2550, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (119/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (2960/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.__iter__", + "line": 196, + "column": 8, + "endLine": 204, + "endColumn": 13, + "path": "src\\supervision\\detection\\core.py", + "symbol": "consider-using-enumerate", + "message": "Consider using enumerate instead of iterating with range and len", + "message-id": "C0200" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2155, + "column": 19, + "endLine": 2155, + "endColumn": 43, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2157, + "column": 19, + "endLine": 2157, + "endColumn": 43, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2160, + "column": 25, + "endLine": 2160, + "endColumn": 49, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2165, + "column": 30, + "endLine": 2165, + "endColumn": 54, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "validate_fields_both_defined_or_none", + "line": 2957, + "column": 0, + "endLine": 2957, + "endColumn": 40, + "path": "src\\supervision\\detection\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "", + "line": 80, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "line-too-long", + "message": "Line too long (118/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorConfig", + "line": 28, + "column": 0, + "endLine": 28, + "endColumn": 29, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlassConfig", + "line": 46, + "column": 0, + "endLine": 46, + "endColumn": 39, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.in_count", + "line": 177, + "column": 4, + "endLine": 177, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.out_count", + "line": 181, + "column": 4, + "endLine": 181, + "endColumn": 17, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.in_count_per_class", + "line": 185, + "column": 4, + "endLine": 185, + "endColumn": 26, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.out_count_per_class", + "line": 189, + "column": 4, + "endLine": 189, + "endColumn": 27, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator", + "line": 380, + "column": 0, + "endLine": 380, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass", + "line": 772, + "column": 0, + "endLine": 772, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "", + "line": 437, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "line-too-long", + "message": "Line too long (172/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "LMM.list", + "line": 50, + "column": 4, + "endLine": 50, + "endColumn": 12, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "LMM.from_value", + "line": 54, + "column": 4, + "endLine": 54, + "endColumn": 18, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "VLM.list", + "line": 97, + "column": 4, + "endLine": 97, + "endColumn": 12, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "VLM.from_value", + "line": 101, + "column": 4, + "endLine": 101, + "endColumn": 18, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "validate_vlm_parameters", + "line": 211, + "column": 0, + "endLine": 211, + "endColumn": 27, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "_extract_json_from_backticks", + "line": 596, + "column": 21, + "endLine": 596, + "endColumn": 40, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "use-maxsplit-arg", + "message": "Use result.split('```', maxsplit=1)[0] instead", + "message-id": "C0207" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "WriterProtocol", + "line": 27, + "column": 0, + "endLine": 27, + "endColumn": 20, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "WriterProtocol.writerow", + "line": 28, + "column": 4, + "endLine": 28, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.parse_field_names", + "line": 234, + "column": 4, + "endLine": 234, + "endColumn": 25, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.callback", + "line": 201, + "column": 4, + "endLine": 201, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.slice_wh", + "line": 209, + "column": 4, + "endLine": 209, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.overlap_wh", + "line": 218, + "column": 4, + "endLine": 218, + "endColumn": 18, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.iou_threshold", + "line": 227, + "column": 4, + "endLine": 227, + "endColumn": 21, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.overlap_metric", + "line": 235, + "column": 4, + "endLine": 235, + "endColumn": 22, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.overlap_filter", + "line": 243, + "column": 4, + "endLine": 243, + "endColumn": 22, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.thread_workers", + "line": 251, + "column": 4, + "endLine": 251, + "endColumn": 22, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.compact_masks", + "line": 264, + "column": 4, + "endLine": 264, + "endColumn": 21, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.json_sink", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\json_sink.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.color", + "line": 171, + "column": 4, + "endLine": 171, + "endColumn": 13, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.thickness", + "line": 179, + "column": 4, + "endLine": 179, + "endColumn": 17, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.text_color", + "line": 187, + "column": 4, + "endLine": 187, + "endColumn": 18, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.text_scale", + "line": 195, + "column": 4, + "endLine": 195, + "endColumn": 18, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.text_thickness", + "line": 203, + "column": 4, + "endLine": 203, + "endColumn": 22, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.text_padding", + "line": 211, + "column": 4, + "endLine": 211, + "endColumn": 20, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.display_in_zone_count", + "line": 219, + "column": 4, + "endLine": 219, + "endColumn": 29, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.opacity", + "line": 227, + "column": 4, + "endLine": 227, + "endColumn": 15, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.font", + "line": 235, + "column": 4, + "endLine": 235, + "endColumn": 12, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.center", + "line": 239, + "column": 4, + "endLine": 239, + "endColumn": 14, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.update_with_detections", + "line": 117, + "column": 8, + "endLine": 121, + "endColumn": 87, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "consider-using-enumerate", + "message": "Consider using enumerate instead of iterating with range and len", + "message-id": "C0200" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.update_with_detections", + "line": 123, + "column": 8, + "endLine": 125, + "endColumn": 50, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "consider-using-dict-items", + "message": "Consider iterating with .items()", + "message-id": "C0206" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.get_smoothed_detections", + "line": 166, + "column": 4, + "endLine": 166, + "endColumn": 31, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.transformers", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.boxes", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\boxes.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.converters", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.internal", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.internal", + "obj": "extract_ultralytics_masks", + "line": 18, + "column": 0, + "endLine": 18, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1461/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapFilter.list", + "line": 35, + "column": 4, + "endLine": 35, + "endColumn": 12, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapFilter.from_value", + "line": 39, + "column": 4, + "endLine": 39, + "endColumn": 18, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapMetric.list", + "line": 71, + "column": 4, + "endLine": 71, + "endColumn": 12, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapMetric.from_value", + "line": 75, + "column": 4, + "endLine": 75, + "endColumn": 18, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 280, + "column": 4, + "endLine": 280, + "endColumn": 7, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"EPS\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 294, + "column": 4, + "endLine": 294, + "endColumn": 6, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"Aa\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 295, + "column": 4, + "endLine": 295, + "endColumn": 6, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"Ab\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 296, + "column": 4, + "endLine": 296, + "endColumn": 6, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"Ai\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.masks", + "obj": "", + "line": 188, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "line-too-long", + "message": "Line too long (113/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.utils.masks", + "obj": "", + "line": 249, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "line-too-long", + "message": "Line too long (137/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.utils.masks", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.polygons", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\polygons.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.vlms", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\vlms.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.draw.base", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\draw\\base.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.draw.base", + "obj": "", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 9, + "path": "src\\supervision\\draw\\base.py", + "symbol": "invalid-name", + "message": "Type variable name \"ImageType\" doesn't conform to predefined naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.WHITE", + "line": 356, + "column": 4, + "endLine": 356, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.WHITE", + "line": 356, + "column": 4, + "endLine": 356, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"WHITE\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLACK", + "line": 360, + "column": 4, + "endLine": 360, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLACK", + "line": 360, + "column": 4, + "endLine": 360, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"BLACK\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREY", + "line": 364, + "column": 4, + "endLine": 364, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREY", + "line": 364, + "column": 4, + "endLine": 364, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"GREY\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.RED", + "line": 368, + "column": 4, + "endLine": 368, + "endColumn": 11, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.RED", + "line": 368, + "column": 4, + "endLine": 368, + "endColumn": 11, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"RED\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREEN", + "line": 372, + "column": 4, + "endLine": 372, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREEN", + "line": 372, + "column": 4, + "endLine": 372, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"GREEN\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLUE", + "line": 376, + "column": 4, + "endLine": 376, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLUE", + "line": 376, + "column": 4, + "endLine": 376, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"BLUE\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.YELLOW", + "line": 380, + "column": 4, + "endLine": 380, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.YELLOW", + "line": 380, + "column": 4, + "endLine": 380, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"YELLOW\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.ROBOFLOW", + "line": 384, + "column": 4, + "endLine": 384, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.ROBOFLOW", + "line": 384, + "column": 4, + "endLine": 384, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"ROBOFLOW\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette", + "line": 406, + "column": 0, + "endLine": 406, + "endColumn": 18, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.DEFAULT", + "line": 410, + "column": 4, + "endLine": 410, + "endColumn": 15, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"DEFAULT\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.ROBOFLOW", + "line": 431, + "column": 4, + "endLine": 431, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"ROBOFLOW\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.LEGACY", + "line": 452, + "column": 4, + "endLine": 452, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.LEGACY", + "line": 452, + "column": 4, + "endLine": 452, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"LEGACY\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Position.list", + "line": 25, + "column": 4, + "endLine": 25, + "endColumn": 12, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.from_xyxy", + "line": 176, + "column": 4, + "endLine": 176, + "endColumn": 17, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.top_left", + "line": 181, + "column": 4, + "endLine": 181, + "endColumn": 16, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.bottom_right", + "line": 185, + "column": 4, + "endLine": 185, + "endColumn": 20, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.pad", + "line": 188, + "column": 4, + "endLine": 188, + "endColumn": 11, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.as_xyxy_int_tuple", + "line": 196, + "column": 4, + "endLine": 196, + "endColumn": 25, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\geometry\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.annotators import BaseKeyPointAnnotator, EdgeAnnotator, VertexAnnotator, VertexLabelAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.keypoint.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\keypoint\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint.core", + "obj": "", + "line": 8, + "column": 0, + "endLine": 8, + "endColumn": 49, + "path": "src\\supervision\\keypoint\\core.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.core import KeyPoints\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.keypoint", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\keypoint\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint", + "obj": "", + "line": 8, + "column": 0, + "endLine": 12, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.annotators import EdgeAnnotator, VertexAnnotator, VertexLabelAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.keypoint", + "obj": "", + "line": 13, + "column": 0, + "endLine": 13, + "endColumn": 49, + "path": "src\\supervision\\keypoint\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.core import KeyPoints\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "BaseKeyPointAnnotator", + "line": 24, + "column": 0, + "endLine": 24, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "BaseKeyPointAnnotator.annotate", + "line": 26, + "column": 4, + "endLine": 26, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.get_text_bounding_box", + "line": 908, + "column": 4, + "endLine": 908, + "endColumn": 29, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 101, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (124/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 102, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (148/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 119, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (120/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 136, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (120/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 169, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (126/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 170, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (110/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 189, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (105/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 493, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (116/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 639, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (130/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 777, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (109/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1342/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 23, + "column": 0, + "endLine": 23, + "endColumn": 7, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "invalid-name", + "message": "Type alias name \"Index1D\" doesn't conform to predefined naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__iter__", + "line": 359, + "column": 8, + "endLine": 367, + "endColumn": 13, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "consider-using-enumerate", + "message": "Consider using enumerate instead of iterating with range and len", + "message-id": "C0200" + }, + { + "type": "convention", + "module": "supervision.key_points.skeletons", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\skeletons.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (2646/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.key_points.skeletons", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\skeletons.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.key_points.skeletons", + "obj": "Skeleton", + "line": 6, + "column": 0, + "endLine": 6, + "endColumn": 14, + "path": "src\\supervision\\key_points\\skeletons.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.metrics.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.detection", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1148/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.metrics.detection", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.detection", + "obj": "validate_input_tensors", + "line": 313, + "column": 0, + "endLine": 313, + "endColumn": 26, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.f1_50", + "line": 549, + "column": 4, + "endLine": 549, + "endColumn": 13, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.f1_75", + "line": 553, + "column": 4, + "endLine": 553, + "endColumn": 13, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.small_objects", + "line": 604, + "column": 4, + "endLine": 604, + "endColumn": 21, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.medium_objects", + "line": 614, + "column": 4, + "endLine": 614, + "endColumn": 22, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.large_objects", + "line": 624, + "column": 4, + "endLine": 624, + "endColumn": 21, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.to_pandas", + "line": 709, + "column": 8, + "endLine": 709, + "endColumn": 27, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.plot", + "line": 780, + "column": 12, + "endLine": 780, + "endColumn": 15, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 853, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "superfluous-parens", + "message": "Unnecessary parens after 'not' keyword", + "message-id": "C0325" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1697/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult", + "line": 64, + "column": 4, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAP_scores\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.__init__", + "line": 76, + "column": 8, + "endLine": 76, + "endColumn": 43, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Argument name \"mAP_scores\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.to_pandas", + "line": 243, + "column": 8, + "endLine": 243, + "endColumn": 27, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.plot", + "line": 323, + "column": 12, + "endLine": 323, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.empty", + "line": 371, + "column": 4, + "endLine": 371, + "endColumn": 13, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1170, + "column": 8, + "endLine": 1170, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision_by_size", + "line": 1184, + "column": 8, + "endLine": 1184, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_all_sizes\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision_by_size", + "line": 1192, + "column": 8, + "endLine": 1192, + "endColumn": 24, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_small\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision_by_size", + "line": 1200, + "column": 8, + "endLine": 1200, + "endColumn": 25, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_medium\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision_by_size", + "line": 1208, + "column": 8, + "endLine": 1208, + "endColumn": 24, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_large\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._pycocotools_summarize._summarize", + "line": 1285, + "column": 12, + "endLine": 1285, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"iStr\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._pycocotools_summarize._summarize", + "line": 1286, + "column": 12, + "endLine": 1286, + "endColumn": 20, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"titleStr\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._pycocotools_summarize._summarize", + "line": 1287, + "column": 12, + "endLine": 1287, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"typeStr\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1652, + "column": 8, + "endLine": 1652, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"cocoEval\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1658, + "column": 8, + "endLine": 1658, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_small\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1667, + "column": 8, + "endLine": 1667, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_medium\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1676, + "column": 8, + "endLine": 1676, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_large\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1686, + "column": 8, + "endLine": 1686, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_result\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "_MeanAverageRecallSizeResultsMixin.small_objects", + "line": 51, + "column": 4, + "endLine": 51, + "endColumn": 21, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "_MeanAverageRecallSizeResultsMixin.medium_objects", + "line": 62, + "column": 4, + "endLine": 62, + "endColumn": 22, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "_MeanAverageRecallSizeResultsMixin.large_objects", + "line": 73, + "column": 4, + "endLine": 73, + "endColumn": 21, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_1", + "line": 161, + "column": 4, + "endLine": 161, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_1", + "line": 161, + "column": 4, + "endLine": 161, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAR_at_1\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_10", + "line": 165, + "column": 4, + "endLine": 165, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_10", + "line": 165, + "column": 4, + "endLine": 165, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAR_at_10\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_100", + "line": 169, + "column": 4, + "endLine": 169, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_100", + "line": 169, + "column": 4, + "endLine": 169, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAR_at_100\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.to_pandas", + "line": 249, + "column": 8, + "endLine": 249, + "endColumn": 27, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.plot", + "line": 330, + "column": 12, + "endLine": 330, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "", + "line": 826, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "trailing-newlines", + "message": "Trailing newlines", + "message-id": "C0305" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.precision_at_50", + "line": 113, + "column": 4, + "endLine": 113, + "endColumn": 23, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.precision_at_75", + "line": 117, + "column": 4, + "endLine": 117, + "endColumn": 23, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.to_pandas", + "line": 252, + "column": 8, + "endLine": 252, + "endColumn": 27, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.plot", + "line": 322, + "column": 12, + "endLine": 322, + "endColumn": 15, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.recall_at_50", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 20, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.recall_at_75", + "line": 76, + "column": 4, + "endLine": 76, + "endColumn": 20, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.small_objects", + "line": 127, + "column": 4, + "endLine": 127, + "endColumn": 21, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.medium_objects", + "line": 138, + "column": 4, + "endLine": 138, + "endColumn": 22, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.large_objects", + "line": 149, + "column": 4, + "endLine": 149, + "endColumn": 21, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 684, + "column": 8, + "endLine": 684, + "endColumn": 27, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 755, + "column": 12, + "endLine": 755, + "endColumn": 15, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_bbox_size_category", + "line": 119, + "column": 4, + "endLine": 119, + "endColumn": 6, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"SM\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_bbox_size_category", + "line": 119, + "column": 8, + "endLine": 119, + "endColumn": 10, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"LG\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_mask_size_category", + "line": 161, + "column": 4, + "endLine": 161, + "endColumn": 6, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"SM\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_mask_size_category", + "line": 161, + "column": 8, + "endLine": 161, + "endColumn": 10, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"LG\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_obb_size_category", + "line": 207, + "column": 4, + "endLine": 207, + "endColumn": 6, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"SM\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_obb_size_category", + "line": 207, + "column": 8, + "endLine": 207, + "endColumn": 10, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"LG\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 1, + "column": 0, + "endLine": 1, + "endColumn": 27, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 3, + "column": 8, + "endLine": 3, + "endColumn": 21, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "", + "line": 60, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "line-too-long", + "message": "Line too long (145/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.frame_id", + "line": 104, + "column": 4, + "endLine": 104, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "remove_duplicate_tracks", + "line": 518, + "column": 0, + "endLine": 518, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.kalman_filter", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "indices_to_matches", + "line": 15, + "column": 0, + "endLine": 15, + "endColumn": 22, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "linear_assignment", + "line": 27, + "column": 0, + "endLine": 27, + "endColumn": 21, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "iou_distance", + "line": 44, + "column": 0, + "endLine": 44, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "fuse_score", + "line": 65, + "column": 0, + "endLine": 65, + "endColumn": 14, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 13, + "column": 0, + "endLine": 13, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 14, + "column": 4, + "endLine": 14, + "endColumn": 7, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"New\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 15, + "column": 4, + "endLine": 15, + "endColumn": 11, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"Tracked\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 16, + "column": 4, + "endLine": 16, + "endColumn": 8, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"Lost\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 17, + "column": 4, + "endLine": 17, + "endColumn": 11, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"Removed\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack", + "line": 44, + "column": 0, + "endLine": 44, + "endColumn": 12, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.state", + "line": 62, + "column": 4, + "endLine": 62, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.is_activated", + "line": 70, + "column": 4, + "endLine": 70, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.start_frame", + "line": 78, + "column": 4, + "endLine": 78, + "endColumn": 19, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.frame_id", + "line": 86, + "column": 4, + "endLine": 86, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.kalman_filter", + "line": 94, + "column": 4, + "endLine": 94, + "endColumn": 21, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.mean", + "line": 102, + "column": 4, + "endLine": 102, + "endColumn": 12, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.covariance", + "line": 110, + "column": 4, + "endLine": 110, + "endColumn": 18, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.score", + "line": 118, + "column": 4, + "endLine": 118, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.tracklet_len", + "line": 126, + "column": 4, + "endLine": 126, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.minimum_consecutive_frames", + "line": 134, + "column": 4, + "endLine": 134, + "endColumn": 34, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.internal_track_id", + "line": 138, + "column": 4, + "endLine": 138, + "endColumn": 25, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.external_track_id", + "line": 146, + "column": 4, + "endLine": 146, + "endColumn": 25, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.predict", + "line": 153, + "column": 4, + "endLine": 153, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 165, + "column": 4, + "endLine": 165, + "endColumn": 21, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.re_activate", + "line": 202, + "column": 4, + "endLine": 202, + "endColumn": 19, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.to_xyah", + "line": 272, + "column": 4, + "endLine": 272, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.tlbr_to_tlwh", + "line": 276, + "column": 4, + "endLine": 276, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.tlwh_to_tlbr", + "line": 282, + "column": 4, + "endLine": 282, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "IdCounter", + "line": 4, + "column": 0, + "endLine": 4, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "IdCounter.NO_ID", + "line": 36, + "column": 4, + "endLine": 36, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "IdCounter.NO_ID", + "line": 36, + "column": 4, + "endLine": 36, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "invalid-name", + "message": "Attribute name \"NO_ID\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "ensure_cv2_image_for_annotation", + "line": 48, + "column": 0, + "endLine": 48, + "endColumn": 35, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "ensure_pil_image_for_annotation", + "line": 110, + "column": 0, + "endLine": 110, + "endColumn": 35, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "ensure_cv2_image_for_processing", + "line": 121, + "column": 0, + "endLine": 121, + "endColumn": 35, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.utils.file", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\file.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.file", + "obj": "NumpyJsonEncoder", + "line": 11, + "column": 0, + "endLine": 11, + "endColumn": 22, + "path": "src\\supervision\\utils\\file.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 75, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (125/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 133, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (127/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 191, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (129/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 253, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (135/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 390, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (125/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 428, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (135/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "ImageSink", + "line": 481, + "column": 0, + "endLine": 481, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.utils.internal", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.internal", + "obj": "classproperty", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 19, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "invalid-name", + "message": "Class name \"classproperty\" doesn't conform to PascalCase naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.utils.iterables", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\iterables.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.logger", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\logger.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.notebook", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 59, + "column": 4, + "endLine": 59, + "endColumn": 23, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "VideoInfo.resolution_wh", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 21, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "_VideoProcessor.run", + "line": 401, + "column": 4, + "endLine": 401, + "endColumn": 11, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_xyxy", + "line": 33, + "column": 0, + "endLine": 33, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_mask", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_class_id", + "line": 102, + "column": 0, + "endLine": 102, + "endColumn": 21, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_confidence", + "line": 125, + "column": 0, + "endLine": 125, + "endColumn": 23, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_key_point_confidence", + "line": 156, + "column": 0, + "endLine": 156, + "endColumn": 33, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_keypoint_confidence", + "line": 165, + "column": 0, + "endLine": 165, + "endColumn": 32, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_tracker_id", + "line": 187, + "column": 0, + "endLine": 187, + "endColumn": 23, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_data", + "line": 212, + "column": 0, + "endLine": 212, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_xy", + "line": 232, + "column": 0, + "endLine": 232, + "endColumn": 15, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_detections_fields", + "line": 281, + "column": 0, + "endLine": 281, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_key_points_fields", + "line": 317, + "column": 0, + "endLine": 317, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_keypoints_fields", + "line": 328, + "column": 0, + "endLine": 328, + "endColumn": 29, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_resolution", + "line": 362, + "column": 0, + "endLine": 362, + "endColumn": 23, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + } +] \ No newline at end of file diff --git a/metrics-after-pylint/pylint_depois.json b/metrics-after-pylint/pylint_depois.json new file mode 100644 index 0000000000..5ba0573c8a --- /dev/null +++ b/metrics-after-pylint/pylint_depois.json @@ -0,0 +1,14354 @@ +[ + { + "type": "convention", + "module": "supervision.config", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\config.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 9, + "column": 0, + "endLine": 33, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.annotators.core import BackgroundOverlayAnnotator, BlurAnnotator, BoxAnnotator, BoxCornerAnnotator, CircleAnnotator, ColorAnnotator, ComparisonAnnotator, CropAnnotator, DotAnnotator, EllipseAnnotator, HaloAnnotator, HeatMapAnnotator, IconAnnotator, LabelAnnotator, MaskAnnotator, OrientedBoxAnnotator, PercentageBarAnnotator, PixelateAnnotator, PolygonAnnotator, RichLabelAnnotator, RoundBoxAnnotator, TraceAnnotator, TriangleAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 34, + "column": 0, + "endLine": 39, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.annotators.utils import ColorLookup, hex_to_rgba, is_valid_hex, rgba_to_hex\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 40, + "column": 0, + "endLine": 40, + "endColumn": 59, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.classification.core import Classifications\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 41, + "column": 0, + "endLine": 45, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.dataset.core import BaseDataset, ClassificationDataset, DetectionDataset\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 46, + "column": 0, + "endLine": 46, + "endColumn": 73, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.dataset.formats.coco import get_coco_class_index_mapping\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 47, + "column": 0, + "endLine": 47, + "endColumn": 58, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.compact_mask import CompactMask\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 48, + "column": 0, + "endLine": 48, + "endColumn": 49, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.core import Detections\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 49, + "column": 0, + "endLine": 53, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.line_zone import LineZone, LineZoneAnnotator, LineZoneAnnotatorMulticlass\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 54, + "column": 0, + "endLine": 54, + "endColumn": 56, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.csv_sink import CSVSink\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 55, + "column": 0, + "endLine": 55, + "endColumn": 72, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.inference_slicer import InferenceSlicer\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 56, + "column": 0, + "endLine": 56, + "endColumn": 58, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.json_sink import JSONSink\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 57, + "column": 0, + "endLine": 57, + "endColumn": 86, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.polygon_zone import PolygonZone, PolygonZoneAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 58, + "column": 0, + "endLine": 58, + "endColumn": 67, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.tools.smoother import DetectionsSmoother\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 59, + "column": 0, + "endLine": 66, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.boxes import clip_boxes, denormalize_boxes, move_boxes, pad_boxes, scale_boxes, xyxyxyxy_to_xyxy\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 67, + "column": 0, + "endLine": 81, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.converters import is_compressed_rle, mask_to_polygons, mask_to_rle, mask_to_xyxy, polygon_to_mask, polygon_to_xyxy, rle_to_mask, xcycwh_to_xyxy, xywh_to_xyxy, xyxy_to_mask, xyxy_to_polygons, xyxy_to_xcycarh, xyxy_to_xywh\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 82, + "column": 0, + "endLine": 96, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.iou_and_nms import OverlapFilter, OverlapMetric, box_iou, box_iou_batch, box_iou_batch_with_jaccard, box_non_max_merge, box_non_max_suppression, mask_iou_batch, mask_non_max_merge, mask_non_max_suppression, oriented_box_iou_batch, oriented_box_non_max_merge, oriented_box_non_max_suppression\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 97, + "column": 0, + "endLine": 103, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.masks import calculate_masks_centroids, contains_holes, contains_multiple_segments, filter_segments_by_distance, move_masks\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 104, + "column": 0, + "endLine": 107, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.polygons import approximate_polygon, filter_polygons_by_area\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 108, + "column": 0, + "endLine": 108, + "endColumn": 77, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.utils.vlms import edit_distance, fuzzy_match_index\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 109, + "column": 0, + "endLine": 109, + "endColumn": 46, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.detection.vlm import LMM, VLM\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 110, + "column": 0, + "endLine": 110, + "endColumn": 54, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.draw.color import Color, ColorPalette\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 111, + "column": 0, + "endLine": 121, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.draw.utils import calculate_optimal_line_thickness, calculate_optimal_text_scale, draw_filled_polygon, draw_filled_rectangle, draw_image, draw_line, draw_polygon, draw_rectangle, draw_text\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 122, + "column": 0, + "endLine": 122, + "endColumn": 59, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.geometry.core import Point, Position, Rect\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 123, + "column": 0, + "endLine": 123, + "endColumn": 57, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.geometry.utils import get_polygon_center\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 124, + "column": 0, + "endLine": 132, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.annotators import EdgeAnnotator, VertexAnnotator, VertexEllipseAnnotator, VertexEllipseAreaAnnotator, VertexEllipseHaloAnnotator, VertexEllipseOutlineAnnotator, VertexLabelAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 49, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.core import KeyPoints\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 134, + "column": 0, + "endLine": 134, + "endColumn": 79, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.metrics.detection import ConfusionMatrix, MeanAveragePrecision\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 135, + "column": 0, + "endLine": 135, + "endColumn": 59, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.tracker.byte_tracker.core import ByteTrack\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 136, + "column": 0, + "endLine": 136, + "endColumn": 69, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.conversion import cv2_to_pillow, pillow_to_cv2\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 137, + "column": 0, + "endLine": 137, + "endColumn": 61, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.file import list_files_with_extensions\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 138, + "column": 0, + "endLine": 148, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.image import ImageSink, crop_image, get_image_resolution_wh, grayscale_image, letterbox_image, overlay_image, resize_image, scale_image, tint_image\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 149, + "column": 0, + "endLine": 149, + "endColumn": 67, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.notebook import plot_image, plot_images_grid\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision", + "obj": "", + "line": 150, + "column": 0, + "endLine": 156, + "endColumn": 1, + "path": "src\\supervision\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.utils.video import FPSMonitor, VideoInfo, VideoSink, get_video_frames_generator, process_video\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.annotators.base", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.annotators.base", + "obj": "BaseAnnotator", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 19, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.annotators.base", + "obj": "BaseAnnotator.annotate", + "line": 9, + "column": 4, + "endLine": 9, + "endColumn": 16, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.annotators.base", + "obj": "BaseAnnotator", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 19, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (3382/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "", + "line": 81, + "column": 11, + "endLine": 81, + "endColumn": 35, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_LabelAnnotatorConfig", + "line": 85, + "column": 0, + "endLine": 85, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.__init__", + "line": 102, + "column": 4, + "endLine": 102, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.__init__", + "line": 102, + "column": 4, + "endLine": 102, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.color", + "line": 149, + "column": 4, + "endLine": 149, + "endColumn": 13, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.color_lookup", + "line": 157, + "column": 4, + "endLine": 157, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.text_color", + "line": 165, + "column": 4, + "endLine": 165, + "endColumn": 18, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.text_padding", + "line": 173, + "column": 4, + "endLine": 173, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.text_anchor", + "line": 181, + "column": 4, + "endLine": 181, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.text_offset", + "line": 189, + "column": 4, + "endLine": 189, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.border_radius", + "line": 197, + "column": 4, + "endLine": 197, + "endColumn": 21, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.smart_position", + "line": 205, + "column": 4, + "endLine": 205, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.max_line_length", + "line": 213, + "column": 4, + "endLine": 213, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BoxAnnotator.annotate", + "line": 287, + "column": 4, + "endLine": 287, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BoxAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BoxAnnotator.annotate", + "line": 340, + "column": 12, + "endLine": 340, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BoxAnnotator", + "line": 263, + "column": 0, + "endLine": 263, + "endColumn": 18, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "OrientedBoxAnnotator.annotate", + "line": 374, + "column": 4, + "endLine": 374, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'OrientedBoxAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "OrientedBoxAnnotator.annotate", + "line": 432, + "column": 12, + "endLine": 432, + "endColumn": 28, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'drawContours' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "OrientedBoxAnnotator", + "line": 350, + "column": 0, + "endLine": 350, + "endColumn": 26, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_paint_masks_by_area", + "line": 438, + "column": 0, + "endLine": 438, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "MaskAnnotator.annotate", + "line": 524, + "column": 4, + "endLine": 524, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MaskAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "MaskAnnotator.annotate", + "line": 578, + "column": 8, + "endLine": 578, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "MaskAnnotator", + "line": 496, + "column": 0, + "endLine": 496, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "PolygonAnnotator.annotate", + "line": 612, + "column": 4, + "endLine": 612, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'PolygonAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PolygonAnnotator", + "line": 584, + "column": 0, + "endLine": 584, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator.annotate", + "line": 703, + "column": 4, + "endLine": 703, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'ColorAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator.annotate", + "line": 757, + "column": 12, + "endLine": 757, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator.annotate", + "line": 765, + "column": 8, + "endLine": 765, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator", + "line": 679, + "column": 0, + "endLine": 679, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 803, + "column": 4, + "endLine": 803, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'HaloAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 859, + "column": 23, + "endLine": 859, + "endColumn": 31, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'blur' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 861, + "column": 15, + "endLine": 861, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 861, + "column": 42, + "endLine": 861, + "endColumn": 60, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2GRAY' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator", + "line": 771, + "column": 0, + "endLine": 771, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator.annotate", + "line": 903, + "column": 4, + "endLine": 903, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'EllipseAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator.annotate", + "line": 958, + "column": 12, + "endLine": 958, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator.annotate", + "line": 967, + "column": 25, + "endLine": 967, + "endColumn": 35, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_4' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator", + "line": 873, + "column": 0, + "endLine": 873, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator.annotate", + "line": 999, + "column": 4, + "endLine": 999, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BoxCornerAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator.annotate", + "line": 1056, + "column": 16, + "endLine": 1056, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator.annotate", + "line": 1061, + "column": 16, + "endLine": 1061, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator", + "line": 972, + "column": 0, + "endLine": 972, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "CircleAnnotator.annotate", + "line": 1092, + "column": 4, + "endLine": 1092, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'CircleAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "CircleAnnotator.annotate", + "line": 1148, + "column": 12, + "endLine": 1148, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CircleAnnotator", + "line": 1067, + "column": 0, + "endLine": 1067, + "endColumn": 21, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.__init__", + "line": 1165, + "column": 4, + "endLine": 1165, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.__init__", + "line": 1165, + "column": 4, + "endLine": 1165, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.annotate", + "line": 1195, + "column": 4, + "endLine": 1195, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'DotAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.annotate", + "line": 1250, + "column": 12, + "endLine": 1250, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.annotate", + "line": 1260, + "column": 16, + "endLine": 1260, + "endColumn": 26, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "DotAnnotator", + "line": 1159, + "column": 0, + "endLine": 1159, + "endColumn": 18, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.__init__", + "line": 1275, + "column": 4, + "endLine": 1275, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (11/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.__init__", + "line": 1275, + "column": 4, + "endLine": 1275, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (11/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.annotate", + "line": 1325, + "column": 4, + "endLine": 1325, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'LabelAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._get_label_properties", + "line": 1406, + "column": 4, + "endLine": 1406, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._get_label_properties", + "line": 1427, + "column": 35, + "endLine": 1427, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1460, + "column": 4, + "endLine": 1460, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1510, + "column": 34, + "endLine": 1510, + "endColumn": 49, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1519, + "column": 30, + "endLine": 1519, + "endColumn": 45, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1529, + "column": 16, + "endLine": 1529, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1537, + "column": 29, + "endLine": 1537, + "endColumn": 40, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.draw_rounded_rectangle", + "line": 1543, + "column": 4, + "endLine": 1543, + "endColumn": 30, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.draw_rounded_rectangle", + "line": 1567, + "column": 12, + "endLine": 1567, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.draw_rounded_rectangle", + "line": 1575, + "column": 12, + "endLine": 1575, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator.__init__", + "line": 1591, + "column": 4, + "endLine": 1591, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (11/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator.__init__", + "line": 1591, + "column": 4, + "endLine": 1591, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (11/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator.annotate", + "line": 1642, + "column": 4, + "endLine": 1642, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'RichLabelAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator._get_label_properties", + "line": 1722, + "column": 4, + "endLine": 1722, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator._draw_labels", + "line": 1774, + "column": 4, + "endLine": 1774, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (23/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "IconAnnotator.annotate", + "line": 1885, + "column": 4, + "endLine": 1885, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'IconAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "IconAnnotator.annotate", + "line": 1953, + "column": 23, + "endLine": 1953, + "endColumn": 57, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for classmethod call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "IconAnnotator._load_icon", + "line": 1958, + "column": 15, + "endLine": 1958, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "IconAnnotator._load_icon", + "line": 1958, + "column": 37, + "endLine": 1958, + "endColumn": 57, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'IMREAD_UNCHANGED' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "IconAnnotator", + "line": 1861, + "column": 0, + "endLine": 1861, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BlurAnnotator.annotate", + "line": 1987, + "column": 4, + "endLine": 1987, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BlurAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BlurAnnotator.annotate", + "line": 2041, + "column": 18, + "endLine": 2041, + "endColumn": 26, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'blur' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BlurAnnotator", + "line": 1970, + "column": 0, + "endLine": 1970, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.__init__", + "line": 2058, + "column": 4, + "endLine": 2058, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.__init__", + "line": 2058, + "column": 4, + "endLine": 2058, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.annotate", + "line": 2090, + "column": 4, + "endLine": 2090, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'TraceAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.annotate", + "line": 2090, + "column": 4, + "endLine": 2090, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.annotate", + "line": 2182, + "column": 16, + "endLine": 2182, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'polylines' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator", + "line": 2047, + "column": 0, + "endLine": 2047, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.__init__", + "line": 2199, + "column": 4, + "endLine": 2199, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.__init__", + "line": 2199, + "column": 4, + "endLine": 2199, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2228, + "column": 4, + "endLine": 2228, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'HeatMapAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2279, + "column": 12, + "endLine": 2279, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2293, + "column": 19, + "endLine": 2293, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'blur' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2296, + "column": 15, + "endLine": 2296, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2296, + "column": 33, + "endLine": 2296, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_HSV2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2297, + "column": 15, + "endLine": 2297, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2297, + "column": 61, + "endLine": 2297, + "endColumn": 79, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_GRAY2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2298, + "column": 22, + "endLine": 2298, + "endColumn": 37, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator", + "line": 2192, + "column": 0, + "endLine": 2192, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2323, + "column": 4, + "endLine": 2323, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'PixelateAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2378, + "column": 42, + "endLine": 2378, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'mean' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2381, + "column": 42, + "endLine": 2381, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'mean' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2384, + "column": 28, + "endLine": 2384, + "endColumn": 38, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2387, + "column": 30, + "endLine": 2387, + "endColumn": 40, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2390, + "column": 30, + "endLine": 2390, + "endColumn": 47, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_NEAREST' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator", + "line": 2304, + "column": 0, + "endLine": 2304, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.__init__", + "line": 2404, + "column": 4, + "endLine": 2404, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.__init__", + "line": 2404, + "column": 4, + "endLine": 2404, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.annotate", + "line": 2437, + "column": 4, + "endLine": 2437, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'TriangleAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.annotate", + "line": 2500, + "column": 12, + "endLine": 2500, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.annotate", + "line": 2510, + "column": 16, + "endLine": 2510, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'polylines' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator", + "line": 2398, + "column": 0, + "endLine": 2398, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2553, + "column": 4, + "endLine": 2553, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'RoundBoxAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2553, + "column": 4, + "endLine": 2553, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2634, + "column": 16, + "endLine": 2634, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2645, + "column": 16, + "endLine": 2645, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator", + "line": 2520, + "column": 0, + "endLine": 2520, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.__init__", + "line": 2661, + "column": 4, + "endLine": 2661, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.__init__", + "line": 2661, + "column": 4, + "endLine": 2661, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.annotate", + "line": 2697, + "column": 4, + "endLine": 2697, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'PercentageBarAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.annotate", + "line": 2775, + "column": 12, + "endLine": 2775, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.annotate", + "line": 2785, + "column": 12, + "endLine": 2785, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2795, + "column": 4, + "endLine": 2795, + "endColumn": 36, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2801, + "column": 8, + "endLine": 2821, + "endColumn": 54, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2809, + "column": 13, + "endLine": 2809, + "endColumn": 79, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'position in (Position.CENTER, Position.CENTER_OF_MASS)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2795, + "column": 4, + "endLine": 2795, + "endColumn": 36, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (9/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2795, + "column": 4, + "endLine": 2795, + "endColumn": 36, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "inconsistent-return-statements", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "message-id": "R1710" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.validate_custom_values", + "line": 2856, + "column": 4, + "endLine": 2856, + "endColumn": 30, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2896, + "column": 4, + "endLine": 2896, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'CropAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2896, + "column": 4, + "endLine": 2896, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2957, + "column": 20, + "endLine": 2957, + "endColumn": 85, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'image' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2966, + "column": 12, + "endLine": 2966, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2977, + "column": 4, + "endLine": 2977, + "endColumn": 34, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2983, + "column": 8, + "endLine": 3015, + "endColumn": 78, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2997, + "column": 13, + "endLine": 2997, + "endColumn": 79, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'position in (Position.CENTER, Position.CENTER_OF_MASS)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2977, + "column": 4, + "endLine": 2977, + "endColumn": 34, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (9/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2977, + "column": 4, + "endLine": 2977, + "endColumn": 34, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "inconsistent-return-statements", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "message-id": "R1710" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BackgroundOverlayAnnotator.annotate", + "line": 3051, + "column": 4, + "endLine": 3051, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BackgroundOverlayAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BackgroundOverlayAnnotator.annotate", + "line": 3089, + "column": 8, + "endLine": 3089, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BackgroundOverlayAnnotator", + "line": 3018, + "column": 0, + "endLine": 3018, + "endColumn": 32, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_ComparisonAnnotatorConfig", + "line": 3106, + "column": 0, + "endLine": 3106, + "endColumn": 32, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (8/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator.__init__", + "line": 3128, + "column": 4, + "endLine": 3128, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator._draw_labels", + "line": 3311, + "column": 4, + "endLine": 3311, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (21/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator._draw_labels", + "line": 3344, + "column": 26, + "endLine": 3344, + "endColumn": 41, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator", + "line": 3117, + "column": 0, + "endLine": 3117, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "ColorLookup.list", + "line": 36, + "column": 4, + "endLine": 36, + "endColumn": 12, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "resolve_color_idx", + "line": 40, + "column": 0, + "endLine": 40, + "endColumn": 21, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_color_idx", + "line": 51, + "column": 4, + "endLine": 76, + "endColumn": 56, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 32, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 88, + "column": 4, + "endLine": 130, + "endColumn": 9, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 99, + "column": 9, + "endLine": 99, + "endColumn": 75, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'position in (Position.CENTER, Position.CENTER_OF_MASS)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 32, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (9/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 32, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "inconsistent-return-statements", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "message-id": "R1710" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "get_color_by_index", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 22, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "resolve_color", + "line": 139, + "column": 0, + "endLine": 139, + "endColumn": 17, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "validate_labels", + "line": 231, + "column": 0, + "endLine": 231, + "endColumn": 19, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "Trace", + "line": 332, + "column": 0, + "endLine": 332, + "endColumn": 11, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "Trace.put", + "line": 347, + "column": 4, + "endLine": 347, + "endColumn": 11, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "Trace.get", + "line": 377, + "column": 4, + "endLine": 377, + "endColumn": 11, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.annotators.utils", + "obj": "rgba_to_hex", + "line": 427, + "column": 11, + "endLine": 427, + "endColumn": 38, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "consider-using-f-string", + "message": "Formatting a regular string which could be an f-string", + "message-id": "C0209" + }, + { + "type": "convention", + "module": "supervision.assets.downloader", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\downloader.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 28, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 29, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 30, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 31, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 32, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 33, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 34, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 35, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 36, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 37, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 38, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 39, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (147/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 62, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 63, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 64, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 65, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "line-too-long", + "message": "Line too long (139/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\list.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "Assets", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 12, + "path": "src\\supervision\\assets\\list.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.assets.list", + "obj": "Assets.list", + "line": 19, + "column": 4, + "endLine": 19, + "endColumn": 12, + "path": "src\\supervision\\assets\\list.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.assets", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\assets\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.classification.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\classification\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.classification.core", + "obj": "Classifications", + "line": 33, + "column": 0, + "endLine": 33, + "endColumn": 21, + "path": "src\\supervision\\classification\\core.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "BaseDataset", + "line": 41, + "column": 0, + "endLine": 41, + "endColumn": 17, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "BaseDataset.split", + "line": 47, + "column": 4, + "endLine": 47, + "endColumn": 13, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.dataset.core", + "obj": "DetectionDataset._get_image", + "line": 105, + "column": 16, + "endLine": 105, + "endColumn": 26, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge.is_in_memory", + "line": 280, + "column": 23, + "endLine": 280, + "endColumn": 48, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge.is_lazy", + "line": 283, + "column": 23, + "endLine": 283, + "endColumn": 48, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge", + "line": 285, + "column": 24, + "endLine": 285, + "endColumn": 80, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'all(is_in_memory(dataset) for dataset in dataset_list)'", + "message-id": "R1729" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge", + "line": 286, + "column": 19, + "endLine": 286, + "endColumn": 70, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'all(is_lazy(dataset) for dataset in dataset_list)'", + "message-id": "R1729" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge", + "line": 294, + "column": 36, + "endLine": 294, + "endColumn": 61, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_pascal_voc", + "line": 384, + "column": 21, + "endLine": 384, + "endColumn": 48, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_yolo", + "line": 504, + "column": 4, + "endLine": 504, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_yolo", + "line": 504, + "column": 4, + "endLine": 504, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_yolo", + "line": 552, + "column": 12, + "endLine": 552, + "endColumn": 27, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (warnings)", + "message-id": "C0415" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_coco", + "line": 626, + "column": 4, + "endLine": 626, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_coco", + "line": 626, + "column": 4, + "endLine": 626, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "error", + "module": "supervision.dataset.core", + "obj": "ClassificationDataset._get_image", + "line": 770, + "column": 16, + "endLine": 770, + "endColumn": 26, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.core", + "obj": "ClassificationDataset.as_folder_structure", + "line": 919, + "column": 12, + "endLine": 919, + "endColumn": 23, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imwrite' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "", + "line": 29, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "line-too-long", + "message": "Line too long (111/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "", + "line": 37, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "line-too-long", + "message": "Line too long (111/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "approximate_mask_with_polygons", + "line": 52, + "column": 0, + "endLine": 52, + "endColumn": 34, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "merge_class_lists", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 21, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "map_detections_class_id", + "line": 108, + "column": 0, + "endLine": 108, + "endColumn": 27, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 128, + "column": 0, + "endLine": 128, + "endColumn": 23, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 132, + "column": 25, + "endLine": 132, + "endColumn": 50, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 133, + "column": 20, + "endLine": 133, + "endColumn": 45, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "error", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 134, + "column": 12, + "endLine": 134, + "endColumn": 23, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imwrite' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "coco_categories_to_classes", + "line": 30, + "column": 0, + "endLine": 30, + "endColumn": 30, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "build_coco_class_index_mapping", + "line": 37, + "column": 0, + "endLine": 37, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "group_coco_annotations_by_image_id", + "line": 85, + "column": 0, + "endLine": 85, + "endColumn": 38, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.coco", + "obj": "coco_annotations_to_masks", + "line": 97, + "column": 0, + "endLine": 97, + "endColumn": 29, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "coco_annotations_to_detections", + "line": 194, + "column": 15, + "endLine": 196, + "endColumn": 9, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"iscrowd\": np.asarray(iscrowd, dtype=int), \"area\": np.asarray(area, dtype=float), ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "_build_coco_segmentation_from_mask", + "line": 218, + "column": 0, + "endLine": 218, + "endColumn": 38, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "_build_coco_segmentation_from_mask", + "line": 218, + "column": 0, + "endLine": 218, + "endColumn": 38, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "load_coco_annotations", + "line": 423, + "column": 0, + "endLine": 423, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "save_coco_annotations", + "line": 534, + "column": 0, + "endLine": 534, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "save_coco_annotations", + "line": 534, + "column": 0, + "endLine": 534, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "save_coco_annotations", + "line": 534, + "column": 0, + "endLine": 534, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "object_to_pascal_voc", + "line": 19, + "column": 0, + "endLine": 19, + "endColumn": 24, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_to_pascal_voc", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 28, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_to_pascal_voc", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 28, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_to_pascal_voc", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 28, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-locals", + "message": "Too many local variables (28/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "load_pascal_voc_annotations", + "line": 223, + "column": 16, + "endLine": 223, + "endColumn": 26, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_from_xml_obj", + "line": 235, + "column": 0, + "endLine": 235, + "endColumn": 27, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "parse_polygon_points", + "line": 339, + "column": 0, + "endLine": 339, + "endColumn": 24, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "", + "line": 252, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "line-too-long", + "message": "Line too long (124/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "_with_seg_mask", + "line": 67, + "column": 11, + "endLine": 67, + "endColumn": 57, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'any(len(line.split()) > 5 for line in lines)'", + "message-id": "R1729" + }, + { + "type": "warning", + "module": "supervision.dataset.formats.yolo", + "obj": "_extract_class_names.", + "line": 121, + "column": 43, + "endLine": 121, + "endColumn": 59, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "unnecessary-lambda", + "message": "Lambda may not be necessary", + "message-id": "W0108" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "yolo_annotations_to_detections", + "line": 138, + "column": 0, + "endLine": 138, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "yolo_annotations_to_detections", + "line": 138, + "column": 0, + "endLine": 138, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.dataset.formats.yolo", + "obj": "yolo_annotations_to_detections", + "line": 172, + "column": 19, + "endLine": 172, + "endColumn": 54, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for method call", + "message-id": "E1121" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "load_yolo_annotations", + "line": 187, + "column": 0, + "endLine": 187, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "object_to_yolo", + "line": 274, + "column": 0, + "endLine": 274, + "endColumn": 18, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "object_to_yolo", + "line": 274, + "column": 0, + "endLine": 274, + "endColumn": 18, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "object_to_yolo", + "line": 281, + "column": 4, + "endLine": 293, + "endColumn": 50, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "detections_to_yolo_annotations", + "line": 296, + "column": 0, + "endLine": 296, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "detections_to_yolo_annotations", + "line": 296, + "column": 0, + "endLine": 296, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "detections_to_yolo_annotations", + "line": 296, + "column": 0, + "endLine": 296, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "save_yolo_annotations", + "line": 422, + "column": 0, + "endLine": 422, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "save_yolo_annotations", + "line": 422, + "column": 0, + "endLine": 422, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.dataset.formats.yolo", + "obj": "save_data_yaml", + "line": 474, + "column": 0, + "endLine": 474, + "endColumn": 18, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.compact_mask", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1306/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.detection.compact_mask", + "obj": "_resize_crop", + "line": 369, + "column": 4, + "endLine": 369, + "endColumn": 14, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (cv2)", + "message-id": "C0415" + }, + { + "type": "error", + "module": "supervision.detection.compact_mask", + "obj": "_resize_crop", + "line": 381, + "column": 14, + "endLine": 381, + "endColumn": 24, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.compact_mask", + "obj": "_resize_crop", + "line": 384, + "column": 22, + "endLine": 384, + "endColumn": 39, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_NEAREST' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.from_dense", + "line": 476, + "column": 4, + "endLine": 476, + "endColumn": 18, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 958, + "column": 22, + "endLine": 958, + "endColumn": 48, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _image_shape of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 960, + "column": 15, + "endLine": 960, + "endColumn": 30, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _image_shape of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 963, + "column": 40, + "endLine": 963, + "endColumn": 55, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _image_shape of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 971, + "column": 28, + "endLine": 971, + "endColumn": 36, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _rles of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 976, + "column": 13, + "endLine": 976, + "endColumn": 28, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _crop_shapes of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 979, + "column": 13, + "endLine": 979, + "endColumn": 24, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _offsets of a client class", + "message-id": "W0212" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.repack", + "line": 984, + "column": 4, + "endLine": 984, + "endColumn": 14, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.with_offset", + "line": 1067, + "column": 4, + "endLine": 1067, + "endColumn": 19, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (29/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.resize", + "line": 1192, + "column": 4, + "endLine": 1192, + "endColumn": 14, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (27/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.resize", + "line": 1233, + "column": 8, + "endLine": 1233, + "endColumn": 57, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (concurrent.futures.ThreadPoolExecutor)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 73, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (143/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 77, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (115/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 93, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (119/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 109, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (121/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 437, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (101/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 953, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 954, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 955, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 956, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 957, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 958, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 959, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 960, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 961, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1014, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (102/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1376, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (204/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1390, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (106/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1439, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1440, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1441, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1442, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1443, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1444, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1445, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1446, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1447, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1448, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (132/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1501, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (102/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1834, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (204/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1848, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (106/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 2550, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "line-too-long", + "message": "Line too long (119/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (2960/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.__iter__", + "line": 196, + "column": 8, + "endLine": 204, + "endColumn": 13, + "path": "src\\supervision\\detection\\core.py", + "symbol": "consider-using-enumerate", + "message": "Consider using enumerate instead of iterating with range and len", + "message-id": "C0200" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_transformers", + "line": 560, + "column": 8, + "endLine": 570, + "endColumn": 13, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_sam3", + "line": 718, + "column": 4, + "endLine": 718, + "endColumn": 17, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_azure_analyze_image", + "line": 813, + "column": 4, + "endLine": 813, + "endColumn": 32, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.detection.core", + "obj": "Detections.from_lmm", + "line": 1417, + "column": 16, + "endLine": 1420, + "endColumn": 17, + "path": "src\\supervision\\detection\\core.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f\"Invalid LMM string '{lmm}'. Must be one of {[m.value for m in LMM]}\") from exc'", + "message-id": "W0707" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_vlm", + "line": 1431, + "column": 4, + "endLine": 1431, + "endColumn": 16, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (10/6)", + "message-id": "R0911" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2155, + "column": 19, + "endLine": 2155, + "endColumn": 43, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2157, + "column": 19, + "endLine": 2157, + "endColumn": 43, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2160, + "column": 25, + "endLine": 2160, + "endColumn": 49, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "Detections.merge.stack_or_none", + "line": 2165, + "column": 30, + "endLine": 2165, + "endColumn": 54, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unnecessary-dunder-call", + "message": "Unnecessarily calls dunder method __getattribute__. Access attribute directly or use getattr built-in function.", + "message-id": "C2801" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.get_anchors_coordinates", + "line": 2206, + "column": 8, + "endLine": 2248, + "endColumn": 75, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.get_anchors_coordinates", + "line": 2187, + "column": 4, + "endLine": 2187, + "endColumn": 31, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (10/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections", + "line": 68, + "column": 0, + "endLine": 68, + "endColumn": 16, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-public-methods", + "message": "Too many public methods (26/20)", + "message-id": "R0904" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "_merge_detection_group", + "line": 2648, + "column": 0, + "endLine": 2648, + "endColumn": 26, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2785, + "column": 13, + "endLine": 2785, + "endColumn": 30, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'xyxy' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2787, + "column": 7, + "endLine": 2787, + "endColumn": 30, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2790, + "column": 15, + "endLine": 2790, + "endColumn": 38, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2795, + "column": 31, + "endLine": 2795, + "endColumn": 54, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2804, + "column": 7, + "endLine": 2804, + "endColumn": 24, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'mask' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2807, + "column": 36, + "endLine": 2807, + "endColumn": 53, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'mask' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2809, + "column": 7, + "endLine": 2809, + "endColumn": 30, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2811, + "column": 9, + "endLine": 2811, + "endColumn": 32, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2816, + "column": 31, + "endLine": 2816, + "endColumn": 52, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'metadata' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detections_objects", + "line": 2843, + "column": 19, + "endLine": 2843, + "endColumn": 29, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unsubscriptable-object", + "message": "Value 'detections' is unsubscriptable", + "message-id": "E1136" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detections_objects", + "line": 2844, + "column": 24, + "endLine": 2844, + "endColumn": 34, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unsubscriptable-object", + "message": "Value 'detections' is unsubscriptable", + "message-id": "E1136" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detections_objects", + "line": 2853, + "column": 23, + "endLine": 2853, + "endColumn": 84, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for classmethod call", + "message-id": "E1121" + }, + { + "type": "convention", + "module": "supervision.detection.core", + "obj": "validate_fields_both_defined_or_none", + "line": 2957, + "column": 0, + "endLine": 2957, + "endColumn": 40, + "path": "src\\supervision\\detection\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "", + "line": 80, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "line-too-long", + "message": "Line too long (118/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorConfig", + "line": 28, + "column": 0, + "endLine": 28, + "endColumn": 29, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorConfig", + "line": 28, + "column": 0, + "endLine": 28, + "endColumn": 29, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (14/7)", + "message-id": "R0902" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlassConfig", + "line": 46, + "column": 0, + "endLine": 46, + "endColumn": 39, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlassConfig", + "line": 46, + "column": 0, + "endLine": 46, + "endColumn": 39, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "warning", + "module": "supervision.detection.line_zone", + "obj": "_multiclass_config_property.getter", + "line": 65, + "column": 23, + "endLine": 65, + "endColumn": 35, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "protected-access", + "message": "Access to a protected member _config of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.line_zone", + "obj": "_multiclass_config_property.setter", + "line": 68, + "column": 16, + "endLine": 68, + "endColumn": 28, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "protected-access", + "message": "Access to a protected member _config of a client class", + "message-id": "W0212" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.in_count", + "line": 177, + "column": 4, + "endLine": 177, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.out_count", + "line": 181, + "column": 4, + "endLine": 181, + "endColumn": 17, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.in_count_per_class", + "line": 185, + "column": 4, + "endLine": 185, + "endColumn": 26, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZone.out_count_per_class", + "line": 189, + "column": 4, + "endLine": 189, + "endColumn": 27, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZone._update_class_id_to_name", + "line": 373, + "column": 24, + "endLine": 376, + "endColumn": 13, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "unnecessary-comprehension", + "message": "Unnecessary use of a comprehension, use dict(zip(detections.class_id, class_names)) instead.", + "message-id": "R1721" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator", + "line": 380, + "column": 0, + "endLine": 380, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.__init__", + "line": 381, + "column": 4, + "endLine": 381, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (14/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.__init__", + "line": 381, + "column": 4, + "endLine": 381, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (14/5)", + "message-id": "R0917" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 455, + "column": 8, + "endLine": 455, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 461, + "column": 21, + "endLine": 461, + "endColumn": 32, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 464, + "column": 8, + "endLine": 464, + "endColumn": 18, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 470, + "column": 21, + "endLine": 470, + "endColumn": 32, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 472, + "column": 8, + "endLine": 472, + "endColumn": 18, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 478, + "column": 21, + "endLine": 478, + "endColumn": 32, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._calculate_anchor_in_frame", + "line": 534, + "column": 4, + "endLine": 534, + "endColumn": 34, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_basic_label", + "line": 619, + "column": 25, + "endLine": 619, + "endColumn": 40, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_basic_label", + "line": 621, + "column": 12, + "endLine": 621, + "endColumn": 36, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_oriented_label", + "line": 679, + "column": 34, + "endLine": 679, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_oriented_label", + "line": 681, + "column": 12, + "endLine": 681, + "endColumn": 36, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_oriented_label", + "line": 694, + "column": 16, + "endLine": 694, + "endColumn": 63, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for classmethod call", + "message-id": "E1121" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 700, + "column": 4, + "endLine": 700, + "endColumn": 25, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 700, + "column": 4, + "endLine": 700, + "endColumn": 25, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 727, + "column": 34, + "endLine": 727, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 728, + "column": 18, + "endLine": 728, + "endColumn": 42, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 738, + "column": 36, + "endLine": 744, + "endColumn": 9, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"text\": text, \"text_anchor\": annotation_center, \"text_scale\": text_scale, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 761, + "column": 25, + "endLine": 761, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'flip' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 764, + "column": 26, + "endLine": 764, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getRotationMatrix2D' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 767, + "column": 21, + "endLine": 767, + "endColumn": 35, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'warpAffine' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator", + "line": 380, + "column": 0, + "endLine": 380, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "convention", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass", + "line": 772, + "column": 0, + "endLine": 772, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.__init__", + "line": 783, + "column": 4, + "endLine": 783, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 840, + "column": 4, + "endLine": 840, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 888, + "column": 38, + "endLine": 888, + "endColumn": 53, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 889, + "column": 22, + "endLine": 889, + "endColumn": 46, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 926, + "column": 29, + "endLine": 926, + "endColumn": 44, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 927, + "column": 22, + "endLine": 927, + "endColumn": 46, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 933, + "column": 12, + "endLine": 933, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 937, + "column": 25, + "endLine": 937, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 941, + "column": 25, + "endLine": 941, + "endColumn": 36, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass", + "line": 772, + "column": 0, + "endLine": 772, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "", + "line": 437, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "line-too-long", + "message": "Line too long (172/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "LMM.list", + "line": 50, + "column": 4, + "endLine": 50, + "endColumn": 12, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "LMM.from_value", + "line": 54, + "column": 4, + "endLine": 54, + "endColumn": 18, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "LMM.from_value", + "line": 66, + "column": 16, + "endLine": 66, + "endColumn": 88, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "VLM.list", + "line": 97, + "column": 4, + "endLine": 97, + "endColumn": 12, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "VLM.from_value", + "line": 101, + "column": 4, + "endLine": 101, + "endColumn": 18, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "VLM.from_value", + "line": 109, + "column": 16, + "endLine": 109, + "endColumn": 88, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "_validate_vlm_parameters", + "line": 184, + "column": 12, + "endLine": 186, + "endColumn": 13, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid vlm value: {vlm}. Must be one of {[e.value for e in VLM]}') from exc'", + "message-id": "W0707" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "validate_vlm_parameters", + "line": 211, + "column": 0, + "endLine": 211, + "endColumn": 27, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "recover_truncated_qwen_2_5_vl_response", + "line": 301, + "column": 11, + "endLine": 301, + "endColumn": 20, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_qwen_2_5_vl", + "line": 305, + "column": 0, + "endLine": 305, + "endColumn": 20, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_deepseek_vl_2", + "line": 424, + "column": 0, + "endLine": 424, + "endColumn": 22, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (23/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_florence_2", + "line": 495, + "column": 0, + "endLine": 495, + "endColumn": 19, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_florence_2", + "line": 539, + "column": 19, + "endLine": 539, + "endColumn": 45, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for method call", + "message-id": "E1121" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_florence_2", + "line": 495, + "column": 0, + "endLine": 495, + "endColumn": 19, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (7/6)", + "message-id": "R0911" + }, + { + "type": "convention", + "module": "supervision.detection.vlm", + "obj": "_extract_json_from_backticks", + "line": 596, + "column": 21, + "endLine": 596, + "endColumn": 40, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "use-maxsplit-arg", + "message": "Use result.split('```', maxsplit=1)[0] instead", + "message-id": "C0207" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "_parse_gemini_2_5_item", + "line": 636, + "column": 20, + "endLine": 640, + "endColumn": 5, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'resolution_wh' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "_decode_mask_for_item", + "line": 744, + "column": 11, + "endLine": 744, + "endColumn": 20, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_0", + "line": 823, + "column": 11, + "endLine": 827, + "endColumn": 5, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'resolution_wh' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 840, + "column": 0, + "endLine": 840, + "endColumn": 26, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_moondream", + "line": 982, + "column": 8, + "endLine": 985, + "endColumn": 9, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'resolution_wh' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "WriterProtocol", + "line": 27, + "column": 0, + "endLine": 27, + "endColumn": 20, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "WriterProtocol.writerow", + "line": 28, + "column": 4, + "endLine": 28, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.csv_sink", + "obj": "WriterProtocol", + "line": 27, + "column": 0, + "endLine": 27, + "endColumn": 20, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "warning", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.open", + "line": 108, + "column": 20, + "endLine": 108, + "endColumn": 57, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.open", + "line": 108, + "column": 20, + "endLine": 108, + "endColumn": 57, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "consider-using-with", + "message": "Consider using 'with' for resource-allocating operations", + "message-id": "R1732" + }, + { + "type": "warning", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.append", + "line": 211, + "column": 12, + "endLine": 213, + "endColumn": 13, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "convention", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.parse_field_names", + "line": 234, + "column": 4, + "endLine": 234, + "endColumn": 25, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "_InferenceSlicerConfig", + "line": 25, + "column": 0, + "endLine": 25, + "endColumn": 28, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (8/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.__init__", + "line": 166, + "column": 4, + "endLine": 166, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.__init__", + "line": 166, + "column": 4, + "endLine": 166, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (8/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.callback", + "line": 201, + "column": 4, + "endLine": 201, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.slice_wh", + "line": 209, + "column": 4, + "endLine": 209, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.overlap_wh", + "line": 218, + "column": 4, + "endLine": 218, + "endColumn": 18, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.iou_threshold", + "line": 227, + "column": 4, + "endLine": 227, + "endColumn": 21, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.overlap_metric", + "line": 235, + "column": 4, + "endLine": 235, + "endColumn": 22, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.overlap_filter", + "line": 243, + "column": 4, + "endLine": 243, + "endColumn": 22, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.thread_workers", + "line": 251, + "column": 4, + "endLine": 251, + "endColumn": 22, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.compact_masks", + "line": 264, + "column": 4, + "endLine": 264, + "endColumn": 21, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._warn_obb_sequential_fallback", + "line": 409, + "column": 13, + "endLine": 409, + "endColumn": 42, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "no-member", + "message": "Instance of 'InferenceSlicer' has no '_obb_thread_workers_lock' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._warn_obb_sequential_fallback", + "line": 410, + "column": 15, + "endLine": 410, + "endColumn": 46, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "no-member", + "message": "Instance of 'InferenceSlicer' has no '_obb_thread_workers_warned' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._warn_obb_sequential_fallback", + "line": 413, + "column": 12, + "endLine": 413, + "endColumn": 43, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "assigning-non-slot", + "message": "Assigning to attribute '_obb_thread_workers_warned' not defined in class slots", + "message-id": "E0237" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._run_callback", + "line": 443, + "column": 4, + "endLine": 443, + "endColumn": 21, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._generate_offset", + "line": 557, + "column": 4, + "endLine": 557, + "endColumn": 24, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.detection.tools.json_sink", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\json_sink.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "warning", + "module": "supervision.detection.tools.json_sink", + "obj": "JSONSink.open", + "line": 82, + "column": 20, + "endLine": 82, + "endColumn": 45, + "path": "src\\supervision\\detection\\tools\\json_sink.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.json_sink", + "obj": "JSONSink.open", + "line": 82, + "column": 20, + "endLine": 82, + "endColumn": 45, + "path": "src\\supervision\\detection\\tools\\json_sink.py", + "symbol": "consider-using-with", + "message": "Consider using 'with' for resource-allocating operations", + "message-id": "R1732" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.detection.tools.polygon_zone", + "obj": "", + "line": 18, + "column": 11, + "endLine": 18, + "endColumn": 35, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "_PolygonZoneAnnotatorConfig", + "line": 22, + "column": 0, + "endLine": 22, + "endColumn": 33, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (8/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZone", + "line": 33, + "column": 0, + "endLine": 33, + "endColumn": 17, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.__init__", + "line": 146, + "column": 4, + "endLine": 146, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.__init__", + "line": 146, + "column": 4, + "endLine": 146, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.color", + "line": 171, + "column": 4, + "endLine": 171, + "endColumn": 13, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.thickness", + "line": 179, + "column": 4, + "endLine": 179, + "endColumn": 17, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.text_color", + "line": 187, + "column": 4, + "endLine": 187, + "endColumn": 18, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.text_scale", + "line": 195, + "column": 4, + "endLine": 195, + "endColumn": 18, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.text_thickness", + "line": 203, + "column": 4, + "endLine": 203, + "endColumn": 22, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.text_padding", + "line": 211, + "column": 4, + "endLine": 211, + "endColumn": 20, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.display_in_zone_count", + "line": 219, + "column": 4, + "endLine": 219, + "endColumn": 29, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.opacity", + "line": 227, + "column": 4, + "endLine": 227, + "endColumn": 15, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.font", + "line": 235, + "column": 4, + "endLine": 235, + "endColumn": 12, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.center", + "line": 239, + "column": 4, + "endLine": 239, + "endColumn": 14, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.update_with_detections", + "line": 117, + "column": 8, + "endLine": 121, + "endColumn": 87, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "consider-using-enumerate", + "message": "Consider using enumerate instead of iterating with range and len", + "message-id": "C0200" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.update_with_detections", + "line": 123, + "column": 8, + "endLine": 125, + "endColumn": 50, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "consider-using-dict-items", + "message": "Consider iterating with .items()", + "message-id": "C0206" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.update_with_detections", + "line": 128, + "column": 15, + "endLine": 128, + "endColumn": 62, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'all(d is None for d in self.tracks[track_id])'", + "message-id": "R1729" + }, + { + "type": "convention", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.get_smoothed_detections", + "line": 166, + "column": 4, + "endLine": 166, + "endColumn": 31, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.tools.transformers", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_detection_result", + "line": 35, + "column": 11, + "endLine": 40, + "endColumn": 5, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": detection_result['boxes'].cpu().detach().numpy(), \"confidence\": detection_result['scores'].cpu().detach().numpy(), ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v4_segmentation_result", + "line": 62, + "column": 4, + "endLine": 79, + "endColumn": 9, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v4_segmentation_result", + "line": 73, + "column": 15, + "endLine": 79, + "endColumn": 9, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": boxes if boxes is not None else mask_to_xyxy(masks), \"mask\": np.squeeze(masks, axis=1) if boxes is not None else masks, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v5_semantic_or_instance_segmentation_result", + "line": 139, + "column": 11, + "endLine": 145, + "endColumn": 5, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": mask_to_xyxy(masks), \"mask\": masks, \"confidence\": scores}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v4_panoptic_segmentation_result", + "line": 174, + "column": 11, + "endLine": 179, + "endColumn": 5, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": mask_to_xyxy(masks), \"mask\": masks, \"class_id\": class_ids, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v5_panoptic_segmentation_result", + "line": 204, + "column": 11, + "endLine": 204, + "endColumn": 84, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": mask_to_xyxy(masks), \"mask\": masks, \"class_id\": class_ids, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "convention", + "module": "supervision.detection.utils.boxes", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\boxes.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.detection.utils.boxes", + "obj": "denormalize_boxes", + "line": 156, + "column": 13, + "endLine": 156, + "endColumn": 22, + "path": "src\\supervision\\detection\\utils\\boxes.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.utils.boxes' has no 'copy' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.detection.utils.boxes", + "obj": "denormalize_boxes", + "line": 109, + "column": 4, + "endLine": 109, + "endColumn": 50, + "path": "src\\supervision\\detection\\utils\\boxes.py", + "symbol": "unused-argument", + "message": "Unused argument 'normalized_xyxy'", + "message-id": "W0613" + }, + { + "type": "convention", + "module": "supervision.detection.utils.converters", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "polygon_to_mask", + "line": 48, + "column": 4, + "endLine": 48, + "endColumn": 16, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "mask_to_polygons", + "line": 322, + "column": 18, + "endLine": 322, + "endColumn": 34, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'findContours' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "mask_to_polygons", + "line": 323, + "column": 31, + "endLine": 323, + "endColumn": 44, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'RETR_TREE' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "mask_to_polygons", + "line": 323, + "column": 46, + "endLine": 323, + "endColumn": 69, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CHAIN_APPROX_SIMPLE' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.detection.utils.internal", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.internal", + "obj": "extract_ultralytics_masks", + "line": 18, + "column": 0, + "endLine": 18, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.detection.utils.internal", + "obj": "extract_ultralytics_masks", + "line": 47, + "column": 19, + "endLine": 47, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.internal", + "obj": "_decode_rle_mask", + "line": 66, + "column": 19, + "endLine": 66, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.internal", + "obj": "_decode_rle_mask", + "line": 69, + "column": 30, + "endLine": 69, + "endColumn": 47, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_NEAREST' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.internal", + "obj": "process_roboflow_result", + "line": 81, + "column": 0, + "endLine": 81, + "endColumn": 27, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "too-many-locals", + "message": "Too many local variables (27/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1461/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapFilter.list", + "line": 35, + "column": 4, + "endLine": 35, + "endColumn": 12, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapFilter.from_value", + "line": 39, + "column": 4, + "endLine": 39, + "endColumn": 18, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapFilter.from_value", + "line": 47, + "column": 16, + "endLine": 47, + "endColumn": 88, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapMetric.list", + "line": 71, + "column": 4, + "endLine": 71, + "endColumn": 12, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapMetric.from_value", + "line": 75, + "column": 4, + "endLine": 75, + "endColumn": 18, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapMetric.from_value", + "line": 83, + "column": 16, + "endLine": 83, + "endColumn": 88, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "box_iou", + "line": 90, + "column": 0, + "endLine": 90, + "endColumn": 11, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (21/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "box_iou_batch", + "line": 162, + "column": 0, + "endLine": 162, + "endColumn": 17, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 264, + "column": 0, + "endLine": 264, + "endColumn": 12, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 280, + "column": 4, + "endLine": 280, + "endColumn": 7, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"EPS\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 294, + "column": 4, + "endLine": 294, + "endColumn": 6, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"Aa\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 295, + "column": 4, + "endLine": 295, + "endColumn": 6, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"Ab\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 296, + "column": 4, + "endLine": 296, + "endColumn": 6, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "invalid-name", + "message": "Variable name \"Ai\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_iou_batch", + "line": 456, + "column": 0, + "endLine": 456, + "endColumn": 26, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_iou_batch", + "line": 553, + "column": 26, + "endLine": 553, + "endColumn": 51, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'intersectConvexConvex' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "compact_mask_iou_batch", + "line": 577, + "column": 0, + "endLine": 577, + "endColumn": 26, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (43/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "mask_non_max_suppression", + "line": 845, + "column": 4, + "endLine": 845, + "endColumn": 23, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "unused-argument", + "message": "Unused argument 'mask_dimension'", + "message-id": "W0613" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_non_max_suppression", + "line": 1314, + "column": 8, + "endLine": 1327, + "endColumn": 13, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_non_max_merge", + "line": 1429, + "column": 8, + "endLine": 1442, + "endColumn": 13, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "convention", + "module": "supervision.detection.utils.masks", + "obj": "", + "line": 188, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "line-too-long", + "message": "Line too long (113/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.utils.masks", + "obj": "", + "line": 249, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "line-too-long", + "message": "Line too long (137/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.detection.utils.masks", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "calculate_masks_centroids", + "line": 90, + "column": 0, + "endLine": 90, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_holes", + "line": 191, + "column": 19, + "endLine": 191, + "endColumn": 35, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'findContours' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_holes", + "line": 191, + "column": 48, + "endLine": 191, + "endColumn": 62, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'RETR_CCOMP' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_holes", + "line": 191, + "column": 64, + "endLine": 191, + "endColumn": 87, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CHAIN_APPROX_SIMPLE' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "contains_multiple_segments", + "line": 251, + "column": 7, + "endLine": 251, + "endColumn": 46, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'connectivity not in (4, 8)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_multiple_segments", + "line": 257, + "column": 26, + "endLine": 257, + "endColumn": 49, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'connectedComponents' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "_filter_labels_by_edge_distance", + "line": 329, + "column": 25, + "endLine": 329, + "endColumn": 46, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'distanceTransform' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "_filter_labels_by_edge_distance", + "line": 329, + "column": 56, + "endLine": 329, + "endColumn": 67, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'DIST_L2' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 344, + "column": 0, + "endLine": 344, + "endColumn": 31, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 437, + "column": 43, + "endLine": 437, + "endColumn": 75, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'connectedComponentsWithStats' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 444, + "column": 22, + "endLine": 444, + "endColumn": 38, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CC_STAT_AREA' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.detection.utils.polygons", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\polygons.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.detection.utils.polygons", + "obj": "filter_polygons_by_area", + "line": 35, + "column": 12, + "endLine": 35, + "endColumn": 27, + "path": "src\\supervision\\detection\\utils\\polygons.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'contourArea' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.polygons", + "obj": "approximate_polygon", + "line": 109, + "column": 31, + "endLine": 109, + "endColumn": 47, + "path": "src\\supervision\\detection\\utils\\polygons.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'approxPolyDP' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.detection.utils.vlms", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\detection\\utils\\vlms.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.draw.base", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\draw\\base.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.draw.base", + "obj": "", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 9, + "path": "src\\supervision\\draw\\base.py", + "symbol": "invalid-name", + "message": "Type variable name \"ImageType\" doesn't conform to predefined naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.draw.color", + "obj": "Color.from_hex", + "line": 141, + "column": 8, + "endLine": 146, + "endColumn": 34, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.WHITE", + "line": 356, + "column": 4, + "endLine": 356, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.WHITE", + "line": 356, + "column": 4, + "endLine": 356, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"WHITE\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.WHITE", + "line": 356, + "column": 4, + "endLine": 356, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'WHITE' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLACK", + "line": 360, + "column": 4, + "endLine": 360, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLACK", + "line": 360, + "column": 4, + "endLine": 360, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"BLACK\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.BLACK", + "line": 360, + "column": 4, + "endLine": 360, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'BLACK' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREY", + "line": 364, + "column": 4, + "endLine": 364, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREY", + "line": 364, + "column": 4, + "endLine": 364, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"GREY\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.GREY", + "line": 364, + "column": 4, + "endLine": 364, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'GREY' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.RED", + "line": 368, + "column": 4, + "endLine": 368, + "endColumn": 11, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.RED", + "line": 368, + "column": 4, + "endLine": 368, + "endColumn": 11, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"RED\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.RED", + "line": 368, + "column": 4, + "endLine": 368, + "endColumn": 11, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'RED' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREEN", + "line": 372, + "column": 4, + "endLine": 372, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.GREEN", + "line": 372, + "column": 4, + "endLine": 372, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"GREEN\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.GREEN", + "line": 372, + "column": 4, + "endLine": 372, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'GREEN' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLUE", + "line": 376, + "column": 4, + "endLine": 376, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.BLUE", + "line": 376, + "column": 4, + "endLine": 376, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"BLUE\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.BLUE", + "line": 376, + "column": 4, + "endLine": 376, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'BLUE' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.YELLOW", + "line": 380, + "column": 4, + "endLine": 380, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.YELLOW", + "line": 380, + "column": 4, + "endLine": 380, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"YELLOW\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.YELLOW", + "line": 380, + "column": 4, + "endLine": 380, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'YELLOW' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.ROBOFLOW", + "line": 384, + "column": 4, + "endLine": 384, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "Color.ROBOFLOW", + "line": 384, + "column": 4, + "endLine": 384, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"ROBOFLOW\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.ROBOFLOW", + "line": 384, + "column": 4, + "endLine": 384, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'ROBOFLOW' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette", + "line": 406, + "column": 0, + "endLine": 406, + "endColumn": 18, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.DEFAULT", + "line": 410, + "column": 4, + "endLine": 410, + "endColumn": 15, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"DEFAULT\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "ColorPalette.DEFAULT", + "line": 410, + "column": 4, + "endLine": 410, + "endColumn": 15, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'DEFAULT' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.ROBOFLOW", + "line": 431, + "column": 4, + "endLine": 431, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"ROBOFLOW\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "ColorPalette.ROBOFLOW", + "line": 431, + "column": 4, + "endLine": 431, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'ROBOFLOW' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.LEGACY", + "line": 452, + "column": 4, + "endLine": 452, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.draw.color", + "obj": "ColorPalette.LEGACY", + "line": 452, + "column": 4, + "endLine": 452, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "invalid-name", + "message": "Method name \"LEGACY\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "ColorPalette.LEGACY", + "line": 452, + "column": 4, + "endLine": 452, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'LEGACY' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "convention", + "module": "supervision.draw.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_line", + "line": 34, + "column": 4, + "endLine": 34, + "endColumn": 12, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_rectangle", + "line": 62, + "column": 4, + "endLine": 62, + "endColumn": 17, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_rectangle", + "line": 91, + "column": 8, + "endLine": 91, + "endColumn": 21, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_rectangle", + "line": 100, + "column": 8, + "endLine": 100, + "endColumn": 21, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_rectangle", + "line": 107, + "column": 8, + "endLine": 107, + "endColumn": 23, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_rounded_rectangle", + "line": 148, + "column": 8, + "endLine": 148, + "endColumn": 21, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_rounded_rectangle", + "line": 156, + "column": 8, + "endLine": 156, + "endColumn": 18, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_polygon", + "line": 183, + "column": 4, + "endLine": 183, + "endColumn": 17, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'polylines' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_polygon", + "line": 207, + "column": 8, + "endLine": 207, + "endColumn": 20, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_polygon", + "line": 210, + "column": 8, + "endLine": 210, + "endColumn": 20, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_polygon", + "line": 211, + "column": 8, + "endLine": 211, + "endColumn": 23, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 218, + "column": 0, + "endLine": 218, + "endColumn": 13, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 218, + "column": 0, + "endLine": 218, + "endColumn": 13, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 226, + "column": 21, + "endLine": 226, + "endColumn": 45, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 267, + "column": 30, + "endLine": 267, + "endColumn": 45, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 288, + "column": 4, + "endLine": 288, + "endColumn": 15, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 296, + "column": 17, + "endLine": 296, + "endColumn": 28, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 328, + "column": 16, + "endLine": 328, + "endColumn": 26, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 328, + "column": 34, + "endLine": 328, + "endColumn": 54, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'IMREAD_UNCHANGED' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 348, + "column": 12, + "endLine": 348, + "endColumn": 22, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 355, + "column": 19, + "endLine": 355, + "endColumn": 38, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'convertScaleAbs' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 360, + "column": 18, + "endLine": 360, + "endColumn": 37, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'convertScaleAbs' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Position.list", + "line": 25, + "column": 4, + "endLine": 25, + "endColumn": 12, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.from_xyxy", + "line": 176, + "column": 4, + "endLine": 176, + "endColumn": 17, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.top_left", + "line": 181, + "column": 4, + "endLine": 181, + "endColumn": 16, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.bottom_right", + "line": 185, + "column": 4, + "endLine": 185, + "endColumn": 20, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.pad", + "line": 188, + "column": 4, + "endLine": 188, + "endColumn": 11, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.core", + "obj": "Rect.as_xyxy_int_tuple", + "line": 196, + "column": 4, + "endLine": 196, + "endColumn": 25, + "path": "src\\supervision\\geometry\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.geometry.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\geometry\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.annotators import BaseKeyPointAnnotator, EdgeAnnotator, VertexAnnotator, VertexLabelAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused BaseKeyPointAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused EdgeAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused VertexAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused VertexLabelAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "convention", + "module": "supervision.keypoint.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\keypoint\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint.core", + "obj": "", + "line": 8, + "column": 0, + "endLine": 8, + "endColumn": 49, + "path": "src\\supervision\\keypoint\\core.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.core import KeyPoints\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "warning", + "module": "supervision.keypoint.core", + "obj": "", + "line": 8, + "column": 0, + "endLine": 8, + "endColumn": 49, + "path": "src\\supervision\\keypoint\\core.py", + "symbol": "unused-import", + "message": "Unused KeyPoints imported from supervision.key_points.core", + "message-id": "W0611" + }, + { + "type": "convention", + "module": "supervision.keypoint", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\keypoint\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.keypoint", + "obj": "", + "line": 8, + "column": 0, + "endLine": 12, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.annotators import EdgeAnnotator, VertexAnnotator, VertexLabelAnnotator\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.keypoint", + "obj": "", + "line": 13, + "column": 0, + "endLine": 13, + "endColumn": 49, + "path": "src\\supervision\\keypoint\\__init__.py", + "symbol": "wrong-import-position", + "message": "Import \"from supervision.key_points.core import KeyPoints\" should be placed at the top of the module", + "message-id": "C0413" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "BaseKeyPointAnnotator", + "line": 24, + "column": 0, + "endLine": 24, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "BaseKeyPointAnnotator.annotate", + "line": 26, + "column": 4, + "endLine": 26, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "BaseKeyPointAnnotator", + "line": 24, + "column": 0, + "endLine": 24, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexAnnotator.annotate", + "line": 100, + "column": 16, + "endLine": 100, + "endColumn": 26, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexAnnotator", + "line": 30, + "column": 0, + "endLine": 30, + "endColumn": 21, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "EdgeAnnotator.annotate", + "line": 250, + "column": 16, + "endLine": 250, + "endColumn": 24, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "EdgeAnnotator", + "line": 111, + "column": 0, + "endLine": 111, + "endColumn": 19, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "_BaseVertexEllipseAnnotator._iter_ellipse_params", + "line": 330, + "column": 4, + "endLine": 330, + "endColumn": 28, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "_BaseVertexEllipseAnnotator", + "line": 261, + "column": 0, + "endLine": 261, + "endColumn": 33, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator.annotate", + "line": 455, + "column": 16, + "endLine": 455, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator.annotate", + "line": 464, + "column": 29, + "endLine": 464, + "endColumn": 40, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator.annotate", + "line": 467, + "column": 8, + "endLine": 467, + "endColumn": 23, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator", + "line": 370, + "column": 0, + "endLine": 370, + "endColumn": 32, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseOutlineAnnotator.annotate", + "line": 553, + "column": 16, + "endLine": 553, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseOutlineAnnotator.annotate", + "line": 562, + "column": 29, + "endLine": 562, + "endColumn": 40, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseOutlineAnnotator", + "line": 471, + "column": 0, + "endLine": 471, + "endColumn": 35, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseHaloAnnotator.annotate", + "line": 606, + "column": 4, + "endLine": 606, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-locals", + "message": "Too many local variables (39/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseHaloAnnotator", + "line": 568, + "column": 0, + "endLine": 568, + "endColumn": 32, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.__init__", + "line": 709, + "column": 4, + "endLine": 709, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.__init__", + "line": 709, + "column": 4, + "endLine": 709, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 740, + "column": 4, + "endLine": 740, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 828, + "column": 15, + "endLine": 828, + "endColumn": 39, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 894, + "column": 12, + "endLine": 894, + "endColumn": 23, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 902, + "column": 25, + "endLine": 902, + "endColumn": 36, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.get_text_bounding_box", + "line": 908, + "column": 4, + "endLine": 908, + "endColumn": 29, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.get_text_bounding_box", + "line": 915, + "column": 25, + "endLine": 915, + "endColumn": 40, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 101, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (124/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 102, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (148/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 119, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (120/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 136, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (120/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 169, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (126/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 170, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (110/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 189, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (105/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 493, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (116/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 639, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (130/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 777, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "line-too-long", + "message": "Line too long (109/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1342/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "", + "line": 23, + "column": 0, + "endLine": 23, + "endColumn": 7, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "invalid-name", + "message": "Type alias name \"Index1D\" doesn't conform to predefined naming style", + "message-id": "C0103" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__init__", + "line": 245, + "column": 4, + "endLine": 245, + "endColumn": 16, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__init__", + "line": 245, + "column": 4, + "endLine": 245, + "endColumn": 16, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__iter__", + "line": 359, + "column": 8, + "endLine": 367, + "endColumn": 13, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "consider-using-enumerate", + "message": "Consider using enumerate instead of iterating with range and len", + "message-id": "C0200" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_mediapipe", + "line": 557, + "column": 24, + "endLine": 560, + "endColumn": 25, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "unnecessary-comprehension", + "message": "Unnecessary use of a comprehension, use list(mediapipe_results.pose_landmarks.landmark) instead.", + "message-id": "R1721" + }, + { + "type": "error", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_mediapipe", + "line": 573, + "column": 15, + "endLine": 573, + "endColumn": 22, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'results' before assignment", + "message-id": "E0606" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_detectron2", + "line": 727, + "column": 8, + "endLine": 743, + "endColumn": 30, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_transformers", + "line": 808, + "column": 8, + "endLine": 828, + "endColumn": 30, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "warning", + "module": "supervision.key_points.core", + "obj": "KeyPoints._normalize_getitem_index", + "line": 955, + "column": 12, + "endLine": 955, + "endColumn": 59, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "unbalanced-tuple-unpacking", + "message": "Possible unbalanced tuple unpacking with sequence defined at line 105 of numpy.lib._index_tricks_impl: left side has 2 labels, right side has 0 values", + "message-id": "W0632" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.as_detections", + "line": 1272, + "column": 4, + "endLine": 1272, + "endColumn": 21, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.key_points.skeletons", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\skeletons.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (2646/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.key_points.skeletons", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\key_points\\skeletons.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.key_points.skeletons", + "obj": "Skeleton", + "line": 6, + "column": 0, + "endLine": 6, + "endColumn": 14, + "path": "src\\supervision\\key_points\\skeletons.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.metrics.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.detection", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1148/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.metrics.detection", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "_fill_confusion_matrix_from_iou", + "line": 255, + "column": 0, + "endLine": 255, + "endColumn": 35, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "_fill_confusion_matrix_from_iou", + "line": 255, + "column": 0, + "endLine": 255, + "endColumn": 35, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (8/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "_fill_confusion_matrix_from_iou", + "line": 255, + "column": 0, + "endLine": 255, + "endColumn": 35, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.metrics.detection", + "obj": "validate_input_tensors", + "line": 313, + "column": 0, + "endLine": 313, + "endColumn": 26, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_detections", + "line": 359, + "column": 4, + "endLine": 359, + "endColumn": 23, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_detections", + "line": 359, + "column": 4, + "endLine": 359, + "endColumn": 23, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_tensors", + "line": 443, + "column": 4, + "endLine": 443, + "endColumn": 20, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_tensors", + "line": 443, + "column": 4, + "endLine": 443, + "endColumn": 20, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 535, + "column": 4, + "endLine": 535, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 535, + "column": 4, + "endLine": 535, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 535, + "column": 4, + "endLine": 535, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.plot", + "line": 688, + "column": 4, + "endLine": 688, + "endColumn": 12, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "MeanAveragePrecision._average_precisions_per_class", + "line": 1095, + "column": 4, + "endLine": 1095, + "endColumn": 37, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (21/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "warning", + "module": "supervision.metrics.f1_score", + "obj": "F1Score.update", + "line": 92, + "column": 4, + "endLine": 92, + "endColumn": 14, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'F1Score.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.f1_score", + "obj": "F1Score.update", + "line": 92, + "column": 4, + "endLine": 92, + "endColumn": 14, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'F1Score.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.f1_score", + "obj": "F1Score.compute", + "line": 123, + "column": 4, + "endLine": 123, + "endColumn": 15, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'F1Score.compute' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.metrics.f1_score", + "obj": "F1Score._compute_f1_for_classes", + "line": 306, + "column": 15, + "endLine": 306, + "endColumn": 24, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'f1_scores' before assignment", + "message-id": "E0606" + }, + { + "type": "refactor", + "module": "supervision.metrics.f1_score", + "obj": "F1Score._compute_confusion_matrix", + "line": 341, + "column": 4, + "endLine": 341, + "endColumn": 33, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult", + "line": 515, + "column": 0, + "endLine": 515, + "endColumn": 19, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (10/7)", + "message-id": "R0902" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.f1_50", + "line": 549, + "column": 4, + "endLine": 549, + "endColumn": 13, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.f1_75", + "line": 553, + "column": 4, + "endLine": 553, + "endColumn": 13, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.__init__", + "line": 562, + "column": 4, + "endLine": 562, + "endColumn": 16, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (10/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.__init__", + "line": 562, + "column": 4, + "endLine": 562, + "endColumn": 16, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (10/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.small_objects", + "line": 604, + "column": 4, + "endLine": 604, + "endColumn": 21, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.medium_objects", + "line": 614, + "column": 4, + "endLine": 614, + "endColumn": 22, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.large_objects", + "line": 624, + "column": 4, + "endLine": 624, + "endColumn": 21, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.to_pandas", + "line": 709, + "column": 8, + "endLine": 709, + "endColumn": 27, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.plot", + "line": 780, + "column": 12, + "endLine": 780, + "endColumn": 15, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 853, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "superfluous-parens", + "message": "Unnecessary parens after 'not' keyword", + "message-id": "C0325" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-lines", + "message": "Too many lines in module (1697/1000)", + "message-id": "C0302" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult", + "line": 64, + "column": 4, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAP_scores\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.__init__", + "line": 76, + "column": 8, + "endLine": 76, + "endColumn": 43, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Argument name \"mAP_scores\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.__init__", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.__init__", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.map50_95", + "line": 107, + "column": 8, + "endLine": 110, + "endColumn": 21, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.to_pandas", + "line": 243, + "column": 8, + "endLine": 243, + "endColumn": 27, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.plot", + "line": 323, + "column": 12, + "endLine": 323, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 356, + "column": 39, + "endLine": 356, + "endColumn": 45, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 357, + "column": 36, + "endLine": 357, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 358, + "column": 36, + "endLine": 358, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 359, + "column": 36, + "endLine": 359, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.empty", + "line": 371, + "column": 4, + "endLine": 371, + "endColumn": 13, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.load_predictions", + "line": 561, + "column": 48, + "endLine": 561, + "endColumn": 87, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "unnecessary-comprehension", + "message": "Unnecessary use of a comprehension, use list(self.dataset['images']) instead.", + "message-id": "R1721" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.load_predictions", + "line": 579, + "column": 8, + "endLine": 610, + "endColumn": 35, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluatorParameters", + "line": 636, + "column": 0, + "endLine": 636, + "endColumn": 29, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (0/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._evaluate_image", + "line": 822, + "column": 4, + "endLine": 822, + "endColumn": 23, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (29/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_raw_metrics", + "line": 1036, + "column": 4, + "endLine": 1036, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (10/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_raw_metrics", + "line": 1036, + "column": 4, + "endLine": 1036, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (10/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_raw_metrics", + "line": 1036, + "column": 4, + "endLine": 1036, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (45/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_raw_metrics", + "line": 1049, + "column": 8, + "endLine": 1134, + "endColumn": 71, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-nested-blocks", + "message": "Too many nested blocks (6/5)", + "message-id": "R1702" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_raw_metrics", + "line": 1049, + "column": 8, + "endLine": 1134, + "endColumn": 71, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-nested-blocks", + "message": "Too many nested blocks (6/5)", + "message-id": "R1702" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1156, + "column": 8, + "endLine": 1156, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "protected-access", + "message": "Access to a protected member _state of a client class", + "message-id": "W0212" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1156, + "column": 8, + "endLine": 1156, + "endColumn": 12, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'self'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1157, + "column": 22, + "endLine": 1157, + "endColumn": 26, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'self'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1159, + "column": 16, + "endLine": 1159, + "endColumn": 34, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'num_iou_thresholds'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1160, + "column": 16, + "endLine": 1160, + "endColumn": 37, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'num_recall_thresholds'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1161, + "column": 16, + "endLine": 1161, + "endColumn": 30, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'num_categories'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1162, + "column": 16, + "endLine": 1162, + "endColumn": 31, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'num_area_ranges'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1163, + "column": 16, + "endLine": 1163, + "endColumn": 34, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'num_max_detections'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1166, + "column": 25, + "endLine": 1166, + "endColumn": 34, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'precision'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1167, + "column": 22, + "endLine": 1167, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'recall'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1168, + "column": 22, + "endLine": 1168, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'scores'", + "message-id": "E0602" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1170, + "column": 8, + "endLine": 1170, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision_by_size", + "line": 1174, + "column": 4, + "endLine": 1174, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision_by_size", + "line": 1184, + "column": 8, + "endLine": 1184, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_all_sizes\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision_by_size", + "line": 1192, + "column": 8, + "endLine": 1192, + "endColumn": 24, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_small\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision_by_size", + "line": 1200, + "column": 8, + "endLine": 1200, + "endColumn": 25, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_medium\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision_by_size", + "line": 1208, + "column": 8, + "endLine": 1208, + "endColumn": 24, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_scores_large\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._pycocotools_summarize._summarize", + "line": 1285, + "column": 12, + "endLine": 1285, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"iStr\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._pycocotools_summarize._summarize", + "line": 1286, + "column": 12, + "endLine": 1286, + "endColumn": 20, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"titleStr\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._pycocotools_summarize._summarize", + "line": 1287, + "column": 12, + "endLine": 1287, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"typeStr\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.update", + "line": 1472, + "column": 4, + "endLine": 1472, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'MeanAveragePrecision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.update", + "line": 1472, + "column": 4, + "endLine": 1472, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAveragePrecision.update' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision._prepare_targets", + "line": 1514, + "column": 4, + "endLine": 1514, + "endColumn": 24, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1627, + "column": 4, + "endLine": 1627, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAveragePrecision.compute' method", + "message-id": "W0221" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1652, + "column": 8, + "endLine": 1652, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"cocoEval\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1658, + "column": 8, + "endLine": 1658, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_small\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1667, + "column": 8, + "endLine": 1667, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_medium\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1676, + "column": 8, + "endLine": 1676, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_large\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1686, + "column": 8, + "endLine": 1686, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "invalid-name", + "message": "Variable name \"mAP_result\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "_MeanAverageRecallSizeResultsMixin.small_objects", + "line": 51, + "column": 4, + "endLine": 51, + "endColumn": 21, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "_MeanAverageRecallSizeResultsMixin.medium_objects", + "line": 62, + "column": 4, + "endLine": 62, + "endColumn": 22, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "_MeanAverageRecallSizeResultsMixin.large_objects", + "line": 73, + "column": 4, + "endLine": 73, + "endColumn": 21, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.__init__", + "line": 125, + "column": 4, + "endLine": 125, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (10/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.__init__", + "line": 125, + "column": 4, + "endLine": 125, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (10/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_1", + "line": 161, + "column": 4, + "endLine": 161, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_1", + "line": 161, + "column": 4, + "endLine": 161, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAR_at_1\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_10", + "line": 165, + "column": 4, + "endLine": 165, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_10", + "line": 165, + "column": 4, + "endLine": 165, + "endColumn": 17, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAR_at_10\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_100", + "line": 169, + "column": 4, + "endLine": 169, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.mAR_at_100", + "line": 169, + "column": 4, + "endLine": 169, + "endColumn": 18, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "invalid-name", + "message": "Attribute name \"mAR_at_100\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.to_pandas", + "line": 249, + "column": 8, + "endLine": 249, + "endColumn": 27, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.plot", + "line": 330, + "column": 12, + "endLine": 330, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall.update", + "line": 408, + "column": 4, + "endLine": 408, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'MeanAverageRecall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall.update", + "line": 408, + "column": 4, + "endLine": 408, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAverageRecall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall.compute", + "line": 439, + "column": 4, + "endLine": 439, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAverageRecall.compute' method", + "message-id": "W0221" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall._compute", + "line": 468, + "column": 4, + "endLine": 468, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall._compute_confusion_matrix", + "line": 626, + "column": 4, + "endLine": 626, + "endColumn": 33, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "", + "line": 826, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "trailing-newlines", + "message": "Trailing newlines", + "message-id": "C0305" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult", + "line": 40, + "column": 0, + "endLine": 40, + "endColumn": 21, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (10/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.__init__", + "line": 81, + "column": 4, + "endLine": 81, + "endColumn": 16, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.__init__", + "line": 81, + "column": 4, + "endLine": 81, + "endColumn": 16, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.precision_at_50", + "line": 113, + "column": 4, + "endLine": 113, + "endColumn": 23, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.precision_at_75", + "line": 117, + "column": 4, + "endLine": 117, + "endColumn": 23, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.to_pandas", + "line": 252, + "column": 8, + "endLine": 252, + "endColumn": 27, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "convention", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.plot", + "line": 322, + "column": 12, + "endLine": 322, + "endColumn": 15, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "warning", + "module": "supervision.metrics.precision", + "obj": "Precision.update", + "line": 403, + "column": 4, + "endLine": 403, + "endColumn": 14, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'Precision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.precision", + "obj": "Precision.update", + "line": 403, + "column": 4, + "endLine": 403, + "endColumn": 14, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Precision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.precision", + "obj": "Precision.compute", + "line": 434, + "column": 4, + "endLine": 434, + "endColumn": 15, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Precision.compute' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.metrics.precision", + "obj": "Precision._compute_precision_for_classes", + "line": 625, + "column": 15, + "endLine": 625, + "endColumn": 31, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'precision_scores' before assignment", + "message-id": "E0606" + }, + { + "type": "refactor", + "module": "supervision.metrics.precision", + "obj": "Precision._compute_confusion_matrix", + "line": 659, + "column": 4, + "endLine": 659, + "endColumn": 33, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "refactor", + "module": "supervision.metrics.recall", + "obj": "RecallResult", + "line": 40, + "column": 0, + "endLine": 40, + "endColumn": 18, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (10/7)", + "message-id": "R0902" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.recall_at_50", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 20, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.recall_at_75", + "line": 76, + "column": 4, + "endLine": 76, + "endColumn": 20, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.metrics.recall", + "obj": "RecallResult.__init__", + "line": 85, + "column": 4, + "endLine": 85, + "endColumn": 16, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (10/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.recall", + "obj": "RecallResult.__init__", + "line": 85, + "column": 4, + "endLine": 85, + "endColumn": 16, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (10/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.small_objects", + "line": 127, + "column": 4, + "endLine": 127, + "endColumn": 21, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.medium_objects", + "line": 138, + "column": 4, + "endLine": 138, + "endColumn": 22, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "RecallResult.large_objects", + "line": 149, + "column": 4, + "endLine": 149, + "endColumn": 21, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall.update", + "line": 225, + "column": 4, + "endLine": 225, + "endColumn": 14, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'Recall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall.update", + "line": 225, + "column": 4, + "endLine": 225, + "endColumn": 14, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Recall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall.compute", + "line": 256, + "column": 4, + "endLine": 256, + "endColumn": 15, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Recall.compute' method", + "message-id": "W0221" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall._compute_recall_for_classes", + "line": 403, + "column": 15, + "endLine": 403, + "endColumn": 28, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'recall_scores' before assignment", + "message-id": "E0606" + }, + { + "type": "refactor", + "module": "supervision.metrics.recall", + "obj": "Recall._compute_confusion_matrix", + "line": 437, + "column": 4, + "endLine": 437, + "endColumn": 33, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall._make_empty_content", + "line": 559, + "column": 8, + "endLine": 559, + "endColumn": 73, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "unreachable", + "message": "Unreachable code", + "message-id": "W0101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 648, + "column": 33, + "endLine": 648, + "endColumn": 51, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'metric_target' member; maybe '_metric_target'?", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 650, + "column": 27, + "endLine": 650, + "endColumn": 44, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_at_50' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 651, + "column": 27, + "endLine": 651, + "endColumn": 44, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_at_75' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 652, + "column": 27, + "endLine": 652, + "endColumn": 45, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_scores' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 653, + "column": 27, + "endLine": 653, + "endColumn": 46, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'iou_thresholds' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 656, + "column": 11, + "endLine": 656, + "endColumn": 32, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_per_class' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 659, + "column": 12, + "endLine": 659, + "endColumn": 32, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'matched_classes' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 659, + "column": 34, + "endLine": 659, + "endColumn": 55, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_per_class' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 664, + "column": 11, + "endLine": 664, + "endColumn": 29, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'small_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 665, + "column": 36, + "endLine": 665, + "endColumn": 54, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'small_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 667, + "column": 11, + "endLine": 667, + "endColumn": 30, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'medium_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 668, + "column": 36, + "endLine": 668, + "endColumn": 55, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'medium_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 670, + "column": 11, + "endLine": 670, + "endColumn": 29, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'large_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 671, + "column": 36, + "endLine": 671, + "endColumn": 54, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'large_objects' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 684, + "column": 8, + "endLine": 684, + "endColumn": 27, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 687, + "column": 20, + "endLine": 687, + "endColumn": 37, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_at_50' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 688, + "column": 20, + "endLine": 688, + "endColumn": 37, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_at_75' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 691, + "column": 11, + "endLine": 691, + "endColumn": 29, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'small_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 692, + "column": 31, + "endLine": 692, + "endColumn": 49, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'small_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 695, + "column": 11, + "endLine": 695, + "endColumn": 30, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'medium_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 696, + "column": 32, + "endLine": 696, + "endColumn": 51, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'medium_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 699, + "column": 11, + "endLine": 699, + "endColumn": 29, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'large_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 700, + "column": 31, + "endLine": 700, + "endColumn": 49, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'large_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 716, + "column": 18, + "endLine": 716, + "endColumn": 35, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_at_50' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 716, + "column": 37, + "endLine": 716, + "endColumn": 54, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_at_75' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 719, + "column": 11, + "endLine": 719, + "endColumn": 29, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'small_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 720, + "column": 28, + "endLine": 720, + "endColumn": 46, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'small_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 725, + "column": 11, + "endLine": 725, + "endColumn": 30, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'medium_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 726, + "column": 29, + "endLine": 726, + "endColumn": 48, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'medium_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 731, + "column": 11, + "endLine": 731, + "endColumn": 29, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'large_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 732, + "column": 28, + "endLine": 732, + "endColumn": 46, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'large_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 744, + "column": 26, + "endLine": 744, + "endColumn": 44, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'metric_target' member; maybe '_metric_target'?", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 755, + "column": 12, + "endLine": 755, + "endColumn": 15, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "disallowed-name", + "message": "Disallowed name \"bar\"", + "message-id": "C0104" + }, + { + "type": "convention", + "module": "supervision.metrics", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_bbox_size_category", + "line": 119, + "column": 4, + "endLine": 119, + "endColumn": 6, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"SM\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_bbox_size_category", + "line": 119, + "column": 8, + "endLine": 119, + "endColumn": 10, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"LG\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_mask_size_category", + "line": 161, + "column": 4, + "endLine": 161, + "endColumn": 6, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"SM\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_mask_size_category", + "line": 161, + "column": 8, + "endLine": 161, + "endColumn": 10, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"LG\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_obb_size_category", + "line": 207, + "column": 4, + "endLine": 207, + "endColumn": 6, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"SM\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.object_size", + "obj": "get_obb_size_category", + "line": 207, + "column": 8, + "endLine": 207, + "endColumn": 10, + "path": "src\\supervision\\metrics\\utils\\object_size.py", + "symbol": "invalid-name", + "message": "Variable name \"LG\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 1, + "column": 0, + "endLine": 1, + "endColumn": 27, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 3, + "column": 8, + "endLine": 3, + "endColumn": 21, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "import-outside-toplevel", + "message": "Import outside toplevel (pandas)", + "message-id": "C0415" + }, + { + "type": "warning", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 5, + "column": 8, + "endLine": 9, + "endColumn": 9, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ImportError as exc' and 'raise ImportError(\"`metrics` extra is required to run the function. Run `uv pip install 'supervision[metrics]'` or `uv add supervision --extra metrics`.\") from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 3, + "column": 8, + "endLine": 3, + "endColumn": 21, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "unused-import", + "message": "Unused import pandas", + "message-id": "W0611" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "", + "line": 60, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "line-too-long", + "message": "Line too long (145/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.frame_id", + "line": 104, + "column": 4, + "endLine": 104, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_detections", + "line": 161, + "column": 8, + "endLine": 183, + "endColumn": 29, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 196, + "column": 4, + "endLine": 196, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 220, + "column": 42, + "endLine": 220, + "endColumn": 60, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'shared_kalman' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 207, + "column": 8, + "endLine": 207, + "endColumn": 25, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'activated_starcks'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 208, + "column": 8, + "endLine": 208, + "endColumn": 22, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'refind_stracks'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 209, + "column": 8, + "endLine": 209, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'lost_stracks'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 210, + "column": 8, + "endLine": 210, + "endColumn": 23, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'removed_stracks'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 261, + "column": 12, + "endLine": 261, + "endColumn": 28, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 274, + "column": 29, + "endLine": 274, + "endColumn": 60, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'track_activation_threshold' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 284, + "column": 8, + "endLine": 288, + "endColumn": 45, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unreachable", + "message": "Unreachable code", + "message-id": "W0101" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 286, + "column": 16, + "endLine": 286, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'unconfirmed'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 288, + "column": 16, + "endLine": 288, + "endColumn": 31, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'tracked_stracks'", + "message-id": "E0602" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 290, + "column": 8, + "endLine": 290, + "endColumn": 73, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 291, + "column": 35, + "endLine": 291, + "endColumn": 50, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'tracked_stracks'", + "message-id": "E0602" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 255, + "column": 8, + "endLine": 255, + "endColumn": 19, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'dets_second'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 258, + "column": 8, + "endLine": 258, + "endColumn": 21, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'scores_second'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 262, + "column": 12, + "endLine": 262, + "endColumn": 22, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'detections'", + "message-id": "W0612" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._build_stracks", + "line": 300, + "column": 12, + "endLine": 307, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for constructor call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._build_stracks", + "line": 303, + "column": 16, + "endLine": 303, + "endColumn": 47, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'minimum_consecutive_frames' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._build_stracks", + "line": 304, + "column": 16, + "endLine": 304, + "endColumn": 34, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'shared_kalman' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._build_stracks", + "line": 305, + "column": 16, + "endLine": 305, + "endColumn": 40, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'internal_id_counter' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._build_stracks", + "line": 306, + "column": 16, + "endLine": 306, + "endColumn": 40, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'external_id_counter' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._second_association", + "line": 349, + "column": 4, + "endLine": 349, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._unconfirmed_and_init_new", + "line": 386, + "column": 4, + "endLine": 386, + "endColumn": 33, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._remove_stale_lost_tracks", + "line": 421, + "column": 48, + "endLine": 421, + "endColumn": 66, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'max_time_lost' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._remove_stale_lost_tracks", + "line": 426, + "column": 8, + "endLine": 428, + "endColumn": 9, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unreachable", + "message": "Unreachable code", + "message-id": "W0101" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._remove_stale_lost_tracks", + "line": 430, + "column": 39, + "endLine": 430, + "endColumn": 56, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'activated_starcks'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._remove_stale_lost_tracks", + "line": 433, + "column": 39, + "endLine": 433, + "endColumn": 53, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'refind_stracks'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._remove_stale_lost_tracks", + "line": 438, + "column": 38, + "endLine": 438, + "endColumn": 50, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'lost_stracks'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._remove_stale_lost_tracks", + "line": 442, + "column": 36, + "endLine": 442, + "endColumn": 51, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'removed_stracks'", + "message-id": "E0602" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 458, + "column": 8, + "endLine": 458, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'tracked_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 461, + "column": 8, + "endLine": 461, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'tracked_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 462, + "column": 8, + "endLine": 462, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'tracked_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 467, + "column": 8, + "endLine": 467, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'tracked_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 463, + "column": 8, + "endLine": 463, + "endColumn": 24, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'lost_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 465, + "column": 8, + "endLine": 465, + "endColumn": 24, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'lost_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 467, + "column": 29, + "endLine": 467, + "endColumn": 45, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'lost_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 466, + "column": 8, + "endLine": 466, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'removed_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.core", + "obj": "remove_duplicate_tracks", + "line": 518, + "column": 0, + "endLine": 518, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.kalman_filter", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "indices_to_matches", + "line": 15, + "column": 0, + "endLine": 15, + "endColumn": 22, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "linear_assignment", + "line": 27, + "column": 0, + "endLine": 27, + "endColumn": 21, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "iou_distance", + "line": 44, + "column": 0, + "endLine": 44, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.matching", + "obj": "fuse_score", + "line": 65, + "column": 0, + "endLine": 65, + "endColumn": 14, + "path": "src\\supervision\\tracker\\byte_tracker\\matching.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 13, + "column": 0, + "endLine": 13, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 14, + "column": 4, + "endLine": 14, + "endColumn": 7, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"New\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 15, + "column": 4, + "endLine": 15, + "endColumn": 11, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"Tracked\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 16, + "column": 4, + "endLine": 16, + "endColumn": 8, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"Lost\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "TrackState", + "line": 17, + "column": 4, + "endLine": 17, + "endColumn": 11, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "invalid-name", + "message": "Class constant name \"Removed\" doesn't conform to UPPER_CASE naming style", + "message-id": "C0103" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "_STrackData", + "line": 21, + "column": 0, + "endLine": 21, + "endColumn": 17, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (15/7)", + "message-id": "R0902" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack", + "line": 44, + "column": 0, + "endLine": 44, + "endColumn": 12, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.state", + "line": 62, + "column": 4, + "endLine": 62, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.is_activated", + "line": 70, + "column": 4, + "endLine": 70, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.start_frame", + "line": 78, + "column": 4, + "endLine": 78, + "endColumn": 19, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.frame_id", + "line": 86, + "column": 4, + "endLine": 86, + "endColumn": 16, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.kalman_filter", + "line": 94, + "column": 4, + "endLine": 94, + "endColumn": 21, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.mean", + "line": 102, + "column": 4, + "endLine": 102, + "endColumn": 12, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.covariance", + "line": 110, + "column": 4, + "endLine": 110, + "endColumn": 18, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.score", + "line": 118, + "column": 4, + "endLine": 118, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.tracklet_len", + "line": 126, + "column": 4, + "endLine": 126, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.minimum_consecutive_frames", + "line": 134, + "column": 4, + "endLine": 134, + "endColumn": 34, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.internal_track_id", + "line": 138, + "column": 4, + "endLine": 138, + "endColumn": 25, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.external_track_id", + "line": 146, + "column": 4, + "endLine": 146, + "endColumn": 25, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.predict", + "line": 153, + "column": 4, + "endLine": 153, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 165, + "column": 4, + "endLine": 165, + "endColumn": 21, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 170, + "column": 23, + "endLine": 170, + "endColumn": 31, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 171, + "column": 23, + "endLine": 171, + "endColumn": 31, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 172, + "column": 34, + "endLine": 172, + "endColumn": 42, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 173, + "column": 40, + "endLine": 173, + "endColumn": 48, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 174, + "column": 19, + "endLine": 174, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 181, + "column": 16, + "endLine": 181, + "endColumn": 32, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 182, + "column": 16, + "endLine": 182, + "endColumn": 32, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.re_activate", + "line": 202, + "column": 4, + "endLine": 202, + "endColumn": 19, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.to_xyah", + "line": 272, + "column": 4, + "endLine": 272, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.tlbr_to_tlwh", + "line": 276, + "column": 4, + "endLine": 276, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.tlwh_to_tlbr", + "line": 282, + "column": 4, + "endLine": 282, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack", + "line": 44, + "column": 0, + "endLine": 44, + "endColumn": 12, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "too-many-public-methods", + "message": "Too many public methods (23/20)", + "message-id": "R0904" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "IdCounter", + "line": 4, + "column": 0, + "endLine": 4, + "endColumn": 15, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "IdCounter.NO_ID", + "line": 36, + "column": 4, + "endLine": 36, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.tracker.byte_tracker.utils", + "obj": "IdCounter.NO_ID", + "line": 36, + "column": 4, + "endLine": 36, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\utils.py", + "symbol": "invalid-name", + "message": "Attribute name \"NO_ID\" doesn't conform to snake_case naming style", + "message-id": "C0103" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "ensure_cv2_image_for_annotation", + "line": 48, + "column": 0, + "endLine": 48, + "endColumn": 35, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "ensure_pil_image_for_annotation", + "line": 110, + "column": 0, + "endLine": 110, + "endColumn": 35, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.utils.conversion", + "obj": "ensure_cv2_image_for_processing", + "line": 121, + "column": 0, + "endLine": 121, + "endColumn": 35, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "pillow_to_cv2", + "line": 160, + "column": 12, + "endLine": 160, + "endColumn": 24, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "pillow_to_cv2", + "line": 160, + "column": 32, + "endLine": 160, + "endColumn": 49, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_RGB2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "cv2_to_pillow", + "line": 177, + "column": 12, + "endLine": 177, + "endColumn": 24, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "cv2_to_pillow", + "line": 177, + "column": 32, + "endLine": 177, + "endColumn": 49, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2RGB' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.utils.file", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\file.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.file", + "obj": "NumpyJsonEncoder", + "line": 11, + "column": 0, + "endLine": 11, + "endColumn": 22, + "path": "src\\supervision\\utils\\file.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "NumpyJsonEncoder.default", + "line": 12, + "column": 4, + "endLine": 12, + "endColumn": 15, + "path": "src\\supervision\\utils\\file.py", + "symbol": "arguments-renamed", + "message": "Parameter 'o' has been renamed to 'obj' in overriding 'NumpyJsonEncoder.default' method", + "message-id": "W0237" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "read_txt_file", + "line": 120, + "column": 9, + "endLine": 120, + "endColumn": 29, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "save_text_file", + "line": 137, + "column": 9, + "endLine": 137, + "endColumn": 34, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "read_json_file", + "line": 166, + "column": 9, + "endLine": 166, + "endColumn": 29, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "save_json_file", + "line": 182, + "column": 9, + "endLine": 182, + "endColumn": 34, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "read_yaml_file", + "line": 196, + "column": 9, + "endLine": 196, + "endColumn": 29, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "save_yaml_file", + "line": 210, + "column": 9, + "endLine": 210, + "endColumn": 34, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 75, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (125/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 133, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (127/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 191, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (129/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 253, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (135/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 390, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (125/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 428, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "line-too-long", + "message": "Line too long (135/100)", + "message-id": "C0301" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\image.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "scale_image", + "line": 142, + "column": 11, + "endLine": 142, + "endColumn": 21, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "scale_image", + "line": 142, + "column": 68, + "endLine": 142, + "endColumn": 84, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_LINEAR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "resize_image", + "line": 206, + "column": 11, + "endLine": 206, + "endColumn": 21, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "resize_image", + "line": 206, + "column": 68, + "endLine": 206, + "endColumn": 84, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_LINEAR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "letterbox_image", + "line": 265, + "column": 25, + "endLine": 265, + "endColumn": 43, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'copyMakeBorder' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "letterbox_image", + "line": 271, + "column": 8, + "endLine": 271, + "endColumn": 27, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'BORDER_CONSTANT' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 17, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (25/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 317, + "column": 32, + "endLine": 317, + "endColumn": 43, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'supervision.utils.image' has no 'shape' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 338, + "column": 25, + "endLine": 338, + "endColumn": 34, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'split' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 342, + "column": 24, + "endLine": 342, + "endColumn": 33, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'merge' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 344, + "column": 14, + "endLine": 344, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "unsubscriptable-object", + "message": "Value 'image' is unsubscriptable", + "message-id": "E1136" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 346, + "column": 8, + "endLine": 346, + "endColumn": 13, + "path": "src\\supervision\\utils\\image.py", + "symbol": "unsupported-assignment-operation", + "message": "'image' does not support item assignment", + "message-id": "E1137" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 348, + "column": 8, + "endLine": 348, + "endColumn": 13, + "path": "src\\supervision\\utils\\image.py", + "symbol": "unsupported-assignment-operation", + "message": "'image' does not support item assignment", + "message-id": "E1137" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "tint_image", + "line": 397, + "column": 4, + "endLine": 397, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 430, + "column": 17, + "endLine": 430, + "endColumn": 29, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 430, + "column": 37, + "endLine": 430, + "endColumn": 55, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2GRAY' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 431, + "column": 11, + "endLine": 431, + "endColumn": 23, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 431, + "column": 36, + "endLine": 431, + "endColumn": 54, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_GRAY2BGR' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.utils.image", + "obj": "ImageSink", + "line": 481, + "column": 0, + "endLine": 481, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "missing-class-docstring", + "message": "Missing class docstring", + "message-id": "C0115" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "ImageSink.save_image", + "line": 548, + "column": 8, + "endLine": 548, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imwrite' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 565, + "column": 0, + "endLine": 565, + "endColumn": 16, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (16/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 565, + "column": 0, + "endLine": 565, + "endColumn": 16, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (16/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 565, + "column": 0, + "endLine": 565, + "endColumn": 16, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 580, + "column": 28, + "endLine": 580, + "endColumn": 52, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_generate_tiles", + "line": 767, + "column": 0, + "endLine": 767, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (15/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_generate_tiles", + "line": 767, + "column": 0, + "endLine": 767, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (15/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_generate_tiles", + "line": 767, + "column": 0, + "endLine": 767, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_draw_texts", + "line": 816, + "column": 0, + "endLine": 816, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (10/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_draw_texts", + "line": 816, + "column": 0, + "endLine": 816, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (10/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_draw_texts", + "line": 816, + "column": 0, + "endLine": 816, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "convention", + "module": "supervision.utils.internal", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "SupervisionWarnings", + "line": 18, + "column": 4, + "endLine": 18, + "endColumn": 8, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unnecessary-pass", + "message": "Unnecessary pass statement", + "message-id": "W0107" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "format_warning", + "line": 24, + "column": 4, + "endLine": 24, + "endColumn": 17, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unused-argument", + "message": "Unused argument 'filename'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "format_warning", + "line": 25, + "column": 4, + "endLine": 25, + "endColumn": 15, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unused-argument", + "message": "Unused argument 'lineno'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "format_warning", + "line": 26, + "column": 4, + "endLine": 26, + "endColumn": 20, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unused-argument", + "message": "Unused argument 'line'", + "message-id": "W0613" + }, + { + "type": "convention", + "module": "supervision.utils.internal", + "obj": "classproperty", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 19, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "invalid-name", + "message": "Class name \"classproperty\" doesn't conform to PascalCase naming style", + "message-id": "C0103" + }, + { + "type": "refactor", + "module": "supervision.utils.internal", + "obj": "classproperty", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 19, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "convention", + "module": "supervision.utils.iterables", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\iterables.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.logger", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\logger.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.notebook", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_image", + "line": 44, + "column": 19, + "endLine": 44, + "endColumn": 31, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_image", + "line": 44, + "column": 39, + "endLine": 44, + "endColumn": 56, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2RGB' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_images_grid", + "line": 111, + "column": 26, + "endLine": 111, + "endColumn": 38, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_images_grid", + "line": 111, + "column": 52, + "endLine": 111, + "endColumn": 69, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2RGB' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 59, + "column": 4, + "endLine": 59, + "endColumn": 23, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 60, + "column": 16, + "endLine": 60, + "endColumn": 32, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoCapture' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 62, + "column": 12, + "endLine": 62, + "endColumn": 68, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 64, + "column": 30, + "endLine": 64, + "endColumn": 54, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_WIDTH' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 65, + "column": 31, + "endLine": 65, + "endColumn": 56, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_HEIGHT' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 66, + "column": 30, + "endLine": 66, + "endColumn": 46, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FPS' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 67, + "column": 37, + "endLine": 67, + "endColumn": 61, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_COUNT' member", + "message-id": "E1101" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "VideoInfo.resolution_wh", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 21, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 107, + "column": 28, + "endLine": 107, + "endColumn": 50, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoWriter_fourcc' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 110, + "column": 28, + "endLine": 110, + "endColumn": 50, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoWriter_fourcc' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 111, + "column": 24, + "endLine": 111, + "endColumn": 39, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoWriter' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 107, + "column": 12, + "endLine": 107, + "endColumn": 25, + "path": "src\\supervision\\utils\\video.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute '__fourcc' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 110, + "column": 12, + "endLine": 110, + "endColumn": 25, + "path": "src\\supervision\\utils\\video.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute '__fourcc' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_mux_audio", + "line": 198, + "column": 11, + "endLine": 198, + "endColumn": 20, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_mux_audio", + "line": 162, + "column": 17, + "endLine": 187, + "endColumn": 9, + "path": "src\\supervision\\utils\\video.py", + "symbol": "subprocess-run-check", + "message": "'subprocess.run' used without explicitly defining the value for 'check'.", + "message-id": "W1510" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 210, + "column": 12, + "endLine": 210, + "endColumn": 28, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoCapture' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 212, + "column": 8, + "endLine": 212, + "endColumn": 65, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 213, + "column": 33, + "endLine": 213, + "endColumn": 57, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_COUNT' member", + "message-id": "E1101" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 215, + "column": 8, + "endLine": 215, + "endColumn": 56, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 226, + "column": 18, + "endLine": 226, + "endColumn": 41, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_POS_FRAMES' member", + "message-id": "E1101" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "_VideoProcessor", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 21, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (16/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "_VideoProcessor.__init__", + "line": 284, + "column": 4, + "endLine": 284, + "endColumn": 16, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_VideoProcessor._process_frames", + "line": 397, + "column": 19, + "endLine": 397, + "endColumn": 28, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "convention", + "module": "supervision.utils.video", + "obj": "_VideoProcessor.run", + "line": 401, + "column": 4, + "endLine": 401, + "endColumn": 11, + "path": "src\\supervision\\utils\\video.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "_VideoProcessor", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 21, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "process_video", + "line": 424, + "column": 0, + "endLine": 424, + "endColumn": 17, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-module-docstring", + "message": "Missing module docstring", + "message-id": "C0114" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_xyxy", + "line": 33, + "column": 0, + "endLine": 33, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_mask", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_class_id", + "line": 102, + "column": 0, + "endLine": 102, + "endColumn": 21, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_confidence", + "line": 125, + "column": 0, + "endLine": 125, + "endColumn": 23, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_key_point_confidence", + "line": 156, + "column": 0, + "endLine": 156, + "endColumn": 33, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_keypoint_confidence", + "line": 165, + "column": 0, + "endLine": 165, + "endColumn": 32, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_tracker_id", + "line": 187, + "column": 0, + "endLine": 187, + "endColumn": 23, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_data", + "line": 197, + "column": 12, + "endLine": 202, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_data", + "line": 212, + "column": 0, + "endLine": 212, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_xy", + "line": 232, + "column": 0, + "endLine": 232, + "endColumn": 15, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_detections_fields", + "line": 259, + "column": 0, + "endLine": 259, + "endColumn": 31, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_detections_fields", + "line": 259, + "column": 0, + "endLine": 259, + "endColumn": 31, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_detections_fields", + "line": 281, + "column": 0, + "endLine": 281, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_keypoints_fields", + "line": 292, + "column": 0, + "endLine": 292, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_keypoints_fields", + "line": 292, + "column": 0, + "endLine": 292, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_key_points_fields", + "line": 317, + "column": 0, + "endLine": 317, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_keypoints_fields", + "line": 328, + "column": 0, + "endLine": 328, + "endColumn": 29, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "convention", + "module": "supervision.validators", + "obj": "validate_resolution", + "line": 362, + "column": 0, + "endLine": 362, + "endColumn": 23, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "missing-function-docstring", + "message": "Missing function or method docstring", + "message-id": "C0116" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[78:229]\n==supervision.metrics.precision:[389:540]\n self._metric_target = metric_target\n self.averaging_method = averaging_method\n\n self._predictions_list: list[Detections] = []\n self._targets_list: list[Detections] = []\n\n def reset(self) -> None:\n \"\"\"\n Reset the metric to its initial state, clearing all stored data.\n \"\"\"\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> F1Score:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> F1ScoreResult:\n \"\"\"\n Calculate the F1 score metric based on the stored predictions and ground-truth\n data, at different IoU thresholds.\n\n Returns:\n The F1 score metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> F1ScoreResult:\n \"\"\"Build per-image stats tuples and delegate to class-level computation.\n\n Each stats tuple is ``(matches, confidence, class_ids, true_class_ids)``:\n - Both empty: skip (no information).\n - Targets empty, predictions present: all predictions are FPs; true_class_ids\n is ``zeros((0,))``.\n - Targets present: IoU matching produces ``matches`` array.\n \"\"\"\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n\n if len(targets) == 0 and len(predictions) > 0:\n # Only predictions are present (e.g. a background image); every\n # prediction is a false positive.\n if predictions.class_id is None or predictions.confidence is None:\n continue\n stats.append(\n (\n np.zeros(\n (len(predictions), iou_thresholds.size), dtype=np.bool_\n ),\n predictions.confidence,\n predictions.class_id,\n np.zeros((0,), dtype=np.int32),\n )\n )\n elif len(targets) > 0:\n if len(predictions) == 0:\n stats.append(\n (\n np.zeros((0, iou_thresholds.size), dtype=bool),\n np.zeros((0,), dtype=np.float32),\n np.zeros((0,), dtype=int),\n targets.class_id,\n )\n )\n\n else:\n if self._metric_target == MetricTarget.BOXES:\n iou = box_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.MASKS:\n iou = mask_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n iou = oriented_box_iou_batch(\n target_contents, prediction_contents\n )\n else:\n raise ValueError(\n \"Unsupported metric target for IoU calculation\"\n )\n\n matches = self._match_detection_batch(\n predictions.class_id\n if predictions.class_id is not None\n else np.array([]),\n targets.class_id\n if targets.class_id is not None\n else np.array([]),\n iou,\n iou_thresholds,\n )\n stats.append(\n (\n matches,\n predictions.confidence,\n predictions.class_id,\n targets.class_id,\n )\n )\n\n if not stats:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[429:504]\n==supervision.metrics.mean_average_recall:[717:793]\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"\n new_detections = deepcopy(detections)\n if detections.is_empty() or size_category == ObjectSizeCategory.ANY:\n return new_detections\n\n sizes = get_detection_size_category(new_detections, self._metric_target)\n size_mask = sizes == size_category.value\n\n new_detections.xyxy = new_detections.xyxy[size_mask]\n if new_detections.mask is not None:\n new_detections.mask = new_detections.mask[size_mask]\n if new_detections.class_id is not None:\n new_detections.class_id = new_detections.class_id[size_mask]\n if new_detections.confidence is not None:\n new_detections.confidence = new_detections.confidence[size_mask]\n if new_detections.tracker_id is not None:\n new_detections.tracker_id = new_detections.tracker_id[size_mask]\n if new_detections.data is not None:\n for key, value in new_detections.data.items():\n new_detections.data[key] = np.array(value)[size_mask]\n\n return new_detections\n\n def _filter_predictions_and_targets_by_size(\n self,\n predictions_list: list[Detections],\n targets_list: list[Detections],\n size_category: ObjectSizeCategory,\n ) -> tuple[list[Detections], list[Detections]]:\n \"\"\"\n Filter predictions and targets by object size category.\n \"\"\"\n new_predictions_list = []\n new_targets_list = []\n for predictions, targets in zip(predictions_list, targets_list):\n new_predictions_list.append(\n self._filter_detections_by_size(predictions, size_category)\n )\n new_targets_list.append(\n self._filter_detections_by_size(targets, size_category)\n )\n return new_predictions_list, new_targets_list\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[314:394]\n==supervision.metrics.precision:[633:711]\n num_predictions, num_iou_levels = (\n predictions_classes.shape[0],\n iou_thresholds.shape[0],\n )\n correct = np.zeros((num_predictions, num_iou_levels), dtype=bool)\n correct_class = target_classes[:, None] == predictions_classes\n\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n result_correct: npt.NDArray[np.bool_] = correct\n return result_correct\n\n @staticmethod\n def _compute_confusion_matrix(\n sorted_matches: npt.NDArray[np.bool_],\n sorted_prediction_class_ids: npt.NDArray[np.int32],\n unique_classes: npt.NDArray[np.int32],\n class_counts: npt.NDArray[np.int32],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Compute the confusion matrix for each class and IoU threshold.\n\n Assumes the matches and prediction_class_ids are sorted by confidence\n in descending order.\n\n Args:\n sorted_matches: shape (P, Th), that is True\n if the prediction is a true positive at the given IoU threshold.\n sorted_prediction_class_ids: shape (P,), containing\n the class id for each prediction.\n unique_classes: shape (C,), containing the unique\n class ids.\n class_counts: shape (C,), containing the number\n of true instances for each class.\n\n Returns:\n shape (C, Th, 3), containing the true positives, false\n positives, and false negatives for each class and IoU threshold.\n \"\"\"\n\n num_thresholds = sorted_matches.shape[1]\n num_classes = unique_classes.shape[0]\n\n confusion_matrix: npt.NDArray[np.float64] = np.zeros(\n (num_classes, num_thresholds, 3), dtype=np.float64\n )\n for class_idx, class_id in enumerate(unique_classes):\n is_class = sorted_prediction_class_ids == class_id\n num_true = class_counts[class_idx]\n num_predictions = is_class.sum()\n\n if num_predictions == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.zeros(num_thresholds)\n false_negatives = np.full(num_thresholds, num_true)\n elif num_true == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.full(num_thresholds, num_predictions)\n false_negatives = np.zeros(num_thresholds)\n else:\n true_positives = sorted_matches[is_class].sum(0)\n false_positives = (1 - sorted_matches[is_class]).sum(0)\n false_negatives = num_true - true_positives\n confusion_matrix[class_idx] = np.stack(\n [true_positives, false_positives, false_negatives], axis=1\n )", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[185:229]\n==supervision.metrics.recall:[295:339]\n if len(predictions) == 0:\n stats.append(\n (\n np.zeros((0, iou_thresholds.size), dtype=bool),\n np.zeros((0,), dtype=np.float32),\n np.zeros((0,), dtype=int),\n targets.class_id,\n )\n )\n\n else:\n if self._metric_target == MetricTarget.BOXES:\n iou = box_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.MASKS:\n iou = mask_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n iou = oriented_box_iou_batch(\n target_contents, prediction_contents\n )\n else:\n raise ValueError(\n \"Unsupported metric target for IoU calculation\"\n )\n\n matches = self._match_detection_batch(\n predictions.class_id\n if predictions.class_id is not None\n else np.array([]),\n targets.class_id\n if targets.class_id is not None\n else np.array([]),\n iou,\n iou_thresholds,\n )\n stats.append(\n (\n matches,\n predictions.confidence,\n predictions.class_id,\n targets.class_id,\n )\n )\n\n if not stats:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[404:482]\n==supervision.metrics.recall:[221:299]\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> MeanAverageRecall:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> MeanAverageRecallResult:\n \"\"\"\n Calculate the Mean Average Recall metric based on the stored predictions\n and ground-truth, at different IoU thresholds and maximum detection counts.\n\n Returns:\n The Mean Average Recall metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> MeanAverageRecallResult:\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n\n if len(targets) > 0:\n if len(predictions) == 0:\n stats.append(\n (\n np.zeros((0, iou_thresholds.size), dtype=bool),", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[78:169]\n==supervision.metrics.recall:[211:294]\n self._metric_target = metric_target\n self.averaging_method = averaging_method\n\n self._predictions_list: list[Detections] = []\n self._targets_list: list[Detections] = []\n\n def reset(self) -> None:\n \"\"\"\n Reset the metric to its initial state, clearing all stored data.\n \"\"\"\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> F1Score:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> F1ScoreResult:\n \"\"\"\n Calculate the F1 score metric based on the stored predictions and ground-truth\n data, at different IoU thresholds.\n\n Returns:\n The F1 score metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> F1ScoreResult:\n \"\"\"Build per-image stats tuples and delegate to class-level computation.\n\n Each stats tuple is ``(matches, confidence, class_ids, true_class_ids)``:\n - Both empty: skip (no information).\n - Targets empty, predictions present: all predictions are FPs; true_class_ids\n is ``zeros((0,))``.\n - Targets present: IoU matching produces ``matches`` array.\n \"\"\"\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[591:674]\n==supervision.metrics.recall:[402:483]\n return recall_scores, recall_per_class, unique_classes\n\n @staticmethod\n def _match_detection_batch(\n predictions_classes: npt.NDArray[np.int32],\n target_classes: npt.NDArray[np.int32],\n iou: npt.NDArray[np.float32],\n iou_thresholds: npt.NDArray[np.float32],\n ) -> npt.NDArray[np.bool_]:\n num_predictions, num_iou_levels = (\n predictions_classes.shape[0],\n iou_thresholds.shape[0],\n )\n correct = np.zeros((num_predictions, num_iou_levels), dtype=bool)\n correct_class = target_classes[:, None] == predictions_classes\n\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n result_correct: npt.NDArray[np.bool_] = correct\n return result_correct\n\n @staticmethod\n def _compute_confusion_matrix(\n sorted_matches: npt.NDArray[np.bool_],\n sorted_prediction_class_ids: npt.NDArray[np.int32],\n unique_classes: npt.NDArray[np.int32],\n class_counts: npt.NDArray[np.int32],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Compute the confusion matrix for each class and IoU threshold.\n\n Assumes the matches and prediction_class_ids are sorted by confidence\n in descending order.\n\n Args:\n sorted_matches: shape (P, Th), that is True\n if the prediction is a true positive at the given IoU threshold.\n sorted_prediction_class_ids: shape (P,), containing\n the class id for each prediction.\n unique_classes: shape (C,), containing the unique\n class ids.\n class_counts: shape (C,), containing the number\n of true instances for each class.\n max_detections: The maximum number of detections to\n consider for each class. Extra detections are considered false\n positives. By default, all detections are considered.\n\n Returns:\n shape (C, Th, 3), containing the true positives, false\n positives, and false negatives for each class and IoU threshold.\n \"\"\"\n num_thresholds = sorted_matches.shape[1]\n num_classes = unique_classes.shape[0]\n\n confusion_matrix: npt.NDArray[np.float64] = np.zeros(\n (num_classes, num_thresholds, 3), dtype=np.float64\n )\n for class_idx, class_id in enumerate(unique_classes):\n is_class = sorted_prediction_class_ids == class_id\n num_true = class_counts[class_idx]\n num_predictions = is_class.sum()\n\n if num_predictions == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.zeros(num_thresholds)\n false_negatives = np.full(num_thresholds, num_true)\n elif num_true == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.full(num_thresholds, num_predictions)\n false_negatives = np.zeros(num_thresholds)\n else:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[314:387]\n==supervision.metrics.mean_average_recall:[600:674]\n num_predictions, num_iou_levels = (\n predictions_classes.shape[0],\n iou_thresholds.shape[0],\n )\n correct = np.zeros((num_predictions, num_iou_levels), dtype=bool)\n correct_class = target_classes[:, None] == predictions_classes\n\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n\n result_correct: npt.NDArray[np.bool_] = correct\n return result_correct\n\n @staticmethod\n def _compute_confusion_matrix(\n sorted_matches: npt.NDArray[np.bool_],\n sorted_prediction_class_ids: npt.NDArray[np.int32],\n unique_classes: npt.NDArray[np.int32],\n class_counts: npt.NDArray[np.int32],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Compute the confusion matrix for each class and IoU threshold.\n\n Assumes the matches and prediction_class_ids are sorted by confidence\n in descending order.\n\n Args:\n sorted_matches: shape (P, Th), that is True\n if the prediction is a true positive at the given IoU threshold.\n sorted_prediction_class_ids: shape (P,), containing\n the class id for each prediction.\n unique_classes: shape (C,), containing the unique\n class ids.\n class_counts: shape (C,), containing the number\n of true instances for each class.\n\n Returns:\n shape (C, Th, 3), containing the true positives, false\n positives, and false negatives for each class and IoU threshold.\n \"\"\"\n\n num_thresholds = sorted_matches.shape[1]\n num_classes = unique_classes.shape[0]\n\n confusion_matrix: npt.NDArray[np.float64] = np.zeros(\n (num_classes, num_thresholds, 3), dtype=np.float64\n )\n for class_idx, class_id in enumerate(unique_classes):\n is_class = sorted_prediction_class_ids == class_id\n num_true = class_counts[class_idx]\n num_predictions = is_class.sum()\n\n if num_predictions == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.zeros(num_thresholds)\n false_negatives = np.full(num_thresholds, num_true)\n elif num_true == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.full(num_thresholds, num_predictions)\n false_negatives = np.zeros(num_thresholds)\n else:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[88:169]\n==supervision.metrics.mean_average_recall:[404:477]\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> MeanAverageRecall:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> MeanAverageRecallResult:\n \"\"\"\n Calculate the Mean Average Recall metric based on the stored predictions\n and ground-truth, at different IoU thresholds and maximum detection counts.\n\n Returns:\n The Mean Average Recall metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> MeanAverageRecallResult:\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[455:504]\n==supervision.metrics.recall:[558:645]\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"\n new_detections = deepcopy(detections)\n if detections.is_empty() or size_category == ObjectSizeCategory.ANY:\n return new_detections\n\n sizes = get_detection_size_category(new_detections, self._metric_target)\n size_mask = sizes == size_category.value\n\n new_detections.xyxy = new_detections.xyxy[size_mask]\n if new_detections.mask is not None:\n new_detections.mask = new_detections.mask[size_mask]\n if new_detections.class_id is not None:\n new_detections.class_id = new_detections.class_id[size_mask]\n if new_detections.confidence is not None:\n new_detections.confidence = new_detections.confidence[size_mask]\n if new_detections.tracker_id is not None:\n new_detections.tracker_id = new_detections.tracker_id[size_mask]\n if new_detections.data is not None:\n for key, value in new_detections.data.items():\n new_detections.data[key] = np.array(value)[size_mask]\n\n return new_detections\n\n def _filter_predictions_and_targets_by_size(\n self,\n predictions_list: list[Detections],\n targets_list: list[Detections],\n size_category: ObjectSizeCategory,\n ) -> tuple[list[Detections], list[Detections]]:\n \"\"\"\n Filter predictions and targets by object size category.\n \"\"\"\n new_predictions_list = []\n new_targets_list = []\n for predictions, targets in zip(predictions_list, targets_list):\n new_predictions_list.append(\n self._filter_detections_by_size(predictions, size_category)\n )\n new_targets_list.append(\n self._filter_detections_by_size(targets, size_category)\n )\n return new_predictions_list, new_targets_list\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[190:219]\n==supervision.metrics.mean_average_recall:[483:513]\n np.zeros((0,), dtype=int),\n targets.class_id,\n )\n )\n\n else:\n if self._metric_target == MetricTarget.BOXES:\n iou = box_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.MASKS:\n iou = mask_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n iou = oriented_box_iou_batch(\n target_contents, prediction_contents\n )\n else:\n raise ValueError(\n \"Unsupported metric target for IoU calculation\"\n )\n\n matches = self._match_detection_batch(\n predictions.class_id\n if predictions.class_id is not None\n else np.array([]),\n targets.class_id\n if targets.class_id is not None\n else np.array([]),\n iou,\n iou_thresholds,\n )\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[712:752]\n==supervision.metrics.recall:[522:558]\n result_recall: npt.NDArray[np.float64] = recall\n return result_recall\n\n def _detections_content(self, detections: Detections) -> npt.NDArray[Any]:\n \"\"\"Return boxes, masks or oriented bounding boxes from detections.\"\"\"\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[429:461]\n==supervision.metrics.recall:[527:558]\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[768:793]\n==supervision.metrics.precision:[310:337]\n f\"\\n(target: {self.metric_target.value},\"\n f\" averaging: {self.averaging_method.value})\"\n )\n ax.set_title(title, fontweight=\"bold\")\n\n x_positions = range(len(labels))\n bars = ax.bar(x_positions, values, color=colors, align=\"center\")\n\n ax.set_xticks(x_positions)\n ax.set_xticklabels(labels, rotation=45, ha=\"right\")\n\n for bar in bars:\n y_value = bar.get_height()\n ax.text(\n bar.get_x() + bar.get_width() / 2,\n y_value + 0.02,\n f\"{y_value:.2f}\",\n ha=\"center\",\n va=\"bottom\",\n )\n\n plt.rcParams[\"font.family\"] = \"sans-serif\"\n\n plt.tight_layout()\n plt.show()", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[219:251]\n==supervision.metrics.recall:[654:686]\n )\n if self.recall_per_class.size == 0:\n out_str += \" No results\\n\"\n for class_id, recall_of_class in zip(\n self.matched_classes, self.recall_per_class\n ):\n out_str += f\" {class_id}: {recall_of_class}\\n\"\n\n indent = \" \"\n if self.small_objects is not None:\n indented = indent + str(self.small_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nSmall objects:\\n{indented}\"\n if self.medium_objects is not None:\n indented = indent + str(self.medium_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nMedium objects:\\n{indented}\"\n if self.large_objects is not None:\n indented = indent + str(self.large_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nLarge objects:\\n{indented}\"\n\n return out_str\n\n def to_pandas(self) -> pd.DataFrame:\n \"\"\"\n Convert the result to a pandas DataFrame.\n\n Returns:\n The result as a DataFrame.\n \"\"\"\n ensure_pandas_installed()\n import pandas as pd\n\n pandas_data = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[770:793]\n==supervision.metrics.mean_average_recall:[320:345]\n )\n ax.set_title(title, fontweight=\"bold\")\n\n x_positions = range(len(labels))\n bars = ax.bar(x_positions, values, color=colors, align=\"center\")\n\n ax.set_xticks(x_positions)\n ax.set_xticklabels(labels, rotation=45, ha=\"right\")\n\n for bar in bars:\n y_value = bar.get_height()\n ax.text(\n bar.get_x() + bar.get_width() / 2,\n y_value + 0.02,\n f\"{y_value:.2f}\",\n ha=\"center\",\n va=\"bottom\",\n )\n\n plt.rcParams[\"font.family\"] = \"sans-serif\"\n\n plt.tight_layout()\n plt.show()", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.annotators.core:[1552:1570]\n==supervision.draw.utils:[133:151]\n border_radius = min(border_radius, min(width, height) // 2)\n\n rectangle_coordinates = [\n ((x1 + border_radius, y1), (x2 - border_radius, y2)),\n ((x1, y1 + border_radius), (x2, y2 - border_radius)),\n ]\n circle_centers = [\n (x1 + border_radius, y1 + border_radius),\n (x2 - border_radius, y1 + border_radius),\n (x1 + border_radius, y2 - border_radius),\n (x2 - border_radius, y2 - border_radius),\n ]\n\n for coordinates in rectangle_coordinates:\n cv2.rectangle(\n img=scene,\n pt1=coordinates[0],\n pt2=coordinates[1],", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[773:793]\n==supervision.metrics.mean_average_precision:[316:338]\n x_positions = range(len(labels))\n bars = ax.bar(x_positions, values, color=colors, align=\"center\")\n\n ax.set_xticks(x_positions)\n ax.set_xticklabels(labels, rotation=45, ha=\"right\")\n\n for bar in bars:\n y_value = bar.get_height()\n ax.text(\n bar.get_x() + bar.get_width() / 2,\n y_value + 0.02,\n f\"{y_value:.2f}\",\n ha=\"center\",\n va=\"bottom\",\n )\n\n plt.rcParams[\"font.family\"] = \"sans-serif\"\n\n plt.tight_layout()\n plt.show()", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[713:739]\n==supervision.metrics.mean_average_recall:[254:279]\n }\n\n if self.small_objects is not None:\n small_objects_df = self.small_objects.to_pandas()\n for key, value in small_objects_df.items():\n pandas_data[f\"small_objects_{key}\"] = value\n if self.medium_objects is not None:\n medium_objects_df = self.medium_objects.to_pandas()\n for key, value in medium_objects_df.items():\n pandas_data[f\"medium_objects_{key}\"] = value\n if self.large_objects is not None:\n large_objects_df = self.large_objects.to_pandas()\n for key, value in large_objects_df.items():\n pandas_data[f\"large_objects_{key}\"] = value\n\n return pd.DataFrame(pandas_data, index=[0])\n\n def plot(self) -> None:\n \"\"\"\n Plot the Mean Average Recall results.\n\n ![example_plot](\\\n https://media.roboflow.com/supervision-docs/metrics/mAR_plot_example.png\\\n ){ align=center width=\"800\" }\n \"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.precision:[256:281]\n==supervision.metrics.recall:[688:714]\n }\n\n if self.small_objects is not None:\n small_objects_df = self.small_objects.to_pandas()\n for key, value in small_objects_df.items():\n pandas_data[f\"small_objects_{key}\"] = value\n if self.medium_objects is not None:\n medium_objects_df = self.medium_objects.to_pandas()\n for key, value in medium_objects_df.items():\n pandas_data[f\"medium_objects_{key}\"] = value\n if self.large_objects is not None:\n large_objects_df = self.large_objects.to_pandas()\n for key, value in large_objects_df.items():\n pandas_data[f\"large_objects_{key}\"] = value\n\n return pd.DataFrame(pandas_data, index=[0])\n\n def plot(self) -> None:\n \"\"\"\n Plot the precision results.\n\n ![example_plot](\n https://media.roboflow.com/supervision-docs/metrics/precision_plot_example.png\n ){ align=center width=\"800\" }\n \"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[713:728]\n==supervision.metrics.mean_average_precision:[248:264]\n }\n\n if self.small_objects is not None:\n small_objects_df = self.small_objects.to_pandas()\n for key, value in small_objects_df.items():\n pandas_data[f\"small_objects_{key}\"] = value\n if self.medium_objects is not None:\n medium_objects_df = self.medium_objects.to_pandas()\n for key, value in medium_objects_df.items():\n pandas_data[f\"medium_objects_{key}\"] = value\n if self.large_objects is not None:\n large_objects_df = self.large_objects.to_pandas()\n for key, value in large_objects_df.items():\n pandas_data[f\"large_objects_{key}\"] = value\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[600:672]\n==supervision.metrics.mean_average_recall:[47:83]\n return self.size_results\n\n @property\n def small_objects(self) -> F1ScoreResult | None:\n if self.size_results is None:\n return None\n return self.size_results.small_objects\n\n @small_objects.setter\n def small_objects(self, value: F1ScoreResult | None) -> None:\n self._ensure_size_results().small_objects = value\n\n @property\n def medium_objects(self) -> F1ScoreResult | None:\n if self.size_results is None:\n return None\n return self.size_results.medium_objects\n\n @medium_objects.setter\n def medium_objects(self, value: F1ScoreResult | None) -> None:\n self._ensure_size_results().medium_objects = value\n\n @property\n def large_objects(self) -> F1ScoreResult | None:\n if self.size_results is None:\n return None\n return self.size_results.large_objects\n\n @large_objects.setter\n def large_objects(self, value: F1ScoreResult | None) -> None:\n self._ensure_size_results().large_objects = value\n\n def __str__(self) -> str:\n \"\"\"\n Format as a pretty string.\n\n Example:\n ```pycon\n >>> import numpy as np\n >>> import supervision as sv\n >>> from supervision.metrics import F1Score\n >>> predictions = sv.Detections(\n ... xyxy=np.array([[0, 0, 10, 10]]),\n ... class_id=np.array([0]),\n ... confidence=np.array([0.9])\n ... )\n >>> targets = sv.Detections(\n ... xyxy=np.array([[0, 0, 10, 10]]),\n ... class_id=np.array([0])\n ... )\n >>> f1_metric = F1Score()\n >>> f1_result = f1_metric.update(predictions, targets).compute()\n >>> print(f1_result) # doctest: +ELLIPSIS\n F1ScoreResult:\n Metric target: MetricTarget.BOXES\n Averaging method: AveragingMethod.WEIGHTED\n F1 @ 50: 1.0000\n F1 @ 75: 1.0000\n F1 @ thresh: [1. ... 1.]\n IoU thresh: [0.5 0.55 ... 0.95]\n F1 per class:\n 0: [1. ... 1.]\n ...\n Medium objects:\n F1ScoreResult:\n Metric target: MetricTarget.BOXES\n Averaging method: AveragingMethod.WEIGHTED\n F1 @ 50: 0.0000\n ...\n\n ```\n \"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[687:711]\n==supervision.metrics.mean_average_recall:[227:251]\n indent = \" \"\n if self.small_objects is not None:\n indented = indent + str(self.small_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nSmall objects:\\n{indented}\"\n if self.medium_objects is not None:\n indented = indent + str(self.medium_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nMedium objects:\\n{indented}\"\n if self.large_objects is not None:\n indented = indent + str(self.large_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nLarge objects:\\n{indented}\"\n\n return out_str\n\n def to_pandas(self) -> pd.DataFrame:\n \"\"\"\n Convert the result to a pandas DataFrame.\n\n Returns:\n The result as a DataFrame.\n \"\"\"\n ensure_pandas_installed()\n import pandas as pd\n\n pandas_data = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[250:287]\n==supervision.metrics.precision:[567:604]\n )\n\n def _compute_precision_for_classes(\n self,\n matches: npt.NDArray[np.bool_],\n prediction_confidence: npt.NDArray[np.float32],\n prediction_class_ids: npt.NDArray[np.int32],\n true_class_ids: npt.NDArray[np.int32],\n ) -> tuple[\n npt.NDArray[np.float64],\n npt.NDArray[np.float64],\n npt.NDArray[np.int32],\n ]:\n \"\"\"Compute precision scores from concatenated stats across all images.\n\n ``unique_classes`` is the union of GT and predicted classes so that\n predictions of classes absent from GT still count as false positives.\n \"\"\"\n sorted_indices = np.argsort(-prediction_confidence)\n matches = matches[sorted_indices]\n prediction_class_ids = prediction_class_ids[sorted_indices]\n # Predictions whose class never appears in the ground truth are still\n # false positives, so include those classes in the confusion matrix\n # (their true-instance count is zero).\n unique_classes = np.unique(\n np.concatenate((true_class_ids, prediction_class_ids))\n )\n true_classes, true_counts = np.unique(true_class_ids, return_counts=True)\n class_counts = np.zeros(unique_classes.shape[0], dtype=int)\n class_counts[np.searchsorted(unique_classes, true_classes)] = true_counts\n\n # Shape: PxTh,P,C,C -> CxThx3\n confusion_matrix = self._compute_confusion_matrix(\n matches, prediction_class_ids, unique_classes, class_counts\n )\n\n # Shape: CxThx3 -> CxTh", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.precision:[230:254]\n==supervision.metrics.recall:[662:686]\n indent = \" \"\n if self.small_objects is not None:\n indented = indent + str(self.small_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nSmall objects:\\n{indented}\"\n if self.medium_objects is not None:\n indented = indent + str(self.medium_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nMedium objects:\\n{indented}\"\n if self.large_objects is not None:\n indented = indent + str(self.large_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nLarge objects:\\n{indented}\"\n\n return out_str\n\n def to_pandas(self) -> pd.DataFrame:\n \"\"\"\n Convert the result to a pandas DataFrame.\n\n Returns:\n The result as a DataFrame.\n \"\"\"\n ensure_pandas_installed()\n import pandas as pd\n\n pandas_data = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.detection.utils.iou_and_nms:[39:53]\n==supervision.detection.vlm:[58:72]\n if isinstance(value, cls):\n return value\n if isinstance(value, str):\n value = value.lower()\n try:\n return cls(value)\n except ValueError:\n raise ValueError(f\"Invalid value: {value}. Must be one of {cls.list()}\")\n raise ValueError(\n f\"Invalid value type: {type(value)}. Must be an instance of \"\n f\"{cls.__name__} or str.\"\n )\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[389:417]\n==supervision.metrics.mean_average_recall:[678:707]\n false_negatives = num_true - true_positives\n\n confusion_matrix[class_idx] = np.stack(\n [true_positives, false_positives, false_negatives], axis=1\n )\n\n result_confusion_matrix: npt.NDArray[np.float64] = confusion_matrix\n return result_confusion_matrix\n\n @staticmethod\n def _compute_recall(\n confusion_matrix: npt.NDArray[np.float64],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Broadcastable function, computing the recall from the confusion matrix.\n\n Args:\n confusion_matrix: shape (N, ..., 3), where the last dimension\n contains the true positives, false positives, and false negatives.\n\n Returns:\n shape (N, ...), containing the recall for each element.\n \"\"\"\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.detection:[1076:1090]\n==supervision.metrics.f1_score:[321:336]\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[88:117]\n==supervision.metrics.mean_average_precision:[1468:1497]\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> MeanAveragePrecision:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The ground-truth detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.detection.tools.csv_sink:[115:169]\n==supervision.detection.tools.json_sink:[118:172]\n self.file.close()\n\n @staticmethod\n def _slice_value(value: Any, i: int, n: int) -> Any:\n \"\"\"\n Return the i-th element when the value stores per-detection data.\n\n Dispatch rules:\n - np.ndarray with ndim == 0: return as-is for broadcasting\n - np.ndarray with ndim >= 1: return value[i]\n - list or tuple with len equal to n: return value[i]\n - any other type: return as-is for broadcasting\n\n Args:\n value: Custom-data field value.\n i: Zero-based detection index.\n n: Total number of detections.\n\n Returns:\n Element at position i if value is a per-detection sequence,\n otherwise value unchanged.\n \"\"\"\n if isinstance(value, np.ndarray):\n return value if value.ndim == 0 else value[i]\n if isinstance(value, (list, tuple)) and len(value) == n:\n return value[i]\n return value\n\n @staticmethod\n def parse_detection_data(\n detections: Detections, custom_data: dict[str, Any] | None = None\n ) -> list[dict[str, Any]]:\n \"\"\"\n Convert detections and optional custom data into per-detection rows.\n\n Builds one dictionary per detection containing bounding box coordinates,\n detection attributes, and any values from ``detections.data`` or\n ``custom_data``. List and tuple values in ``custom_data`` with length\n equal to ``len(detections.xyxy)`` are sliced one element per row; all\n other values are broadcast to every row.\n\n Args:\n detections: Detection data to serialize into row dictionaries.\n custom_data: Optional extra fields to include in each row.\n\n Returns:\n A list of dictionaries, one per detection, containing ``xyxy``\n coordinates, ``class_id``, ``confidence``, ``tracker_id``, and any\n values from ``detections.data`` or ``custom_data``.\n \"\"\"\n parsed_rows = []\n n = len(detections.xyxy)\n for i in range(n):\n row = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.dataset.formats.pascal_voc:[158:167]\n==supervision.dataset.formats.yolo:[397:406]\n if mask is not None:\n polygons = approximate_mask_with_polygons(\n mask=mask,\n min_image_area_percentage=min_image_area_percentage,\n max_image_area_percentage=max_image_area_percentage,\n approximation_percentage=approximation_percentage,\n )\n for polygon in polygons:\n xyxy = polygon_to_xyxy(polygon=polygon)", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[578:588]\n==supervision.metrics.mean_average_recall:[141:151]\n self.iou_thresholds = iou_thresholds\n self.matched_classes = matched_classes\n\n if size_results is not None:\n self.size_results = size_results\n elif (\n small_objects is not None\n or medium_objects is not None\n or large_objects is not None\n ):", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.detection.utils.iou_and_nms:[79:128]\n==supervision.detection.vlm:[62:72]\n try:\n return cls(value)\n except ValueError:\n raise ValueError(f\"Invalid value: {value}. Must be one of {cls.list()}\")\n raise ValueError(\n f\"Invalid value type: {type(value)}. Must be an instance of \"\n f\"{cls.__name__} or str.\"\n )\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_precision:[87:96]\n==supervision.metrics.precision:[96:105]\n self.iou_thresholds = iou_thresholds\n self.matched_classes = matched_classes\n self._size_results = None\n\n if (\n small_objects is not None\n or medium_objects is not None\n or large_objects is not None\n ):", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[701:710]\n==supervision.metrics.recall:[506:515]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]\n false_negatives = confusion_matrix[..., 2]\n\n denominator = true_positives + false_negatives", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.annotators.core:[1571:1578]\n==supervision.draw.utils:[152:159]\n thickness=-1,\n )\n for center in circle_centers:\n cv2.circle(\n img=scene,\n center=center,\n radius=border_radius,", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[411:418]\n==supervision.metrics.precision:[728:736]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]\n false_positives = confusion_matrix[..., 1]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[589:598]\n==supervision.metrics.recall:[112:121]\n small_objects=small_objects,\n medium_objects=medium_objects,\n large_objects=large_objects,\n )\n else:\n self.size_results = None\n\n def _ensure_size_results(self) -> RecallSizeResults:\n if self.size_results is None:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_precision:[137:153]\n==supervision.metrics.precision:[135:151]\n self._size_results.small_objects = value\n\n @property\n def medium_objects(self) -> PrecisionResult | None:\n \"\"\"The precision results for medium objects.\"\"\"\n if self._size_results is None:\n return None\n\n return self._size_results.medium_objects\n\n @medium_objects.setter\n def medium_objects(self, value: PrecisionResult | None) -> None:\n if self._size_results is None and value is None:\n return\n\n if self._size_results is None:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_precision:[155:171]\n==supervision.metrics.precision:[153:169]\n self._size_results.medium_objects = value\n\n @property\n def large_objects(self) -> PrecisionResult | None:\n \"\"\"The precision results for large objects.\"\"\"\n if self._size_results is None:\n return None\n\n return self._size_results.large_objects\n\n @large_objects.setter\n def large_objects(self, value: PrecisionResult | None) -> None:\n if self._size_results is None and value is None:\n return\n\n if self._size_results is None:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[533:541]\n==supervision.metrics.precision:[545:553]\n iou_thresholds=iou_thresholds,\n matched_classes=np.array([], dtype=int),\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n concatenated_stats = [np.concatenate(items, 0) for items in zip(*stats)]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.annotators.utils:[99:105]\n==supervision.key_points.annotators:[921:935]\n return (\n center_x - text_w // 2,\n center_y - text_h // 2,\n center_x + text_w // 2,\n center_y + text_h // 2,\n )", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.dataset.formats.coco:[241:249]\n==supervision.dataset.formats.pascal_voc:[159:165]\n polygons = approximate_mask_with_polygons(\n mask=mask,\n min_image_area_percentage=min_image_area_percentage,\n max_image_area_percentage=max_image_area_percentage,\n approximation_percentage=approximation_percentage,\n )\n # Small/noisy masks can be filtered out by approximation settings.\n # Guard against empty output and keep a valid COCO annotation record.", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[589:597]\n==supervision.metrics.mean_average_recall:[152:161]\n small_objects=small_objects,\n medium_objects=medium_objects,\n large_objects=large_objects,\n )\n else:\n self.size_results = None\n\n @property\n def mAR_at_1(self) -> float:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[759:767]\n==supervision.metrics.precision:[301:309]\n colors += [LEGACY_COLOR_PALETTE[4]] * 2\n\n plt.rcParams[\"font.family\"] = \"monospace\"\n\n _, ax = plt.subplots(figsize=(10, 6))\n ax.set_ylim(0, 1)\n ax.set_ylabel(\"Value\", fontweight=\"bold\")\n title = (", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[411:417]\n==supervision.metrics.recall:[506:512]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_precision:[306:314]\n==supervision.metrics.mean_average_recall:[310:318]\n ]\n colors += [LEGACY_COLOR_PALETTE[4]] * 3\n\n plt.rcParams[\"font.family\"] = \"monospace\"\n\n _, ax = plt.subplots(figsize=(10, 6))\n ax.set_ylim(0, 1)\n ax.set_ylabel(\"Value\", fontweight=\"bold\")", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_precision:[124:135]\n==supervision.metrics.precision:[122:133]\n if self._size_results is None:\n return None\n\n return self._size_results.small_objects\n\n @small_objects.setter\n def small_objects(self, value: PrecisionResult | None) -> None:\n if self._size_results is None and value is None:\n return\n\n if self._size_results is None:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[550:568]\n==supervision.metrics.precision:[562:585]\n iou_thresholds=iou_thresholds,\n matched_classes=unique_classes,\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n def _compute_average_recall_for_classes(\n self,\n matches: npt.NDArray[np.bool_],\n prediction_indices: npt.NDArray[np.int32],\n prediction_class_ids: npt.NDArray[np.int32],\n true_class_ids: npt.NDArray[np.int32],\n ) -> tuple[\n npt.NDArray[np.float64],\n npt.NDArray[np.float64],\n npt.NDArray[np.int32],\n ]:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[701:707]\n==supervision.metrics.precision:[728:734]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.precision:[562:591]\n==supervision.metrics.recall:[361:382]\n iou_thresholds=iou_thresholds,\n matched_classes=unique_classes,\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n def _compute_recall_for_classes(\n self,\n matches: npt.NDArray[np.bool_],\n prediction_confidence: npt.NDArray[np.float32],\n prediction_class_ids: npt.NDArray[np.int32],\n true_class_ids: npt.NDArray[np.int32],\n ) -> tuple[\n npt.NDArray[np.float64],\n npt.NDArray[np.float64],\n npt.NDArray[np.int32],\n ]:\n sorted_indices = np.argsort(-prediction_confidence)\n matches = matches[sorted_indices]\n prediction_class_ids = prediction_class_ids[sorted_indices]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[761:767]\n==supervision.metrics.mean_average_recall:[313:319]\n plt.rcParams[\"font.family\"] = \"monospace\"\n\n _, ax = plt.subplots(figsize=(10, 6))\n ax.set_ylim(0, 1)\n ax.set_ylabel(\"Value\", fontweight=\"bold\")\n title = (", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "cyclic-import", + "message": "Cyclic import (supervision -> supervision.detection.tools.polygon_zone)", + "message-id": "R0401" + } +] diff --git a/metrics-after-pylint/pylint_distribuicao_categorias_depois.json b/metrics-after-pylint/pylint_distribuicao_categorias_depois.json new file mode 100644 index 0000000000..b7303789ad --- /dev/null +++ b/metrics-after-pylint/pylint_distribuicao_categorias_depois.json @@ -0,0 +1,22 @@ +[ + { + "categoria": "convention", + "ocorrencias": 426, + "percentual": 38.59 + }, + { + "categoria": "refactor", + "ocorrencias": 298, + "percentual": 26.99 + }, + { + "categoria": "error", + "ocorrencias": 260, + "percentual": 23.55 + }, + { + "categoria": "warning", + "ocorrencias": 120, + "percentual": 10.87 + } +] \ No newline at end of file diff --git a/metrics-after-pylint/pylint_error_depois.json b/metrics-after-pylint/pylint_error_depois.json new file mode 100644 index 0000000000..f8fc63ab8a --- /dev/null +++ b/metrics-after-pylint/pylint_error_depois.json @@ -0,0 +1,3382 @@ +[ + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "", + "line": 81, + "column": 11, + "endLine": 81, + "endColumn": 35, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BoxAnnotator.annotate", + "line": 340, + "column": 12, + "endLine": 340, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "OrientedBoxAnnotator.annotate", + "line": 432, + "column": 12, + "endLine": 432, + "endColumn": 28, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'drawContours' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "MaskAnnotator.annotate", + "line": 578, + "column": 8, + "endLine": 578, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator.annotate", + "line": 757, + "column": 12, + "endLine": 757, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator.annotate", + "line": 765, + "column": 8, + "endLine": 765, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 859, + "column": 23, + "endLine": 859, + "endColumn": 31, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'blur' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 861, + "column": 15, + "endLine": 861, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 861, + "column": 42, + "endLine": 861, + "endColumn": 60, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2GRAY' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator.annotate", + "line": 958, + "column": 12, + "endLine": 958, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator.annotate", + "line": 967, + "column": 25, + "endLine": 967, + "endColumn": 35, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_4' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator.annotate", + "line": 1056, + "column": 16, + "endLine": 1056, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator.annotate", + "line": 1061, + "column": 16, + "endLine": 1061, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "CircleAnnotator.annotate", + "line": 1148, + "column": 12, + "endLine": 1148, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.annotate", + "line": 1250, + "column": 12, + "endLine": 1250, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.annotate", + "line": 1260, + "column": 16, + "endLine": 1260, + "endColumn": 26, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._get_label_properties", + "line": 1427, + "column": 35, + "endLine": 1427, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1510, + "column": 34, + "endLine": 1510, + "endColumn": 49, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1519, + "column": 30, + "endLine": 1519, + "endColumn": 45, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1529, + "column": 16, + "endLine": 1529, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1537, + "column": 29, + "endLine": 1537, + "endColumn": 40, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.draw_rounded_rectangle", + "line": 1567, + "column": 12, + "endLine": 1567, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.draw_rounded_rectangle", + "line": 1575, + "column": 12, + "endLine": 1575, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "IconAnnotator.annotate", + "line": 1953, + "column": 23, + "endLine": 1953, + "endColumn": 57, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for classmethod call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "IconAnnotator._load_icon", + "line": 1958, + "column": 15, + "endLine": 1958, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "IconAnnotator._load_icon", + "line": 1958, + "column": 37, + "endLine": 1958, + "endColumn": 57, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'IMREAD_UNCHANGED' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BlurAnnotator.annotate", + "line": 2041, + "column": 18, + "endLine": 2041, + "endColumn": 26, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'blur' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.annotate", + "line": 2182, + "column": 16, + "endLine": 2182, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'polylines' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2279, + "column": 12, + "endLine": 2279, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2293, + "column": 19, + "endLine": 2293, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'blur' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2296, + "column": 15, + "endLine": 2296, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2296, + "column": 33, + "endLine": 2296, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_HSV2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2297, + "column": 15, + "endLine": 2297, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2297, + "column": 61, + "endLine": 2297, + "endColumn": 79, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_GRAY2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2298, + "column": 22, + "endLine": 2298, + "endColumn": 37, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2378, + "column": 42, + "endLine": 2378, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'mean' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2381, + "column": 42, + "endLine": 2381, + "endColumn": 50, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'mean' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2384, + "column": 28, + "endLine": 2384, + "endColumn": 38, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2387, + "column": 30, + "endLine": 2387, + "endColumn": 40, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2390, + "column": 30, + "endLine": 2390, + "endColumn": 47, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_NEAREST' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.annotate", + "line": 2500, + "column": 12, + "endLine": 2500, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.annotate", + "line": 2510, + "column": 16, + "endLine": 2510, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'polylines' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2634, + "column": 16, + "endLine": 2634, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2645, + "column": 16, + "endLine": 2645, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.annotate", + "line": 2775, + "column": 12, + "endLine": 2775, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.annotate", + "line": 2785, + "column": 12, + "endLine": 2785, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2957, + "column": 20, + "endLine": 2957, + "endColumn": 85, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'image' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2966, + "column": 12, + "endLine": 2966, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "BackgroundOverlayAnnotator.annotate", + "line": 3089, + "column": 8, + "endLine": 3089, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator._draw_labels", + "line": 3344, + "column": 26, + "endLine": 3344, + "endColumn": 41, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.core", + "obj": "DetectionDataset._get_image", + "line": 105, + "column": 16, + "endLine": 105, + "endColumn": 26, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.core", + "obj": "ClassificationDataset._get_image", + "line": 770, + "column": 16, + "endLine": 770, + "endColumn": 26, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.core", + "obj": "ClassificationDataset.as_folder_structure", + "line": 919, + "column": 12, + "endLine": 919, + "endColumn": 23, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imwrite' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 134, + "column": 12, + "endLine": 134, + "endColumn": 23, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imwrite' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "load_pascal_voc_annotations", + "line": 223, + "column": 16, + "endLine": 223, + "endColumn": 26, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.dataset.formats.yolo", + "obj": "yolo_annotations_to_detections", + "line": 172, + "column": 19, + "endLine": 172, + "endColumn": 54, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for method call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.detection.compact_mask", + "obj": "_resize_crop", + "line": 381, + "column": 14, + "endLine": 381, + "endColumn": 24, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.compact_mask", + "obj": "_resize_crop", + "line": 384, + "column": 22, + "endLine": 384, + "endColumn": 39, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_NEAREST' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2785, + "column": 13, + "endLine": 2785, + "endColumn": 30, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'xyxy' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2787, + "column": 7, + "endLine": 2787, + "endColumn": 30, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2790, + "column": 15, + "endLine": 2790, + "endColumn": 38, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2795, + "column": 31, + "endLine": 2795, + "endColumn": 54, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2804, + "column": 7, + "endLine": 2804, + "endColumn": 24, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'mask' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2807, + "column": 36, + "endLine": 2807, + "endColumn": 53, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'mask' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2809, + "column": 7, + "endLine": 2809, + "endColumn": 30, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2811, + "column": 9, + "endLine": 2811, + "endColumn": 32, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'confidence' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detection_object_pair", + "line": 2816, + "column": 31, + "endLine": 2816, + "endColumn": 52, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.core' has no 'metadata' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detections_objects", + "line": 2843, + "column": 19, + "endLine": 2843, + "endColumn": 29, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unsubscriptable-object", + "message": "Value 'detections' is unsubscriptable", + "message-id": "E1136" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detections_objects", + "line": 2844, + "column": 24, + "endLine": 2844, + "endColumn": 34, + "path": "src\\supervision\\detection\\core.py", + "symbol": "unsubscriptable-object", + "message": "Value 'detections' is unsubscriptable", + "message-id": "E1136" + }, + { + "type": "error", + "module": "supervision.detection.core", + "obj": "merge_inner_detections_objects", + "line": 2853, + "column": 23, + "endLine": 2853, + "endColumn": 84, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for classmethod call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 455, + "column": 8, + "endLine": 455, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 461, + "column": 21, + "endLine": 461, + "endColumn": 32, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 464, + "column": 8, + "endLine": 464, + "endColumn": 18, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 470, + "column": 21, + "endLine": 470, + "endColumn": 32, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 472, + "column": 8, + "endLine": 472, + "endColumn": 18, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.annotate", + "line": 478, + "column": 21, + "endLine": 478, + "endColumn": 32, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_basic_label", + "line": 619, + "column": 25, + "endLine": 619, + "endColumn": 40, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_basic_label", + "line": 621, + "column": 12, + "endLine": 621, + "endColumn": 36, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_oriented_label", + "line": 679, + "column": 34, + "endLine": 679, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_oriented_label", + "line": 681, + "column": 12, + "endLine": 681, + "endColumn": 36, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._draw_oriented_label", + "line": 694, + "column": 16, + "endLine": 694, + "endColumn": 63, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for classmethod call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 727, + "column": 34, + "endLine": 727, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 728, + "column": 18, + "endLine": 728, + "endColumn": 42, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 761, + "column": 25, + "endLine": 761, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'flip' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 764, + "column": 26, + "endLine": 764, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getRotationMatrix2D' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 767, + "column": 21, + "endLine": 767, + "endColumn": 35, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'warpAffine' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 888, + "column": 38, + "endLine": 888, + "endColumn": 53, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 889, + "column": 22, + "endLine": 889, + "endColumn": 46, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 926, + "column": 29, + "endLine": 926, + "endColumn": 44, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 927, + "column": 22, + "endLine": 927, + "endColumn": 46, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 933, + "column": 12, + "endLine": 933, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 937, + "column": 25, + "endLine": 937, + "endColumn": 49, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 941, + "column": 25, + "endLine": 941, + "endColumn": 36, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_florence_2", + "line": 539, + "column": 19, + "endLine": 539, + "endColumn": 45, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for method call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "_parse_gemini_2_5_item", + "line": 636, + "column": 20, + "endLine": 640, + "endColumn": 5, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'resolution_wh' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_0", + "line": 823, + "column": 11, + "endLine": 827, + "endColumn": 5, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'resolution_wh' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "error", + "module": "supervision.detection.vlm", + "obj": "from_moondream", + "line": 982, + "column": 8, + "endLine": 985, + "endColumn": 9, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "redundant-keyword-arg", + "message": "Argument 'resolution_wh' passed by position and keyword in classmethod call", + "message-id": "E1124" + }, + { + "type": "error", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._warn_obb_sequential_fallback", + "line": 409, + "column": 13, + "endLine": 409, + "endColumn": 42, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "no-member", + "message": "Instance of 'InferenceSlicer' has no '_obb_thread_workers_lock' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._warn_obb_sequential_fallback", + "line": 410, + "column": 15, + "endLine": 410, + "endColumn": 46, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "no-member", + "message": "Instance of 'InferenceSlicer' has no '_obb_thread_workers_warned' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._warn_obb_sequential_fallback", + "line": 413, + "column": 12, + "endLine": 413, + "endColumn": 43, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "assigning-non-slot", + "message": "Assigning to attribute '_obb_thread_workers_warned' not defined in class slots", + "message-id": "E0237" + }, + { + "type": "error", + "module": "supervision.detection.tools.polygon_zone", + "obj": "", + "line": 18, + "column": 11, + "endLine": 18, + "endColumn": 35, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.boxes", + "obj": "denormalize_boxes", + "line": 156, + "column": 13, + "endLine": 156, + "endColumn": 22, + "path": "src\\supervision\\detection\\utils\\boxes.py", + "symbol": "no-member", + "message": "Module 'supervision.detection.utils.boxes' has no 'copy' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "polygon_to_mask", + "line": 48, + "column": 4, + "endLine": 48, + "endColumn": 16, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "mask_to_polygons", + "line": 322, + "column": 18, + "endLine": 322, + "endColumn": 34, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'findContours' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "mask_to_polygons", + "line": 323, + "column": 31, + "endLine": 323, + "endColumn": 44, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'RETR_TREE' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.converters", + "obj": "mask_to_polygons", + "line": 323, + "column": 46, + "endLine": 323, + "endColumn": 69, + "path": "src\\supervision\\detection\\utils\\converters.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CHAIN_APPROX_SIMPLE' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.internal", + "obj": "extract_ultralytics_masks", + "line": 47, + "column": 19, + "endLine": 47, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.internal", + "obj": "_decode_rle_mask", + "line": 66, + "column": 19, + "endLine": 66, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.internal", + "obj": "_decode_rle_mask", + "line": 69, + "column": 30, + "endLine": 69, + "endColumn": 47, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_NEAREST' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_iou_batch", + "line": 553, + "column": 26, + "endLine": 553, + "endColumn": 51, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'intersectConvexConvex' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_holes", + "line": 191, + "column": 19, + "endLine": 191, + "endColumn": 35, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'findContours' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_holes", + "line": 191, + "column": 48, + "endLine": 191, + "endColumn": 62, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'RETR_CCOMP' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_holes", + "line": 191, + "column": 64, + "endLine": 191, + "endColumn": 87, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CHAIN_APPROX_SIMPLE' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "contains_multiple_segments", + "line": 257, + "column": 26, + "endLine": 257, + "endColumn": 49, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'connectedComponents' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "_filter_labels_by_edge_distance", + "line": 329, + "column": 25, + "endLine": 329, + "endColumn": 46, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'distanceTransform' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "_filter_labels_by_edge_distance", + "line": 329, + "column": 56, + "endLine": 329, + "endColumn": 67, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'DIST_L2' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 437, + "column": 43, + "endLine": 437, + "endColumn": 75, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'connectedComponentsWithStats' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 444, + "column": 22, + "endLine": 444, + "endColumn": 38, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CC_STAT_AREA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.polygons", + "obj": "filter_polygons_by_area", + "line": 35, + "column": 12, + "endLine": 35, + "endColumn": 27, + "path": "src\\supervision\\detection\\utils\\polygons.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'contourArea' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.detection.utils.polygons", + "obj": "approximate_polygon", + "line": 109, + "column": 31, + "endLine": 109, + "endColumn": 47, + "path": "src\\supervision\\detection\\utils\\polygons.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'approxPolyDP' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.WHITE", + "line": 356, + "column": 4, + "endLine": 356, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'WHITE' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.BLACK", + "line": 360, + "column": 4, + "endLine": 360, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'BLACK' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.GREY", + "line": 364, + "column": 4, + "endLine": 364, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'GREY' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.RED", + "line": 368, + "column": 4, + "endLine": 368, + "endColumn": 11, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'RED' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.GREEN", + "line": 372, + "column": 4, + "endLine": 372, + "endColumn": 13, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'GREEN' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.BLUE", + "line": 376, + "column": 4, + "endLine": 376, + "endColumn": 12, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'BLUE' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.YELLOW", + "line": 380, + "column": 4, + "endLine": 380, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'YELLOW' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "Color.ROBOFLOW", + "line": 384, + "column": 4, + "endLine": 384, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'ROBOFLOW' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "ColorPalette.DEFAULT", + "line": 410, + "column": 4, + "endLine": 410, + "endColumn": 15, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'DEFAULT' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "ColorPalette.ROBOFLOW", + "line": 431, + "column": 4, + "endLine": 431, + "endColumn": 16, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'ROBOFLOW' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.color", + "obj": "ColorPalette.LEGACY", + "line": 452, + "column": 4, + "endLine": 452, + "endColumn": 14, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-self-argument", + "message": "Method 'LEGACY' should have \"self\" as first argument", + "message-id": "E0213" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_line", + "line": 34, + "column": 4, + "endLine": 34, + "endColumn": 12, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_rectangle", + "line": 62, + "column": 4, + "endLine": 62, + "endColumn": 17, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_rectangle", + "line": 91, + "column": 8, + "endLine": 91, + "endColumn": 21, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_rectangle", + "line": 100, + "column": 8, + "endLine": 100, + "endColumn": 21, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_rectangle", + "line": 107, + "column": 8, + "endLine": 107, + "endColumn": 23, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_rounded_rectangle", + "line": 148, + "column": 8, + "endLine": 148, + "endColumn": 21, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'rectangle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_rounded_rectangle", + "line": 156, + "column": 8, + "endLine": 156, + "endColumn": 18, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_polygon", + "line": 183, + "column": 4, + "endLine": 183, + "endColumn": 17, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'polylines' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_polygon", + "line": 207, + "column": 8, + "endLine": 207, + "endColumn": 20, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_polygon", + "line": 210, + "column": 8, + "endLine": 210, + "endColumn": 20, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'fillPoly' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_filled_polygon", + "line": 211, + "column": 8, + "endLine": 211, + "endColumn": 23, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 226, + "column": 21, + "endLine": 226, + "endColumn": 45, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 267, + "column": 30, + "endLine": 267, + "endColumn": 45, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 288, + "column": 4, + "endLine": 288, + "endColumn": 15, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 296, + "column": 17, + "endLine": 296, + "endColumn": 28, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 328, + "column": 16, + "endLine": 328, + "endColumn": 26, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imread' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 328, + "column": 34, + "endLine": 328, + "endColumn": 54, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'IMREAD_UNCHANGED' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 348, + "column": 12, + "endLine": 348, + "endColumn": 22, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 355, + "column": 19, + "endLine": 355, + "endColumn": 38, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'convertScaleAbs' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.draw.utils", + "obj": "draw_image", + "line": 360, + "column": 18, + "endLine": 360, + "endColumn": 37, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'convertScaleAbs' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexAnnotator.annotate", + "line": 100, + "column": 16, + "endLine": 100, + "endColumn": 26, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'circle' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "EdgeAnnotator.annotate", + "line": 250, + "column": 16, + "endLine": 250, + "endColumn": 24, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'line' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator.annotate", + "line": 455, + "column": 16, + "endLine": 455, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator.annotate", + "line": 464, + "column": 29, + "endLine": 464, + "endColumn": 40, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator.annotate", + "line": 467, + "column": 8, + "endLine": 467, + "endColumn": 23, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseOutlineAnnotator.annotate", + "line": 553, + "column": 16, + "endLine": 553, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'ellipse' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseOutlineAnnotator.annotate", + "line": 562, + "column": 29, + "endLine": 562, + "endColumn": 40, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 828, + "column": 15, + "endLine": 828, + "endColumn": 39, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 894, + "column": 12, + "endLine": 894, + "endColumn": 23, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'putText' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 902, + "column": 25, + "endLine": 902, + "endColumn": 36, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'LINE_AA' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.get_text_bounding_box", + "line": 915, + "column": 25, + "endLine": 915, + "endColumn": 40, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'getTextSize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_mediapipe", + "line": 573, + "column": 15, + "endLine": 573, + "endColumn": 22, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'results' before assignment", + "message-id": "E0606" + }, + { + "type": "error", + "module": "supervision.metrics.f1_score", + "obj": "F1Score._compute_f1_for_classes", + "line": 306, + "column": 15, + "endLine": 306, + "endColumn": 24, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'f1_scores' before assignment", + "message-id": "E0606" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1156, + "column": 8, + "endLine": 1156, + "endColumn": 12, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'self'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1157, + "column": 22, + "endLine": 1157, + "endColumn": 26, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'self'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1159, + "column": 16, + "endLine": 1159, + "endColumn": 34, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'num_iou_thresholds'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1160, + "column": 16, + "endLine": 1160, + "endColumn": 37, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'num_recall_thresholds'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1161, + "column": 16, + "endLine": 1161, + "endColumn": 30, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'num_categories'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1162, + "column": 16, + "endLine": 1162, + "endColumn": 31, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'num_area_ranges'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1163, + "column": 16, + "endLine": 1163, + "endColumn": 34, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'num_max_detections'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1166, + "column": 25, + "endLine": 1166, + "endColumn": 34, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'precision'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1167, + "column": 22, + "endLine": 1167, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'recall'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1168, + "column": 22, + "endLine": 1168, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'scores'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.metrics.precision", + "obj": "Precision._compute_precision_for_classes", + "line": 625, + "column": 15, + "endLine": 625, + "endColumn": 31, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'precision_scores' before assignment", + "message-id": "E0606" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall._compute_recall_for_classes", + "line": 403, + "column": 15, + "endLine": 403, + "endColumn": 28, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "possibly-used-before-assignment", + "message": "Possibly using variable 'recall_scores' before assignment", + "message-id": "E0606" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 648, + "column": 33, + "endLine": 648, + "endColumn": 51, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'metric_target' member; maybe '_metric_target'?", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 650, + "column": 27, + "endLine": 650, + "endColumn": 44, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_at_50' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 651, + "column": 27, + "endLine": 651, + "endColumn": 44, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_at_75' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 652, + "column": 27, + "endLine": 652, + "endColumn": 45, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_scores' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 653, + "column": 27, + "endLine": 653, + "endColumn": 46, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'iou_thresholds' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 656, + "column": 11, + "endLine": 656, + "endColumn": 32, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_per_class' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 659, + "column": 12, + "endLine": 659, + "endColumn": 32, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'matched_classes' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 659, + "column": 34, + "endLine": 659, + "endColumn": 55, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_per_class' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 664, + "column": 11, + "endLine": 664, + "endColumn": 29, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'small_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 665, + "column": 36, + "endLine": 665, + "endColumn": 54, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'small_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 667, + "column": 11, + "endLine": 667, + "endColumn": 30, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'medium_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 668, + "column": 36, + "endLine": 668, + "endColumn": 55, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'medium_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 670, + "column": 11, + "endLine": 670, + "endColumn": 29, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'large_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.__str__", + "line": 671, + "column": 36, + "endLine": 671, + "endColumn": 54, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'large_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 687, + "column": 20, + "endLine": 687, + "endColumn": 37, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_at_50' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 688, + "column": 20, + "endLine": 688, + "endColumn": 37, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_at_75' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 691, + "column": 11, + "endLine": 691, + "endColumn": 29, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'small_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 692, + "column": 31, + "endLine": 692, + "endColumn": 49, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'small_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 695, + "column": 11, + "endLine": 695, + "endColumn": 30, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'medium_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 696, + "column": 32, + "endLine": 696, + "endColumn": 51, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'medium_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 699, + "column": 11, + "endLine": 699, + "endColumn": 29, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'large_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.to_pandas", + "line": 700, + "column": 31, + "endLine": 700, + "endColumn": 49, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'large_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 716, + "column": 18, + "endLine": 716, + "endColumn": 35, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_at_50' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 716, + "column": 37, + "endLine": 716, + "endColumn": 54, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'recall_at_75' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 719, + "column": 11, + "endLine": 719, + "endColumn": 29, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'small_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 720, + "column": 28, + "endLine": 720, + "endColumn": 46, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'small_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 725, + "column": 11, + "endLine": 725, + "endColumn": 30, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'medium_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 726, + "column": 29, + "endLine": 726, + "endColumn": 48, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'medium_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 731, + "column": 11, + "endLine": 731, + "endColumn": 29, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'large_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 732, + "column": 28, + "endLine": 732, + "endColumn": 46, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'large_objects' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.metrics.recall", + "obj": "Recall.plot", + "line": 744, + "column": 26, + "endLine": 744, + "endColumn": 44, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "no-member", + "message": "Instance of 'Recall' has no 'metric_target' member; maybe '_metric_target'?", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 220, + "column": 42, + "endLine": 220, + "endColumn": 60, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'shared_kalman' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 274, + "column": 29, + "endLine": 274, + "endColumn": 60, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'track_activation_threshold' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 286, + "column": 16, + "endLine": 286, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'unconfirmed'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 288, + "column": 16, + "endLine": 288, + "endColumn": 31, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'tracked_stracks'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 291, + "column": 35, + "endLine": 291, + "endColumn": 50, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'tracked_stracks'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._build_stracks", + "line": 300, + "column": 12, + "endLine": 307, + "endColumn": 13, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-function-args", + "message": "Too many positional arguments for constructor call", + "message-id": "E1121" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._build_stracks", + "line": 303, + "column": 16, + "endLine": 303, + "endColumn": 47, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'minimum_consecutive_frames' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._build_stracks", + "line": 304, + "column": 16, + "endLine": 304, + "endColumn": 34, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'shared_kalman' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._build_stracks", + "line": 305, + "column": 16, + "endLine": 305, + "endColumn": 40, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'internal_id_counter' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._build_stracks", + "line": 306, + "column": 16, + "endLine": 306, + "endColumn": 40, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'external_id_counter' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._remove_stale_lost_tracks", + "line": 421, + "column": 48, + "endLine": 421, + "endColumn": 66, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-member", + "message": "Instance of 'ByteTrack' has no 'max_time_lost' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._remove_stale_lost_tracks", + "line": 430, + "column": 39, + "endLine": 430, + "endColumn": 56, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'activated_starcks'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._remove_stale_lost_tracks", + "line": 433, + "column": 39, + "endLine": 433, + "endColumn": 53, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'refind_stracks'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._remove_stale_lost_tracks", + "line": 438, + "column": 38, + "endLine": 438, + "endColumn": 50, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'lost_stracks'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._remove_stale_lost_tracks", + "line": 442, + "column": 36, + "endLine": 442, + "endColumn": 51, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "undefined-variable", + "message": "Undefined variable 'removed_stracks'", + "message-id": "E0602" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "pillow_to_cv2", + "line": 160, + "column": 12, + "endLine": 160, + "endColumn": 24, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "pillow_to_cv2", + "line": 160, + "column": 32, + "endLine": 160, + "endColumn": 49, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_RGB2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "cv2_to_pillow", + "line": 177, + "column": 12, + "endLine": 177, + "endColumn": 24, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.conversion", + "obj": "cv2_to_pillow", + "line": 177, + "column": 32, + "endLine": 177, + "endColumn": 49, + "path": "src\\supervision\\utils\\conversion.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2RGB' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "scale_image", + "line": 142, + "column": 11, + "endLine": 142, + "endColumn": 21, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "scale_image", + "line": 142, + "column": 68, + "endLine": 142, + "endColumn": 84, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_LINEAR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "resize_image", + "line": 206, + "column": 11, + "endLine": 206, + "endColumn": 21, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'resize' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "resize_image", + "line": 206, + "column": 68, + "endLine": 206, + "endColumn": 84, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'INTER_LINEAR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "letterbox_image", + "line": 265, + "column": 25, + "endLine": 265, + "endColumn": 43, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'copyMakeBorder' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "letterbox_image", + "line": 271, + "column": 8, + "endLine": 271, + "endColumn": 27, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'BORDER_CONSTANT' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 317, + "column": 32, + "endLine": 317, + "endColumn": 43, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'supervision.utils.image' has no 'shape' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 338, + "column": 25, + "endLine": 338, + "endColumn": 34, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'split' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 342, + "column": 24, + "endLine": 342, + "endColumn": 33, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'merge' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 344, + "column": 14, + "endLine": 344, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "unsubscriptable-object", + "message": "Value 'image' is unsubscriptable", + "message-id": "E1136" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 346, + "column": 8, + "endLine": 346, + "endColumn": 13, + "path": "src\\supervision\\utils\\image.py", + "symbol": "unsupported-assignment-operation", + "message": "'image' does not support item assignment", + "message-id": "E1137" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 348, + "column": 8, + "endLine": 348, + "endColumn": 13, + "path": "src\\supervision\\utils\\image.py", + "symbol": "unsupported-assignment-operation", + "message": "'image' does not support item assignment", + "message-id": "E1137" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "tint_image", + "line": 397, + "column": 4, + "endLine": 397, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'addWeighted' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 430, + "column": 17, + "endLine": 430, + "endColumn": 29, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 430, + "column": 37, + "endLine": 430, + "endColumn": 55, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2GRAY' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 431, + "column": 11, + "endLine": 431, + "endColumn": 23, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "grayscale_image", + "line": 431, + "column": 36, + "endLine": 431, + "endColumn": 54, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_GRAY2BGR' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "ImageSink.save_image", + "line": 548, + "column": 8, + "endLine": 548, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'imwrite' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 580, + "column": 28, + "endLine": 580, + "endColumn": 52, + "path": "src\\supervision\\utils\\image.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'FONT_HERSHEY_SIMPLEX' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_image", + "line": 44, + "column": 19, + "endLine": 44, + "endColumn": 31, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_image", + "line": 44, + "column": 39, + "endLine": 44, + "endColumn": 56, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2RGB' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_images_grid", + "line": 111, + "column": 26, + "endLine": 111, + "endColumn": 38, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'cvtColor' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.notebook", + "obj": "plot_images_grid", + "line": 111, + "column": 52, + "endLine": 111, + "endColumn": 69, + "path": "src\\supervision\\utils\\notebook.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'COLOR_BGR2RGB' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 60, + "column": 16, + "endLine": 60, + "endColumn": 32, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoCapture' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 64, + "column": 30, + "endLine": 64, + "endColumn": 54, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_WIDTH' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 65, + "column": 31, + "endLine": 65, + "endColumn": 56, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_HEIGHT' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 66, + "column": 30, + "endLine": 66, + "endColumn": 46, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FPS' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 67, + "column": 37, + "endLine": 67, + "endColumn": 61, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_COUNT' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 107, + "column": 28, + "endLine": 107, + "endColumn": 50, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoWriter_fourcc' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 110, + "column": 28, + "endLine": 110, + "endColumn": 50, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoWriter_fourcc' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 111, + "column": 24, + "endLine": 111, + "endColumn": 39, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoWriter' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 210, + "column": 12, + "endLine": 210, + "endColumn": 28, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'VideoCapture' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 213, + "column": 33, + "endLine": 213, + "endColumn": 57, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_FRAME_COUNT' member", + "message-id": "E1101" + }, + { + "type": "error", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 226, + "column": 18, + "endLine": 226, + "endColumn": 41, + "path": "src\\supervision\\utils\\video.py", + "symbol": "no-member", + "message": "Module 'cv2' has no 'CAP_PROP_POS_FRAMES' member", + "message-id": "E1101" + } +] \ No newline at end of file diff --git a/metrics-after-pylint/pylint_fatal_depois.json b/metrics-after-pylint/pylint_fatal_depois.json new file mode 100644 index 0000000000..0637a088a0 --- /dev/null +++ b/metrics-after-pylint/pylint_fatal_depois.json @@ -0,0 +1 @@ +[] \ No newline at end of file diff --git a/metrics-after-pylint/pylint_ranking_smells_depois.json b/metrics-after-pylint/pylint_ranking_smells_depois.json new file mode 100644 index 0000000000..ba67a1910e --- /dev/null +++ b/metrics-after-pylint/pylint_ranking_smells_depois.json @@ -0,0 +1,74 @@ +[ + { + "simbolo": "too-many-locals", + "ocorrencias": 67 + }, + { + "simbolo": "duplicate-code", + "ocorrencias": 52 + }, + { + "simbolo": "too-many-arguments", + "ocorrencias": 42 + }, + { + "simbolo": "too-many-positional-arguments", + "ocorrencias": 37 + }, + { + "simbolo": "too-few-public-methods", + "ocorrencias": 34 + }, + { + "simbolo": "no-else-return", + "ocorrencias": 13 + }, + { + "simbolo": "too-many-instance-attributes", + "ocorrencias": 11 + }, + { + "simbolo": "use-dict-literal", + "ocorrencias": 11 + }, + { + "simbolo": "too-many-return-statements", + "ocorrencias": 6 + }, + { + "simbolo": "consider-using-in", + "ocorrencias": 4 + }, + { + "simbolo": "use-a-generator", + "ocorrencias": 4 + }, + { + "simbolo": "no-else-raise", + "ocorrencias": 4 + }, + { + "simbolo": "inconsistent-return-statements", + "ocorrencias": 3 + }, + { + "simbolo": "unnecessary-comprehension", + "ocorrencias": 3 + }, + { + "simbolo": "too-many-public-methods", + "ocorrencias": 2 + }, + { + "simbolo": "consider-using-with", + "ocorrencias": 2 + }, + { + "simbolo": "too-many-nested-blocks", + "ocorrencias": 2 + }, + { + "simbolo": "cyclic-import", + "ocorrencias": 1 + } +] \ No newline at end of file diff --git a/metrics-after-pylint/pylint_refactor_depois.json b/metrics-after-pylint/pylint_refactor_depois.json new file mode 100644 index 0000000000..1aecd11c7e --- /dev/null +++ b/metrics-after-pylint/pylint_refactor_depois.json @@ -0,0 +1,3876 @@ +[ + { + "type": "refactor", + "module": "supervision.annotators.base", + "obj": "BaseAnnotator", + "line": 7, + "column": 0, + "endLine": 7, + "endColumn": 19, + "path": "src\\supervision\\annotators\\base.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_LabelAnnotatorConfig", + "line": 85, + "column": 0, + "endLine": 85, + "endColumn": 27, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.__init__", + "line": 102, + "column": 4, + "endLine": 102, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_BaseLabelAnnotator.__init__", + "line": 102, + "column": 4, + "endLine": 102, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BoxAnnotator", + "line": 263, + "column": 0, + "endLine": 263, + "endColumn": 18, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "OrientedBoxAnnotator", + "line": 350, + "column": 0, + "endLine": 350, + "endColumn": 26, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_paint_masks_by_area", + "line": 438, + "column": 0, + "endLine": 438, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "MaskAnnotator", + "line": 496, + "column": 0, + "endLine": 496, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PolygonAnnotator", + "line": 584, + "column": 0, + "endLine": 584, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator", + "line": 679, + "column": 0, + "endLine": 679, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator", + "line": 771, + "column": 0, + "endLine": 771, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator", + "line": 873, + "column": 0, + "endLine": 873, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator", + "line": 972, + "column": 0, + "endLine": 972, + "endColumn": 24, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CircleAnnotator", + "line": 1067, + "column": 0, + "endLine": 1067, + "endColumn": 21, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.__init__", + "line": 1165, + "column": 4, + "endLine": 1165, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.__init__", + "line": 1165, + "column": 4, + "endLine": 1165, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "DotAnnotator", + "line": 1159, + "column": 0, + "endLine": 1159, + "endColumn": 18, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.__init__", + "line": 1275, + "column": 4, + "endLine": 1275, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (11/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.__init__", + "line": 1275, + "column": 4, + "endLine": 1275, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (11/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._get_label_properties", + "line": 1406, + "column": 4, + "endLine": 1406, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator._draw_labels", + "line": 1460, + "column": 4, + "endLine": 1460, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator.__init__", + "line": 1591, + "column": 4, + "endLine": 1591, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (11/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator.__init__", + "line": 1591, + "column": 4, + "endLine": 1591, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (11/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator._get_label_properties", + "line": 1722, + "column": 4, + "endLine": 1722, + "endColumn": 29, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator._draw_labels", + "line": 1774, + "column": 4, + "endLine": 1774, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (23/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "IconAnnotator", + "line": 1861, + "column": 0, + "endLine": 1861, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BlurAnnotator", + "line": 1970, + "column": 0, + "endLine": 1970, + "endColumn": 19, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.__init__", + "line": 2058, + "column": 4, + "endLine": 2058, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.__init__", + "line": 2058, + "column": 4, + "endLine": 2058, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.annotate", + "line": 2090, + "column": 4, + "endLine": 2090, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator", + "line": 2047, + "column": 0, + "endLine": 2047, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.__init__", + "line": 2199, + "column": 4, + "endLine": 2199, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.__init__", + "line": 2199, + "column": 4, + "endLine": 2199, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator", + "line": 2192, + "column": 0, + "endLine": 2192, + "endColumn": 22, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator", + "line": 2304, + "column": 0, + "endLine": 2304, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.__init__", + "line": 2404, + "column": 4, + "endLine": 2404, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.__init__", + "line": 2404, + "column": 4, + "endLine": 2404, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator", + "line": 2398, + "column": 0, + "endLine": 2398, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2553, + "column": 4, + "endLine": 2553, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator", + "line": 2520, + "column": 0, + "endLine": 2520, + "endColumn": 23, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.__init__", + "line": 2661, + "column": 4, + "endLine": 2661, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.__init__", + "line": 2661, + "column": 4, + "endLine": 2661, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2801, + "column": 8, + "endLine": 2821, + "endColumn": 54, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2809, + "column": 13, + "endLine": 2809, + "endColumn": 79, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'position in (Position.CENTER, Position.CENTER_OF_MASS)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2795, + "column": 4, + "endLine": 2795, + "endColumn": 36, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (9/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.calculate_border_coordinates", + "line": 2795, + "column": 4, + "endLine": 2795, + "endColumn": 36, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "inconsistent-return-statements", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "message-id": "R1710" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2896, + "column": 4, + "endLine": 2896, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2983, + "column": 8, + "endLine": 3015, + "endColumn": 78, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2997, + "column": 13, + "endLine": 2997, + "endColumn": 79, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'position in (Position.CENTER, Position.CENTER_OF_MASS)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2977, + "column": 4, + "endLine": 2977, + "endColumn": 34, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (9/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.calculate_crop_coordinates", + "line": 2977, + "column": 4, + "endLine": 2977, + "endColumn": 34, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "inconsistent-return-statements", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "message-id": "R1710" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "BackgroundOverlayAnnotator", + "line": 3018, + "column": 0, + "endLine": 3018, + "endColumn": 32, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "_ComparisonAnnotatorConfig", + "line": 3106, + "column": 0, + "endLine": 3106, + "endColumn": 32, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (8/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator.__init__", + "line": 3128, + "column": 4, + "endLine": 3128, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator._draw_labels", + "line": 3311, + "column": 4, + "endLine": 3311, + "endColumn": 20, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (21/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.annotators.core", + "obj": "ComparisonAnnotator", + "line": 3117, + "column": 0, + "endLine": 3117, + "endColumn": 25, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_color_idx", + "line": 51, + "column": 4, + "endLine": 76, + "endColumn": 56, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 88, + "column": 4, + "endLine": 130, + "endColumn": 9, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 99, + "column": 9, + "endLine": 99, + "endColumn": 75, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'position in (Position.CENTER, Position.CENTER_OF_MASS)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 32, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (9/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.annotators.utils", + "obj": "resolve_text_background_xyxy", + "line": 80, + "column": 0, + "endLine": 80, + "endColumn": 32, + "path": "src\\supervision\\annotators\\utils.py", + "symbol": "inconsistent-return-statements", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "message-id": "R1710" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge", + "line": 285, + "column": 24, + "endLine": 285, + "endColumn": 80, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'all(is_in_memory(dataset) for dataset in dataset_list)'", + "message-id": "R1729" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge", + "line": 286, + "column": 19, + "endLine": 286, + "endColumn": 70, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'all(is_lazy(dataset) for dataset in dataset_list)'", + "message-id": "R1729" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_yolo", + "line": 504, + "column": 4, + "endLine": 504, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_yolo", + "line": 504, + "column": 4, + "endLine": 504, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_coco", + "line": 626, + "column": 4, + "endLine": 626, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_coco", + "line": 626, + "column": 4, + "endLine": 626, + "endColumn": 15, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "coco_annotations_to_detections", + "line": 194, + "column": 15, + "endLine": 196, + "endColumn": 9, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"iscrowd\": np.asarray(iscrowd, dtype=int), \"area\": np.asarray(area, dtype=float), ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "_build_coco_segmentation_from_mask", + "line": 218, + "column": 0, + "endLine": 218, + "endColumn": 38, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "_build_coco_segmentation_from_mask", + "line": 218, + "column": 0, + "endLine": 218, + "endColumn": 38, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "detections_to_coco_annotations", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "load_coco_annotations", + "line": 423, + "column": 0, + "endLine": 423, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "save_coco_annotations", + "line": 534, + "column": 0, + "endLine": 534, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "save_coco_annotations", + "line": 534, + "column": 0, + "endLine": 534, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.coco", + "obj": "save_coco_annotations", + "line": 534, + "column": 0, + "endLine": 534, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\coco.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "object_to_pascal_voc", + "line": 19, + "column": 0, + "endLine": 19, + "endColumn": 24, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_to_pascal_voc", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 28, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_to_pascal_voc", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 28, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_to_pascal_voc", + "line": 84, + "column": 0, + "endLine": 84, + "endColumn": 28, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-locals", + "message": "Too many local variables (28/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.pascal_voc", + "obj": "detections_from_xml_obj", + "line": 235, + "column": 0, + "endLine": 235, + "endColumn": 27, + "path": "src\\supervision\\dataset\\formats\\pascal_voc.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "_with_seg_mask", + "line": 67, + "column": 11, + "endLine": 67, + "endColumn": 57, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'any(len(line.split()) > 5 for line in lines)'", + "message-id": "R1729" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "yolo_annotations_to_detections", + "line": 138, + "column": 0, + "endLine": 138, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "load_yolo_annotations", + "line": 187, + "column": 0, + "endLine": 187, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "object_to_yolo", + "line": 274, + "column": 0, + "endLine": 274, + "endColumn": 18, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "object_to_yolo", + "line": 281, + "column": 4, + "endLine": 293, + "endColumn": 50, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "detections_to_yolo_annotations", + "line": 296, + "column": 0, + "endLine": 296, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "detections_to_yolo_annotations", + "line": 296, + "column": 0, + "endLine": 296, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "detections_to_yolo_annotations", + "line": 296, + "column": 0, + "endLine": 296, + "endColumn": 34, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "save_yolo_annotations", + "line": 422, + "column": 0, + "endLine": 422, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.dataset.formats.yolo", + "obj": "save_yolo_annotations", + "line": 422, + "column": 0, + "endLine": 422, + "endColumn": 25, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.from_dense", + "line": 476, + "column": 4, + "endLine": 476, + "endColumn": 18, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.repack", + "line": 984, + "column": 4, + "endLine": 984, + "endColumn": 14, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.with_offset", + "line": 1067, + "column": 4, + "endLine": 1067, + "endColumn": 19, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (29/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.resize", + "line": 1192, + "column": 4, + "endLine": 1192, + "endColumn": 14, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "too-many-locals", + "message": "Too many local variables (27/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_transformers", + "line": 560, + "column": 8, + "endLine": 570, + "endColumn": 13, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_sam3", + "line": 718, + "column": 4, + "endLine": 718, + "endColumn": 17, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_azure_analyze_image", + "line": 813, + "column": 4, + "endLine": 813, + "endColumn": 32, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.from_vlm", + "line": 1431, + "column": 4, + "endLine": 1431, + "endColumn": 16, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (10/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.get_anchors_coordinates", + "line": 2206, + "column": 8, + "endLine": 2248, + "endColumn": 75, + "path": "src\\supervision\\detection\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections.get_anchors_coordinates", + "line": 2187, + "column": 4, + "endLine": 2187, + "endColumn": 31, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (10/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "Detections", + "line": 68, + "column": 0, + "endLine": 68, + "endColumn": 16, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-public-methods", + "message": "Too many public methods (26/20)", + "message-id": "R0904" + }, + { + "type": "refactor", + "module": "supervision.detection.core", + "obj": "_merge_detection_group", + "line": 2648, + "column": 0, + "endLine": 2648, + "endColumn": 26, + "path": "src\\supervision\\detection\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorConfig", + "line": 28, + "column": 0, + "endLine": 28, + "endColumn": 29, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (14/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlassConfig", + "line": 46, + "column": 0, + "endLine": 46, + "endColumn": 39, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (9/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZone._update_class_id_to_name", + "line": 373, + "column": 24, + "endLine": 376, + "endColumn": 13, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "unnecessary-comprehension", + "message": "Unnecessary use of a comprehension, use dict(zip(detections.class_id, class_names)) instead.", + "message-id": "R1721" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.__init__", + "line": 381, + "column": 4, + "endLine": 381, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (14/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator.__init__", + "line": 381, + "column": 4, + "endLine": 381, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (14/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._calculate_anchor_in_frame", + "line": 534, + "column": 4, + "endLine": 534, + "endColumn": 34, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 700, + "column": 4, + "endLine": 700, + "endColumn": 25, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 700, + "column": 4, + "endLine": 700, + "endColumn": 25, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator._make_label_image", + "line": 738, + "column": 36, + "endLine": 744, + "endColumn": 9, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"text\": text, \"text_anchor\": annotation_center, \"text_scale\": text_scale, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotator", + "line": 380, + "column": 0, + "endLine": 380, + "endColumn": 23, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.__init__", + "line": 783, + "column": 4, + "endLine": 783, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass.annotate", + "line": 840, + "column": 4, + "endLine": 840, + "endColumn": 16, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.line_zone", + "obj": "LineZoneAnnotatorMulticlass", + "line": 772, + "column": 0, + "endLine": 772, + "endColumn": 33, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_qwen_2_5_vl", + "line": 305, + "column": 0, + "endLine": 305, + "endColumn": 20, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_deepseek_vl_2", + "line": 424, + "column": 0, + "endLine": 424, + "endColumn": 22, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (23/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_florence_2", + "line": 495, + "column": 0, + "endLine": 495, + "endColumn": 19, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_florence_2", + "line": 495, + "column": 0, + "endLine": 495, + "endColumn": 19, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-return-statements", + "message": "Too many return statements (7/6)", + "message-id": "R0911" + }, + { + "type": "refactor", + "module": "supervision.detection.vlm", + "obj": "from_google_gemini_2_5", + "line": 840, + "column": 0, + "endLine": 840, + "endColumn": 26, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.csv_sink", + "obj": "WriterProtocol", + "line": 27, + "column": 0, + "endLine": 27, + "endColumn": 20, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.open", + "line": 108, + "column": 20, + "endLine": 108, + "endColumn": 57, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "consider-using-with", + "message": "Consider using 'with' for resource-allocating operations", + "message-id": "R1732" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "_InferenceSlicerConfig", + "line": 25, + "column": 0, + "endLine": 25, + "endColumn": 28, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (8/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.__init__", + "line": 166, + "column": 4, + "endLine": 166, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer.__init__", + "line": 166, + "column": 4, + "endLine": 166, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (8/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._run_callback", + "line": 443, + "column": 4, + "endLine": 443, + "endColumn": 21, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.inference_slicer", + "obj": "InferenceSlicer._generate_offset", + "line": 557, + "column": 4, + "endLine": 557, + "endColumn": 24, + "path": "src\\supervision\\detection\\tools\\inference_slicer.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.json_sink", + "obj": "JSONSink.open", + "line": 82, + "column": 20, + "endLine": 82, + "endColumn": 45, + "path": "src\\supervision\\detection\\tools\\json_sink.py", + "symbol": "consider-using-with", + "message": "Consider using 'with' for resource-allocating operations", + "message-id": "R1732" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "_PolygonZoneAnnotatorConfig", + "line": 22, + "column": 0, + "endLine": 22, + "endColumn": 33, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (8/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZone", + "line": 33, + "column": 0, + "endLine": 33, + "endColumn": 17, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.__init__", + "line": 146, + "column": 4, + "endLine": 146, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.polygon_zone", + "obj": "PolygonZoneAnnotator.__init__", + "line": 146, + "column": 4, + "endLine": 146, + "endColumn": 16, + "path": "src\\supervision\\detection\\tools\\polygon_zone.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.smoother", + "obj": "DetectionsSmoother.update_with_detections", + "line": 128, + "column": 15, + "endLine": 128, + "endColumn": 62, + "path": "src\\supervision\\detection\\tools\\smoother.py", + "symbol": "use-a-generator", + "message": "Use a generator instead 'all(d is None for d in self.tracks[track_id])'", + "message-id": "R1729" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_detection_result", + "line": 35, + "column": 11, + "endLine": 40, + "endColumn": 5, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": detection_result['boxes'].cpu().detach().numpy(), \"confidence\": detection_result['scores'].cpu().detach().numpy(), ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v4_segmentation_result", + "line": 62, + "column": 4, + "endLine": 79, + "endColumn": 9, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v4_segmentation_result", + "line": 73, + "column": 15, + "endLine": 79, + "endColumn": 9, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": boxes if boxes is not None else mask_to_xyxy(masks), \"mask\": np.squeeze(masks, axis=1) if boxes is not None else masks, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v5_semantic_or_instance_segmentation_result", + "line": 139, + "column": 11, + "endLine": 145, + "endColumn": 5, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": mask_to_xyxy(masks), \"mask\": masks, \"confidence\": scores}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v4_panoptic_segmentation_result", + "line": 174, + "column": 11, + "endLine": 179, + "endColumn": 5, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": mask_to_xyxy(masks), \"mask\": masks, \"class_id\": class_ids, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.tools.transformers", + "obj": "process_transformers_v5_panoptic_segmentation_result", + "line": 204, + "column": 11, + "endLine": 204, + "endColumn": 84, + "path": "src\\supervision\\detection\\tools\\transformers.py", + "symbol": "use-dict-literal", + "message": "Consider using '{\"xyxy\": mask_to_xyxy(masks), \"mask\": masks, \"class_id\": class_ids, ... }' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.internal", + "obj": "process_roboflow_result", + "line": 81, + "column": 0, + "endLine": 81, + "endColumn": 27, + "path": "src\\supervision\\detection\\utils\\internal.py", + "symbol": "too-many-locals", + "message": "Too many local variables (27/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "box_iou", + "line": 90, + "column": 0, + "endLine": 90, + "endColumn": 11, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (21/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "box_iou_batch", + "line": 162, + "column": 0, + "endLine": 162, + "endColumn": 17, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "_jaccard", + "line": 264, + "column": 0, + "endLine": 264, + "endColumn": 12, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_iou_batch", + "line": 456, + "column": 0, + "endLine": 456, + "endColumn": 26, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "compact_mask_iou_batch", + "line": 577, + "column": 0, + "endLine": 577, + "endColumn": 26, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "too-many-locals", + "message": "Too many local variables (43/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_non_max_suppression", + "line": 1314, + "column": 8, + "endLine": 1327, + "endColumn": 13, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "oriented_box_non_max_merge", + "line": 1429, + "column": 8, + "endLine": 1442, + "endColumn": 13, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "calculate_masks_centroids", + "line": 90, + "column": 0, + "endLine": 90, + "endColumn": 29, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "contains_multiple_segments", + "line": 251, + "column": 7, + "endLine": 251, + "endColumn": 46, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "consider-using-in", + "message": "Consider merging these comparisons with 'in' by using 'connectivity not in (4, 8)'. Use a set instead if elements are hashable.", + "message-id": "R1714" + }, + { + "type": "refactor", + "module": "supervision.detection.utils.masks", + "obj": "filter_segments_by_distance", + "line": 344, + "column": 0, + "endLine": 344, + "endColumn": 31, + "path": "src\\supervision\\detection\\utils\\masks.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.draw.color", + "obj": "Color.from_hex", + "line": 141, + "column": 8, + "endLine": 146, + "endColumn": 34, + "path": "src\\supervision\\draw\\color.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 218, + "column": 0, + "endLine": 218, + "endColumn": 13, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.draw.utils", + "obj": "draw_text", + "line": 218, + "column": 0, + "endLine": 218, + "endColumn": 13, + "path": "src\\supervision\\draw\\utils.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "BaseKeyPointAnnotator", + "line": 24, + "column": 0, + "endLine": 24, + "endColumn": 27, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexAnnotator", + "line": 30, + "column": 0, + "endLine": 30, + "endColumn": 21, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "EdgeAnnotator", + "line": 111, + "column": 0, + "endLine": 111, + "endColumn": 19, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "_BaseVertexEllipseAnnotator._iter_ellipse_params", + "line": 330, + "column": 4, + "endLine": 330, + "endColumn": 28, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "_BaseVertexEllipseAnnotator", + "line": 261, + "column": 0, + "endLine": 261, + "endColumn": 33, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseAreaAnnotator", + "line": 370, + "column": 0, + "endLine": 370, + "endColumn": 32, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseOutlineAnnotator", + "line": 471, + "column": 0, + "endLine": 471, + "endColumn": 35, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseHaloAnnotator.annotate", + "line": 606, + "column": 4, + "endLine": 606, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-locals", + "message": "Too many local variables (39/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexEllipseHaloAnnotator", + "line": 568, + "column": 0, + "endLine": 568, + "endColumn": 32, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.__init__", + "line": 709, + "column": 4, + "endLine": 709, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.__init__", + "line": 709, + "column": 4, + "endLine": 709, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (7/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.key_points.annotators", + "obj": "VertexLabelAnnotator.annotate", + "line": 740, + "column": 4, + "endLine": 740, + "endColumn": 16, + "path": "src\\supervision\\key_points\\annotators.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__init__", + "line": 245, + "column": 4, + "endLine": 245, + "endColumn": 16, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (7/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.__init__", + "line": 245, + "column": 4, + "endLine": 245, + "endColumn": 16, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_mediapipe", + "line": 557, + "column": 24, + "endLine": 560, + "endColumn": 25, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "unnecessary-comprehension", + "message": "Unnecessary use of a comprehension, use list(mediapipe_results.pose_landmarks.landmark) instead.", + "message-id": "R1721" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_detectron2", + "line": 727, + "column": 8, + "endLine": 743, + "endColumn": 30, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.from_transformers", + "line": 808, + "column": 8, + "endLine": 828, + "endColumn": 30, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.key_points.core", + "obj": "KeyPoints.as_detections", + "line": 1272, + "column": 4, + "endLine": 1272, + "endColumn": 21, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "_fill_confusion_matrix_from_iou", + "line": 255, + "column": 0, + "endLine": 255, + "endColumn": 35, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (8/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "_fill_confusion_matrix_from_iou", + "line": 255, + "column": 0, + "endLine": 255, + "endColumn": 35, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (8/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "_fill_confusion_matrix_from_iou", + "line": 255, + "column": 0, + "endLine": 255, + "endColumn": 35, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (26/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_detections", + "line": 359, + "column": 4, + "endLine": 359, + "endColumn": 23, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_detections", + "line": 359, + "column": 4, + "endLine": 359, + "endColumn": 23, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_tensors", + "line": 443, + "column": 4, + "endLine": 443, + "endColumn": 20, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.from_tensors", + "line": 443, + "column": 4, + "endLine": 443, + "endColumn": 20, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 535, + "column": 4, + "endLine": 535, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 535, + "column": 4, + "endLine": 535, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.evaluate_detection_batch", + "line": 535, + "column": 4, + "endLine": 535, + "endColumn": 32, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "ConfusionMatrix.plot", + "line": 688, + "column": 4, + "endLine": 688, + "endColumn": 12, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (22/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.detection", + "obj": "MeanAveragePrecision._average_precisions_per_class", + "line": 1095, + "column": 4, + "endLine": 1095, + "endColumn": 37, + "path": "src\\supervision\\metrics\\detection.py", + "symbol": "too-many-locals", + "message": "Too many local variables (21/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.f1_score", + "obj": "F1Score._compute_confusion_matrix", + "line": 341, + "column": 4, + "endLine": 341, + "endColumn": 33, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult", + "line": 515, + "column": 0, + "endLine": 515, + "endColumn": 19, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (10/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.__init__", + "line": 562, + "column": 4, + "endLine": 562, + "endColumn": 16, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (10/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.f1_score", + "obj": "F1ScoreResult.__init__", + "line": 562, + "column": 4, + "endLine": 562, + "endColumn": 16, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (10/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.__init__", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.__init__", + "line": 72, + "column": 4, + "endLine": 72, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecisionResult.map50_95", + "line": 107, + "column": 8, + "endLine": 110, + "endColumn": 21, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 356, + "column": 39, + "endLine": 356, + "endColumn": 45, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 357, + "column": 36, + "endLine": 357, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 358, + "column": 36, + "endLine": 358, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.__init__", + "line": 359, + "column": 36, + "endLine": 359, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "use-dict-literal", + "message": "Consider using '{}' instead of a call to 'dict'.", + "message-id": "R1735" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.load_predictions", + "line": 561, + "column": 48, + "endLine": 561, + "endColumn": 87, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "unnecessary-comprehension", + "message": "Unnecessary use of a comprehension, use list(self.dataset['images']) instead.", + "message-id": "R1721" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "EvaluationDataset.load_predictions", + "line": 579, + "column": 8, + "endLine": 610, + "endColumn": 35, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluatorParameters", + "line": 636, + "column": 0, + "endLine": 636, + "endColumn": 29, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (0/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._evaluate_image", + "line": 822, + "column": 4, + "endLine": 822, + "endColumn": 23, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (29/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_raw_metrics", + "line": 1036, + "column": 4, + "endLine": 1036, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (10/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_raw_metrics", + "line": 1036, + "column": 4, + "endLine": 1036, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (10/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_raw_metrics", + "line": 1036, + "column": 4, + "endLine": 1036, + "endColumn": 28, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (45/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_raw_metrics", + "line": 1049, + "column": 8, + "endLine": 1134, + "endColumn": 71, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-nested-blocks", + "message": "Too many nested blocks (6/5)", + "message-id": "R1702" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_raw_metrics", + "line": 1049, + "column": 8, + "endLine": 1134, + "endColumn": 71, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-nested-blocks", + "message": "Too many nested blocks (6/5)", + "message-id": "R1702" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision_by_size", + "line": 1174, + "column": 4, + "endLine": 1174, + "endColumn": 42, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (19/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision._prepare_targets", + "line": 1514, + "column": 4, + "endLine": 1514, + "endColumn": 24, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.__init__", + "line": 125, + "column": 4, + "endLine": 125, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (10/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecallResult.__init__", + "line": 125, + "column": 4, + "endLine": 125, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (10/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall._compute", + "line": 468, + "column": 4, + "endLine": 468, + "endColumn": 16, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall._compute_confusion_matrix", + "line": 626, + "column": 4, + "endLine": 626, + "endColumn": 33, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "too-many-locals", + "message": "Too many local variables (17/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult", + "line": 40, + "column": 0, + "endLine": 40, + "endColumn": 21, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (10/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.__init__", + "line": 81, + "column": 4, + "endLine": 81, + "endColumn": 16, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.precision", + "obj": "PrecisionResult.__init__", + "line": 81, + "column": 4, + "endLine": 81, + "endColumn": 16, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (9/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.precision", + "obj": "Precision._compute_confusion_matrix", + "line": 659, + "column": 4, + "endLine": 659, + "endColumn": 33, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.metrics.recall", + "obj": "RecallResult", + "line": 40, + "column": 0, + "endLine": 40, + "endColumn": 18, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (10/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.metrics.recall", + "obj": "RecallResult.__init__", + "line": 85, + "column": 4, + "endLine": 85, + "endColumn": 16, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (10/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.metrics.recall", + "obj": "RecallResult.__init__", + "line": 85, + "column": 4, + "endLine": 85, + "endColumn": 16, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (10/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.metrics.recall", + "obj": "Recall._compute_confusion_matrix", + "line": 437, + "column": 4, + "endLine": 437, + "endColumn": 33, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_detections", + "line": 161, + "column": 8, + "endLine": 183, + "endColumn": 29, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "no-else-return", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "message-id": "R1705" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 196, + "column": 4, + "endLine": 196, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (24/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._second_association", + "line": 349, + "column": 4, + "endLine": 349, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._unconfirmed_and_init_new", + "line": 386, + "column": 4, + "endLine": 386, + "endColumn": 33, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "too-many-locals", + "message": "Too many local variables (16/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "_STrackData", + "line": 21, + "column": 0, + "endLine": 21, + "endColumn": 17, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (15/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack", + "line": 44, + "column": 0, + "endLine": 44, + "endColumn": 12, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "too-many-public-methods", + "message": "Too many public methods (23/20)", + "message-id": "R0904" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "overlay_image", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 17, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (25/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 565, + "column": 0, + "endLine": 565, + "endColumn": 16, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (16/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 565, + "column": 0, + "endLine": 565, + "endColumn": 16, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (16/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "create_tiles", + "line": 565, + "column": 0, + "endLine": 565, + "endColumn": 16, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (20/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_generate_tiles", + "line": 767, + "column": 0, + "endLine": 767, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (15/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_generate_tiles", + "line": 767, + "column": 0, + "endLine": 767, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (15/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_generate_tiles", + "line": 767, + "column": 0, + "endLine": 767, + "endColumn": 19, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_draw_texts", + "line": 816, + "column": 0, + "endLine": 816, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (10/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_draw_texts", + "line": 816, + "column": 0, + "endLine": 816, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (10/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.utils.image", + "obj": "_draw_texts", + "line": 816, + "column": 0, + "endLine": 816, + "endColumn": 15, + "path": "src\\supervision\\utils\\image.py", + "symbol": "too-many-locals", + "message": "Too many local variables (18/15)", + "message-id": "R0914" + }, + { + "type": "refactor", + "module": "supervision.utils.internal", + "obj": "classproperty", + "line": 133, + "column": 0, + "endLine": 133, + "endColumn": 19, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "_VideoProcessor", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 21, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-instance-attributes", + "message": "Too many instance attributes (16/7)", + "message-id": "R0902" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "_VideoProcessor.__init__", + "line": 284, + "column": 4, + "endLine": 284, + "endColumn": 16, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "_VideoProcessor", + "line": 283, + "column": 0, + "endLine": 283, + "endColumn": 21, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-few-public-methods", + "message": "Too few public methods (1/2)", + "message-id": "R0903" + }, + { + "type": "refactor", + "module": "supervision.utils.video", + "obj": "process_video", + "line": 424, + "column": 0, + "endLine": 424, + "endColumn": 17, + "path": "src\\supervision\\utils\\video.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (9/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_data", + "line": 197, + "column": 12, + "endLine": 202, + "endColumn": 17, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "no-else-raise", + "message": "Unnecessary \"elif\" after \"raise\", remove the leading \"el\" from \"elif\"", + "message-id": "R1720" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_detections_fields", + "line": 259, + "column": 0, + "endLine": 259, + "endColumn": 31, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_detections_fields", + "line": 259, + "column": 0, + "endLine": 259, + "endColumn": 31, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_keypoints_fields", + "line": 292, + "column": 0, + "endLine": 292, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-arguments", + "message": "Too many arguments (6/5)", + "message-id": "R0913" + }, + { + "type": "refactor", + "module": "supervision.validators", + "obj": "_validate_keypoints_fields", + "line": 292, + "column": 0, + "endLine": 292, + "endColumn": 30, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "too-many-positional-arguments", + "message": "Too many positional arguments (6/5)", + "message-id": "R0917" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[78:229]\n==supervision.metrics.precision:[389:540]\n self._metric_target = metric_target\n self.averaging_method = averaging_method\n\n self._predictions_list: list[Detections] = []\n self._targets_list: list[Detections] = []\n\n def reset(self) -> None:\n \"\"\"\n Reset the metric to its initial state, clearing all stored data.\n \"\"\"\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> F1Score:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> F1ScoreResult:\n \"\"\"\n Calculate the F1 score metric based on the stored predictions and ground-truth\n data, at different IoU thresholds.\n\n Returns:\n The F1 score metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> F1ScoreResult:\n \"\"\"Build per-image stats tuples and delegate to class-level computation.\n\n Each stats tuple is ``(matches, confidence, class_ids, true_class_ids)``:\n - Both empty: skip (no information).\n - Targets empty, predictions present: all predictions are FPs; true_class_ids\n is ``zeros((0,))``.\n - Targets present: IoU matching produces ``matches`` array.\n \"\"\"\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n\n if len(targets) == 0 and len(predictions) > 0:\n # Only predictions are present (e.g. a background image); every\n # prediction is a false positive.\n if predictions.class_id is None or predictions.confidence is None:\n continue\n stats.append(\n (\n np.zeros(\n (len(predictions), iou_thresholds.size), dtype=np.bool_\n ),\n predictions.confidence,\n predictions.class_id,\n np.zeros((0,), dtype=np.int32),\n )\n )\n elif len(targets) > 0:\n if len(predictions) == 0:\n stats.append(\n (\n np.zeros((0, iou_thresholds.size), dtype=bool),\n np.zeros((0,), dtype=np.float32),\n np.zeros((0,), dtype=int),\n targets.class_id,\n )\n )\n\n else:\n if self._metric_target == MetricTarget.BOXES:\n iou = box_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.MASKS:\n iou = mask_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n iou = oriented_box_iou_batch(\n target_contents, prediction_contents\n )\n else:\n raise ValueError(\n \"Unsupported metric target for IoU calculation\"\n )\n\n matches = self._match_detection_batch(\n predictions.class_id\n if predictions.class_id is not None\n else np.array([]),\n targets.class_id\n if targets.class_id is not None\n else np.array([]),\n iou,\n iou_thresholds,\n )\n stats.append(\n (\n matches,\n predictions.confidence,\n predictions.class_id,\n targets.class_id,\n )\n )\n\n if not stats:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[429:504]\n==supervision.metrics.mean_average_recall:[717:793]\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"\n new_detections = deepcopy(detections)\n if detections.is_empty() or size_category == ObjectSizeCategory.ANY:\n return new_detections\n\n sizes = get_detection_size_category(new_detections, self._metric_target)\n size_mask = sizes == size_category.value\n\n new_detections.xyxy = new_detections.xyxy[size_mask]\n if new_detections.mask is not None:\n new_detections.mask = new_detections.mask[size_mask]\n if new_detections.class_id is not None:\n new_detections.class_id = new_detections.class_id[size_mask]\n if new_detections.confidence is not None:\n new_detections.confidence = new_detections.confidence[size_mask]\n if new_detections.tracker_id is not None:\n new_detections.tracker_id = new_detections.tracker_id[size_mask]\n if new_detections.data is not None:\n for key, value in new_detections.data.items():\n new_detections.data[key] = np.array(value)[size_mask]\n\n return new_detections\n\n def _filter_predictions_and_targets_by_size(\n self,\n predictions_list: list[Detections],\n targets_list: list[Detections],\n size_category: ObjectSizeCategory,\n ) -> tuple[list[Detections], list[Detections]]:\n \"\"\"\n Filter predictions and targets by object size category.\n \"\"\"\n new_predictions_list = []\n new_targets_list = []\n for predictions, targets in zip(predictions_list, targets_list):\n new_predictions_list.append(\n self._filter_detections_by_size(predictions, size_category)\n )\n new_targets_list.append(\n self._filter_detections_by_size(targets, size_category)\n )\n return new_predictions_list, new_targets_list\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[314:394]\n==supervision.metrics.precision:[633:711]\n num_predictions, num_iou_levels = (\n predictions_classes.shape[0],\n iou_thresholds.shape[0],\n )\n correct = np.zeros((num_predictions, num_iou_levels), dtype=bool)\n correct_class = target_classes[:, None] == predictions_classes\n\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n result_correct: npt.NDArray[np.bool_] = correct\n return result_correct\n\n @staticmethod\n def _compute_confusion_matrix(\n sorted_matches: npt.NDArray[np.bool_],\n sorted_prediction_class_ids: npt.NDArray[np.int32],\n unique_classes: npt.NDArray[np.int32],\n class_counts: npt.NDArray[np.int32],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Compute the confusion matrix for each class and IoU threshold.\n\n Assumes the matches and prediction_class_ids are sorted by confidence\n in descending order.\n\n Args:\n sorted_matches: shape (P, Th), that is True\n if the prediction is a true positive at the given IoU threshold.\n sorted_prediction_class_ids: shape (P,), containing\n the class id for each prediction.\n unique_classes: shape (C,), containing the unique\n class ids.\n class_counts: shape (C,), containing the number\n of true instances for each class.\n\n Returns:\n shape (C, Th, 3), containing the true positives, false\n positives, and false negatives for each class and IoU threshold.\n \"\"\"\n\n num_thresholds = sorted_matches.shape[1]\n num_classes = unique_classes.shape[0]\n\n confusion_matrix: npt.NDArray[np.float64] = np.zeros(\n (num_classes, num_thresholds, 3), dtype=np.float64\n )\n for class_idx, class_id in enumerate(unique_classes):\n is_class = sorted_prediction_class_ids == class_id\n num_true = class_counts[class_idx]\n num_predictions = is_class.sum()\n\n if num_predictions == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.zeros(num_thresholds)\n false_negatives = np.full(num_thresholds, num_true)\n elif num_true == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.full(num_thresholds, num_predictions)\n false_negatives = np.zeros(num_thresholds)\n else:\n true_positives = sorted_matches[is_class].sum(0)\n false_positives = (1 - sorted_matches[is_class]).sum(0)\n false_negatives = num_true - true_positives\n confusion_matrix[class_idx] = np.stack(\n [true_positives, false_positives, false_negatives], axis=1\n )", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[185:229]\n==supervision.metrics.recall:[295:339]\n if len(predictions) == 0:\n stats.append(\n (\n np.zeros((0, iou_thresholds.size), dtype=bool),\n np.zeros((0,), dtype=np.float32),\n np.zeros((0,), dtype=int),\n targets.class_id,\n )\n )\n\n else:\n if self._metric_target == MetricTarget.BOXES:\n iou = box_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.MASKS:\n iou = mask_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n iou = oriented_box_iou_batch(\n target_contents, prediction_contents\n )\n else:\n raise ValueError(\n \"Unsupported metric target for IoU calculation\"\n )\n\n matches = self._match_detection_batch(\n predictions.class_id\n if predictions.class_id is not None\n else np.array([]),\n targets.class_id\n if targets.class_id is not None\n else np.array([]),\n iou,\n iou_thresholds,\n )\n stats.append(\n (\n matches,\n predictions.confidence,\n predictions.class_id,\n targets.class_id,\n )\n )\n\n if not stats:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[404:482]\n==supervision.metrics.recall:[221:299]\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> MeanAverageRecall:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> MeanAverageRecallResult:\n \"\"\"\n Calculate the Mean Average Recall metric based on the stored predictions\n and ground-truth, at different IoU thresholds and maximum detection counts.\n\n Returns:\n The Mean Average Recall metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> MeanAverageRecallResult:\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n\n if len(targets) > 0:\n if len(predictions) == 0:\n stats.append(\n (\n np.zeros((0, iou_thresholds.size), dtype=bool),", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[78:169]\n==supervision.metrics.recall:[211:294]\n self._metric_target = metric_target\n self.averaging_method = averaging_method\n\n self._predictions_list: list[Detections] = []\n self._targets_list: list[Detections] = []\n\n def reset(self) -> None:\n \"\"\"\n Reset the metric to its initial state, clearing all stored data.\n \"\"\"\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> F1Score:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> F1ScoreResult:\n \"\"\"\n Calculate the F1 score metric based on the stored predictions and ground-truth\n data, at different IoU thresholds.\n\n Returns:\n The F1 score metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> F1ScoreResult:\n \"\"\"Build per-image stats tuples and delegate to class-level computation.\n\n Each stats tuple is ``(matches, confidence, class_ids, true_class_ids)``:\n - Both empty: skip (no information).\n - Targets empty, predictions present: all predictions are FPs; true_class_ids\n is ``zeros((0,))``.\n - Targets present: IoU matching produces ``matches`` array.\n \"\"\"\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[591:674]\n==supervision.metrics.recall:[402:483]\n return recall_scores, recall_per_class, unique_classes\n\n @staticmethod\n def _match_detection_batch(\n predictions_classes: npt.NDArray[np.int32],\n target_classes: npt.NDArray[np.int32],\n iou: npt.NDArray[np.float32],\n iou_thresholds: npt.NDArray[np.float32],\n ) -> npt.NDArray[np.bool_]:\n num_predictions, num_iou_levels = (\n predictions_classes.shape[0],\n iou_thresholds.shape[0],\n )\n correct = np.zeros((num_predictions, num_iou_levels), dtype=bool)\n correct_class = target_classes[:, None] == predictions_classes\n\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n result_correct: npt.NDArray[np.bool_] = correct\n return result_correct\n\n @staticmethod\n def _compute_confusion_matrix(\n sorted_matches: npt.NDArray[np.bool_],\n sorted_prediction_class_ids: npt.NDArray[np.int32],\n unique_classes: npt.NDArray[np.int32],\n class_counts: npt.NDArray[np.int32],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Compute the confusion matrix for each class and IoU threshold.\n\n Assumes the matches and prediction_class_ids are sorted by confidence\n in descending order.\n\n Args:\n sorted_matches: shape (P, Th), that is True\n if the prediction is a true positive at the given IoU threshold.\n sorted_prediction_class_ids: shape (P,), containing\n the class id for each prediction.\n unique_classes: shape (C,), containing the unique\n class ids.\n class_counts: shape (C,), containing the number\n of true instances for each class.\n max_detections: The maximum number of detections to\n consider for each class. Extra detections are considered false\n positives. By default, all detections are considered.\n\n Returns:\n shape (C, Th, 3), containing the true positives, false\n positives, and false negatives for each class and IoU threshold.\n \"\"\"\n num_thresholds = sorted_matches.shape[1]\n num_classes = unique_classes.shape[0]\n\n confusion_matrix: npt.NDArray[np.float64] = np.zeros(\n (num_classes, num_thresholds, 3), dtype=np.float64\n )\n for class_idx, class_id in enumerate(unique_classes):\n is_class = sorted_prediction_class_ids == class_id\n num_true = class_counts[class_idx]\n num_predictions = is_class.sum()\n\n if num_predictions == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.zeros(num_thresholds)\n false_negatives = np.full(num_thresholds, num_true)\n elif num_true == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.full(num_thresholds, num_predictions)\n false_negatives = np.zeros(num_thresholds)\n else:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[314:387]\n==supervision.metrics.mean_average_recall:[600:674]\n num_predictions, num_iou_levels = (\n predictions_classes.shape[0],\n iou_thresholds.shape[0],\n )\n correct = np.zeros((num_predictions, num_iou_levels), dtype=bool)\n correct_class = target_classes[:, None] == predictions_classes\n\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True\n\n result_correct: npt.NDArray[np.bool_] = correct\n return result_correct\n\n @staticmethod\n def _compute_confusion_matrix(\n sorted_matches: npt.NDArray[np.bool_],\n sorted_prediction_class_ids: npt.NDArray[np.int32],\n unique_classes: npt.NDArray[np.int32],\n class_counts: npt.NDArray[np.int32],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Compute the confusion matrix for each class and IoU threshold.\n\n Assumes the matches and prediction_class_ids are sorted by confidence\n in descending order.\n\n Args:\n sorted_matches: shape (P, Th), that is True\n if the prediction is a true positive at the given IoU threshold.\n sorted_prediction_class_ids: shape (P,), containing\n the class id for each prediction.\n unique_classes: shape (C,), containing the unique\n class ids.\n class_counts: shape (C,), containing the number\n of true instances for each class.\n\n Returns:\n shape (C, Th, 3), containing the true positives, false\n positives, and false negatives for each class and IoU threshold.\n \"\"\"\n\n num_thresholds = sorted_matches.shape[1]\n num_classes = unique_classes.shape[0]\n\n confusion_matrix: npt.NDArray[np.float64] = np.zeros(\n (num_classes, num_thresholds, 3), dtype=np.float64\n )\n for class_idx, class_id in enumerate(unique_classes):\n is_class = sorted_prediction_class_ids == class_id\n num_true = class_counts[class_idx]\n num_predictions = is_class.sum()\n\n if num_predictions == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.zeros(num_thresholds)\n false_negatives = np.full(num_thresholds, num_true)\n elif num_true == 0:\n true_positives = np.zeros(num_thresholds)\n false_positives = np.full(num_thresholds, num_predictions)\n false_negatives = np.zeros(num_thresholds)\n else:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[88:169]\n==supervision.metrics.mean_average_recall:[404:477]\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> MeanAverageRecall:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The target detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n\n self._predictions_list.extend(predictions)\n self._targets_list.extend(targets)\n\n return self\n\n def compute(self) -> MeanAverageRecallResult:\n \"\"\"\n Calculate the Mean Average Recall metric based on the stored predictions\n and ground-truth, at different IoU thresholds and maximum detection counts.\n\n Returns:\n The Mean Average Recall metric result.\n \"\"\"\n result = self._compute(self._predictions_list, self._targets_list)\n\n small_predictions, small_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.SMALL\n )\n result.small_objects = self._compute(small_predictions, small_targets)\n\n medium_predictions, medium_targets = (\n self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.MEDIUM\n )\n )\n result.medium_objects = self._compute(medium_predictions, medium_targets)\n\n large_predictions, large_targets = self._filter_predictions_and_targets_by_size(\n self._predictions_list, self._targets_list, ObjectSizeCategory.LARGE\n )\n result.large_objects = self._compute(large_predictions, large_targets)\n\n return result\n\n def _compute(\n self, predictions_list: list[Detections], targets_list: list[Detections]\n ) -> MeanAverageRecallResult:\n iou_thresholds = np.linspace(0.5, 0.95, 10)\n stats: list[Any] = []\n\n for predictions, targets in zip(predictions_list, targets_list):\n prediction_contents = self._detections_content(predictions)\n target_contents = self._detections_content(targets)\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[455:504]\n==supervision.metrics.recall:[558:645]\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"\n new_detections = deepcopy(detections)\n if detections.is_empty() or size_category == ObjectSizeCategory.ANY:\n return new_detections\n\n sizes = get_detection_size_category(new_detections, self._metric_target)\n size_mask = sizes == size_category.value\n\n new_detections.xyxy = new_detections.xyxy[size_mask]\n if new_detections.mask is not None:\n new_detections.mask = new_detections.mask[size_mask]\n if new_detections.class_id is not None:\n new_detections.class_id = new_detections.class_id[size_mask]\n if new_detections.confidence is not None:\n new_detections.confidence = new_detections.confidence[size_mask]\n if new_detections.tracker_id is not None:\n new_detections.tracker_id = new_detections.tracker_id[size_mask]\n if new_detections.data is not None:\n for key, value in new_detections.data.items():\n new_detections.data[key] = np.array(value)[size_mask]\n\n return new_detections\n\n def _filter_predictions_and_targets_by_size(\n self,\n predictions_list: list[Detections],\n targets_list: list[Detections],\n size_category: ObjectSizeCategory,\n ) -> tuple[list[Detections], list[Detections]]:\n \"\"\"\n Filter predictions and targets by object size category.\n \"\"\"\n new_predictions_list = []\n new_targets_list = []\n for predictions, targets in zip(predictions_list, targets_list):\n new_predictions_list.append(\n self._filter_detections_by_size(predictions, size_category)\n )\n new_targets_list.append(\n self._filter_detections_by_size(targets, size_category)\n )\n return new_predictions_list, new_targets_list\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[190:219]\n==supervision.metrics.mean_average_recall:[483:513]\n np.zeros((0,), dtype=int),\n targets.class_id,\n )\n )\n\n else:\n if self._metric_target == MetricTarget.BOXES:\n iou = box_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.MASKS:\n iou = mask_iou_batch(target_contents, prediction_contents)\n elif self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n iou = oriented_box_iou_batch(\n target_contents, prediction_contents\n )\n else:\n raise ValueError(\n \"Unsupported metric target for IoU calculation\"\n )\n\n matches = self._match_detection_batch(\n predictions.class_id\n if predictions.class_id is not None\n else np.array([]),\n targets.class_id\n if targets.class_id is not None\n else np.array([]),\n iou,\n iou_thresholds,\n )\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[712:752]\n==supervision.metrics.recall:[522:558]\n result_recall: npt.NDArray[np.float64] = recall\n return result_recall\n\n def _detections_content(self, detections: Detections) -> npt.NDArray[Any]:\n \"\"\"Return boxes, masks or oriented bounding boxes from detections.\"\"\"\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[429:461]\n==supervision.metrics.recall:[527:558]\n if self._metric_target == MetricTarget.BOXES:\n result_boxes: npt.NDArray[np.float32] = detections.xyxy\n return result_boxes\n if self._metric_target == MetricTarget.MASKS:\n if detections.mask is not None:\n result_masks: npt.NDArray[np.bool_] = detections.mask\n return result_masks\n return self._make_empty_content()\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n obb = detections.data.get(ORIENTED_BOX_COORDINATES)\n if obb is not None and len(obb) > 0:\n result_obb: npt.NDArray[np.float32] = np.array(obb, dtype=np.float32)\n return result_obb\n return self._make_empty_content()\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _make_empty_content(self) -> npt.NDArray[Any]:\n if self._metric_target == MetricTarget.BOXES:\n empty_boxes: npt.NDArray[np.float32] = np.empty((0, 4), dtype=np.float32)\n return empty_boxes\n if self._metric_target == MetricTarget.MASKS:\n empty_masks: npt.NDArray[np.bool_] = np.empty((0, 0, 0), dtype=bool)\n return empty_masks\n if self._metric_target == MetricTarget.ORIENTED_BOUNDING_BOXES:\n empty_obb: npt.NDArray[np.float32] = np.empty((0, 4, 2), dtype=np.float32)\n return empty_obb\n raise ValueError(f\"Invalid metric target: {self._metric_target}\")\n\n def _filter_detections_by_size(\n self, detections: Detections, size_category: ObjectSizeCategory\n ) -> Detections:\n \"\"\"Return a copy of detections with contents filtered by object size.\"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[768:793]\n==supervision.metrics.precision:[310:337]\n f\"\\n(target: {self.metric_target.value},\"\n f\" averaging: {self.averaging_method.value})\"\n )\n ax.set_title(title, fontweight=\"bold\")\n\n x_positions = range(len(labels))\n bars = ax.bar(x_positions, values, color=colors, align=\"center\")\n\n ax.set_xticks(x_positions)\n ax.set_xticklabels(labels, rotation=45, ha=\"right\")\n\n for bar in bars:\n y_value = bar.get_height()\n ax.text(\n bar.get_x() + bar.get_width() / 2,\n y_value + 0.02,\n f\"{y_value:.2f}\",\n ha=\"center\",\n va=\"bottom\",\n )\n\n plt.rcParams[\"font.family\"] = \"sans-serif\"\n\n plt.tight_layout()\n plt.show()", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[219:251]\n==supervision.metrics.recall:[654:686]\n )\n if self.recall_per_class.size == 0:\n out_str += \" No results\\n\"\n for class_id, recall_of_class in zip(\n self.matched_classes, self.recall_per_class\n ):\n out_str += f\" {class_id}: {recall_of_class}\\n\"\n\n indent = \" \"\n if self.small_objects is not None:\n indented = indent + str(self.small_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nSmall objects:\\n{indented}\"\n if self.medium_objects is not None:\n indented = indent + str(self.medium_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nMedium objects:\\n{indented}\"\n if self.large_objects is not None:\n indented = indent + str(self.large_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nLarge objects:\\n{indented}\"\n\n return out_str\n\n def to_pandas(self) -> pd.DataFrame:\n \"\"\"\n Convert the result to a pandas DataFrame.\n\n Returns:\n The result as a DataFrame.\n \"\"\"\n ensure_pandas_installed()\n import pandas as pd\n\n pandas_data = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[770:793]\n==supervision.metrics.mean_average_recall:[320:345]\n )\n ax.set_title(title, fontweight=\"bold\")\n\n x_positions = range(len(labels))\n bars = ax.bar(x_positions, values, color=colors, align=\"center\")\n\n ax.set_xticks(x_positions)\n ax.set_xticklabels(labels, rotation=45, ha=\"right\")\n\n for bar in bars:\n y_value = bar.get_height()\n ax.text(\n bar.get_x() + bar.get_width() / 2,\n y_value + 0.02,\n f\"{y_value:.2f}\",\n ha=\"center\",\n va=\"bottom\",\n )\n\n plt.rcParams[\"font.family\"] = \"sans-serif\"\n\n plt.tight_layout()\n plt.show()", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.annotators.core:[1552:1570]\n==supervision.draw.utils:[133:151]\n border_radius = min(border_radius, min(width, height) // 2)\n\n rectangle_coordinates = [\n ((x1 + border_radius, y1), (x2 - border_radius, y2)),\n ((x1, y1 + border_radius), (x2, y2 - border_radius)),\n ]\n circle_centers = [\n (x1 + border_radius, y1 + border_radius),\n (x2 - border_radius, y1 + border_radius),\n (x1 + border_radius, y2 - border_radius),\n (x2 - border_radius, y2 - border_radius),\n ]\n\n for coordinates in rectangle_coordinates:\n cv2.rectangle(\n img=scene,\n pt1=coordinates[0],\n pt2=coordinates[1],", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[773:793]\n==supervision.metrics.mean_average_precision:[316:338]\n x_positions = range(len(labels))\n bars = ax.bar(x_positions, values, color=colors, align=\"center\")\n\n ax.set_xticks(x_positions)\n ax.set_xticklabels(labels, rotation=45, ha=\"right\")\n\n for bar in bars:\n y_value = bar.get_height()\n ax.text(\n bar.get_x() + bar.get_width() / 2,\n y_value + 0.02,\n f\"{y_value:.2f}\",\n ha=\"center\",\n va=\"bottom\",\n )\n\n plt.rcParams[\"font.family\"] = \"sans-serif\"\n\n plt.tight_layout()\n plt.show()", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[713:739]\n==supervision.metrics.mean_average_recall:[254:279]\n }\n\n if self.small_objects is not None:\n small_objects_df = self.small_objects.to_pandas()\n for key, value in small_objects_df.items():\n pandas_data[f\"small_objects_{key}\"] = value\n if self.medium_objects is not None:\n medium_objects_df = self.medium_objects.to_pandas()\n for key, value in medium_objects_df.items():\n pandas_data[f\"medium_objects_{key}\"] = value\n if self.large_objects is not None:\n large_objects_df = self.large_objects.to_pandas()\n for key, value in large_objects_df.items():\n pandas_data[f\"large_objects_{key}\"] = value\n\n return pd.DataFrame(pandas_data, index=[0])\n\n def plot(self) -> None:\n \"\"\"\n Plot the Mean Average Recall results.\n\n ![example_plot](\\\n https://media.roboflow.com/supervision-docs/metrics/mAR_plot_example.png\\\n ){ align=center width=\"800\" }\n \"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.precision:[256:281]\n==supervision.metrics.recall:[688:714]\n }\n\n if self.small_objects is not None:\n small_objects_df = self.small_objects.to_pandas()\n for key, value in small_objects_df.items():\n pandas_data[f\"small_objects_{key}\"] = value\n if self.medium_objects is not None:\n medium_objects_df = self.medium_objects.to_pandas()\n for key, value in medium_objects_df.items():\n pandas_data[f\"medium_objects_{key}\"] = value\n if self.large_objects is not None:\n large_objects_df = self.large_objects.to_pandas()\n for key, value in large_objects_df.items():\n pandas_data[f\"large_objects_{key}\"] = value\n\n return pd.DataFrame(pandas_data, index=[0])\n\n def plot(self) -> None:\n \"\"\"\n Plot the precision results.\n\n ![example_plot](\n https://media.roboflow.com/supervision-docs/metrics/precision_plot_example.png\n ){ align=center width=\"800\" }\n \"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[713:728]\n==supervision.metrics.mean_average_precision:[248:264]\n }\n\n if self.small_objects is not None:\n small_objects_df = self.small_objects.to_pandas()\n for key, value in small_objects_df.items():\n pandas_data[f\"small_objects_{key}\"] = value\n if self.medium_objects is not None:\n medium_objects_df = self.medium_objects.to_pandas()\n for key, value in medium_objects_df.items():\n pandas_data[f\"medium_objects_{key}\"] = value\n if self.large_objects is not None:\n large_objects_df = self.large_objects.to_pandas()\n for key, value in large_objects_df.items():\n pandas_data[f\"large_objects_{key}\"] = value\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[600:672]\n==supervision.metrics.mean_average_recall:[47:83]\n return self.size_results\n\n @property\n def small_objects(self) -> F1ScoreResult | None:\n if self.size_results is None:\n return None\n return self.size_results.small_objects\n\n @small_objects.setter\n def small_objects(self, value: F1ScoreResult | None) -> None:\n self._ensure_size_results().small_objects = value\n\n @property\n def medium_objects(self) -> F1ScoreResult | None:\n if self.size_results is None:\n return None\n return self.size_results.medium_objects\n\n @medium_objects.setter\n def medium_objects(self, value: F1ScoreResult | None) -> None:\n self._ensure_size_results().medium_objects = value\n\n @property\n def large_objects(self) -> F1ScoreResult | None:\n if self.size_results is None:\n return None\n return self.size_results.large_objects\n\n @large_objects.setter\n def large_objects(self, value: F1ScoreResult | None) -> None:\n self._ensure_size_results().large_objects = value\n\n def __str__(self) -> str:\n \"\"\"\n Format as a pretty string.\n\n Example:\n ```pycon\n >>> import numpy as np\n >>> import supervision as sv\n >>> from supervision.metrics import F1Score\n >>> predictions = sv.Detections(\n ... xyxy=np.array([[0, 0, 10, 10]]),\n ... class_id=np.array([0]),\n ... confidence=np.array([0.9])\n ... )\n >>> targets = sv.Detections(\n ... xyxy=np.array([[0, 0, 10, 10]]),\n ... class_id=np.array([0])\n ... )\n >>> f1_metric = F1Score()\n >>> f1_result = f1_metric.update(predictions, targets).compute()\n >>> print(f1_result) # doctest: +ELLIPSIS\n F1ScoreResult:\n Metric target: MetricTarget.BOXES\n Averaging method: AveragingMethod.WEIGHTED\n F1 @ 50: 1.0000\n F1 @ 75: 1.0000\n F1 @ thresh: [1. ... 1.]\n IoU thresh: [0.5 0.55 ... 0.95]\n F1 per class:\n 0: [1. ... 1.]\n ...\n Medium objects:\n F1ScoreResult:\n Metric target: MetricTarget.BOXES\n Averaging method: AveragingMethod.WEIGHTED\n F1 @ 50: 0.0000\n ...\n\n ```\n \"\"\"", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[687:711]\n==supervision.metrics.mean_average_recall:[227:251]\n indent = \" \"\n if self.small_objects is not None:\n indented = indent + str(self.small_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nSmall objects:\\n{indented}\"\n if self.medium_objects is not None:\n indented = indent + str(self.medium_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nMedium objects:\\n{indented}\"\n if self.large_objects is not None:\n indented = indent + str(self.large_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nLarge objects:\\n{indented}\"\n\n return out_str\n\n def to_pandas(self) -> pd.DataFrame:\n \"\"\"\n Convert the result to a pandas DataFrame.\n\n Returns:\n The result as a DataFrame.\n \"\"\"\n ensure_pandas_installed()\n import pandas as pd\n\n pandas_data = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[250:287]\n==supervision.metrics.precision:[567:604]\n )\n\n def _compute_precision_for_classes(\n self,\n matches: npt.NDArray[np.bool_],\n prediction_confidence: npt.NDArray[np.float32],\n prediction_class_ids: npt.NDArray[np.int32],\n true_class_ids: npt.NDArray[np.int32],\n ) -> tuple[\n npt.NDArray[np.float64],\n npt.NDArray[np.float64],\n npt.NDArray[np.int32],\n ]:\n \"\"\"Compute precision scores from concatenated stats across all images.\n\n ``unique_classes`` is the union of GT and predicted classes so that\n predictions of classes absent from GT still count as false positives.\n \"\"\"\n sorted_indices = np.argsort(-prediction_confidence)\n matches = matches[sorted_indices]\n prediction_class_ids = prediction_class_ids[sorted_indices]\n # Predictions whose class never appears in the ground truth are still\n # false positives, so include those classes in the confusion matrix\n # (their true-instance count is zero).\n unique_classes = np.unique(\n np.concatenate((true_class_ids, prediction_class_ids))\n )\n true_classes, true_counts = np.unique(true_class_ids, return_counts=True)\n class_counts = np.zeros(unique_classes.shape[0], dtype=int)\n class_counts[np.searchsorted(unique_classes, true_classes)] = true_counts\n\n # Shape: PxTh,P,C,C -> CxThx3\n confusion_matrix = self._compute_confusion_matrix(\n matches, prediction_class_ids, unique_classes, class_counts\n )\n\n # Shape: CxThx3 -> CxTh", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.precision:[230:254]\n==supervision.metrics.recall:[662:686]\n indent = \" \"\n if self.small_objects is not None:\n indented = indent + str(self.small_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nSmall objects:\\n{indented}\"\n if self.medium_objects is not None:\n indented = indent + str(self.medium_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nMedium objects:\\n{indented}\"\n if self.large_objects is not None:\n indented = indent + str(self.large_objects).replace(\"\\n\", f\"\\n{indent}\")\n out_str += f\"\\nLarge objects:\\n{indented}\"\n\n return out_str\n\n def to_pandas(self) -> pd.DataFrame:\n \"\"\"\n Convert the result to a pandas DataFrame.\n\n Returns:\n The result as a DataFrame.\n \"\"\"\n ensure_pandas_installed()\n import pandas as pd\n\n pandas_data = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.detection.utils.iou_and_nms:[39:53]\n==supervision.detection.vlm:[58:72]\n if isinstance(value, cls):\n return value\n if isinstance(value, str):\n value = value.lower()\n try:\n return cls(value)\n except ValueError:\n raise ValueError(f\"Invalid value: {value}. Must be one of {cls.list()}\")\n raise ValueError(\n f\"Invalid value type: {type(value)}. Must be an instance of \"\n f\"{cls.__name__} or str.\"\n )\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[389:417]\n==supervision.metrics.mean_average_recall:[678:707]\n false_negatives = num_true - true_positives\n\n confusion_matrix[class_idx] = np.stack(\n [true_positives, false_positives, false_negatives], axis=1\n )\n\n result_confusion_matrix: npt.NDArray[np.float64] = confusion_matrix\n return result_confusion_matrix\n\n @staticmethod\n def _compute_recall(\n confusion_matrix: npt.NDArray[np.float64],\n ) -> npt.NDArray[np.float64]:\n \"\"\"\n Broadcastable function, computing the recall from the confusion matrix.\n\n Args:\n confusion_matrix: shape (N, ..., 3), where the last dimension\n contains the true positives, false positives, and false negatives.\n\n Returns:\n shape (N, ...), containing the recall for each element.\n \"\"\"\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.detection:[1076:1090]\n==supervision.metrics.f1_score:[321:336]\n for i, iou_level in enumerate(iou_thresholds):\n matched_indices = np.where((iou >= iou_level) & correct_class)\n\n if matched_indices[0].shape[0]:\n combined_indices = np.stack(matched_indices, axis=1)\n iou_values = iou[matched_indices][:, None]\n matches = np.hstack([combined_indices, iou_values])\n\n if matched_indices[0].shape[0] > 1:\n matches = matches[matches[:, 2].argsort()[::-1]]\n matches = matches[np.unique(matches[:, 1], return_index=True)[1]]\n matches = matches[np.unique(matches[:, 0], return_index=True)[1]]\n\n correct[matches[:, 1].astype(int), i] = True", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[88:117]\n==supervision.metrics.mean_average_precision:[1468:1497]\n self._predictions_list = []\n self._targets_list = []\n\n def update(\n self,\n predictions: Detections | list[Detections],\n targets: Detections | list[Detections],\n ) -> MeanAveragePrecision:\n \"\"\"\n Add new predictions and targets to the metric, but do not compute the result.\n\n Args:\n predictions: The predicted detections.\n targets: The ground-truth detections.\n\n Returns:\n The updated metric instance.\n \"\"\"\n if not isinstance(predictions, list):\n predictions = [predictions]\n if not isinstance(targets, list):\n targets = [targets]\n\n if len(predictions) != len(targets):\n raise ValueError(\n f\"The number of predictions ({len(predictions)}) and\"\n f\" targets ({len(targets)}) during the update must be the same.\"\n )\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.detection.tools.csv_sink:[115:169]\n==supervision.detection.tools.json_sink:[118:172]\n self.file.close()\n\n @staticmethod\n def _slice_value(value: Any, i: int, n: int) -> Any:\n \"\"\"\n Return the i-th element when the value stores per-detection data.\n\n Dispatch rules:\n - np.ndarray with ndim == 0: return as-is for broadcasting\n - np.ndarray with ndim >= 1: return value[i]\n - list or tuple with len equal to n: return value[i]\n - any other type: return as-is for broadcasting\n\n Args:\n value: Custom-data field value.\n i: Zero-based detection index.\n n: Total number of detections.\n\n Returns:\n Element at position i if value is a per-detection sequence,\n otherwise value unchanged.\n \"\"\"\n if isinstance(value, np.ndarray):\n return value if value.ndim == 0 else value[i]\n if isinstance(value, (list, tuple)) and len(value) == n:\n return value[i]\n return value\n\n @staticmethod\n def parse_detection_data(\n detections: Detections, custom_data: dict[str, Any] | None = None\n ) -> list[dict[str, Any]]:\n \"\"\"\n Convert detections and optional custom data into per-detection rows.\n\n Builds one dictionary per detection containing bounding box coordinates,\n detection attributes, and any values from ``detections.data`` or\n ``custom_data``. List and tuple values in ``custom_data`` with length\n equal to ``len(detections.xyxy)`` are sliced one element per row; all\n other values are broadcast to every row.\n\n Args:\n detections: Detection data to serialize into row dictionaries.\n custom_data: Optional extra fields to include in each row.\n\n Returns:\n A list of dictionaries, one per detection, containing ``xyxy``\n coordinates, ``class_id``, ``confidence``, ``tracker_id``, and any\n values from ``detections.data`` or ``custom_data``.\n \"\"\"\n parsed_rows = []\n n = len(detections.xyxy)\n for i in range(n):\n row = {", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.dataset.formats.pascal_voc:[158:167]\n==supervision.dataset.formats.yolo:[397:406]\n if mask is not None:\n polygons = approximate_mask_with_polygons(\n mask=mask,\n min_image_area_percentage=min_image_area_percentage,\n max_image_area_percentage=max_image_area_percentage,\n approximation_percentage=approximation_percentage,\n )\n for polygon in polygons:\n xyxy = polygon_to_xyxy(polygon=polygon)", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[578:588]\n==supervision.metrics.mean_average_recall:[141:151]\n self.iou_thresholds = iou_thresholds\n self.matched_classes = matched_classes\n\n if size_results is not None:\n self.size_results = size_results\n elif (\n small_objects is not None\n or medium_objects is not None\n or large_objects is not None\n ):", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.detection.utils.iou_and_nms:[79:128]\n==supervision.detection.vlm:[62:72]\n try:\n return cls(value)\n except ValueError:\n raise ValueError(f\"Invalid value: {value}. Must be one of {cls.list()}\")\n raise ValueError(\n f\"Invalid value type: {type(value)}. Must be an instance of \"\n f\"{cls.__name__} or str.\"\n )\n\n", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_precision:[87:96]\n==supervision.metrics.precision:[96:105]\n self.iou_thresholds = iou_thresholds\n self.matched_classes = matched_classes\n self._size_results = None\n\n if (\n small_objects is not None\n or medium_objects is not None\n or large_objects is not None\n ):", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[701:710]\n==supervision.metrics.recall:[506:515]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]\n false_negatives = confusion_matrix[..., 2]\n\n denominator = true_positives + false_negatives", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.annotators.core:[1571:1578]\n==supervision.draw.utils:[152:159]\n thickness=-1,\n )\n for center in circle_centers:\n cv2.circle(\n img=scene,\n center=center,\n radius=border_radius,", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[411:418]\n==supervision.metrics.precision:[728:736]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]\n false_positives = confusion_matrix[..., 1]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[589:598]\n==supervision.metrics.recall:[112:121]\n small_objects=small_objects,\n medium_objects=medium_objects,\n large_objects=large_objects,\n )\n else:\n self.size_results = None\n\n def _ensure_size_results(self) -> RecallSizeResults:\n if self.size_results is None:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_precision:[137:153]\n==supervision.metrics.precision:[135:151]\n self._size_results.small_objects = value\n\n @property\n def medium_objects(self) -> PrecisionResult | None:\n \"\"\"The precision results for medium objects.\"\"\"\n if self._size_results is None:\n return None\n\n return self._size_results.medium_objects\n\n @medium_objects.setter\n def medium_objects(self, value: PrecisionResult | None) -> None:\n if self._size_results is None and value is None:\n return\n\n if self._size_results is None:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_precision:[155:171]\n==supervision.metrics.precision:[153:169]\n self._size_results.medium_objects = value\n\n @property\n def large_objects(self) -> PrecisionResult | None:\n \"\"\"The precision results for large objects.\"\"\"\n if self._size_results is None:\n return None\n\n return self._size_results.large_objects\n\n @large_objects.setter\n def large_objects(self, value: PrecisionResult | None) -> None:\n if self._size_results is None and value is None:\n return\n\n if self._size_results is None:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[533:541]\n==supervision.metrics.precision:[545:553]\n iou_thresholds=iou_thresholds,\n matched_classes=np.array([], dtype=int),\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n concatenated_stats = [np.concatenate(items, 0) for items in zip(*stats)]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.annotators.utils:[99:105]\n==supervision.key_points.annotators:[921:935]\n return (\n center_x - text_w // 2,\n center_y - text_h // 2,\n center_x + text_w // 2,\n center_y + text_h // 2,\n )", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.dataset.formats.coco:[241:249]\n==supervision.dataset.formats.pascal_voc:[159:165]\n polygons = approximate_mask_with_polygons(\n mask=mask,\n min_image_area_percentage=min_image_area_percentage,\n max_image_area_percentage=max_image_area_percentage,\n approximation_percentage=approximation_percentage,\n )\n # Small/noisy masks can be filtered out by approximation settings.\n # Guard against empty output and keep a valid COCO annotation record.", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[589:597]\n==supervision.metrics.mean_average_recall:[152:161]\n small_objects=small_objects,\n medium_objects=medium_objects,\n large_objects=large_objects,\n )\n else:\n self.size_results = None\n\n @property\n def mAR_at_1(self) -> float:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[759:767]\n==supervision.metrics.precision:[301:309]\n colors += [LEGACY_COLOR_PALETTE[4]] * 2\n\n plt.rcParams[\"font.family\"] = \"monospace\"\n\n _, ax = plt.subplots(figsize=(10, 6))\n ax.set_ylim(0, 1)\n ax.set_ylabel(\"Value\", fontweight=\"bold\")\n title = (", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[411:417]\n==supervision.metrics.recall:[506:512]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_precision:[306:314]\n==supervision.metrics.mean_average_recall:[310:318]\n ]\n colors += [LEGACY_COLOR_PALETTE[4]] * 3\n\n plt.rcParams[\"font.family\"] = \"monospace\"\n\n _, ax = plt.subplots(figsize=(10, 6))\n ax.set_ylim(0, 1)\n ax.set_ylabel(\"Value\", fontweight=\"bold\")", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_precision:[124:135]\n==supervision.metrics.precision:[122:133]\n if self._size_results is None:\n return None\n\n return self._size_results.small_objects\n\n @small_objects.setter\n def small_objects(self, value: PrecisionResult | None) -> None:\n if self._size_results is None and value is None:\n return\n\n if self._size_results is None:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[550:568]\n==supervision.metrics.precision:[562:585]\n iou_thresholds=iou_thresholds,\n matched_classes=unique_classes,\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n def _compute_average_recall_for_classes(\n self,\n matches: npt.NDArray[np.bool_],\n prediction_indices: npt.NDArray[np.int32],\n prediction_class_ids: npt.NDArray[np.int32],\n true_class_ids: npt.NDArray[np.int32],\n ) -> tuple[\n npt.NDArray[np.float64],\n npt.NDArray[np.float64],\n npt.NDArray[np.int32],\n ]:", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.mean_average_recall:[701:707]\n==supervision.metrics.precision:[728:734]\n if not confusion_matrix.shape[-1] == 3:\n raise ValueError(\n f\"Confusion matrix must have shape (..., 3), got \"\n f\"{confusion_matrix.shape}\"\n )\n true_positives = confusion_matrix[..., 0]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.precision:[562:591]\n==supervision.metrics.recall:[361:382]\n iou_thresholds=iou_thresholds,\n matched_classes=unique_classes,\n small_objects=None,\n medium_objects=None,\n large_objects=None,\n )\n\n def _compute_recall_for_classes(\n self,\n matches: npt.NDArray[np.bool_],\n prediction_confidence: npt.NDArray[np.float32],\n prediction_class_ids: npt.NDArray[np.int32],\n true_class_ids: npt.NDArray[np.int32],\n ) -> tuple[\n npt.NDArray[np.float64],\n npt.NDArray[np.float64],\n npt.NDArray[np.int32],\n ]:\n sorted_indices = np.argsort(-prediction_confidence)\n matches = matches[sorted_indices]\n prediction_class_ids = prediction_class_ids[sorted_indices]", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "duplicate-code", + "message": "Similar lines in 2 files\n==supervision.metrics.f1_score:[761:767]\n==supervision.metrics.mean_average_recall:[313:319]\n plt.rcParams[\"font.family\"] = \"monospace\"\n\n _, ax = plt.subplots(figsize=(10, 6))\n ax.set_ylim(0, 1)\n ax.set_ylabel(\"Value\", fontweight=\"bold\")\n title = (", + "message-id": "R0801" + }, + { + "type": "refactor", + "module": "supervision.validators.__init__", + "obj": "", + "line": 1, + "column": 0, + "endLine": null, + "endColumn": null, + "path": "src\\supervision\\validators\\__init__.py", + "symbol": "cyclic-import", + "message": "Cyclic import (supervision -> supervision.detection.tools.polygon_zone)", + "message-id": "R0401" + } +] \ No newline at end of file diff --git a/metrics-after-pylint/pylint_score_depois.txt b/metrics-after-pylint/pylint_score_depois.txt new file mode 100644 index 0000000000..d923dab9ce --- /dev/null +++ b/metrics-after-pylint/pylint_score_depois.txt @@ -0,0 +1 @@ +Your code has been rated at 7.73/10 (previous run: 7.73/10, +0.00) diff --git a/metrics-after-pylint/pylint_warning_depois.json b/metrics-after-pylint/pylint_warning_depois.json new file mode 100644 index 0000000000..4262806dd3 --- /dev/null +++ b/metrics-after-pylint/pylint_warning_depois.json @@ -0,0 +1,1562 @@ +[ + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BoxAnnotator.annotate", + "line": 287, + "column": 4, + "endLine": 287, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BoxAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "OrientedBoxAnnotator.annotate", + "line": 374, + "column": 4, + "endLine": 374, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'OrientedBoxAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "MaskAnnotator.annotate", + "line": 524, + "column": 4, + "endLine": 524, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MaskAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "PolygonAnnotator.annotate", + "line": 612, + "column": 4, + "endLine": 612, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'PolygonAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "ColorAnnotator.annotate", + "line": 703, + "column": 4, + "endLine": 703, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'ColorAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "HaloAnnotator.annotate", + "line": 803, + "column": 4, + "endLine": 803, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'HaloAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "EllipseAnnotator.annotate", + "line": 903, + "column": 4, + "endLine": 903, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'EllipseAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BoxCornerAnnotator.annotate", + "line": 999, + "column": 4, + "endLine": 999, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BoxCornerAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "CircleAnnotator.annotate", + "line": 1092, + "column": 4, + "endLine": 1092, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'CircleAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "DotAnnotator.annotate", + "line": 1195, + "column": 4, + "endLine": 1195, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'DotAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "LabelAnnotator.annotate", + "line": 1325, + "column": 4, + "endLine": 1325, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'LabelAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "RichLabelAnnotator.annotate", + "line": 1642, + "column": 4, + "endLine": 1642, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'RichLabelAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "IconAnnotator.annotate", + "line": 1885, + "column": 4, + "endLine": 1885, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'IconAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BlurAnnotator.annotate", + "line": 1987, + "column": 4, + "endLine": 1987, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BlurAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "TraceAnnotator.annotate", + "line": 2090, + "column": 4, + "endLine": 2090, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'TraceAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "HeatMapAnnotator.annotate", + "line": 2228, + "column": 4, + "endLine": 2228, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'HeatMapAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "PixelateAnnotator.annotate", + "line": 2323, + "column": 4, + "endLine": 2323, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'PixelateAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "TriangleAnnotator.annotate", + "line": 2437, + "column": 4, + "endLine": 2437, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'TriangleAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "RoundBoxAnnotator.annotate", + "line": 2553, + "column": 4, + "endLine": 2553, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'RoundBoxAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "PercentageBarAnnotator.annotate", + "line": 2697, + "column": 4, + "endLine": 2697, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'PercentageBarAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "CropAnnotator.annotate", + "line": 2896, + "column": 4, + "endLine": 2896, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'CropAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.annotators.core", + "obj": "BackgroundOverlayAnnotator.annotate", + "line": 3051, + "column": 4, + "endLine": 3051, + "endColumn": 16, + "path": "src\\supervision\\annotators\\core.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'BackgroundOverlayAnnotator.annotate' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge.is_in_memory", + "line": 280, + "column": 23, + "endLine": 280, + "endColumn": 48, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge.is_lazy", + "line": 283, + "column": 23, + "endLine": 283, + "endColumn": 48, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.merge", + "line": 294, + "column": 36, + "endLine": 294, + "endColumn": 61, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.core", + "obj": "DetectionDataset.as_pascal_voc", + "line": 384, + "column": 21, + "endLine": 384, + "endColumn": 48, + "path": "src\\supervision\\dataset\\core.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 132, + "column": 25, + "endLine": 132, + "endColumn": 50, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.utils", + "obj": "save_dataset_images", + "line": 133, + "column": 20, + "endLine": 133, + "endColumn": 45, + "path": "src\\supervision\\dataset\\utils.py", + "symbol": "protected-access", + "message": "Access to a protected member _images_in_memory of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.dataset.formats.yolo", + "obj": "_extract_class_names.", + "line": 121, + "column": 43, + "endLine": 121, + "endColumn": 59, + "path": "src\\supervision\\dataset\\formats\\yolo.py", + "symbol": "unnecessary-lambda", + "message": "Lambda may not be necessary", + "message-id": "W0108" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 958, + "column": 22, + "endLine": 958, + "endColumn": 48, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _image_shape of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 960, + "column": 15, + "endLine": 960, + "endColumn": 30, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _image_shape of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 963, + "column": 40, + "endLine": 963, + "endColumn": 55, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _image_shape of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 971, + "column": 28, + "endLine": 971, + "endColumn": 36, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _rles of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 976, + "column": 13, + "endLine": 976, + "endColumn": 28, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _crop_shapes of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.compact_mask", + "obj": "CompactMask.merge", + "line": 979, + "column": 13, + "endLine": 979, + "endColumn": 24, + "path": "src\\supervision\\detection\\compact_mask.py", + "symbol": "protected-access", + "message": "Access to a protected member _offsets of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.core", + "obj": "Detections.from_lmm", + "line": 1417, + "column": 16, + "endLine": 1420, + "endColumn": 17, + "path": "src\\supervision\\detection\\core.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f\"Invalid LMM string '{lmm}'. Must be one of {[m.value for m in LMM]}\") from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.line_zone", + "obj": "_multiclass_config_property.getter", + "line": 65, + "column": 23, + "endLine": 65, + "endColumn": 35, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "protected-access", + "message": "Access to a protected member _config of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.line_zone", + "obj": "_multiclass_config_property.setter", + "line": 68, + "column": 16, + "endLine": 68, + "endColumn": 28, + "path": "src\\supervision\\detection\\line_zone.py", + "symbol": "protected-access", + "message": "Access to a protected member _config of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "LMM.from_value", + "line": 66, + "column": 16, + "endLine": 66, + "endColumn": 88, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "VLM.from_value", + "line": 109, + "column": 16, + "endLine": 109, + "endColumn": 88, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "_validate_vlm_parameters", + "line": 184, + "column": 12, + "endLine": 186, + "endColumn": 13, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid vlm value: {vlm}. Must be one of {[e.value for e in VLM]}') from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "recover_truncated_qwen_2_5_vl_response", + "line": 301, + "column": 11, + "endLine": 301, + "endColumn": 20, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "warning", + "module": "supervision.detection.vlm", + "obj": "_decode_mask_for_item", + "line": 744, + "column": 11, + "endLine": 744, + "endColumn": 20, + "path": "src\\supervision\\detection\\vlm.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "warning", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.open", + "line": 108, + "column": 20, + "endLine": 108, + "endColumn": 57, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.detection.tools.csv_sink", + "obj": "CSVSink.append", + "line": 211, + "column": 12, + "endLine": 213, + "endColumn": 13, + "path": "src\\supervision\\detection\\tools\\csv_sink.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "warning", + "module": "supervision.detection.tools.json_sink", + "obj": "JSONSink.open", + "line": 82, + "column": 20, + "endLine": 82, + "endColumn": 45, + "path": "src\\supervision\\detection\\tools\\json_sink.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.detection.utils.boxes", + "obj": "denormalize_boxes", + "line": 109, + "column": 4, + "endLine": 109, + "endColumn": 50, + "path": "src\\supervision\\detection\\utils\\boxes.py", + "symbol": "unused-argument", + "message": "Unused argument 'normalized_xyxy'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapFilter.from_value", + "line": 47, + "column": 16, + "endLine": 47, + "endColumn": 88, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "OverlapMetric.from_value", + "line": 83, + "column": 16, + "endLine": 83, + "endColumn": 88, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ValueError as exc' and 'raise ValueError(f'Invalid value: {value}. Must be one of {cls.list()}') from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.detection.utils.iou_and_nms", + "obj": "mask_non_max_suppression", + "line": 845, + "column": 4, + "endLine": 845, + "endColumn": 23, + "path": "src\\supervision\\detection\\utils\\iou_and_nms.py", + "symbol": "unused-argument", + "message": "Unused argument 'mask_dimension'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused BaseKeyPointAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused EdgeAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused VertexAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.annotators", + "obj": "", + "line": 8, + "column": 0, + "endLine": 13, + "endColumn": 1, + "path": "src\\supervision\\keypoint\\annotators.py", + "symbol": "unused-import", + "message": "Unused VertexLabelAnnotator imported from supervision.key_points.annotators", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.keypoint.core", + "obj": "", + "line": 8, + "column": 0, + "endLine": 8, + "endColumn": 49, + "path": "src\\supervision\\keypoint\\core.py", + "symbol": "unused-import", + "message": "Unused KeyPoints imported from supervision.key_points.core", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.key_points.core", + "obj": "KeyPoints._normalize_getitem_index", + "line": 955, + "column": 12, + "endLine": 955, + "endColumn": 59, + "path": "src\\supervision\\key_points\\core.py", + "symbol": "unbalanced-tuple-unpacking", + "message": "Possible unbalanced tuple unpacking with sequence defined at line 105 of numpy.lib._index_tricks_impl: left side has 2 labels, right side has 0 values", + "message-id": "W0632" + }, + { + "type": "warning", + "module": "supervision.metrics.f1_score", + "obj": "F1Score.update", + "line": 92, + "column": 4, + "endLine": 92, + "endColumn": 14, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'F1Score.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.f1_score", + "obj": "F1Score.update", + "line": 92, + "column": 4, + "endLine": 92, + "endColumn": 14, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'F1Score.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.f1_score", + "obj": "F1Score.compute", + "line": 123, + "column": 4, + "endLine": 123, + "endColumn": 15, + "path": "src\\supervision\\metrics\\f1_score.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'F1Score.compute' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "COCOEvaluator._compute_average_precision", + "line": 1156, + "column": 8, + "endLine": 1156, + "endColumn": 19, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "protected-access", + "message": "Access to a protected member _state of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.update", + "line": 1472, + "column": 4, + "endLine": 1472, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'MeanAveragePrecision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.update", + "line": 1472, + "column": 4, + "endLine": 1472, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAveragePrecision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_precision", + "obj": "MeanAveragePrecision.compute", + "line": 1627, + "column": 4, + "endLine": 1627, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAveragePrecision.compute' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall.update", + "line": 408, + "column": 4, + "endLine": 408, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'MeanAverageRecall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall.update", + "line": 408, + "column": 4, + "endLine": 408, + "endColumn": 14, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAverageRecall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.mean_average_recall", + "obj": "MeanAverageRecall.compute", + "line": 439, + "column": 4, + "endLine": 439, + "endColumn": 15, + "path": "src\\supervision\\metrics\\mean_average_recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'MeanAverageRecall.compute' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.precision", + "obj": "Precision.update", + "line": 403, + "column": 4, + "endLine": 403, + "endColumn": 14, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'Precision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.precision", + "obj": "Precision.update", + "line": 403, + "column": 4, + "endLine": 403, + "endColumn": 14, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Precision.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.precision", + "obj": "Precision.compute", + "line": 434, + "column": 4, + "endLine": 434, + "endColumn": 15, + "path": "src\\supervision\\metrics\\precision.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Precision.compute' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall.update", + "line": 225, + "column": 4, + "endLine": 225, + "endColumn": 14, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "arguments-differ", + "message": "Number of parameters was 3 in 'Metric.update' and is now 3 in overriding 'Recall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall.update", + "line": 225, + "column": 4, + "endLine": 225, + "endColumn": 14, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Recall.update' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall.compute", + "line": 256, + "column": 4, + "endLine": 256, + "endColumn": 15, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "arguments-differ", + "message": "Variadics removed in overriding 'Recall.compute' method", + "message-id": "W0221" + }, + { + "type": "warning", + "module": "supervision.metrics.recall", + "obj": "Recall._make_empty_content", + "line": 559, + "column": 8, + "endLine": 559, + "endColumn": 73, + "path": "src\\supervision\\metrics\\recall.py", + "symbol": "unreachable", + "message": "Unreachable code", + "message-id": "W0101" + }, + { + "type": "warning", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 5, + "column": 8, + "endLine": 9, + "endColumn": 9, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "raise-missing-from", + "message": "Consider explicitly re-raising using 'except ImportError as exc' and 'raise ImportError(\"`metrics` extra is required to run the function. Run `uv pip install 'supervision[metrics]'` or `uv add supervision --extra metrics`.\") from exc'", + "message-id": "W0707" + }, + { + "type": "warning", + "module": "supervision.metrics.utils.utils", + "obj": "ensure_pandas_installed", + "line": 3, + "column": 8, + "endLine": 3, + "endColumn": 21, + "path": "src\\supervision\\metrics\\utils\\utils.py", + "symbol": "unused-import", + "message": "Unused import pandas", + "message-id": "W0611" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 207, + "column": 8, + "endLine": 207, + "endColumn": 25, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'activated_starcks'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 208, + "column": 8, + "endLine": 208, + "endColumn": 22, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'refind_stracks'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 209, + "column": 8, + "endLine": 209, + "endColumn": 20, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'lost_stracks'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack.update_with_tensors", + "line": 210, + "column": 8, + "endLine": 210, + "endColumn": 23, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'removed_stracks'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 261, + "column": 12, + "endLine": 261, + "endColumn": 28, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 284, + "column": 8, + "endLine": 288, + "endColumn": 45, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unreachable", + "message": "Unreachable code", + "message-id": "W0101" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 290, + "column": 8, + "endLine": 290, + "endColumn": 73, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "pointless-string-statement", + "message": "String statement has no effect", + "message-id": "W0105" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 255, + "column": 8, + "endLine": 255, + "endColumn": 19, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'dets_second'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 258, + "column": 8, + "endLine": 258, + "endColumn": 21, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'scores_second'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._split_by_confidence", + "line": 262, + "column": 12, + "endLine": 262, + "endColumn": 22, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unused-variable", + "message": "Unused variable 'detections'", + "message-id": "W0612" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._remove_stale_lost_tracks", + "line": 426, + "column": 8, + "endLine": 428, + "endColumn": 9, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "unreachable", + "message": "Unreachable code", + "message-id": "W0101" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 458, + "column": 8, + "endLine": 458, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'tracked_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 461, + "column": 8, + "endLine": 461, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'tracked_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 462, + "column": 8, + "endLine": 462, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'tracked_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 467, + "column": 8, + "endLine": 467, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'tracked_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 463, + "column": 8, + "endLine": 463, + "endColumn": 24, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'lost_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 465, + "column": 8, + "endLine": 465, + "endColumn": 24, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'lost_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 467, + "column": 29, + "endLine": 467, + "endColumn": 45, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'lost_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.core", + "obj": "ByteTrack._update_state", + "line": 466, + "column": 8, + "endLine": 466, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\core.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute 'removed_tracks' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 170, + "column": 23, + "endLine": 170, + "endColumn": 31, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 171, + "column": 23, + "endLine": 171, + "endColumn": 31, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 172, + "column": 34, + "endLine": 172, + "endColumn": 42, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 173, + "column": 40, + "endLine": 173, + "endColumn": 48, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 174, + "column": 19, + "endLine": 174, + "endColumn": 27, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 181, + "column": 16, + "endLine": 181, + "endColumn": 32, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.tracker.byte_tracker.single_object_track", + "obj": "STrack.multi_predict", + "line": 182, + "column": 16, + "endLine": 182, + "endColumn": 32, + "path": "src\\supervision\\tracker\\byte_tracker\\single_object_track.py", + "symbol": "protected-access", + "message": "Access to a protected member _data of a client class", + "message-id": "W0212" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "NumpyJsonEncoder.default", + "line": 12, + "column": 4, + "endLine": 12, + "endColumn": 15, + "path": "src\\supervision\\utils\\file.py", + "symbol": "arguments-renamed", + "message": "Parameter 'o' has been renamed to 'obj' in overriding 'NumpyJsonEncoder.default' method", + "message-id": "W0237" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "read_txt_file", + "line": 120, + "column": 9, + "endLine": 120, + "endColumn": 29, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "save_text_file", + "line": 137, + "column": 9, + "endLine": 137, + "endColumn": 34, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "read_json_file", + "line": 166, + "column": 9, + "endLine": 166, + "endColumn": 29, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "save_json_file", + "line": 182, + "column": 9, + "endLine": 182, + "endColumn": 34, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "read_yaml_file", + "line": 196, + "column": 9, + "endLine": 196, + "endColumn": 29, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.file", + "obj": "save_yaml_file", + "line": 210, + "column": 9, + "endLine": 210, + "endColumn": 34, + "path": "src\\supervision\\utils\\file.py", + "symbol": "unspecified-encoding", + "message": "Using open without explicitly specifying an encoding", + "message-id": "W1514" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "SupervisionWarnings", + "line": 18, + "column": 4, + "endLine": 18, + "endColumn": 8, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unnecessary-pass", + "message": "Unnecessary pass statement", + "message-id": "W0107" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "format_warning", + "line": 24, + "column": 4, + "endLine": 24, + "endColumn": 17, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unused-argument", + "message": "Unused argument 'filename'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "format_warning", + "line": 25, + "column": 4, + "endLine": 25, + "endColumn": 15, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unused-argument", + "message": "Unused argument 'lineno'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.utils.internal", + "obj": "format_warning", + "line": 26, + "column": 4, + "endLine": 26, + "endColumn": 20, + "path": "src\\supervision\\utils\\internal.py", + "symbol": "unused-argument", + "message": "Unused argument 'line'", + "message-id": "W0613" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "VideoInfo.from_video_path", + "line": 62, + "column": 12, + "endLine": 62, + "endColumn": 68, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 107, + "column": 12, + "endLine": 107, + "endColumn": 25, + "path": "src\\supervision\\utils\\video.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute '__fourcc' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "VideoSink.__enter__", + "line": 110, + "column": 12, + "endLine": 110, + "endColumn": 25, + "path": "src\\supervision\\utils\\video.py", + "symbol": "attribute-defined-outside-init", + "message": "Attribute '__fourcc' defined outside __init__", + "message-id": "W0201" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_mux_audio", + "line": 198, + "column": 11, + "endLine": 198, + "endColumn": 20, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_mux_audio", + "line": 162, + "column": 17, + "endLine": 187, + "endColumn": 9, + "path": "src\\supervision\\utils\\video.py", + "symbol": "subprocess-run-check", + "message": "'subprocess.run' used without explicitly defining the value for 'check'.", + "message-id": "W1510" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 212, + "column": 8, + "endLine": 212, + "endColumn": 65, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_validate_and_setup_video", + "line": 215, + "column": 8, + "endLine": 215, + "endColumn": 56, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-raised", + "message": "Raising too general exception: Exception", + "message-id": "W0719" + }, + { + "type": "warning", + "module": "supervision.utils.video", + "obj": "_VideoProcessor._process_frames", + "line": 397, + "column": 19, + "endLine": 397, + "endColumn": 28, + "path": "src\\supervision\\utils\\video.py", + "symbol": "broad-exception-caught", + "message": "Catching too general exception Exception", + "message-id": "W0718" + } +] \ No newline at end of file diff --git a/metrics-after-pytest/coverage_depois.json b/metrics-after-pytest/coverage_depois.json new file mode 100644 index 0000000000..ef3342f86c --- /dev/null +++ b/metrics-after-pytest/coverage_depois.json @@ -0,0 +1 @@ +{"meta": {"format": 3, "version": "7.13.1", "timestamp": "2026-06-30T11:39:35.163160", "branch_coverage": true, "show_contexts": false}, "files": {"extract_metrics_after_codecarbon.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 12, 16, 26, 29, 32, 34, 43, 44, 45, 46, 48, 50, 51, 55, 56, 57, 58, 60, 62, 63, 64, 65, 66], "excluded_lines": [], "executed_branches": [], "missing_branches": [[45, 46], [45, 48]], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 12, 16, 26, 29, 32, 34, 43, 44, 45, 46, 48, 50, 51, 55, 56, 57, 58, 60, 62, 63, 64, 65, 66], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[45, 46], [45, 48]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 12, 16, 26, 29, 32, 34, 43, 44, 45, 46, 48, 50, 51, 55, 56, 57, 58, 60, 62, 63, 64, 65, 66], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[45, 46], [45, 48]]}}}, "extract_metrics_after_pylint.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 9, 11, 14, 16, 24, 25, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 41, 42, 43, 44, 46, 54, 55, 56, 57, 58, 60, 63, 64, 65, 66, 67, 73, 76, 77, 78, 79, 80, 81, 83, 91, 92, 93, 94, 97, 98, 106, 107, 108, 109, 110, 112], "excluded_lines": [], "executed_branches": [], "missing_branches": [[36, 37], [36, 41], [42, 43], [42, 46], [54, 55], [54, 60], [77, 78], [77, 83]], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 9, 11, 14, 16, 24, 25, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 41, 42, 43, 44, 46, 54, 55, 56, 57, 58, 60, 63, 64, 65, 66, 67, 73, 76, 77, 78, 79, 80, 81, 83, 91, 92, 93, 94, 97, 98, 106, 107, 108, 109, 110, 112], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[36, 37], [36, 41], [42, 43], [42, 46], [54, 55], [54, 60], [77, 78], [77, 83]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 9, 11, 14, 16, 24, 25, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 41, 42, 43, 44, 46, 54, 55, 56, 57, 58, 60, 63, 64, 65, 66, 67, 73, 76, 77, 78, 79, 80, 81, 83, 91, 92, 93, 94, 97, 98, 106, 107, 108, 109, 110, 112], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[36, 37], [36, 41], [42, 43], [42, 46], [54, 55], [54, 60], [77, 78], [77, 83]]}}}, "extract_metrics_after_pytest.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 13, 16, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 41, 61, 62, 63, 64, 65, 66, 67, 68], "excluded_lines": [], "executed_branches": [], "missing_branches": [[21, 22], [21, 27], [22, 23], [22, 27], [23, 22], [23, 24], [27, 28], [27, 34]], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 13, 16, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 41, 61, 62, 63, 64, 65, 66, 67, 68], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[21, 22], [21, 27], [22, 23], [22, 27], [23, 22], [23, 24], [27, 28], [27, 34]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 13, 16, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 41, 61, 62, 63, 64, 65, 66, 67, 68], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[21, 22], [21, 27], [22, 23], [22, 27], [23, 22], [23, 24], [27, 28], [27, 34]]}}}, "extract_metrics_after_radon.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 111, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 111, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 34, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 34, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 6, 7, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 42, 45, 46, 47, 48, 49, 50, 53, 54, 61, 62, 63, 64, 65, 66, 76, 77, 78, 80, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 94, 95, 107, 120, 122, 123, 125, 126, 127, 128, 129, 130, 132, 133, 134, 135, 136, 137, 138, 140, 141, 142, 143, 144, 147, 149, 150, 151, 152, 153, 154, 155, 157, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 175, 176, 177, 178, 180], "excluded_lines": [], "executed_branches": [], "missing_branches": [[53, 54], [53, 61], [63, 64], [63, 78], [64, 65], [64, 66], [76, 63], [76, 77], [82, 83], [82, 120], [84, 85], [84, 92], [86, 87], [86, 88], [92, 93], [92, 107], [122, 123], [122, 147], [127, 128], [127, 130], [132, 122], [132, 133], [135, 136], [135, 138], [141, 142], [141, 144], [149, 150], [149, 157], [151, 152], [151, 155], [161, 162], [161, 164], [164, 165], [164, 166]], "functions": {"normalizar_caminho": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [7], "excluded_lines": [], "start_line": 6, "executed_branches": [], "missing_branches": []}, "rodar_radon": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [11, 12], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "extrair_funcoes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [62, 63, 64, 65, 66, 76, 77, 78], "excluded_lines": [], "start_line": 61, "executed_branches": [], "missing_branches": [[63, 64], [63, 78], [64, 65], [64, 66], [76, 63], [76, 77]]}, "salvar_csv": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171], "excluded_lines": [], "start_line": 160, "executed_branches": [], "missing_branches": [[161, 162], [161, 164], [164, 165], [164, 166]]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 89, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 89, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 24, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 24, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 6, 10, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 42, 45, 46, 47, 48, 49, 50, 53, 54, 61, 80, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 94, 95, 107, 120, 122, 123, 125, 126, 127, 128, 129, 130, 132, 133, 134, 135, 136, 137, 138, 140, 141, 142, 143, 144, 147, 149, 150, 151, 152, 153, 154, 155, 157, 160, 173, 174, 175, 176, 177, 178, 180], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[53, 54], [53, 61], [82, 83], [82, 120], [84, 85], [84, 92], [86, 87], [86, 88], [92, 93], [92, 107], [122, 123], [122, 147], [127, 128], [127, 130], [132, 122], [132, 133], [135, 136], [135, 138], [141, 142], [141, 144], [149, 150], [149, 157], [151, 152], [151, 155]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 111, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 111, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 34, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 34, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 6, 7, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 27, 28, 29, 30, 31, 32, 33, 34, 36, 38, 42, 45, 46, 47, 48, 49, 50, 53, 54, 61, 62, 63, 64, 65, 66, 76, 77, 78, 80, 82, 83, 84, 85, 86, 87, 88, 89, 90, 92, 93, 94, 95, 107, 120, 122, 123, 125, 126, 127, 128, 129, 130, 132, 133, 134, 135, 136, 137, 138, 140, 141, 142, 143, 144, 147, 149, 150, 151, 152, 153, 154, 155, 157, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 173, 174, 175, 176, 177, 178, 180], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[53, 54], [53, 61], [63, 64], [63, 78], [64, 65], [64, 66], [76, 63], [76, 77], [82, 83], [82, 120], [84, 85], [84, 92], [86, 87], [86, 88], [92, 93], [92, 107], [122, 123], [122, 147], [127, 128], [127, 130], [132, 122], [132, 133], [135, 136], [135, 138], [141, 142], [141, 144], [149, 150], [149, 157], [151, 152], [151, 155], [161, 162], [161, 164], [164, 165], [164, 166]]}}}, "extract_metrics_before_codecarbon.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 12, 16, 26, 29, 32, 34, 43, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 63], "excluded_lines": [], "executed_branches": [], "missing_branches": [[45, 46], [45, 48]], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 12, 16, 26, 29, 32, 34, 43, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 63], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[45, 46], [45, 48]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 12, 16, 26, 29, 32, 34, 43, 44, 45, 46, 48, 50, 51, 52, 53, 54, 55, 57, 59, 60, 61, 62, 63], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[45, 46], [45, 48]]}}}, "extract_metrics_before_pylint.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 9, 11, 14, 16, 24, 25, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 41, 42, 43, 44, 46, 54, 55, 56, 57, 58, 60, 63, 64, 65, 66, 67, 73, 76, 77, 78, 79, 80, 81, 83, 88, 89, 90, 91, 94, 95, 103, 104, 105, 106, 107, 109], "excluded_lines": [], "executed_branches": [], "missing_branches": [[36, 37], [36, 41], [42, 43], [42, 46], [54, 55], [54, 60], [77, 78], [77, 83]], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 9, 11, 14, 16, 24, 25, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 41, 42, 43, 44, 46, 54, 55, 56, 57, 58, 60, 63, 64, 65, 66, 67, 73, 76, 77, 78, 79, 80, 81, 83, 88, 89, 90, 91, 94, 95, 103, 104, 105, 106, 107, 109], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[36, 37], [36, 41], [42, 43], [42, 46], [54, 55], [54, 60], [77, 78], [77, 83]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 58, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 58, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 5, 8, 9, 11, 14, 16, 24, 25, 26, 27, 30, 31, 32, 33, 34, 36, 37, 38, 41, 42, 43, 44, 46, 54, 55, 56, 57, 58, 60, 63, 64, 65, 66, 67, 73, 76, 77, 78, 79, 80, 81, 83, 88, 89, 90, 91, 94, 95, 103, 104, 105, 106, 107, 109], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[36, 37], [36, 41], [42, 43], [42, 46], [54, 55], [54, 60], [77, 78], [77, 83]]}}}, "extract_metrics_before_pytest.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 13, 16, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 41, 63, 64, 65, 66, 67, 68, 69, 70], "excluded_lines": [], "executed_branches": [], "missing_branches": [[21, 22], [21, 27], [22, 23], [22, 27], [23, 22], [23, 24], [27, 28], [27, 34]], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 13, 16, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 41, 63, 64, 65, 66, 67, 68, 69, 70], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[21, 22], [21, 27], [22, 23], [22, 27], [23, 22], [23, 24], [27, 28], [27, 34]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 32, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 32, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 9, 13, 16, 19, 21, 22, 23, 24, 25, 27, 28, 29, 30, 31, 34, 36, 37, 38, 39, 41, 63, 64, 65, 66, 67, 68, 69, 70], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[21, 22], [21, 27], [22, 23], [22, 27], [23, 22], [23, 24], [27, 28], [27, 34]]}}}, "extract_metrics_before_radon.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 111, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 111, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 34, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 34, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 7, 8, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, 58, 60, 61, 62, 63, 64, 65, 68, 69, 79, 80, 81, 82, 83, 84, 96, 97, 98, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 130, 145, 147, 148, 150, 151, 152, 153, 154, 155, 157, 158, 159, 160, 161, 164, 165, 167, 168, 169, 170, 171, 174, 176, 177, 178, 179, 180, 181, 182, 184, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 207, 209], "excluded_lines": [], "executed_branches": [], "missing_branches": [[68, 69], [68, 79], [81, 82], [81, 98], [82, 83], [82, 84], [96, 81], [96, 97], [103, 104], [103, 145], [105, 106], [105, 113], [107, 108], [107, 109], [113, 114], [113, 130], [147, 148], [147, 174], [152, 153], [152, 155], [157, 147], [157, 158], [160, 161], [160, 165], [168, 169], [168, 171], [176, 177], [176, 184], [178, 179], [178, 182], [189, 190], [189, 192], [192, 193], [192, 194]], "functions": {"normalizar_caminho": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [8], "excluded_lines": [], "start_line": 7, "executed_branches": [], "missing_branches": []}, "rodar_radon": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [13, 16], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "extrair_funcoes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [80, 81, 82, 83, 84, 96, 97, 98], "excluded_lines": [], "start_line": 79, "executed_branches": [], "missing_branches": [[81, 82], [81, 98], [82, 83], [82, 84], [96, 81], [96, 97]]}, "salvar_csv": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199], "excluded_lines": [], "start_line": 188, "executed_branches": [], "missing_branches": [[189, 190], [189, 192], [192, 193], [192, 194]]}, "": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 89, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 89, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 24, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 24, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 7, 12, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, 58, 60, 61, 62, 63, 64, 65, 68, 69, 79, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 130, 145, 147, 148, 150, 151, 152, 153, 154, 155, 157, 158, 159, 160, 161, 164, 165, 167, 168, 169, 170, 171, 174, 176, 177, 178, 179, 180, 181, 182, 184, 188, 202, 203, 204, 205, 206, 207, 209], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[68, 69], [68, 79], [103, 104], [103, 145], [105, 106], [105, 113], [107, 108], [107, 109], [113, 114], [113, 130], [147, 148], [147, 174], [152, 153], [152, 155], [157, 147], [157, 158], [160, 161], [160, 165], [168, 169], [168, 171], [176, 177], [176, 184], [178, 179], [178, 182]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 111, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 111, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 34, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 34, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 3, 4, 7, 8, 12, 13, 16, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 41, 43, 58, 60, 61, 62, 63, 64, 65, 68, 69, 79, 80, 81, 82, 83, 84, 96, 97, 98, 101, 103, 104, 105, 106, 107, 108, 109, 110, 111, 113, 114, 115, 116, 130, 145, 147, 148, 150, 151, 152, 153, 154, 155, 157, 158, 159, 160, 161, 164, 165, 167, 168, 169, 170, 171, 174, 176, 177, 178, 179, 180, 181, 182, 184, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 202, 203, 204, 205, 206, 207, 209], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[68, 69], [68, 79], [81, 82], [81, 98], [82, 83], [82, 84], [96, 81], [96, 97], [103, 104], [103, 145], [105, 106], [105, 113], [107, 108], [107, 109], [113, 114], [113, 130], [147, 148], [147, 174], [152, 153], [152, 155], [157, 147], [157, 158], [160, 161], [160, 165], [168, 169], [168, 171], [176, 177], [176, 184], [178, 179], [178, 182], [189, 190], [189, 192], [192, 193], [192, 194]]}}}, "extract_score_after_pylint.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 4, 5, 7, 9, 16, 17, 18, 19, 20, 21, 23], "excluded_lines": [], "executed_branches": [], "missing_branches": [[18, 19], [18, 23], [19, 18], [19, 20]], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 4, 5, 7, 9, 16, 17, 18, 19, 20, 21, 23], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[18, 19], [18, 23], [19, 18], [19, 20]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 4, 5, 7, 9, 16, 17, 18, 19, 20, 21, 23], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[18, 19], [18, 23], [19, 18], [19, 20]]}}}, "extract_score_before_pylint.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 4, 5, 7, 9, 16, 17, 18, 19, 20, 21, 23], "excluded_lines": [], "executed_branches": [], "missing_branches": [[18, 19], [18, 23], [19, 18], [19, 20]], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 4, 5, 7, 9, 16, 17, 18, 19, 20, 21, 23], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[18, 19], [18, 23], [19, 18], [19, 20]]}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1, 2, 4, 5, 7, 9, 16, 17, 18, 19, 20, 21, 23], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[18, 19], [18, 23], [19, 18], [19, 20]]}}}, "src\\supervision\\__init__.py": {"executed_lines": [1, 3, 5, 9, 34, 40, 41, 46, 47, 48, 49, 54, 55, 56, 57, 58, 59, 67, 82, 97, 104, 108, 109, 110, 111, 122, 123, 124, 133, 134, 135, 136, 137, 138, 149, 150, 158], "summary": {"covered_lines": 37, "num_statements": 39, "percent_covered": 94.87179487179488, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.87179487179488, "percent_statements_covered_display": "95", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [6, 7], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [1, 3, 5, 9, 34, 40, 41, 46, 47, 48, 49, 54, 55, 56, 57, 58, 59, 67, 82, 97, 104, 108, 109, 110, 111, 122, 123, 124, 133, 134, 135, 136, 137, 138, 149, 150, 158], "summary": {"covered_lines": 37, "num_statements": 39, "percent_covered": 94.87179487179488, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.87179487179488, "percent_statements_covered_display": "95", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [6, 7], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 9, 34, 40, 41, 46, 47, 48, 49, 54, 55, 56, 57, 58, 59, 67, 82, 97, 104, 108, 109, 110, 111, 122, 123, 124, 133, 134, 135, 136, 137, 138, 149, 150, 158], "summary": {"covered_lines": 37, "num_statements": 39, "percent_covered": 94.87179487179488, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.87179487179488, "percent_statements_covered_display": "95", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [6, 7], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\annotators\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\annotators\\base.py": {"executed_lines": [1, 2, 4, 7, 8, 9], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [12], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"BaseAnnotator.annotate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [12], "excluded_lines": [], "start_line": 9, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 7, 8, 9], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"BaseAnnotator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [12], "excluded_lines": [], "start_line": 7, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 7, 8, 9], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\annotators\\core.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 15, 16, 30, 31, 32, 33, 34, 39, 40, 41, 42, 43, 47, 53, 55, 68, 75, 76, 77, 78, 81, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 97, 102, 136, 148, 149, 150, 152, 153, 156, 157, 160, 161, 164, 165, 166, 168, 169, 172, 173, 176, 177, 180, 181, 184, 185, 188, 189, 192, 193, 196, 197, 200, 201, 204, 205, 208, 209, 212, 213, 216, 217, 220, 263, 268, 282, 283, 284, 286, 287, 328, 330, 331, 332, 340, 347, 350, 355, 369, 370, 371, 373, 374, 415, 417, 418, 438, 466, 467, 468, 469, 472, 473, 474, 480, 481, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 496, 505, 519, 520, 521, 523, 524, 566, 568, 569, 571, 572, 578, 581, 584, 593, 607, 608, 609, 611, 612, 653, 655, 656, 658, 659, 660, 668, 669, 676, 679, 684, 698, 699, 700, 702, 703, 744, 746, 747, 748, 749, 757, 765, 768, 771, 780, 797, 798, 799, 800, 802, 803, 845, 847, 848, 849, 850, 857, 859, 860, 861, 862, 863, 865, 866, 867, 868, 869, 870, 873, 878, 896, 897, 898, 899, 900, 902, 903, 944, 946, 947, 948, 956, 957, 958, 969, 972, 977, 993, 994, 995, 996, 998, 999, 1040, 1042, 1043, 1044, 1052, 1054, 1055, 1056, 1060, 1061, 1064, 1067, 1072, 1087, 1088, 1089, 1091, 1092, 1134, 1136, 1137, 1138, 1139, 1140, 1148, 1156, 1159, 1165, 1187, 1188, 1189, 1190, 1191, 1192, 1194, 1195, 1236, 1238, 1239, 1240, 1248, 1250, 1251, 1267, 1270, 1275, 1310, 1311, 1312, 1324, 1325, 1376, 1378, 1380, 1381, 1385, 1396, 1404, 1406, 1411, 1412, 1416, 1417, 1422, 1423, 1424, 1426, 1427, 1433, 1434, 1437, 1438, 1443, 1444, 1446, 1452, 1458, 1460, 1468, 1474, 1480, 1481, 1487, 1494, 1496, 1504, 1505, 1507, 1508, 1519, 1526, 1527, 1529, 1540, 1542, 1543, 1549, 1550, 1551, 1553, 1555, 1559, 1566, 1567, 1574, 1575, 1582, 1585, 1591, 1626, 1627, 1628, 1629, 1641, 1642, 1692, 1693, 1695, 1696, 1697, 1701, 1712, 1720, 1722, 1725, 1727, 1731, 1732, 1737, 1740, 1741, 1743, 1744, 1745, 1746, 1748, 1749, 1752, 1755, 1756, 1758, 1765, 1767, 1769, 1772, 1774, 1782, 1787, 1793, 1794, 1800, 1807, 1808, 1809, 1812, 1820, 1821, 1822, 1824, 1825, 1833, 1834, 1835, 1837, 1838, 1841, 1844, 1845, 1849, 1850, 1861, 1866, 1884, 1885, 1956, 1957, 1970, 1975, 1982, 1983, 1984, 1986, 1987, 2025, 2027, 2028, 2032, 2033, 2034, 2035, 2036, 2041, 2042, 2044, 2047, 2058, 2083, 2084, 2085, 2086, 2087, 2089, 2090, 2138, 2140, 2145, 2149, 2150, 2151, 2152, 2154, 2155, 2163, 2164, 2166, 2167, 2170, 2171, 2172, 2173, 2174, 2175, 2179, 2181, 2182, 2189, 2192, 2199, 2219, 2220, 2221, 2222, 2223, 2224, 2225, 2227, 2228, 2271, 2273, 2274, 2276, 2277, 2278, 2279, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2301, 2304, 2309, 2318, 2319, 2320, 2322, 2323, 2359, 2361, 2362, 2366, 2367, 2368, 2369, 2371, 2376, 2377, 2378, 2380, 2381, 2382, 2384, 2387, 2393, 2395, 2398, 2404, 2428, 2429, 2430, 2431, 2432, 2433, 2434, 2436, 2437, 2478, 2480, 2481, 2482, 2490, 2491, 2500, 2501, 2517, 2520, 2526, 2545, 2546, 2547, 2548, 2550, 2552, 2553, 2595, 2597, 2598, 2599, 2608, 2614, 2621, 2628, 2629, 2631, 2634, 2645, 2653, 2656, 2661, 2683, 2684, 2685, 2686, 2687, 2688, 2690, 2696, 2697, 2747, 2749, 2751, 2752, 2753, 2754, 2759, 2761, 2764, 2765, 2767, 2775, 2785, 2792, 2794, 2795, 2798, 2799, 2801, 2803, 2804, 2823, 2824, 2828, 2829, 2837, 2842, 2847, 2850, 2851, 2856, 2863, 2868, 2889, 2890, 2891, 2892, 2893, 2895, 2896, 2940, 2942, 2945, 2948, 2952, 2953, 2954, 2957, 2958, 2966, 2974, 2976, 2977, 2980, 2981, 2983, 2985, 2986, 3018, 3033, 3046, 3047, 3048, 3050, 3051, 3085, 3087, 3089, 3093, 3094, 3095, 3097, 3098, 3099, 3101, 3102, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3117, 3128, 3154, 3165, 3166, 3202, 3204, 3205, 3207, 3208, 3210, 3214, 3219, 3220, 3222, 3223, 3224, 3226, 3227, 3228, 3229, 3231, 3234, 3237, 3241, 3243, 3245, 3246, 3247, 3248, 3249, 3250, 3256, 3257, 3258, 3259, 3260, 3261, 3267, 3268, 3271, 3272, 3275, 3276, 3278, 3279, 3280, 3281, 3283, 3284, 3298, 3299, 3311, 3319, 3320, 3322, 3323, 3324, 3325, 3327, 3328, 3329, 3330, 3331, 3333, 3339, 3340, 3341, 3342], "summary": {"covered_lines": 715, "num_statements": 881, "percent_covered": 76.91629955947137, "percent_covered_display": "77", "missing_lines": 166, "excluded_lines": 10, "percent_statements_covered": 81.1577752553916, "percent_statements_covered_display": "81", "num_branches": 254, "num_partial_branches": 46, "covered_branches": 158, "missing_branches": 96, "percent_branches_covered": 62.20472440944882, "percent_branches_covered_display": "62"}, "missing_lines": [154, 158, 162, 170, 174, 178, 182, 186, 190, 194, 198, 202, 206, 210, 214, 218, 238, 241, 247, 249, 251, 253, 256, 260, 329, 416, 419, 421, 422, 423, 432, 434, 567, 654, 745, 846, 945, 1041, 1135, 1237, 1252, 1260, 1377, 1386, 1387, 1388, 1390, 1510, 1516, 1517, 1702, 1703, 1704, 1706, 1753, 1846, 1847, 1852, 1853, 1854, 1855, 1858, 1880, 1881, 1882, 1928, 1929, 1930, 1931, 1937, 1941, 1942, 1945, 1946, 1947, 1948, 1950, 1951, 1953, 1954, 1958, 1959, 1960, 1963, 1967, 2026, 2139, 2141, 2153, 2176, 2177, 2272, 2360, 2479, 2502, 2510, 2549, 2596, 2748, 2762, 2802, 2805, 2806, 2807, 2808, 2809, 2810, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2830, 2838, 2843, 2848, 2860, 2941, 2984, 2990, 2991, 2992, 2993, 2997, 2998, 3002, 3003, 3007, 3008, 3009, 3010, 3014, 3015, 3086, 3203, 3211, 3212, 3215, 3216, 3273, 3287, 3288, 3289, 3291, 3293, 3294, 3295, 3296, 3302, 3303, 3304, 3305, 3307, 3308, 3309, 3344, 3351, 3352, 3353, 3355, 3362, 3374, 3382], "excluded_lines": [58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "executed_branches": [[75, 76], [75, 78], [328, 330], [330, 331], [330, 347], [415, 417], [417, 418], [467, 468], [467, 469], [473, 474], [473, 493], [480, 481], [480, 489], [486, 473], [486, 487], [491, 473], [491, 492], [566, 568], [568, 569], [568, 571], [653, 655], [655, 656], [655, 658], [658, 659], [658, 676], [668, 658], [668, 669], [744, 746], [747, 748], [747, 765], [845, 847], [847, 848], [847, 849], [863, 865], [863, 866], [944, 946], [946, 947], [946, 969], [1040, 1042], [1042, 1043], [1042, 1064], [1054, 1042], [1054, 1055], [1134, 1136], [1136, 1137], [1136, 1156], [1236, 1238], [1239, 1240], [1239, 1267], [1251, 1239], [1376, 1378], [1385, 1396], [1416, 1417], [1416, 1458], [1426, 1427], [1426, 1437], [1480, -1460], [1480, 1481], [1507, 1480], [1507, 1508], [1508, 1519], [1566, 1567], [1566, 1574], [1574, 1575], [1574, 1582], [1701, 1712], [1731, 1732], [1731, 1769], [1743, 1744], [1743, 1752], [1752, 1755], [1793, -1774], [1793, 1794], [1824, 1793], [1824, 1825], [1849, 1850], [1982, 1983], [1982, 1984], [2025, 2027], [2032, 2033], [2032, 2044], [2033, 2034], [2033, 2035], [2138, 2140], [2140, 2145], [2150, 2151], [2150, 2189], [2152, 2154], [2166, 2167], [2166, 2181], [2170, 2171], [2170, 2179], [2181, 2150], [2181, 2182], [2271, 2273], [2273, 2274], [2273, 2276], [2277, 2278], [2277, 2286], [2289, 2290], [2289, 2291], [2292, 2293], [2318, 2319], [2318, 2320], [2359, 2361], [2366, 2367], [2366, 2395], [2367, 2368], [2367, 2369], [2376, 2377], [2376, 2384], [2377, 2378], [2377, 2380], [2478, 2480], [2481, 2482], [2481, 2517], [2501, 2481], [2548, 2550], [2595, 2597], [2597, 2598], [2597, 2653], [2631, 2597], [2631, 2634], [2747, 2749], [2752, 2753], [2752, 2792], [2761, 2764], [2801, 2803], [2803, 2804], [2828, 2829], [2828, 2837], [2829, -2823], [2837, 2842], [2842, 2847], [2847, -2823], [2940, 2942], [2952, 2953], [2952, 2974], [2983, 2985], [2985, 2986], [3085, 3087], [3093, 3094], [3093, 3097], [3094, 3095], [3094, 3101], [3097, 3098], [3097, 3101], [3202, 3204], [3204, 3205], [3204, 3207], [3210, 3214], [3214, 3219], [3272, 3275], [3278, 3279], [3278, 3281], [3340, -3311], [3340, 3341], [3341, 3342]], "missing_branches": [[247, 249], [247, 260], [328, 329], [415, 416], [417, 419], [421, 422], [421, 434], [566, 567], [653, 654], [744, 745], [845, 846], [944, 945], [1040, 1041], [1134, 1135], [1236, 1237], [1251, 1252], [1376, 1377], [1385, 1386], [1508, 1510], [1701, 1702], [1752, 1753], [1849, 1852], [1928, 1929], [1928, 1930], [1930, 1931], [1930, 1937], [1941, 1942], [1941, 1954], [1945, 1946], [1945, 1947], [1959, 1960], [1959, 1963], [2025, 2026], [2138, 2139], [2140, 2141], [2152, 2153], [2271, 2272], [2292, 2294], [2359, 2360], [2478, 2479], [2501, 2502], [2548, 2549], [2595, 2596], [2747, 2748], [2761, 2762], [2801, 2802], [2803, 2805], [2805, 2806], [2805, 2807], [2807, 2808], [2807, 2809], [2809, 2810], [2809, 2814], [2814, 2815], [2814, 2816], [2816, 2817], [2816, 2818], [2818, 2819], [2818, 2820], [2820, -2794], [2820, 2821], [2829, 2830], [2837, 2838], [2842, 2843], [2847, 2848], [2940, 2941], [2983, 2984], [2985, 2990], [2990, 2991], [2990, 2992], [2992, 2993], [2992, 2997], [2997, 2998], [2997, 3002], [3002, 3003], [3002, 3007], [3007, 3008], [3007, 3009], [3009, 3010], [3009, 3014], [3014, -2976], [3014, 3015], [3085, 3086], [3202, 3203], [3210, 3211], [3214, 3215], [3272, 3273], [3288, 3289], [3288, 3291], [3293, 3294], [3293, 3296], [3303, 3304], [3303, 3305], [3307, 3308], [3307, 3309], [3341, 3344]], "functions": {"_normalize_color_input": {"executed_lines": [75, 76, 77, 78], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68, "executed_branches": [[75, 76], [75, 78]], "missing_branches": []}, "_BaseLabelAnnotator.__init__": {"executed_lines": [136], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 102, "executed_branches": [], "missing_branches": []}, "_BaseLabelAnnotator.color": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [154], "excluded_lines": [], "start_line": 153, "executed_branches": [], "missing_branches": []}, "_BaseLabelAnnotator.color_lookup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [162], "excluded_lines": [], "start_line": 161, "executed_branches": [], "missing_branches": []}, "_BaseLabelAnnotator.text_color": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [170], "excluded_lines": [], "start_line": 169, "executed_branches": [], "missing_branches": []}, "_BaseLabelAnnotator.text_padding": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [178], "excluded_lines": [], "start_line": 177, "executed_branches": [], "missing_branches": []}, "_BaseLabelAnnotator.text_anchor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [186], "excluded_lines": [], "start_line": 185, "executed_branches": [], "missing_branches": []}, "_BaseLabelAnnotator.text_offset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [194], "excluded_lines": [], "start_line": 193, "executed_branches": [], "missing_branches": []}, "_BaseLabelAnnotator.border_radius": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [202], "excluded_lines": [], "start_line": 201, "executed_branches": [], "missing_branches": []}, "_BaseLabelAnnotator.smart_position": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [210], "excluded_lines": [], "start_line": 209, "executed_branches": [], "missing_branches": []}, "_BaseLabelAnnotator.max_line_length": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [218], "excluded_lines": [], "start_line": 217, "executed_branches": [], "missing_branches": []}, "_BaseLabelAnnotator._adjust_labels_in_frame": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [238, 241, 247, 249, 251, 253, 256, 260], "excluded_lines": [], "start_line": 220, "executed_branches": [], "missing_branches": [[247, 249], [247, 260]]}, "BoxAnnotator.__init__": {"executed_lines": [282, 283, 284], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 268, "executed_branches": [], "missing_branches": []}, "BoxAnnotator.annotate": {"executed_lines": [328, 330, 331, 332, 340, 347], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [329], "excluded_lines": [], "start_line": 287, "executed_branches": [[328, 330], [330, 331], [330, 347]], "missing_branches": [[328, 329]]}, "OrientedBoxAnnotator.__init__": {"executed_lines": [369, 370, 371], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 355, "executed_branches": [], "missing_branches": []}, "OrientedBoxAnnotator.annotate": {"executed_lines": [415, 417, 418], "summary": {"covered_lines": 3, "num_statements": 10, "percent_covered": 31.25, "percent_covered_display": "31", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 30.0, "percent_statements_covered_display": "30", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 4, "percent_branches_covered": 33.333333333333336, "percent_branches_covered_display": "33"}, "missing_lines": [416, 419, 421, 422, 423, 432, 434], "excluded_lines": [], "start_line": 374, "executed_branches": [[415, 417], [417, 418]], "missing_branches": [[415, 416], [417, 419], [421, 422], [421, 434]]}, "_paint_masks_by_area": {"executed_lines": [466, 467, 468, 469, 472, 473, 474, 480, 481, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 438, "executed_branches": [[467, 468], [467, 469], [473, 474], [473, 493], [480, 481], [480, 489], [486, 473], [486, 487], [491, 473], [491, 492]], "missing_branches": []}, "MaskAnnotator.__init__": {"executed_lines": [519, 520, 521], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 505, "executed_branches": [], "missing_branches": []}, "MaskAnnotator.annotate": {"executed_lines": [566, 568, 569, 571, 572, 578, 581], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [567], "excluded_lines": [], "start_line": 524, "executed_branches": [[566, 568], [568, 569], [568, 571]], "missing_branches": [[566, 567]]}, "PolygonAnnotator.__init__": {"executed_lines": [607, 608, 609], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 593, "executed_branches": [], "missing_branches": []}, "PolygonAnnotator.annotate": {"executed_lines": [653, 655, 656, 658, 659, 660, 668, 669, 676], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [654], "excluded_lines": [], "start_line": 612, "executed_branches": [[653, 655], [655, 656], [655, 658], [658, 659], [658, 676], [668, 658], [668, 669]], "missing_branches": [[653, 654]]}, "ColorAnnotator.__init__": {"executed_lines": [698, 699, 700], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 684, "executed_branches": [], "missing_branches": []}, "ColorAnnotator.annotate": {"executed_lines": [744, 746, 747, 748, 749, 757, 765, 768], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [745], "excluded_lines": [], "start_line": 703, "executed_branches": [[744, 746], [747, 748], [747, 765]], "missing_branches": [[744, 745]]}, "HaloAnnotator.__init__": {"executed_lines": [797, 798, 799, 800], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 780, "executed_branches": [], "missing_branches": []}, "HaloAnnotator.annotate": {"executed_lines": [845, 847, 848, 849, 850, 857, 859, 860, 861, 862, 863, 865, 866, 867, 868, 869, 870], "summary": {"covered_lines": 17, "num_statements": 18, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [846], "excluded_lines": [], "start_line": 803, "executed_branches": [[845, 847], [847, 848], [847, 849], [863, 865], [863, 866]], "missing_branches": [[845, 846]]}, "EllipseAnnotator.__init__": {"executed_lines": [896, 897, 898, 899, 900], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 878, "executed_branches": [], "missing_branches": []}, "EllipseAnnotator.annotate": {"executed_lines": [944, 946, 947, 948, 956, 957, 958, 969], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [945], "excluded_lines": [], "start_line": 903, "executed_branches": [[944, 946], [946, 947], [946, 969]], "missing_branches": [[944, 945]]}, "BoxCornerAnnotator.__init__": {"executed_lines": [993, 994, 995, 996], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 977, "executed_branches": [], "missing_branches": []}, "BoxCornerAnnotator.annotate": {"executed_lines": [1040, 1042, 1043, 1044, 1052, 1054, 1055, 1056, 1060, 1061, 1064], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1041], "excluded_lines": [], "start_line": 999, "executed_branches": [[1040, 1042], [1042, 1043], [1042, 1064], [1054, 1042], [1054, 1055]], "missing_branches": [[1040, 1041]]}, "CircleAnnotator.__init__": {"executed_lines": [1087, 1088, 1089], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1072, "executed_branches": [], "missing_branches": []}, "CircleAnnotator.annotate": {"executed_lines": [1134, 1136, 1137, 1138, 1139, 1140, 1148, 1156], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [1135], "excluded_lines": [], "start_line": 1092, "executed_branches": [[1134, 1136], [1136, 1137], [1136, 1156]], "missing_branches": [[1134, 1135]]}, "DotAnnotator.__init__": {"executed_lines": [1187, 1188, 1189, 1190, 1191, 1192], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1165, "executed_branches": [], "missing_branches": []}, "DotAnnotator.annotate": {"executed_lines": [1236, 1238, 1239, 1240, 1248, 1250, 1251, 1267], "summary": {"covered_lines": 8, "num_statements": 11, "percent_covered": 70.58823529411765, "percent_covered_display": "71", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 72.72727272727273, "percent_statements_covered_display": "73", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [1237, 1252, 1260], "excluded_lines": [], "start_line": 1195, "executed_branches": [[1236, 1238], [1239, 1240], [1239, 1267], [1251, 1239]], "missing_branches": [[1236, 1237], [1251, 1252]]}, "LabelAnnotator.__init__": {"executed_lines": [1310, 1311, 1312], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1275, "executed_branches": [], "missing_branches": []}, "LabelAnnotator.annotate": {"executed_lines": [1376, 1378, 1380, 1381, 1385, 1396, 1404], "summary": {"covered_lines": 7, "num_statements": 12, "percent_covered": 56.25, "percent_covered_display": "56", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 58.333333333333336, "percent_statements_covered_display": "58", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [1377, 1386, 1387, 1388, 1390], "excluded_lines": [], "start_line": 1325, "executed_branches": [[1376, 1378], [1385, 1396]], "missing_branches": [[1376, 1377], [1385, 1386]]}, "LabelAnnotator._get_label_properties": {"executed_lines": [1411, 1412, 1416, 1417, 1422, 1423, 1424, 1426, 1427, 1433, 1434, 1437, 1438, 1443, 1444, 1446, 1452, 1458], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1406, "executed_branches": [[1416, 1417], [1416, 1458], [1426, 1427], [1426, 1437]], "missing_branches": []}, "LabelAnnotator._draw_labels": {"executed_lines": [1468, 1474, 1480, 1481, 1487, 1494, 1496, 1504, 1505, 1507, 1508, 1519, 1526, 1527, 1529, 1540], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 84.0, "percent_covered_display": "84", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 84.21052631578948, "percent_statements_covered_display": "84", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1510, 1516, 1517], "excluded_lines": [], "start_line": 1460, "executed_branches": [[1480, -1460], [1480, 1481], [1507, 1480], [1507, 1508], [1508, 1519]], "missing_branches": [[1508, 1510]]}, "LabelAnnotator.draw_rounded_rectangle": {"executed_lines": [1549, 1550, 1551, 1553, 1555, 1559, 1566, 1567, 1574, 1575, 1582], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1543, "executed_branches": [[1566, 1567], [1566, 1574], [1574, 1575], [1574, 1582]], "missing_branches": []}, "RichLabelAnnotator.__init__": {"executed_lines": [1626, 1627, 1628, 1629], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1591, "executed_branches": [], "missing_branches": []}, "RichLabelAnnotator.annotate": {"executed_lines": [1692, 1693, 1695, 1696, 1697, 1701, 1712, 1720], "summary": {"covered_lines": 8, "num_statements": 12, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [1702, 1703, 1704, 1706], "excluded_lines": [], "start_line": 1642, "executed_branches": [[1701, 1712]], "missing_branches": [[1701, 1702]]}, "RichLabelAnnotator._get_label_properties": {"executed_lines": [1725, 1727, 1731, 1732, 1737, 1740, 1741, 1743, 1744, 1745, 1746, 1748, 1749, 1752, 1755, 1756, 1758, 1765, 1767, 1769, 1772], "summary": {"covered_lines": 21, "num_statements": 22, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1753], "excluded_lines": [], "start_line": 1722, "executed_branches": [[1731, 1732], [1731, 1769], [1743, 1744], [1743, 1752], [1752, 1755]], "missing_branches": [[1752, 1753]]}, "RichLabelAnnotator._draw_labels": {"executed_lines": [1782, 1787, 1793, 1794, 1800, 1807, 1808, 1809, 1812, 1820, 1821, 1822, 1824, 1825, 1833, 1834, 1835], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1774, "executed_branches": [[1793, -1774], [1793, 1794], [1824, 1793], [1824, 1825]], "missing_branches": []}, "RichLabelAnnotator._load_font": {"executed_lines": [1841, 1849, 1850], "summary": {"covered_lines": 3, "num_statements": 8, "percent_covered": 40.0, "percent_covered_display": "40", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 37.5, "percent_statements_covered_display": "38", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [1852, 1853, 1854, 1855, 1858], "excluded_lines": [], "start_line": 1838, "executed_branches": [[1849, 1850]], "missing_branches": [[1849, 1852]]}, "RichLabelAnnotator._load_font.load_default_font": {"executed_lines": [1844, 1845], "summary": {"covered_lines": 2, "num_statements": 4, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [1846, 1847], "excluded_lines": [], "start_line": 1841, "executed_branches": [], "missing_branches": []}, "IconAnnotator.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [1880, 1881, 1882], "excluded_lines": [], "start_line": 1866, "executed_branches": [], "missing_branches": []}, "IconAnnotator.annotate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 15, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1928, 1929, 1930, 1931, 1937, 1941, 1942, 1945, 1946, 1947, 1948, 1950, 1951, 1953, 1954], "excluded_lines": [], "start_line": 1885, "executed_branches": [], "missing_branches": [[1928, 1929], [1928, 1930], [1930, 1931], [1930, 1937], [1941, 1942], [1941, 1954], [1945, 1946], [1945, 1947]]}, "IconAnnotator._load_icon": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1958, 1959, 1960, 1963, 1967], "excluded_lines": [], "start_line": 1957, "executed_branches": [], "missing_branches": [[1959, 1960], [1959, 1963]]}, "BlurAnnotator.__init__": {"executed_lines": [1982, 1983, 1984], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1975, "executed_branches": [[1982, 1983], [1982, 1984]], "missing_branches": []}, "BlurAnnotator.annotate": {"executed_lines": [2025, 2027, 2028, 2032, 2033, 2034, 2035, 2036, 2041, 2042, 2044], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [2026], "excluded_lines": [], "start_line": 1987, "executed_branches": [[2025, 2027], [2032, 2033], [2032, 2044], [2033, 2034], [2033, 2035]], "missing_branches": [[2025, 2026]]}, "TraceAnnotator.__init__": {"executed_lines": [2083, 2084, 2085, 2086, 2087], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2058, "executed_branches": [], "missing_branches": []}, "TraceAnnotator.annotate": {"executed_lines": [2138, 2140, 2145, 2149, 2150, 2151, 2152, 2154, 2155, 2163, 2164, 2166, 2167, 2170, 2171, 2172, 2173, 2174, 2175, 2179, 2181, 2182, 2189], "summary": {"covered_lines": 23, "num_statements": 28, "percent_covered": 80.95238095238095, "percent_covered_display": "81", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 82.14285714285714, "percent_statements_covered_display": "82", "num_branches": 14, "num_partial_branches": 3, "covered_branches": 11, "missing_branches": 3, "percent_branches_covered": 78.57142857142857, "percent_branches_covered_display": "79"}, "missing_lines": [2139, 2141, 2153, 2176, 2177], "excluded_lines": [], "start_line": 2090, "executed_branches": [[2138, 2140], [2140, 2145], [2150, 2151], [2150, 2189], [2152, 2154], [2166, 2167], [2166, 2181], [2170, 2171], [2170, 2179], [2181, 2150], [2181, 2182]], "missing_branches": [[2138, 2139], [2140, 2141], [2152, 2153]]}, "HeatMapAnnotator.__init__": {"executed_lines": [2219, 2220, 2221, 2222, 2223, 2224, 2225], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2199, "executed_branches": [], "missing_branches": []}, "HeatMapAnnotator.annotate": {"executed_lines": [2271, 2273, 2274, 2276, 2277, 2278, 2279, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2301], "summary": {"covered_lines": 21, "num_statements": 22, "percent_covered": 90.625, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [2272], "excluded_lines": [], "start_line": 2228, "executed_branches": [[2271, 2273], [2273, 2274], [2273, 2276], [2277, 2278], [2277, 2286], [2289, 2290], [2289, 2291], [2292, 2293]], "missing_branches": [[2271, 2272], [2292, 2294]]}, "PixelateAnnotator.__init__": {"executed_lines": [2318, 2319, 2320], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2309, "executed_branches": [[2318, 2319], [2318, 2320]], "missing_branches": []}, "PixelateAnnotator.annotate": {"executed_lines": [2359, 2361, 2362, 2366, 2367, 2368, 2369, 2371, 2376, 2377, 2378, 2380, 2381, 2382, 2384, 2387, 2393, 2395], "summary": {"covered_lines": 18, "num_statements": 19, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.73684210526316, "percent_statements_covered_display": "95", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [2360], "excluded_lines": [], "start_line": 2323, "executed_branches": [[2359, 2361], [2366, 2367], [2366, 2395], [2367, 2368], [2367, 2369], [2376, 2377], [2376, 2384], [2377, 2378], [2377, 2380]], "missing_branches": [[2359, 2360]]}, "TriangleAnnotator.__init__": {"executed_lines": [2428, 2429, 2430, 2431, 2432, 2433, 2434], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2404, "executed_branches": [], "missing_branches": []}, "TriangleAnnotator.annotate": {"executed_lines": [2478, 2480, 2481, 2482, 2490, 2491, 2500, 2501, 2517], "summary": {"covered_lines": 9, "num_statements": 12, "percent_covered": 72.22222222222223, "percent_covered_display": "72", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [2479, 2502, 2510], "excluded_lines": [], "start_line": 2437, "executed_branches": [[2478, 2480], [2481, 2482], [2481, 2517], [2501, 2481]], "missing_branches": [[2478, 2479], [2501, 2502]]}, "RoundBoxAnnotator.__init__": {"executed_lines": [2545, 2546, 2547, 2548, 2550], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [2549], "excluded_lines": [], "start_line": 2526, "executed_branches": [[2548, 2550]], "missing_branches": [[2548, 2549]]}, "RoundBoxAnnotator.annotate": {"executed_lines": [2595, 2597, 2598, 2599, 2608, 2614, 2621, 2628, 2629, 2631, 2634, 2645, 2653], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [2596], "excluded_lines": [], "start_line": 2553, "executed_branches": [[2595, 2597], [2597, 2598], [2597, 2653], [2631, 2597], [2631, 2634]], "missing_branches": [[2595, 2596]]}, "PercentageBarAnnotator.__init__": {"executed_lines": [2683, 2684, 2685, 2686, 2687, 2688, 2690], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2661, "executed_branches": [], "missing_branches": []}, "PercentageBarAnnotator.annotate": {"executed_lines": [2747, 2749, 2751, 2752, 2753, 2754, 2759, 2761, 2764, 2765, 2767, 2775, 2785, 2792], "summary": {"covered_lines": 14, "num_statements": 16, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [2748, 2762], "excluded_lines": [], "start_line": 2697, "executed_branches": [[2747, 2749], [2752, 2753], [2752, 2792], [2761, 2764]], "missing_branches": [[2747, 2748], [2761, 2762]]}, "PercentageBarAnnotator.calculate_border_coordinates": {"executed_lines": [2798, 2799, 2801, 2803, 2804], "summary": {"covered_lines": 5, "num_statements": 20, "percent_covered": 18.42105263157895, "percent_covered_display": "18", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 25.0, "percent_statements_covered_display": "25", "num_branches": 18, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 16, "percent_branches_covered": 11.11111111111111, "percent_branches_covered_display": "11"}, "missing_lines": [2802, 2805, 2806, 2807, 2808, 2809, 2810, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821], "excluded_lines": [], "start_line": 2795, "executed_branches": [[2801, 2803], [2803, 2804]], "missing_branches": [[2801, 2802], [2803, 2805], [2805, 2806], [2805, 2807], [2807, 2808], [2807, 2809], [2809, 2810], [2809, 2814], [2814, 2815], [2814, 2816], [2816, 2817], [2816, 2818], [2818, 2819], [2818, 2820], [2820, -2794], [2820, 2821]]}, "PercentageBarAnnotator._validate_custom_values": {"executed_lines": [2828, 2829, 2837, 2842, 2847], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 57.89473684210526, "percent_covered_display": "58", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 55.55555555555556, "percent_statements_covered_display": "56", "num_branches": 10, "num_partial_branches": 4, "covered_branches": 6, "missing_branches": 4, "percent_branches_covered": 60.0, "percent_branches_covered_display": "60"}, "missing_lines": [2830, 2838, 2843, 2848], "excluded_lines": [], "start_line": 2824, "executed_branches": [[2828, 2829], [2828, 2837], [2829, -2823], [2837, 2842], [2842, 2847], [2847, -2823]], "missing_branches": [[2829, 2830], [2837, 2838], [2842, 2843], [2847, 2848]]}, "PercentageBarAnnotator.validate_custom_values": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [2860], "excluded_lines": [], "start_line": 2856, "executed_branches": [], "missing_branches": []}, "CropAnnotator.__init__": {"executed_lines": [2889, 2890, 2891, 2892, 2893], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2868, "executed_branches": [], "missing_branches": []}, "CropAnnotator.annotate": {"executed_lines": [2940, 2942, 2945, 2948, 2952, 2953, 2954, 2957, 2958, 2966, 2974], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [2941], "excluded_lines": [], "start_line": 2896, "executed_branches": [[2940, 2942], [2952, 2953], [2952, 2974]], "missing_branches": [[2940, 2941]]}, "CropAnnotator.calculate_crop_coordinates": {"executed_lines": [2980, 2981, 2983, 2985, 2986], "summary": {"covered_lines": 5, "num_statements": 20, "percent_covered": 18.42105263157895, "percent_covered_display": "18", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 25.0, "percent_statements_covered_display": "25", "num_branches": 18, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 16, "percent_branches_covered": 11.11111111111111, "percent_branches_covered_display": "11"}, "missing_lines": [2984, 2990, 2991, 2992, 2993, 2997, 2998, 3002, 3003, 3007, 3008, 3009, 3010, 3014, 3015], "excluded_lines": [], "start_line": 2977, "executed_branches": [[2983, 2985], [2985, 2986]], "missing_branches": [[2983, 2984], [2985, 2990], [2990, 2991], [2990, 2992], [2992, 2993], [2992, 2997], [2997, 2998], [2997, 3002], [3002, 3003], [3002, 3007], [3007, 3008], [3007, 3009], [3009, 3010], [3009, 3014], [3014, -2976], [3014, 3015]]}, "BackgroundOverlayAnnotator.__init__": {"executed_lines": [3046, 3047, 3048], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3033, "executed_branches": [], "missing_branches": []}, "BackgroundOverlayAnnotator.annotate": {"executed_lines": [3085, 3087, 3089, 3093, 3094, 3095, 3097, 3098, 3099, 3101, 3102], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [3086], "excluded_lines": [], "start_line": 3051, "executed_branches": [[3085, 3087], [3093, 3094], [3093, 3097], [3094, 3095], [3094, 3101], [3097, 3098], [3097, 3101]], "missing_branches": [[3085, 3086]]}, "ComparisonAnnotator.__init__": {"executed_lines": [3154], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3128, "executed_branches": [], "missing_branches": []}, "ComparisonAnnotator.annotate": {"executed_lines": [3202, 3204, 3205, 3207, 3208, 3210, 3214, 3219, 3220, 3222, 3223, 3224, 3226, 3227, 3228, 3229, 3231, 3234, 3237, 3241, 3243], "summary": {"covered_lines": 21, "num_statements": 26, "percent_covered": 76.47058823529412, "percent_covered_display": "76", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 80.76923076923077, "percent_statements_covered_display": "81", "num_branches": 8, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 3, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [3203, 3211, 3212, 3215, 3216], "excluded_lines": [], "start_line": 3166, "executed_branches": [[3202, 3204], [3204, 3205], [3204, 3207], [3210, 3214], [3214, 3219]], "missing_branches": [[3202, 3203], [3210, 3211], [3214, 3215]]}, "ComparisonAnnotator._use_obb": {"executed_lines": [3247, 3248, 3249, 3250], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3246, "executed_branches": [], "missing_branches": []}, "ComparisonAnnotator._use_mask": {"executed_lines": [3258, 3259, 3260, 3261], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3257, "executed_branches": [], "missing_branches": []}, "ComparisonAnnotator._mask_from_xyxy": {"executed_lines": [3271, 3272, 3275, 3276, 3278, 3279, 3280, 3281], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [3273], "excluded_lines": [], "start_line": 3268, "executed_branches": [[3272, 3275], [3278, 3279], [3278, 3281]], "missing_branches": [[3272, 3273]]}, "ComparisonAnnotator._mask_from_obb": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [3287, 3288, 3289, 3291, 3293, 3294, 3295, 3296], "excluded_lines": [], "start_line": 3284, "executed_branches": [], "missing_branches": [[3288, 3289], [3288, 3291], [3293, 3294], [3293, 3296]]}, "ComparisonAnnotator._mask_from_mask": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [3302, 3303, 3304, 3305, 3307, 3308, 3309], "excluded_lines": [], "start_line": 3299, "executed_branches": [], "missing_branches": [[3303, 3304], [3303, 3305], [3307, 3308], [3307, 3309]]}, "ComparisonAnnotator._draw_labels": {"executed_lines": [3319, 3320, 3322, 3323, 3324, 3325, 3327, 3328, 3329, 3330, 3331, 3333, 3339, 3340, 3341, 3342], "summary": {"covered_lines": 16, "num_statements": 24, "percent_covered": 67.85714285714286, "percent_covered_display": "68", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [3344, 3351, 3352, 3353, 3355, 3362, 3374, 3382], "excluded_lines": [], "start_line": 3311, "executed_branches": [[3340, -3311], [3340, 3341], [3341, 3342]], "missing_branches": [[3341, 3344]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 15, 16, 30, 31, 32, 33, 34, 39, 40, 41, 42, 43, 47, 53, 55, 68, 81, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 97, 102, 148, 149, 152, 153, 156, 157, 160, 161, 164, 165, 168, 169, 172, 173, 176, 177, 180, 181, 184, 185, 188, 189, 192, 193, 196, 197, 200, 201, 204, 205, 208, 209, 212, 213, 216, 217, 220, 263, 268, 286, 287, 350, 355, 373, 374, 438, 496, 505, 523, 524, 584, 593, 611, 612, 679, 684, 702, 703, 771, 780, 802, 803, 873, 878, 902, 903, 972, 977, 998, 999, 1067, 1072, 1091, 1092, 1159, 1165, 1194, 1195, 1270, 1275, 1324, 1325, 1406, 1460, 1542, 1543, 1585, 1591, 1641, 1642, 1722, 1774, 1837, 1838, 1861, 1866, 1884, 1885, 1956, 1957, 1970, 1975, 1986, 1987, 2047, 2058, 2089, 2090, 2192, 2199, 2227, 2228, 2304, 2309, 2322, 2323, 2398, 2404, 2436, 2437, 2520, 2526, 2552, 2553, 2656, 2661, 2696, 2697, 2794, 2795, 2823, 2824, 2850, 2851, 2856, 2863, 2868, 2895, 2896, 2976, 2977, 3018, 3033, 3050, 3051, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3117, 3128, 3165, 3166, 3245, 3246, 3256, 3257, 3267, 3268, 3283, 3284, 3298, 3299, 3311], "summary": {"covered_lines": 211, "num_statements": 211, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 8, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [58, 60, 61, 62, 63, 64, 66, 67], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"_LabelAnnotatorConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85, "executed_branches": [], "missing_branches": []}, "_BaseLabelAnnotator": {"executed_lines": [136, 150, 166], "summary": {"covered_lines": 3, "num_statements": 27, "percent_covered": 10.344827586206897, "percent_covered_display": "10", "missing_lines": 24, "excluded_lines": 0, "percent_statements_covered": 11.11111111111111, "percent_statements_covered_display": "11", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [154, 158, 162, 170, 174, 178, 182, 186, 190, 194, 198, 202, 206, 210, 214, 218, 238, 241, 247, 249, 251, 253, 256, 260], "excluded_lines": [], "start_line": 97, "executed_branches": [], "missing_branches": [[247, 249], [247, 260]]}, "BoxAnnotator": {"executed_lines": [282, 283, 284, 328, 330, 331, 332, 340, 347], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [329], "excluded_lines": [], "start_line": 263, "executed_branches": [[328, 330], [330, 331], [330, 347]], "missing_branches": [[328, 329]]}, "OrientedBoxAnnotator": {"executed_lines": [369, 370, 371, 415, 417, 418], "summary": {"covered_lines": 6, "num_statements": 13, "percent_covered": 42.10526315789474, "percent_covered_display": "42", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 46.15384615384615, "percent_statements_covered_display": "46", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 4, "percent_branches_covered": 33.333333333333336, "percent_branches_covered_display": "33"}, "missing_lines": [416, 419, 421, 422, 423, 432, 434], "excluded_lines": [], "start_line": 350, "executed_branches": [[415, 417], [417, 418]], "missing_branches": [[415, 416], [417, 419], [421, 422], [421, 434]]}, "MaskAnnotator": {"executed_lines": [519, 520, 521, 566, 568, 569, 571, 572, 578, 581], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [567], "excluded_lines": [], "start_line": 496, "executed_branches": [[566, 568], [568, 569], [568, 571]], "missing_branches": [[566, 567]]}, "PolygonAnnotator": {"executed_lines": [607, 608, 609, 653, 655, 656, 658, 659, 660, 668, 669, 676], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 90.47619047619048, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [654], "excluded_lines": [], "start_line": 584, "executed_branches": [[653, 655], [655, 656], [655, 658], [658, 659], [658, 676], [668, 658], [668, 669]], "missing_branches": [[653, 654]]}, "ColorAnnotator": {"executed_lines": [698, 699, 700, 744, 746, 747, 748, 749, 757, 765, 768], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [745], "excluded_lines": [], "start_line": 679, "executed_branches": [[744, 746], [747, 748], [747, 765]], "missing_branches": [[744, 745]]}, "HaloAnnotator": {"executed_lines": [797, 798, 799, 800, 845, 847, 848, 849, 850, 857, 859, 860, 861, 862, 863, 865, 866, 867, 868, 869, 870], "summary": {"covered_lines": 21, "num_statements": 22, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [846], "excluded_lines": [], "start_line": 771, "executed_branches": [[845, 847], [847, 848], [847, 849], [863, 865], [863, 866]], "missing_branches": [[845, 846]]}, "EllipseAnnotator": {"executed_lines": [896, 897, 898, 899, 900, 944, 946, 947, 948, 956, 957, 958, 969], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [945], "excluded_lines": [], "start_line": 873, "executed_branches": [[944, 946], [946, 947], [946, 969]], "missing_branches": [[944, 945]]}, "BoxCornerAnnotator": {"executed_lines": [993, 994, 995, 996, 1040, 1042, 1043, 1044, 1052, 1054, 1055, 1056, 1060, 1061, 1064], "summary": {"covered_lines": 15, "num_statements": 16, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.75, "percent_statements_covered_display": "94", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1041], "excluded_lines": [], "start_line": 972, "executed_branches": [[1040, 1042], [1042, 1043], [1042, 1064], [1054, 1042], [1054, 1055]], "missing_branches": [[1040, 1041]]}, "CircleAnnotator": {"executed_lines": [1087, 1088, 1089, 1134, 1136, 1137, 1138, 1139, 1140, 1148, 1156], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [1135], "excluded_lines": [], "start_line": 1067, "executed_branches": [[1134, 1136], [1136, 1137], [1136, 1156]], "missing_branches": [[1134, 1135]]}, "DotAnnotator": {"executed_lines": [1187, 1188, 1189, 1190, 1191, 1192, 1236, 1238, 1239, 1240, 1248, 1250, 1251, 1267], "summary": {"covered_lines": 14, "num_statements": 17, "percent_covered": 78.26086956521739, "percent_covered_display": "78", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 82.3529411764706, "percent_statements_covered_display": "82", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [1237, 1252, 1260], "excluded_lines": [], "start_line": 1159, "executed_branches": [[1236, 1238], [1239, 1240], [1239, 1267], [1251, 1239]], "missing_branches": [[1236, 1237], [1251, 1252]]}, "LabelAnnotator": {"executed_lines": [1310, 1311, 1312, 1376, 1378, 1380, 1381, 1385, 1396, 1404, 1411, 1412, 1416, 1417, 1422, 1423, 1424, 1426, 1427, 1433, 1434, 1437, 1438, 1443, 1444, 1446, 1452, 1458, 1468, 1474, 1480, 1481, 1487, 1494, 1496, 1504, 1505, 1507, 1508, 1519, 1526, 1527, 1529, 1540, 1549, 1550, 1551, 1553, 1555, 1559, 1566, 1567, 1574, 1575, 1582], "summary": {"covered_lines": 55, "num_statements": 63, "percent_covered": 86.41975308641975, "percent_covered_display": "86", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 87.3015873015873, "percent_statements_covered_display": "87", "num_branches": 18, "num_partial_branches": 3, "covered_branches": 15, "missing_branches": 3, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1377, 1386, 1387, 1388, 1390, 1510, 1516, 1517], "excluded_lines": [], "start_line": 1270, "executed_branches": [[1376, 1378], [1385, 1396], [1416, 1417], [1416, 1458], [1426, 1427], [1426, 1437], [1480, -1460], [1480, 1481], [1507, 1480], [1507, 1508], [1508, 1519], [1566, 1567], [1566, 1574], [1574, 1575], [1574, 1582]], "missing_branches": [[1376, 1377], [1385, 1386], [1508, 1510]]}, "RichLabelAnnotator": {"executed_lines": [1626, 1627, 1628, 1629, 1692, 1693, 1695, 1696, 1697, 1701, 1712, 1720, 1725, 1727, 1731, 1732, 1737, 1740, 1741, 1743, 1744, 1745, 1746, 1748, 1749, 1752, 1755, 1756, 1758, 1765, 1767, 1769, 1772, 1782, 1787, 1793, 1794, 1800, 1807, 1808, 1809, 1812, 1820, 1821, 1822, 1824, 1825, 1833, 1834, 1835, 1841, 1844, 1845, 1849, 1850], "summary": {"covered_lines": 55, "num_statements": 67, "percent_covered": 81.48148148148148, "percent_covered_display": "81", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 82.08955223880596, "percent_statements_covered_display": "82", "num_branches": 14, "num_partial_branches": 3, "covered_branches": 11, "missing_branches": 3, "percent_branches_covered": 78.57142857142857, "percent_branches_covered_display": "79"}, "missing_lines": [1702, 1703, 1704, 1706, 1753, 1846, 1847, 1852, 1853, 1854, 1855, 1858], "excluded_lines": [], "start_line": 1585, "executed_branches": [[1701, 1712], [1731, 1732], [1731, 1769], [1743, 1744], [1743, 1752], [1752, 1755], [1793, -1774], [1793, 1794], [1824, 1793], [1824, 1825], [1849, 1850]], "missing_branches": [[1701, 1702], [1752, 1753], [1849, 1852]]}, "IconAnnotator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1880, 1881, 1882, 1928, 1929, 1930, 1931, 1937, 1941, 1942, 1945, 1946, 1947, 1948, 1950, 1951, 1953, 1954, 1958, 1959, 1960, 1963, 1967], "excluded_lines": [], "start_line": 1861, "executed_branches": [], "missing_branches": [[1928, 1929], [1928, 1930], [1930, 1931], [1930, 1937], [1941, 1942], [1941, 1954], [1945, 1946], [1945, 1947], [1959, 1960], [1959, 1963]]}, "BlurAnnotator": {"executed_lines": [1982, 1983, 1984, 2025, 2027, 2028, 2032, 2033, 2034, 2035, 2036, 2041, 2042, 2044], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [2026], "excluded_lines": [], "start_line": 1970, "executed_branches": [[1982, 1983], [1982, 1984], [2025, 2027], [2032, 2033], [2032, 2044], [2033, 2034], [2033, 2035]], "missing_branches": [[2025, 2026]]}, "TraceAnnotator": {"executed_lines": [2083, 2084, 2085, 2086, 2087, 2138, 2140, 2145, 2149, 2150, 2151, 2152, 2154, 2155, 2163, 2164, 2166, 2167, 2170, 2171, 2172, 2173, 2174, 2175, 2179, 2181, 2182, 2189], "summary": {"covered_lines": 28, "num_statements": 33, "percent_covered": 82.97872340425532, "percent_covered_display": "83", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 84.84848484848484, "percent_statements_covered_display": "85", "num_branches": 14, "num_partial_branches": 3, "covered_branches": 11, "missing_branches": 3, "percent_branches_covered": 78.57142857142857, "percent_branches_covered_display": "79"}, "missing_lines": [2139, 2141, 2153, 2176, 2177], "excluded_lines": [], "start_line": 2047, "executed_branches": [[2138, 2140], [2140, 2145], [2150, 2151], [2150, 2189], [2152, 2154], [2166, 2167], [2166, 2181], [2170, 2171], [2170, 2179], [2181, 2150], [2181, 2182]], "missing_branches": [[2138, 2139], [2140, 2141], [2152, 2153]]}, "HeatMapAnnotator": {"executed_lines": [2219, 2220, 2221, 2222, 2223, 2224, 2225, 2271, 2273, 2274, 2276, 2277, 2278, 2279, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293, 2294, 2295, 2296, 2297, 2298, 2301], "summary": {"covered_lines": 28, "num_statements": 29, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.55172413793103, "percent_statements_covered_display": "97", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [2272], "excluded_lines": [], "start_line": 2192, "executed_branches": [[2271, 2273], [2273, 2274], [2273, 2276], [2277, 2278], [2277, 2286], [2289, 2290], [2289, 2291], [2292, 2293]], "missing_branches": [[2271, 2272], [2292, 2294]]}, "PixelateAnnotator": {"executed_lines": [2318, 2319, 2320, 2359, 2361, 2362, 2366, 2367, 2368, 2369, 2371, 2376, 2377, 2378, 2380, 2381, 2382, 2384, 2387, 2393, 2395], "summary": {"covered_lines": 21, "num_statements": 22, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 11, "missing_branches": 1, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [2360], "excluded_lines": [], "start_line": 2304, "executed_branches": [[2318, 2319], [2318, 2320], [2359, 2361], [2366, 2367], [2366, 2395], [2367, 2368], [2367, 2369], [2376, 2377], [2376, 2384], [2377, 2378], [2377, 2380]], "missing_branches": [[2359, 2360]]}, "TriangleAnnotator": {"executed_lines": [2428, 2429, 2430, 2431, 2432, 2433, 2434, 2478, 2480, 2481, 2482, 2490, 2491, 2500, 2501, 2517], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 84.21052631578948, "percent_statements_covered_display": "84", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [2479, 2502, 2510], "excluded_lines": [], "start_line": 2398, "executed_branches": [[2478, 2480], [2481, 2482], [2481, 2517], [2501, 2481]], "missing_branches": [[2478, 2479], [2501, 2502]]}, "RoundBoxAnnotator": {"executed_lines": [2545, 2546, 2547, 2548, 2550, 2595, 2597, 2598, 2599, 2608, 2614, 2621, 2628, 2629, 2631, 2634, 2645, 2653], "summary": {"covered_lines": 18, "num_statements": 20, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [2549, 2596], "excluded_lines": [], "start_line": 2520, "executed_branches": [[2548, 2550], [2595, 2597], [2597, 2598], [2597, 2653], [2631, 2597], [2631, 2634]], "missing_branches": [[2548, 2549], [2595, 2596]]}, "PercentageBarAnnotator": {"executed_lines": [2683, 2684, 2685, 2686, 2687, 2688, 2690, 2747, 2749, 2751, 2752, 2753, 2754, 2759, 2761, 2764, 2765, 2767, 2775, 2785, 2792, 2798, 2799, 2801, 2803, 2804, 2828, 2829, 2837, 2842, 2847], "summary": {"covered_lines": 31, "num_statements": 53, "percent_covered": 49.42528735632184, "percent_covered_display": "49", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 58.490566037735846, "percent_statements_covered_display": "58", "num_branches": 34, "num_partial_branches": 8, "covered_branches": 12, "missing_branches": 22, "percent_branches_covered": 35.294117647058826, "percent_branches_covered_display": "35"}, "missing_lines": [2748, 2762, 2802, 2805, 2806, 2807, 2808, 2809, 2810, 2814, 2815, 2816, 2817, 2818, 2819, 2820, 2821, 2830, 2838, 2843, 2848, 2860], "excluded_lines": [], "start_line": 2656, "executed_branches": [[2747, 2749], [2752, 2753], [2752, 2792], [2761, 2764], [2801, 2803], [2803, 2804], [2828, 2829], [2828, 2837], [2829, -2823], [2837, 2842], [2842, 2847], [2847, -2823]], "missing_branches": [[2747, 2748], [2761, 2762], [2801, 2802], [2803, 2805], [2805, 2806], [2805, 2807], [2807, 2808], [2807, 2809], [2809, 2810], [2809, 2814], [2814, 2815], [2814, 2816], [2816, 2817], [2816, 2818], [2818, 2819], [2818, 2820], [2820, -2794], [2820, 2821], [2829, 2830], [2837, 2838], [2842, 2843], [2847, 2848]]}, "CropAnnotator": {"executed_lines": [2889, 2890, 2891, 2892, 2893, 2940, 2942, 2945, 2948, 2952, 2953, 2954, 2957, 2958, 2966, 2974, 2980, 2981, 2983, 2985, 2986], "summary": {"covered_lines": 21, "num_statements": 37, "percent_covered": 44.067796610169495, "percent_covered_display": "44", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 56.75675675675676, "percent_statements_covered_display": "57", "num_branches": 22, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 17, "percent_branches_covered": 22.727272727272727, "percent_branches_covered_display": "23"}, "missing_lines": [2941, 2984, 2990, 2991, 2992, 2993, 2997, 2998, 3002, 3003, 3007, 3008, 3009, 3010, 3014, 3015], "excluded_lines": [], "start_line": 2863, "executed_branches": [[2940, 2942], [2952, 2953], [2952, 2974], [2983, 2985], [2985, 2986]], "missing_branches": [[2940, 2941], [2983, 2984], [2985, 2990], [2990, 2991], [2990, 2992], [2992, 2993], [2992, 2997], [2997, 2998], [2997, 3002], [3002, 3003], [3002, 3007], [3007, 3008], [3007, 3009], [3009, 3010], [3009, 3014], [3014, -2976], [3014, 3015]]}, "BackgroundOverlayAnnotator": {"executed_lines": [3046, 3047, 3048, 3085, 3087, 3089, 3093, 3094, 3095, 3097, 3098, 3099, 3101, 3102], "summary": {"covered_lines": 14, "num_statements": 15, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 93.33333333333333, "percent_statements_covered_display": "93", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [3086], "excluded_lines": [], "start_line": 3018, "executed_branches": [[3085, 3087], [3093, 3094], [3093, 3097], [3094, 3095], [3094, 3101], [3097, 3098], [3097, 3101]], "missing_branches": [[3085, 3086]]}, "_ComparisonAnnotatorConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 3106, "executed_branches": [], "missing_branches": []}, "ComparisonAnnotator": {"executed_lines": [3154, 3202, 3204, 3205, 3207, 3208, 3210, 3214, 3219, 3220, 3222, 3223, 3224, 3226, 3227, 3228, 3229, 3231, 3234, 3237, 3241, 3243, 3247, 3248, 3249, 3250, 3258, 3259, 3260, 3261, 3271, 3272, 3275, 3276, 3278, 3279, 3280, 3281, 3319, 3320, 3322, 3323, 3324, 3325, 3327, 3328, 3329, 3330, 3331, 3333, 3339, 3340, 3341, 3342], "summary": {"covered_lines": 54, "num_statements": 83, "percent_covered": 60.74766355140187, "percent_covered_display": "61", "missing_lines": 29, "excluded_lines": 0, "percent_statements_covered": 65.06024096385542, "percent_statements_covered_display": "65", "num_branches": 24, "num_partial_branches": 5, "covered_branches": 11, "missing_branches": 13, "percent_branches_covered": 45.833333333333336, "percent_branches_covered_display": "46"}, "missing_lines": [3203, 3211, 3212, 3215, 3216, 3273, 3287, 3288, 3289, 3291, 3293, 3294, 3295, 3296, 3302, 3303, 3304, 3305, 3307, 3308, 3309, 3344, 3351, 3352, 3353, 3355, 3362, 3374, 3382], "excluded_lines": [], "start_line": 3117, "executed_branches": [[3202, 3204], [3204, 3205], [3204, 3207], [3210, 3214], [3214, 3219], [3272, 3275], [3278, 3279], [3278, 3281], [3340, -3311], [3340, 3341], [3341, 3342]], "missing_branches": [[3202, 3203], [3210, 3211], [3214, 3215], [3272, 3273], [3288, 3289], [3288, 3291], [3293, 3294], [3293, 3296], [3303, 3304], [3303, 3305], [3307, 3308], [3307, 3309], [3341, 3344]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 15, 16, 30, 31, 32, 33, 34, 39, 40, 41, 42, 43, 47, 53, 55, 68, 75, 76, 77, 78, 81, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 97, 102, 148, 149, 152, 153, 156, 157, 160, 161, 164, 165, 168, 169, 172, 173, 176, 177, 180, 181, 184, 185, 188, 189, 192, 193, 196, 197, 200, 201, 204, 205, 208, 209, 212, 213, 216, 217, 220, 263, 268, 286, 287, 350, 355, 373, 374, 438, 466, 467, 468, 469, 472, 473, 474, 480, 481, 482, 483, 484, 485, 486, 487, 489, 490, 491, 492, 493, 496, 505, 523, 524, 584, 593, 611, 612, 679, 684, 702, 703, 771, 780, 802, 803, 873, 878, 902, 903, 972, 977, 998, 999, 1067, 1072, 1091, 1092, 1159, 1165, 1194, 1195, 1270, 1275, 1324, 1325, 1406, 1460, 1542, 1543, 1585, 1591, 1641, 1642, 1722, 1774, 1837, 1838, 1861, 1866, 1884, 1885, 1956, 1957, 1970, 1975, 1986, 1987, 2047, 2058, 2089, 2090, 2192, 2199, 2227, 2228, 2304, 2309, 2322, 2323, 2398, 2404, 2436, 2437, 2520, 2526, 2552, 2553, 2656, 2661, 2696, 2697, 2794, 2795, 2823, 2824, 2850, 2851, 2856, 2863, 2868, 2895, 2896, 2976, 2977, 3018, 3033, 3050, 3051, 3105, 3106, 3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3117, 3128, 3165, 3166, 3245, 3246, 3256, 3257, 3267, 3268, 3283, 3284, 3298, 3299, 3311], "summary": {"covered_lines": 235, "num_statements": 235, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 10, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [58, 59, 60, 61, 62, 63, 64, 65, 66, 67], "start_line": 1, "executed_branches": [[75, 76], [75, 78], [467, 468], [467, 469], [473, 474], [473, 493], [480, 481], [480, 489], [486, 473], [486, 487], [491, 473], [491, 492]], "missing_branches": []}}}, "src\\supervision\\annotators\\utils.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 17, 18, 21, 31, 32, 33, 35, 36, 40, 45, 46, 51, 52, 53, 57, 58, 59, 60, 61, 62, 68, 69, 70, 71, 76, 80, 85, 86, 88, 89, 133, 134, 135, 136, 139, 145, 150, 156, 159, 172, 173, 175, 176, 178, 179, 181, 182, 184, 185, 187, 188, 192, 200, 202, 205, 218, 226, 231, 235, 252, 253, 255, 256, 263, 266, 332, 333, 339, 340, 341, 343, 344, 345, 347, 348, 351, 352, 358, 364, 366, 368, 375, 377, 378, 381, 384, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 412, 425, 426, 427, 430, 441, 444, 467], "summary": {"covered_lines": 119, "num_statements": 168, "percent_covered": 67.6470588235294, "percent_covered_display": "68", "missing_lines": 49, "excluded_lines": 0, "percent_statements_covered": 70.83333333333333, "percent_statements_covered_display": "71", "num_branches": 70, "num_partial_branches": 8, "covered_branches": 42, "missing_branches": 28, "percent_branches_covered": 60.0, "percent_branches_covered_display": "60"}, "missing_lines": [37, 77, 90, 91, 92, 93, 99, 100, 106, 107, 108, 109, 110, 111, 117, 118, 124, 125, 155, 189, 190, 219, 232, 257, 258, 259, 260, 262, 310, 311, 314, 315, 317, 318, 319, 322, 323, 325, 326, 327, 329, 359, 369, 370, 371, 372, 373, 464, 487], "excluded_lines": [], "executed_branches": [[45, 46], [45, 51], [51, 52], [51, 58], [52, 53], [52, 57], [58, 59], [58, 60], [60, 61], [60, 69], [61, 62], [61, 68], [69, 70], [70, 71], [70, 76], [88, 89], [134, 135], [134, 136], [150, 156], [172, 173], [172, 175], [175, 176], [175, 178], [178, 179], [178, 181], [181, 182], [181, 184], [187, 188], [187, 202], [188, 192], [218, -205], [252, 253], [252, 255], [256, 263], [358, 364], [368, 375], [398, 399], [398, 400], [400, 401], [400, 402], [425, 426], [425, 427]], "missing_branches": [[69, 77], [88, 90], [90, 91], [90, 92], [92, 93], [92, 99], [99, 100], [99, 106], [106, 107], [106, 108], [108, 109], [108, 110], [110, 111], [110, 117], [117, 118], [117, 124], [124, -80], [124, 125], [150, 155], [188, 189], [218, 219], [256, 257], [257, 258], [257, 259], [259, 260], [259, 262], [358, 359], [368, 369]], "functions": {"ColorLookup.list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [37], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "resolve_color_idx": {"executed_lines": [45, 46, 51, 52, 53, 57, 58, 59, 60, 61, 62, 68, 69, 70, 71, 76], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 93.93939393939394, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94", "num_branches": 16, "num_partial_branches": 1, "covered_branches": 15, "missing_branches": 1, "percent_branches_covered": 93.75, "percent_branches_covered_display": "94"}, "missing_lines": [77], "excluded_lines": [], "start_line": 40, "executed_branches": [[45, 46], [45, 51], [51, 52], [51, 58], [52, 53], [52, 57], [58, 59], [58, 60], [60, 61], [60, 69], [61, 62], [61, 68], [69, 70], [70, 71], [70, 76]], "missing_branches": [[69, 77]]}, "resolve_text_background_xyxy": {"executed_lines": [85, 86, 88, 89], "summary": {"covered_lines": 4, "num_statements": 20, "percent_covered": 13.157894736842104, "percent_covered_display": "13", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 20.0, "percent_statements_covered_display": "20", "num_branches": 18, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 17, "percent_branches_covered": 5.555555555555555, "percent_branches_covered_display": "6"}, "missing_lines": [90, 91, 92, 93, 99, 100, 106, 107, 108, 109, 110, 111, 117, 118, 124, 125], "excluded_lines": [], "start_line": 80, "executed_branches": [[88, 89]], "missing_branches": [[88, 90], [90, 91], [90, 92], [92, 93], [92, 99], [99, 100], [99, 106], [106, 107], [106, 108], [108, 109], [108, 110], [110, 111], [110, 117], [117, 118], [117, 124], [124, -80], [124, 125]]}, "get_color_by_index": {"executed_lines": [134, 135, 136], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133, "executed_branches": [[134, 135], [134, 136]], "missing_branches": []}, "resolve_color": {"executed_lines": [145, 150, 156], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [155], "excluded_lines": [], "start_line": 139, "executed_branches": [[150, 156]], "missing_branches": [[150, 155]]}, "wrap_text": {"executed_lines": [172, 173, 175, 176, 178, 179, 181, 182, 184, 185, 187, 188, 192, 200, 202], "summary": {"covered_lines": 15, "num_statements": 17, "percent_covered": 89.65517241379311, "percent_covered_display": "90", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.23529411764706, "percent_statements_covered_display": "88", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 11, "missing_branches": 1, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [189, 190], "excluded_lines": [], "start_line": 159, "executed_branches": [[172, 173], [172, 175], [175, 176], [175, 178], [178, 179], [178, 181], [181, 182], [181, 184], [187, 188], [187, 202], [188, 192]], "missing_branches": [[188, 189]]}, "_validate_labels": {"executed_lines": [218], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [219], "excluded_lines": [], "start_line": 205, "executed_branches": [[218, -205]], "missing_branches": [[218, 219]]}, "validate_labels": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [232], "excluded_lines": [], "start_line": 231, "executed_branches": [], "missing_branches": []}, "get_labels_text": {"executed_lines": [252, 253, 255, 256, 263], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 44.44444444444444, "percent_covered_display": "44", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 5, "percent_branches_covered": 37.5, "percent_branches_covered_display": "38"}, "missing_lines": [257, 258, 259, 260, 262], "excluded_lines": [], "start_line": 235, "executed_branches": [[252, 253], [252, 255], [256, 263]], "missing_branches": [[256, 257], [257, 258], [257, 259], [259, 260], [259, 262]]}, "snap_boxes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [310, 311, 314, 315, 317, 318, 319, 322, 323, 325, 326, 327, 329], "excluded_lines": [], "start_line": 266, "executed_branches": [], "missing_branches": []}, "Trace.__init__": {"executed_lines": [339, 340, 341, 343, 344, 345], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 333, "executed_branches": [], "missing_branches": []}, "Trace.put": {"executed_lines": [348, 351, 352, 358, 364, 366, 368, 375], "summary": {"covered_lines": 8, "num_statements": 14, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [359, 369, 370, 371, 372, 373], "excluded_lines": [], "start_line": 347, "executed_branches": [[358, 364], [368, 375]], "missing_branches": [[358, 359], [368, 369]]}, "Trace.get": {"executed_lines": [378, 381], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 377, "executed_branches": [], "missing_branches": []}, "hex_to_rgba": {"executed_lines": [397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 384, "executed_branches": [[398, 399], [398, 400], [400, 401], [400, 402]], "missing_branches": []}, "rgba_to_hex": {"executed_lines": [425, 426, 427], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 412, "executed_branches": [[425, 426], [425, 427]], "missing_branches": []}, "is_valid_hex": {"executed_lines": [441], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 430, "executed_branches": [], "missing_branches": []}, "calculate_dynamic_kernel_size": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [464], "excluded_lines": [], "start_line": 444, "executed_branches": [], "missing_branches": []}, "calculate_dynamic_pixel_size": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [487], "excluded_lines": [], "start_line": 467, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 17, 18, 21, 31, 32, 33, 35, 36, 40, 80, 133, 139, 159, 205, 226, 231, 235, 266, 332, 333, 347, 377, 384, 412, 430, 444, 467], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"ColorLookup": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [37], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "Trace": {"executed_lines": [339, 340, 341, 343, 344, 345, 348, 351, 352, 358, 364, 366, 368, 375, 378, 381], "summary": {"covered_lines": 16, "num_statements": 22, "percent_covered": 69.23076923076923, "percent_covered_display": "69", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 72.72727272727273, "percent_statements_covered_display": "73", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [359, 369, 370, 371, 372, 373], "excluded_lines": [], "start_line": 332, "executed_branches": [[358, 364], [368, 375]], "missing_branches": [[358, 359], [368, 369]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 17, 18, 21, 31, 32, 33, 35, 36, 40, 45, 46, 51, 52, 53, 57, 58, 59, 60, 61, 62, 68, 69, 70, 71, 76, 80, 85, 86, 88, 89, 133, 134, 135, 136, 139, 145, 150, 156, 159, 172, 173, 175, 176, 178, 179, 181, 182, 184, 185, 187, 188, 192, 200, 202, 205, 218, 226, 231, 235, 252, 253, 255, 256, 263, 266, 332, 333, 347, 377, 384, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 412, 425, 426, 427, 430, 441, 444, 467], "summary": {"covered_lines": 103, "num_statements": 145, "percent_covered": 67.77251184834124, "percent_covered_display": "68", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 71.03448275862068, "percent_statements_covered_display": "71", "num_branches": 66, "num_partial_branches": 6, "covered_branches": 40, "missing_branches": 26, "percent_branches_covered": 60.60606060606061, "percent_branches_covered_display": "61"}, "missing_lines": [77, 90, 91, 92, 93, 99, 100, 106, 107, 108, 109, 110, 111, 117, 118, 124, 125, 155, 189, 190, 219, 232, 257, 258, 259, 260, 262, 310, 311, 314, 315, 317, 318, 319, 322, 323, 325, 326, 327, 329, 464, 487], "excluded_lines": [], "start_line": 1, "executed_branches": [[45, 46], [45, 51], [51, 52], [51, 58], [52, 53], [52, 57], [58, 59], [58, 60], [60, 61], [60, 69], [61, 62], [61, 68], [69, 70], [70, 71], [70, 76], [88, 89], [134, 135], [134, 136], [150, 156], [172, 173], [172, 175], [175, 176], [175, 178], [178, 179], [178, 181], [181, 182], [181, 184], [187, 188], [187, 202], [188, 192], [218, -205], [252, 253], [252, 255], [256, 263], [398, 399], [398, 400], [400, 401], [400, 402], [425, 426], [425, 427]], "missing_branches": [[69, 77], [88, 90], [90, 91], [90, 92], [92, 93], [92, 99], [99, 100], [99, 106], [106, 107], [106, 108], [108, 109], [108, 110], [110, 111], [110, 117], [117, 118], [117, 124], [124, -80], [124, 125], [150, 155], [188, 189], [218, 219], [256, 257], [257, 258], [257, 259], [259, 260], [259, 262]]}}}, "src\\supervision\\assets\\__init__.py": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\assets\\downloader.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 14, 17, 31, 32, 34, 35, 36, 38, 41, 63, 65, 66, 67, 68, 71, 73, 74, 75, 77, 80, 81, 83, 84, 85, 86, 88, 90, 91, 95], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[31, 32], [31, 34], [65, 66], [65, 90], [66, 67], [66, 83], [83, 84], [83, 88]], "missing_branches": [], "functions": {"is_md5_hash_matching": {"executed_lines": [31, 32, 34, 35, 36, 38], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17, "executed_branches": [[31, 32], [31, 34]], "missing_branches": []}, "download_assets": {"executed_lines": [63, 65, 66, 67, 68, 71, 73, 74, 75, 77, 80, 81, 83, 84, 85, 86, 88, 90, 91, 95], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41, "executed_branches": [[65, 66], [65, 90], [66, 67], [66, 83], [83, 84], [83, 88]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 14, 17, 41], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 14, 17, 31, 32, 34, 35, 36, 38, 41, 63, 65, 66, 67, 68, 71, 73, 74, 75, 77, 80, 81, 83, 84, 85, 86, 88, 90, 91, 95], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[31, 32], [31, 34], [65, 66], [65, 90], [66, 67], [66, 83], [83, 84], [83, 88]], "missing_branches": []}}}, "src\\supervision\\assets\\list.py": {"executed_lines": [1, 3, 4, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 23, 42, 43, 47, 48, 49, 50, 51, 52, 53, 54, 57, 69, 70, 73], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"Assets.__new__": {"executed_lines": [12, 13, 14, 15, 16], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11, "executed_branches": [], "missing_branches": []}, "Assets.list": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 9, 11, 18, 19, 23, 42, 43, 47, 48, 49, 50, 51, 52, 53, 54, 57, 69, 70, 73], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Assets": {"executed_lines": [12, 13, 14, 15, 16, 20], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7, "executed_branches": [], "missing_branches": []}, "VideoAssets": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 23, "executed_branches": [], "missing_branches": []}, "ImageAssets": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 7, 8, 9, 11, 18, 19, 23, 42, 43, 47, 48, 49, 50, 51, 52, 53, 54, 57, 69, 70, 73], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\classification\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\classification\\core.py": {"executed_lines": [1, 3, 4, 6, 7, 13, 17, 18, 22, 26, 27, 28, 29, 32, 33, 34, 35, 37, 41, 43, 44, 46, 52, 53, 81, 83, 84, 92, 93, 120, 121, 155, 157, 158, 166, 192, 195, 196, 197, 198, 200], "summary": {"covered_lines": 41, "num_statements": 50, "percent_covered": 77.41935483870968, "percent_covered_display": "77", "missing_lines": 9, "excluded_lines": 2, "percent_statements_covered": 82.0, "percent_statements_covered_display": "82", "num_branches": 12, "num_partial_branches": 5, "covered_branches": 7, "missing_branches": 5, "percent_branches_covered": 58.333333333333336, "percent_branches_covered_display": "58"}, "missing_lines": [19, 50, 89, 90, 117, 118, 163, 164, 193], "excluded_lines": [9, 10], "executed_branches": [[18, -13], [26, 27], [28, -22], [28, 29], [83, 84], [157, 158], [192, 195]], "missing_branches": [[18, 19], [26, -22], [83, 89], [157, 163], [192, 193]], "functions": {"_validate_class_ids": {"executed_lines": [17, 18], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [19], "excluded_lines": [], "start_line": 13, "executed_branches": [[18, -13]], "missing_branches": [[18, 19]]}, "_validate_confidence": {"executed_lines": [26, 27, 28, 29], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "start_line": 22, "executed_branches": [[26, 27], [28, -22], [28, 29]], "missing_branches": [[26, -22]]}, "Classifications.__post_init__": {"executed_lines": [41, 43, 44], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37, "executed_branches": [], "missing_branches": []}, "Classifications.__len__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [50], "excluded_lines": [], "start_line": 46, "executed_branches": [], "missing_branches": []}, "Classifications.from_clip": {"executed_lines": [81, 83, 84], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [89, 90], "excluded_lines": [], "start_line": 53, "executed_branches": [[83, 84]], "missing_branches": [[83, 89]]}, "Classifications.from_ultralytics": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [117, 118], "excluded_lines": [], "start_line": 93, "executed_branches": [], "missing_branches": []}, "Classifications.from_timm": {"executed_lines": [155, 157, 158], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [163, 164], "excluded_lines": [], "start_line": 121, "executed_branches": [[157, 158]], "missing_branches": [[157, 163]]}, "Classifications.get_top_k": {"executed_lines": [192, 195, 196, 197, 198, 200], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [193], "excluded_lines": [], "start_line": 166, "executed_branches": [[192, 195]], "missing_branches": [[192, 193]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 13, 22, 32, 33, 34, 35, 37, 46, 52, 53, 92, 93, 120, 121, 166], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [9, 10], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Classifications": {"executed_lines": [41, 43, 44, 81, 83, 84, 155, 157, 158, 192, 195, 196, 197, 198, 200], "summary": {"covered_lines": 15, "num_statements": 23, "percent_covered": 62.06896551724138, "percent_covered_display": "62", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 65.21739130434783, "percent_statements_covered_display": "65", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [50, 89, 90, 117, 118, 163, 164, 193], "excluded_lines": [], "start_line": 33, "executed_branches": [[83, 84], [157, 158], [192, 195]], "missing_branches": [[83, 89], [157, 163], [192, 193]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 13, 17, 18, 22, 26, 27, 28, 29, 32, 33, 34, 35, 37, 46, 52, 53, 92, 93, 120, 121, 166], "summary": {"covered_lines": 26, "num_statements": 27, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 2, "percent_statements_covered": 96.29629629629629, "percent_statements_covered_display": "96", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [19], "excluded_lines": [9, 10], "start_line": 1, "executed_branches": [[18, -13], [26, 27], [28, -22], [28, 29]], "missing_branches": [[18, 19], [26, -22]]}}}, "src\\supervision\\config.py": {"executed_lines": [1, 2, 13], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [1, 2, 13], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 13], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\dataset\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\dataset\\core.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 20, 24, 29, 36, 37, 38, 41, 42, 43, 46, 47, 56, 74, 80, 82, 86, 88, 89, 90, 91, 92, 97, 99, 101, 103, 105, 106, 108, 110, 111, 113, 119, 120, 121, 122, 124, 131, 132, 133, 135, 136, 139, 142, 145, 152, 155, 157, 200, 209, 213, 214, 215, 216, 218, 223, 228, 230, 231, 279, 280, 282, 283, 285, 286, 287, 292, 293, 294, 296, 299, 300, 301, 302, 305, 307, 311, 312, 313, 314, 315, 318, 319, 324, 330, 387, 388, 441, 442, 493, 500, 504, 547, 561, 565, 566, 574, 575, 577, 578, 619, 624, 626, 709, 710, 713, 714, 723, 726, 727, 740, 766, 775, 778, 789, 802, 824, 897, 921, 922], "summary": {"covered_lines": 132, "num_statements": 228, "percent_covered": 52.515723270440255, "percent_covered_display": "53", "missing_lines": 96, "excluded_lines": 0, "percent_statements_covered": 57.89473684210526, "percent_statements_covered_display": "58", "num_branches": 90, "num_partial_branches": 15, "covered_branches": 35, "missing_branches": 55, "percent_branches_covered": 38.888888888888886, "percent_branches_covered_display": "39"}, "missing_lines": [44, 53, 83, 104, 107, 137, 140, 143, 146, 150, 153, 210, 211, 288, 361, 362, 366, 367, 368, 369, 370, 373, 374, 384, 385, 431, 437, 552, 554, 562, 746, 748, 749, 752, 755, 757, 758, 759, 760, 768, 769, 770, 771, 772, 773, 776, 784, 785, 786, 787, 798, 799, 800, 803, 804, 806, 807, 809, 810, 812, 813, 817, 819, 820, 822, 866, 875, 876, 877, 879, 880, 881, 882, 884, 889, 895, 905, 907, 908, 910, 911, 912, 917, 918, 919, 949, 950, 952, 953, 955, 956, 958, 959, 960, 961, 965], "excluded_lines": [], "executed_branches": [[82, 86], [88, 89], [88, 97], [90, 91], [90, 97], [91, 92], [103, 105], [106, 108], [131, -124], [131, 132], [136, 139], [139, 142], [142, 145], [145, 152], [152, 155], [209, 213], [287, 292], [293, 294], [293, 296], [300, 301], [300, 305], [312, 313], [312, 314], [314, 315], [314, 324], [318, 314], [318, 319], [547, 561], [561, 565], [565, 566], [574, 575], [709, 710], [709, 713], [713, 714], [713, 723]], "missing_branches": [[82, 83], [91, 90], [103, 104], [106, 107], [136, 137], [139, 140], [142, 143], [145, 146], [146, 150], [146, 152], [152, 153], [209, 210], [287, 288], [361, 362], [361, 366], [366, -330], [366, 367], [368, -330], [368, 369], [547, 552], [561, 562], [565, 574], [574, -504], [748, 749], [748, 752], [758, -740], [758, 759], [768, 769], [768, 770], [771, 772], [771, 773], [798, -789], [798, 799], [803, 804], [803, 806], [806, 807], [806, 809], [809, 810], [809, 812], [812, 813], [812, 819], [813, 817], [813, 819], [819, 820], [819, 822], [875, 876], [875, 879], [907, 908], [907, 910], [910, -897], [910, 911], [955, 956], [955, 965], [958, 955], [958, 959]], "functions": {"BaseDataset.__len__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [44], "excluded_lines": [], "start_line": 43, "executed_branches": [], "missing_branches": []}, "BaseDataset.split": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [53], "excluded_lines": [], "start_line": 47, "executed_branches": [], "missing_branches": []}, "DetectionDataset.__init__": {"executed_lines": [80, 82, 86, 88, 89, 90, 91, 92, 97, 99], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 84.21052631578948, "percent_covered_display": "84", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [83], "excluded_lines": [], "start_line": 74, "executed_branches": [[82, 86], [88, 89], [88, 97], [90, 91], [90, 97], [91, 92]], "missing_branches": [[82, 83], [91, 90]]}, "DetectionDataset._get_image": {"executed_lines": [103, 105, 106, 108], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [104, 107], "excluded_lines": [], "start_line": 101, "executed_branches": [[103, 105], [106, 108]], "missing_branches": [[103, 104], [106, 107]]}, "DetectionDataset.__len__": {"executed_lines": [111], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110, "executed_branches": [], "missing_branches": []}, "DetectionDataset.__getitem__": {"executed_lines": [119, 120, 121, 122], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 113, "executed_branches": [], "missing_branches": []}, "DetectionDataset.__iter__": {"executed_lines": [131, 132, 133], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 124, "executed_branches": [[131, -124], [131, 132]], "missing_branches": []}, "DetectionDataset.__eq__": {"executed_lines": [136, 139, 142, 145, 152, 155], "summary": {"covered_lines": 6, "num_statements": 12, "percent_covered": 45.833333333333336, "percent_covered_display": "46", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 12, "num_partial_branches": 5, "covered_branches": 5, "missing_branches": 7, "percent_branches_covered": 41.666666666666664, "percent_branches_covered_display": "42"}, "missing_lines": [137, 140, 143, 146, 150, 153], "excluded_lines": [], "start_line": 135, "executed_branches": [[136, 139], [139, 142], [142, 145], [145, 152], [152, 155]], "missing_branches": [[136, 137], [139, 140], [142, 143], [145, 146], [146, 150], [146, 152], [152, 153]]}, "DetectionDataset.split": {"executed_lines": [200, 209, 213, 214, 215, 216, 218, 223, 228], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 76.92307692307692, "percent_covered_display": "77", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [210, 211], "excluded_lines": [], "start_line": 157, "executed_branches": [[209, 213]], "missing_branches": [[209, 210]]}, "DetectionDataset.merge": {"executed_lines": [279, 282, 285, 286, 287, 292, 293, 294, 296, 299, 300, 301, 302, 305, 307, 311, 312, 313, 314, 315, 318, 319, 324], "summary": {"covered_lines": 23, "num_statements": 24, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.83333333333333, "percent_statements_covered_display": "96", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 11, "missing_branches": 1, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [288], "excluded_lines": [], "start_line": 231, "executed_branches": [[287, 292], [293, 294], [293, 296], [300, 301], [300, 305], [312, 313], [312, 314], [314, 315], [314, 324], [318, 314], [318, 319]], "missing_branches": [[287, 288]]}, "DetectionDataset.merge.is_in_memory": {"executed_lines": [280], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 279, "executed_branches": [], "missing_branches": []}, "DetectionDataset.merge.is_lazy": {"executed_lines": [283], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 282, "executed_branches": [], "missing_branches": []}, "DetectionDataset.as_pascal_voc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [361, 362, 366, 367, 368, 369, 370, 373, 374, 384, 385], "excluded_lines": [], "start_line": 330, "executed_branches": [], "missing_branches": [[361, 362], [361, 366], [366, -330], [366, 367], [368, -330], [368, 369]]}, "DetectionDataset.from_pascal_voc": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [431, 437], "excluded_lines": [], "start_line": 388, "executed_branches": [], "missing_branches": []}, "DetectionDataset.from_yolo": {"executed_lines": [493, 500], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 442, "executed_branches": [], "missing_branches": []}, "DetectionDataset.as_yolo": {"executed_lines": [547, 561, 565, 566, 574, 575], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 58.8235294117647, "percent_covered_display": "59", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 8, "num_partial_branches": 4, "covered_branches": 4, "missing_branches": 4, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [552, 554, 562], "excluded_lines": [], "start_line": 504, "executed_branches": [[547, 561], [561, 565], [565, 566], [574, 575]], "missing_branches": [[547, 552], [561, 562], [565, 574], [574, -504]]}, "DetectionDataset.from_coco": {"executed_lines": [619, 624], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 578, "executed_branches": [], "missing_branches": []}, "DetectionDataset.as_coco": {"executed_lines": [709, 710, 713, 714, 723], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 626, "executed_branches": [[709, 710], [709, 713], [713, 714], [713, 723]], "missing_branches": []}, "ClassificationDataset.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [746, 748, 749, 752, 755, 757, 758, 759, 760], "excluded_lines": [], "start_line": 740, "executed_branches": [], "missing_branches": [[748, 749], [748, 752], [758, -740], [758, 759]]}, "ClassificationDataset._get_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [768, 769, 770, 771, 772, 773], "excluded_lines": [], "start_line": 766, "executed_branches": [], "missing_branches": [[768, 769], [768, 770], [771, 772], [771, 773]]}, "ClassificationDataset.__len__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [776], "excluded_lines": [], "start_line": 775, "executed_branches": [], "missing_branches": []}, "ClassificationDataset.__getitem__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [784, 785, 786, 787], "excluded_lines": [], "start_line": 778, "executed_branches": [], "missing_branches": []}, "ClassificationDataset.__iter__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [798, 799, 800], "excluded_lines": [], "start_line": 789, "executed_branches": [], "missing_branches": [[798, -789], [798, 799]]}, "ClassificationDataset.__eq__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 12, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [803, 804, 806, 807, 809, 810, 812, 813, 817, 819, 820, 822], "excluded_lines": [], "start_line": 802, "executed_branches": [], "missing_branches": [[803, 804], [803, 806], [806, 807], [806, 809], [809, 810], [809, 812], [812, 813], [812, 819], [813, 817], [813, 819], [819, 820], [819, 822]]}, "ClassificationDataset.split": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [866, 875, 876, 877, 879, 880, 881, 882, 884, 889, 895], "excluded_lines": [], "start_line": 824, "executed_branches": [], "missing_branches": [[875, 876], [875, 879]]}, "ClassificationDataset.as_folder_structure": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [905, 907, 908, 910, 911, 912, 917, 918, 919], "excluded_lines": [], "start_line": 897, "executed_branches": [], "missing_branches": [[907, 908], [907, 910], [910, -897], [910, 911]]}, "ClassificationDataset.from_folder_structure": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [949, 950, 952, 953, 955, 956, 958, 959, 960, 961, 965], "excluded_lines": [], "start_line": 922, "executed_branches": [], "missing_branches": [[955, 956], [955, 965], [958, 955], [958, 959]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 20, 24, 29, 36, 37, 38, 41, 42, 43, 46, 47, 56, 74, 101, 110, 113, 124, 135, 157, 230, 231, 330, 387, 388, 441, 442, 504, 577, 578, 626, 726, 727, 740, 766, 775, 778, 789, 802, 824, 897, 921, 922], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"BaseDataset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [44, 53], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "DetectionDataset": {"executed_lines": [80, 82, 86, 88, 89, 90, 91, 92, 97, 99, 103, 105, 106, 108, 111, 119, 120, 121, 122, 131, 132, 133, 136, 139, 142, 145, 152, 155, 200, 209, 213, 214, 215, 216, 218, 223, 228, 279, 280, 282, 283, 285, 286, 287, 292, 293, 294, 296, 299, 300, 301, 302, 305, 307, 311, 312, 313, 314, 315, 318, 319, 324, 493, 500, 547, 561, 565, 566, 574, 575, 619, 624, 709, 710, 713, 714, 723], "summary": {"covered_lines": 77, "num_statements": 105, "percent_covered": 68.71165644171779, "percent_covered_display": "69", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 73.33333333333333, "percent_statements_covered_display": "73", "num_branches": 58, "num_partial_branches": 15, "covered_branches": 35, "missing_branches": 23, "percent_branches_covered": 60.3448275862069, "percent_branches_covered_display": "60"}, "missing_lines": [83, 104, 107, 137, 140, 143, 146, 150, 153, 210, 211, 288, 361, 362, 366, 367, 368, 369, 370, 373, 374, 384, 385, 431, 437, 552, 554, 562], "excluded_lines": [], "start_line": 56, "executed_branches": [[82, 86], [88, 89], [88, 97], [90, 91], [90, 97], [91, 92], [103, 105], [106, 108], [131, -124], [131, 132], [136, 139], [139, 142], [142, 145], [145, 152], [152, 155], [209, 213], [287, 292], [293, 294], [293, 296], [300, 301], [300, 305], [312, 313], [312, 314], [314, 315], [314, 324], [318, 314], [318, 319], [547, 561], [561, 565], [565, 566], [574, 575], [709, 710], [709, 713], [713, 714], [713, 723]], "missing_branches": [[82, 83], [91, 90], [103, 104], [106, 107], [136, 137], [139, 140], [142, 143], [145, 146], [146, 150], [146, 152], [152, 153], [209, 210], [287, 288], [361, 362], [361, 366], [366, -330], [366, 367], [368, -330], [368, 369], [547, 552], [561, 562], [565, 574], [574, -504]]}, "ClassificationDataset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 66, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 66, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 32, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 32, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [746, 748, 749, 752, 755, 757, 758, 759, 760, 768, 769, 770, 771, 772, 773, 776, 784, 785, 786, 787, 798, 799, 800, 803, 804, 806, 807, 809, 810, 812, 813, 817, 819, 820, 822, 866, 875, 876, 877, 879, 880, 881, 882, 884, 889, 895, 905, 907, 908, 910, 911, 912, 917, 918, 919, 949, 950, 952, 953, 955, 956, 958, 959, 960, 961, 965], "excluded_lines": [], "start_line": 727, "executed_branches": [], "missing_branches": [[748, 749], [748, 752], [758, -740], [758, 759], [768, 769], [768, 770], [771, 772], [771, 773], [798, -789], [798, 799], [803, 804], [803, 806], [806, 807], [806, 809], [809, 810], [809, 812], [812, 813], [812, 819], [813, 817], [813, 819], [819, 820], [819, 822], [875, 876], [875, 879], [907, 908], [907, 910], [910, -897], [910, 911], [955, 956], [955, 965], [958, 955], [958, 959]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 14, 15, 16, 20, 24, 29, 36, 37, 38, 41, 42, 43, 46, 47, 56, 74, 101, 110, 113, 124, 135, 157, 230, 231, 330, 387, 388, 441, 442, 504, 577, 578, 626, 726, 727, 740, 766, 775, 778, 789, 802, 824, 897, 921, 922], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\dataset\\formats\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\dataset\\formats\\coco.py": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 10, 14, 15, 20, 21, 26, 27, 30, 31, 37, 40, 43, 49, 75, 85, 88, 89, 90, 91, 92, 93, 94, 97, 100, 101, 102, 104, 105, 106, 109, 110, 112, 113, 116, 118, 121, 123, 124, 125, 128, 137, 141, 143, 146, 178, 179, 181, 184, 185, 186, 188, 189, 190, 193, 194, 198, 199, 203, 206, 209, 210, 211, 213, 218, 226, 227, 229, 233, 234, 242, 250, 252, 254, 260, 262, 265, 266, 267, 268, 270, 274, 280, 283, 347, 348, 349, 350, 351, 352, 353, 354, 355, 364, 367, 369, 370, 379, 380, 381, 384, 423, 458, 459, 461, 465, 466, 470, 471, 472, 474, 475, 480, 481, 482, 483, 489, 490, 496, 497, 502, 503, 509, 512, 519, 524, 525, 527, 530, 531, 534, 595, 596, 601, 602, 610, 611, 612, 614, 615, 616, 617, 618, 627, 628, 637, 638, 640, 647, 648], "summary": {"covered_lines": 156, "num_statements": 168, "percent_covered": 92.7927927927928, "percent_covered_display": "93", "missing_lines": 12, "excluded_lines": 2, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 54, "num_partial_branches": 4, "covered_branches": 50, "missing_branches": 4, "percent_branches_covered": 92.5925925925926, "percent_branches_covered_display": "93"}, "missing_lines": [119, 120, 129, 134, 272, 278, 415, 416, 417, 420, 484, 485], "excluded_lines": [23, 24], "executed_branches": [[89, 90], [89, 94], [91, 92], [91, 93], [104, 105], [104, 143], [106, 109], [106, 112], [112, 113], [112, 118], [118, 121], [124, 125], [124, 141], [128, 137], [178, 179], [178, 181], [189, 190], [189, 198], [198, 199], [198, 203], [209, 210], [209, 211], [226, 227], [226, 229], [233, 234], [233, 242], [250, 252], [250, 254], [267, 268], [267, 270], [270, 274], [274, 280], [348, 349], [348, 381], [349, 350], [349, 351], [353, 354], [353, 364], [474, 475], [474, 527], [489, 490], [489, 496], [496, 497], [496, 502], [502, 503], [502, 509], [595, 596], [595, 601], [615, 616], [615, 640]], "missing_branches": [[118, 119], [128, 129], [270, 272], [274, 278]], "functions": {"coco_categories_to_classes": {"executed_lines": [31], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30, "executed_branches": [], "missing_branches": []}, "build_coco_class_index_mapping": {"executed_lines": [40, 43], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37, "executed_branches": [], "missing_branches": []}, "classes_to_coco_categories": {"executed_lines": [75], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49, "executed_branches": [], "missing_branches": []}, "group_coco_annotations_by_image_id": {"executed_lines": [88, 89, 90, 91, 92, 93, 94], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85, "executed_branches": [[89, 90], [89, 94], [91, 92], [91, 93]], "missing_branches": []}, "coco_annotations_to_masks": {"executed_lines": [100, 101, 102, 104, 105, 106, 109, 110, 112, 113, 116, 118, 121, 123, 124, 125, 128, 137, 141, 143], "summary": {"covered_lines": 20, "num_statements": 24, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 12, "num_partial_branches": 2, "covered_branches": 10, "missing_branches": 2, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [119, 120, 129, 134], "excluded_lines": [], "start_line": 97, "executed_branches": [[104, 105], [104, 143], [106, 109], [106, 112], [112, 113], [112, 118], [118, 121], [124, 125], [124, 141], [128, 137]], "missing_branches": [[118, 119], [128, 129]]}, "coco_annotations_to_detections": {"executed_lines": [178, 179, 181, 184, 185, 186, 188, 189, 190, 193, 194, 198, 199, 203, 206, 209, 210, 211, 213], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 146, "executed_branches": [[178, 179], [178, 181], [189, 190], [189, 198], [198, 199], [198, 203], [209, 210], [209, 211]], "missing_branches": []}, "_build_coco_segmentation_from_mask": {"executed_lines": [226, 227, 229, 233, 234, 242, 250, 252, 254, 260, 262], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 218, "executed_branches": [[226, 227], [226, 229], [233, 234], [233, 242], [250, 252], [250, 254]], "missing_branches": []}, "_build_coco_segmentation_from_raw_data": {"executed_lines": [266, 267, 268, 270, 274, 280], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [272, 278], "excluded_lines": [], "start_line": 265, "executed_branches": [[267, 268], [267, 270], [270, 274], [274, 280]], "missing_branches": [[270, 272], [274, 278]]}, "detections_to_coco_annotations": {"executed_lines": [347, 348, 349, 350, 351, 352, 353, 354, 355, 364, 367, 369, 370, 379, 380, 381], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 283, "executed_branches": [[348, 349], [348, 381], [349, 350], [349, 351], [353, 354], [353, 364]], "missing_branches": []}, "get_coco_class_index_mapping": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [415, 416, 417, 420], "excluded_lines": [], "start_line": 384, "executed_branches": [], "missing_branches": []}, "load_coco_annotations": {"executed_lines": [458, 459, 461, 465, 466, 470, 471, 472, 474, 475, 480, 481, 482, 483, 489, 490, 496, 497, 502, 503, 509, 512, 519, 524, 525, 527], "summary": {"covered_lines": 26, "num_statements": 28, "percent_covered": 94.44444444444444, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [484, 485], "excluded_lines": [], "start_line": 423, "executed_branches": [[474, 475], [474, 527], [489, 490], [489, 496], [496, 497], [496, 502], [502, 503], [502, 509]], "missing_branches": []}, "_with_seg_mask": {"executed_lines": [531], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 530, "executed_branches": [], "missing_branches": []}, "save_coco_annotations": {"executed_lines": [595, 596, 601, 602, 610, 611, 612, 614, 615, 616, 617, 618, 627, 628, 637, 638, 640, 647, 648], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 534, "executed_branches": [[595, 596], [595, 601], [615, 616], [615, 640]], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 10, 14, 15, 20, 21, 26, 27, 30, 37, 49, 85, 97, 146, 218, 265, 283, 384, 423, 530, 534], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [23, 24], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 4, 6, 7, 9, 10, 14, 15, 20, 21, 26, 27, 30, 31, 37, 40, 43, 49, 75, 85, 88, 89, 90, 91, 92, 93, 94, 97, 100, 101, 102, 104, 105, 106, 109, 110, 112, 113, 116, 118, 121, 123, 124, 125, 128, 137, 141, 143, 146, 178, 179, 181, 184, 185, 186, 188, 189, 190, 193, 194, 198, 199, 203, 206, 209, 210, 211, 213, 218, 226, 227, 229, 233, 234, 242, 250, 252, 254, 260, 262, 265, 266, 267, 268, 270, 274, 280, 283, 347, 348, 349, 350, 351, 352, 353, 354, 355, 364, 367, 369, 370, 379, 380, 381, 384, 423, 458, 459, 461, 465, 466, 470, 471, 472, 474, 475, 480, 481, 482, 483, 489, 490, 496, 497, 502, 503, 509, 512, 519, 524, 525, 527, 530, 531, 534, 595, 596, 601, 602, 610, 611, 612, 614, 615, 616, 617, 618, 627, 628, 637, 638, 640, 647, 648], "summary": {"covered_lines": 156, "num_statements": 168, "percent_covered": 92.7927927927928, "percent_covered_display": "93", "missing_lines": 12, "excluded_lines": 2, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 54, "num_partial_branches": 4, "covered_branches": 50, "missing_branches": 4, "percent_branches_covered": 92.5925925925926, "percent_branches_covered_display": "93"}, "missing_lines": [119, 120, 129, 134, 272, 278, 415, 416, 417, 420, 484, 485], "excluded_lines": [23, 24], "start_line": 1, "executed_branches": [[89, 90], [89, 94], [91, 92], [91, 93], [104, 105], [104, 143], [106, 109], [106, 112], [112, 113], [112, 118], [118, 121], [124, 125], [124, 141], [128, 137], [178, 179], [178, 181], [189, 190], [189, 198], [198, 199], [198, 203], [209, 210], [209, 211], [226, 227], [226, 229], [233, 234], [233, 242], [250, 252], [250, 254], [267, 268], [267, 270], [270, 274], [274, 280], [348, 349], [348, 381], [349, 350], [349, 351], [353, 354], [353, 364], [474, 475], [474, 527], [489, 490], [489, 496], [496, 497], [496, 502], [502, 503], [502, 509], [595, 596], [595, 601], [615, 616], [615, 640]], "missing_branches": [[118, 119], [128, 129], [270, 272], [274, 278]]}}}, "src\\supervision\\dataset\\formats\\pascal_voc.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 19, 49, 51, 52, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 78, 79, 81, 84, 118, 121, 124, 125, 128, 129, 132, 133, 134, 137, 138, 139, 140, 141, 142, 143, 146, 147, 150, 151, 153, 158, 159, 173, 174, 177, 178, 181, 235, 272, 273, 274, 275, 278, 279, 280, 281, 283, 284, 286, 287, 288, 289, 291, 293, 296, 297, 299, 301, 305, 307, 308, 311, 312, 314, 317, 319, 320, 322, 326, 332, 335, 336, 339, 340, 341, 342, 344, 345, 351, 352, 353, 355], "summary": {"covered_lines": 111, "num_statements": 140, "percent_covered": 75.55555555555556, "percent_covered_display": "76", "missing_lines": 29, "excluded_lines": 1, "percent_statements_covered": 79.28571428571429, "percent_statements_covered_display": "79", "num_branches": 40, "num_partial_branches": 7, "covered_branches": 25, "missing_branches": 15, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [152, 154, 160, 166, 167, 168, 171, 203, 210, 211, 213, 214, 215, 216, 217, 218, 220, 221, 223, 224, 225, 226, 227, 230, 232, 285, 321, 343, 354], "excluded_lines": [241], "executed_branches": [[70, 72], [70, 81], [74, 75], [74, 81], [150, 151], [150, 177], [151, 153], [153, 158], [159, 173], [279, 280], [279, 311], [284, 286], [296, 297], [296, 307], [307, 279], [307, 308], [311, 312], [311, 314], [319, 320], [319, 322], [320, 319], [341, 342], [341, 345], [342, 344], [353, 355]], "missing_branches": [[151, 152], [153, 154], [159, 160], [166, 150], [166, 167], [213, 214], [213, 232], [216, 217], [216, 220], [224, 225], [224, 226], [284, 285], [320, 321], [342, 343], [353, 354]], "functions": {"object_to_pascal_voc": {"executed_lines": [49, 51, 52, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 78, 79, 81], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19, "executed_branches": [[70, 72], [70, 81], [74, 75], [74, 81]], "missing_branches": []}, "detections_to_pascal_voc": {"executed_lines": [118, 121, 124, 125, 128, 129, 132, 133, 134, 137, 138, 139, 140, 141, 142, 143, 146, 147, 150, 151, 153, 158, 159, 173, 174, 177, 178], "summary": {"covered_lines": 27, "num_statements": 34, "percent_covered": 72.72727272727273, "percent_covered_display": "73", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 79.41176470588235, "percent_statements_covered_display": "79", "num_branches": 10, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 5, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [152, 154, 160, 166, 167, 168, 171], "excluded_lines": [], "start_line": 84, "executed_branches": [[150, 151], [150, 177], [151, 153], [153, 158], [159, 173]], "missing_branches": [[151, 152], [153, 154], [159, 160], [166, 150], [166, 167]]}, "load_pascal_voc_annotations": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 18, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 18, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [203, 210, 211, 213, 214, 215, 216, 217, 218, 220, 221, 223, 224, 225, 226, 227, 230, 232], "excluded_lines": [], "start_line": 181, "executed_branches": [], "missing_branches": [[213, 214], [213, 232], [216, 217], [216, 220], [224, 225], [224, 226]]}, "detections_from_xml_obj": {"executed_lines": [272, 273, 274, 275, 278, 279, 280, 281, 283, 284, 286, 287, 288, 289, 291, 293, 296, 297, 299, 301, 305, 307, 308, 311, 312, 314, 317, 319, 320, 322, 326, 332], "summary": {"covered_lines": 32, "num_statements": 34, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 1, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94", "num_branches": 14, "num_partial_branches": 2, "covered_branches": 12, "missing_branches": 2, "percent_branches_covered": 85.71428571428571, "percent_branches_covered_display": "86"}, "missing_lines": [285, 321], "excluded_lines": [241], "start_line": 235, "executed_branches": [[279, 280], [279, 311], [284, 286], [296, 297], [296, 307], [307, 279], [307, 308], [311, 312], [311, 314], [319, 320], [319, 322], [320, 319]], "missing_branches": [[284, 285], [320, 321]]}, "_with_poly_mask": {"executed_lines": [336], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 335, "executed_branches": [], "missing_branches": []}, "parse_polygon_points": {"executed_lines": [340, 341, 342, 344, 345], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [343], "excluded_lines": [], "start_line": 339, "executed_branches": [[341, 342], [341, 345], [342, 344]], "missing_branches": [[342, 343]]}, "_get_required_text": {"executed_lines": [352, 353, 355], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [354], "excluded_lines": [], "start_line": 351, "executed_branches": [[353, 355]], "missing_branches": [[353, 354]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 19, 84, 181, 235, 335, 339, 351], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 10, 11, 13, 14, 15, 16, 19, 49, 51, 52, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68, 70, 72, 73, 74, 75, 76, 77, 78, 79, 81, 84, 118, 121, 124, 125, 128, 129, 132, 133, 134, 137, 138, 139, 140, 141, 142, 143, 146, 147, 150, 151, 153, 158, 159, 173, 174, 177, 178, 181, 235, 272, 273, 274, 275, 278, 279, 280, 281, 283, 284, 286, 287, 288, 289, 291, 293, 296, 297, 299, 301, 305, 307, 308, 311, 312, 314, 317, 319, 320, 322, 326, 332, 335, 336, 339, 340, 341, 342, 344, 345, 351, 352, 353, 355], "summary": {"covered_lines": 111, "num_statements": 140, "percent_covered": 75.55555555555556, "percent_covered_display": "76", "missing_lines": 29, "excluded_lines": 1, "percent_statements_covered": 79.28571428571429, "percent_statements_covered_display": "79", "num_branches": 40, "num_partial_branches": 7, "covered_branches": 25, "missing_branches": 15, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [152, 154, 160, 166, 167, 168, 171, 203, 210, 211, 213, 214, 215, 216, 217, 218, 220, 221, 223, 224, 225, 226, 227, 230, 232, 285, 321, 343, 354], "excluded_lines": [241], "start_line": 1, "executed_branches": [[70, 72], [70, 81], [74, 75], [74, 81], [150, 151], [150, 177], [151, 153], [153, 158], [159, 173], [279, 280], [279, 311], [284, 286], [296, 297], [296, 307], [307, 279], [307, 308], [311, 312], [311, 314], [319, 320], [319, 322], [320, 319], [341, 342], [341, 345], [342, 344], [353, 355]], "missing_branches": [[151, 152], [153, 154], [159, 160], [166, 150], [166, 167], [213, 214], [213, 232], [216, 217], [216, 220], [224, 225], [224, 226], [284, 285], [320, 321], [342, 343], [353, 354]]}}}, "src\\supervision\\dataset\\formats\\yolo.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 28, 29, 30, 41, 42, 47, 48, 51, 54, 66, 67, 70, 90, 91, 96, 97, 98, 100, 102, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 120, 121, 123, 124, 125, 126, 133, 134, 135, 138, 144, 145, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 167, 168, 170, 171, 172, 173, 174, 176, 177, 179, 183, 184, 187, 217, 218, 224, 242, 243, 245, 246, 247, 248, 249, 250, 253, 254, 255, 256, 257, 263, 264, 270, 271, 274, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 296, 347, 352, 360, 369, 370, 371, 373, 374, 378, 380, 381, 382, 389, 395, 396, 398, 399, 405, 406, 407, 413, 415, 418, 419, 422, 456, 457, 458, 459, 460, 463, 471, 474, 475, 476, 477], "summary": {"covered_lines": 157, "num_statements": 165, "percent_covered": 92.5764192139738, "percent_covered_display": "93", "missing_lines": 8, "excluded_lines": 2, "percent_statements_covered": 95.15151515151516, "percent_statements_covered_display": "95", "num_branches": 64, "num_partial_branches": 9, "covered_branches": 55, "missing_branches": 9, "percent_branches_covered": 85.9375, "percent_branches_covered_display": "86"}, "missing_lines": [92, 103, 109, 127, 258, 361, 372, 383], "excluded_lines": [24, 25], "executed_branches": [[91, 96], [97, 98], [97, 125], [102, 104], [104, 105], [104, 106], [106, 107], [112, 113], [112, 120], [120, 121], [120, 123], [125, 126], [144, 145], [144, 147], [149, 150], [149, 165], [152, 153], [152, 157], [155, 149], [155, 156], [157, 158], [160, 161], [160, 162], [162, 149], [162, 163], [170, 171], [170, 176], [176, 177], [176, 179], [217, 218], [217, 224], [245, 246], [245, 271], [248, 249], [248, 253], [257, 263], [281, 282], [281, 290], [347, 352], [347, 360], [360, 369], [370, 371], [370, 419], [371, 373], [373, 374], [373, 378], [380, 381], [380, 398], [382, 389], [398, 399], [398, 415], [405, 370], [405, 406], [457, -422], [457, 458]], "missing_branches": [[91, 92], [102, 103], [106, 109], [125, 127], [157, 149], [257, 258], [360, 361], [371, 372], [382, 383]], "functions": {"_parse_box": {"executed_lines": [29, 30], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28, "executed_branches": [], "missing_branches": []}, "_box_to_polygon": {"executed_lines": [42], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "_parse_polygon": {"executed_lines": [48], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47, "executed_branches": [], "missing_branches": []}, "_polygons_to_masks": {"executed_lines": [54], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51, "executed_branches": [], "missing_branches": []}, "_with_seg_mask": {"executed_lines": [67], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66, "executed_branches": [], "missing_branches": []}, "_extract_class_names": {"executed_lines": [90, 91, 96, 97, 98, 100, 111, 112, 113, 114, 115, 120, 121, 123, 124, 125, 126], "summary": {"covered_lines": 17, "num_statements": 19, "percent_covered": 86.20689655172414, "percent_covered_display": "86", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 89.47368421052632, "percent_statements_covered_display": "89", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [92, 127], "excluded_lines": [], "start_line": 70, "executed_branches": [[91, 96], [97, 98], [97, 125], [112, 113], [112, 120], [120, 121], [120, 123], [125, 126]], "missing_branches": [[91, 92], [125, 127]]}, "_extract_class_names._is_int_like": {"executed_lines": [102, 104, 105, 106, 107, 108], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [103, 109], "excluded_lines": [], "start_line": 100, "executed_branches": [[102, 104], [104, 105], [104, 106], [106, 107]], "missing_branches": [[102, 103], [106, 109]]}, "_image_name_to_annotation_name": {"executed_lines": [134, 135], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133, "executed_branches": [], "missing_branches": []}, "yolo_annotations_to_detections": {"executed_lines": [144, 145, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 167, 168, 170, 171, 172, 173, 174, 176, 177, 179, 183, 184], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 98.03921568627452, "percent_covered_display": "98", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 18, "num_partial_branches": 1, "covered_branches": 17, "missing_branches": 1, "percent_branches_covered": 94.44444444444444, "percent_branches_covered_display": "94"}, "missing_lines": [], "excluded_lines": [], "start_line": 138, "executed_branches": [[144, 145], [144, 147], [149, 150], [149, 165], [152, 153], [152, 157], [155, 149], [155, 156], [157, 158], [160, 161], [160, 162], [162, 149], [162, 163], [170, 171], [170, 176], [176, 177], [176, 179]], "missing_branches": [[157, 149]]}, "load_yolo_annotations": {"executed_lines": [217, 218, 224, 242, 243, 245, 246, 247, 248, 249, 250, 253, 254, 255, 256, 257, 263, 264, 270, 271], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [258], "excluded_lines": [], "start_line": 187, "executed_branches": [[217, 218], [217, 224], [245, 246], [245, 271], [248, 249], [248, 253], [257, 263]], "missing_branches": [[257, 258]]}, "object_to_yolo": {"executed_lines": [280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 274, "executed_branches": [[281, 282], [281, 290]], "missing_branches": []}, "detections_to_yolo_annotations": {"executed_lines": [347, 352, 360, 369, 370, 371, 373, 374, 378, 380, 381, 382, 389, 395, 396, 398, 399, 405, 406, 407, 413, 415, 418, 419], "summary": {"covered_lines": 24, "num_statements": 27, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 18, "num_partial_branches": 3, "covered_branches": 15, "missing_branches": 3, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [361, 372, 383], "excluded_lines": [], "start_line": 296, "executed_branches": [[347, 352], [347, 360], [360, 369], [370, 371], [370, 419], [371, 373], [373, 374], [373, 378], [380, 381], [380, 398], [382, 389], [398, 399], [398, 415], [405, 370], [405, 406]], "missing_branches": [[360, 361], [371, 372], [382, 383]]}, "save_yolo_annotations": {"executed_lines": [456, 457, 458, 459, 460, 463, 471], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 422, "executed_branches": [[457, -422], [457, 458]], "missing_branches": []}, "save_data_yaml": {"executed_lines": [475, 476, 477], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 474, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 28, 41, 47, 51, 66, 70, 133, 138, 187, 274, 296, 422, 474], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [24, 25], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 28, 29, 30, 41, 42, 47, 48, 51, 54, 66, 67, 70, 90, 91, 96, 97, 98, 100, 102, 104, 105, 106, 107, 108, 111, 112, 113, 114, 115, 120, 121, 123, 124, 125, 126, 133, 134, 135, 138, 144, 145, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 165, 166, 167, 168, 170, 171, 172, 173, 174, 176, 177, 179, 183, 184, 187, 217, 218, 224, 242, 243, 245, 246, 247, 248, 249, 250, 253, 254, 255, 256, 257, 263, 264, 270, 271, 274, 280, 281, 282, 283, 284, 285, 286, 287, 288, 290, 291, 292, 293, 296, 347, 352, 360, 369, 370, 371, 373, 374, 378, 380, 381, 382, 389, 395, 396, 398, 399, 405, 406, 407, 413, 415, 418, 419, 422, 456, 457, 458, 459, 460, 463, 471, 474, 475, 476, 477], "summary": {"covered_lines": 157, "num_statements": 165, "percent_covered": 92.5764192139738, "percent_covered_display": "93", "missing_lines": 8, "excluded_lines": 2, "percent_statements_covered": 95.15151515151516, "percent_statements_covered_display": "95", "num_branches": 64, "num_partial_branches": 9, "covered_branches": 55, "missing_branches": 9, "percent_branches_covered": 85.9375, "percent_branches_covered_display": "86"}, "missing_lines": [92, 103, 109, 127, 258, 361, 372, 383], "excluded_lines": [24, 25], "start_line": 1, "executed_branches": [[91, 96], [97, 98], [97, 125], [102, 104], [104, 105], [104, 106], [106, 107], [112, 113], [112, 120], [120, 121], [120, 123], [125, 126], [144, 145], [144, 147], [149, 150], [149, 165], [152, 153], [152, 157], [155, 149], [155, 156], [157, 158], [160, 161], [160, 162], [162, 149], [162, 163], [170, 171], [170, 176], [176, 177], [176, 179], [217, 218], [217, 224], [245, 246], [245, 271], [248, 249], [248, 253], [257, 263], [281, 282], [281, 290], [347, 352], [347, 360], [360, 369], [370, 371], [370, 419], [371, 373], [373, 374], [373, 378], [380, 381], [380, 398], [382, 389], [398, 399], [398, 415], [405, 370], [405, 406], [457, -422], [457, 458]], "missing_branches": [[91, 92], [102, 103], [106, 109], [125, 127], [157, 149], [257, 258], [360, 361], [371, 372], [382, 383]]}}}, "src\\supervision\\dataset\\utils.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 20, 23, 29, 30, 37, 38, 49, 52, 58, 59, 60, 61, 63, 64, 65, 69, 74, 80, 81, 83, 84, 85, 87, 90, 94, 96, 97, 98, 102, 103, 105, 108, 111, 113, 114, 118, 120, 121, 125, 128, 129, 130, 131, 132, 136, 139, 157, 158, 160, 161, 163, 164], "summary": {"covered_lines": 66, "num_statements": 71, "percent_covered": 92.63157894736842, "percent_covered_display": "93", "missing_lines": 5, "excluded_lines": 2, "percent_statements_covered": 92.95774647887323, "percent_statements_covered_display": "93", "num_branches": 24, "num_partial_branches": 2, "covered_branches": 22, "missing_branches": 2, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [34, 43, 112, 133, 134], "excluded_lines": [46, 47], "executed_branches": [[64, 65], [64, 69], [83, 84], [83, 87], [84, 83], [84, 85], [96, 97], [96, 105], [97, 98], [97, 102], [111, 113], [113, 114], [113, 118], [120, 121], [120, 125], [130, -128], [130, 131], [132, 136], [157, 158], [157, 160], [160, 161], [160, 163]], "missing_branches": [[111, 112], [132, 133]], "functions": {"mask_to_rle": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [34], "excluded_lines": [], "start_line": 30, "executed_branches": [], "missing_branches": []}, "rle_to_mask": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [43], "excluded_lines": [], "start_line": 38, "executed_branches": [], "missing_branches": []}, "approximate_mask_with_polygons": {"executed_lines": [58, 59, 60, 61, 63, 64, 65, 69, 74], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52, "executed_branches": [[64, 65], [64, 69]], "missing_branches": []}, "merge_class_lists": {"executed_lines": [81, 83, 84, 85, 87], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 80, "executed_branches": [[83, 84], [83, 87], [84, 83], [84, 85]], "missing_branches": []}, "build_class_index_mapping": {"executed_lines": [94, 96, 97, 98, 102, 103, 105], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 90, "executed_branches": [[96, 97], [96, 105], [97, 98], [97, 102]], "missing_branches": []}, "map_detections_class_id": {"executed_lines": [111, 113, 114, 118, 120, 121, 125], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [112], "excluded_lines": [], "start_line": 108, "executed_branches": [[111, 113], [113, 114], [113, 118], [120, 121], [120, 125]], "missing_branches": [[111, 112]]}, "save_dataset_images": {"executed_lines": [129, 130, 131, 132, 136], "summary": {"covered_lines": 5, "num_statements": 7, "percent_covered": 72.72727272727273, "percent_covered_display": "73", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 71.42857142857143, "percent_statements_covered_display": "71", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [133, 134], "excluded_lines": [], "start_line": 128, "executed_branches": [[130, -128], [130, 131], [132, 136]], "missing_branches": [[132, 133]]}, "train_test_split": {"executed_lines": [157, 158, 160, 161, 163, 164], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 139, "executed_branches": [[157, 158], [157, 160], [160, 161], [160, 163]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 20, 23, 29, 30, 37, 38, 49, 52, 80, 90, 108, 128, 139], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [46, 47], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 15, 16, 17, 20, 23, 29, 30, 37, 38, 49, 52, 58, 59, 60, 61, 63, 64, 65, 69, 74, 80, 81, 83, 84, 85, 87, 90, 94, 96, 97, 98, 102, 103, 105, 108, 111, 113, 114, 118, 120, 121, 125, 128, 129, 130, 131, 132, 136, 139, 157, 158, 160, 161, 163, 164], "summary": {"covered_lines": 66, "num_statements": 71, "percent_covered": 92.63157894736842, "percent_covered_display": "93", "missing_lines": 5, "excluded_lines": 2, "percent_statements_covered": 92.95774647887323, "percent_statements_covered_display": "93", "num_branches": 24, "num_partial_branches": 2, "covered_branches": 22, "missing_branches": 2, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [34, 43, 112, 133, 134], "excluded_lines": [46, 47], "start_line": 1, "executed_branches": [[64, 65], [64, 69], [83, 84], [83, 87], [84, 83], [84, 85], [96, 97], [96, 105], [97, 98], [97, 102], [111, 113], [113, 114], [113, 118], [120, 121], [120, 125], [130, -128], [130, 131], [132, 136], [157, 158], [157, 160], [160, 161], [160, 163]], "missing_branches": [[111, 112], [132, 133]]}}}, "src\\supervision\\detection\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\compact_mask.py": {"executed_lines": [12, 14, 15, 16, 18, 19, 21, 27, 46, 49, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 103, 111, 112, 113, 114, 115, 116, 117, 118, 121, 122, 125, 128, 161, 162, 166, 167, 168, 169, 170, 171, 175, 178, 179, 180, 181, 182, 183, 184, 185, 186, 188, 189, 190, 193, 228, 229, 230, 231, 233, 235, 236, 237, 238, 241, 242, 244, 246, 249, 305, 307, 309, 310, 311, 312, 314, 317, 320, 323, 324, 325, 326, 327, 328, 330, 336, 338, 341, 369, 372, 376, 377, 380, 381, 386, 389, 457, 459, 466, 467, 468, 469, 475, 476, 511, 512, 514, 515, 522, 523, 524, 526, 527, 528, 529, 530, 531, 535, 536, 537, 539, 541, 542, 543, 544, 545, 547, 548, 549, 555, 574, 575, 576, 577, 578, 582, 583, 584, 585, 587, 612, 613, 614, 620, 638, 640, 645, 646, 664, 665, 667, 668, 687, 689, 690, 713, 716, 717, 718, 719, 720, 722, 723, 741, 743, 744, 764, 766, 791, 792, 795, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 840, 841, 849, 850, 851, 854, 856, 858, 859, 860, 861, 863, 886, 887, 888, 889, 891, 913, 914, 915, 916, 923, 924, 955, 956, 958, 959, 960, 961, 969, 970, 971, 975, 978, 982, 984, 1018, 1019, 1020, 1027, 1028, 1029, 1031, 1032, 1033, 1034, 1036, 1037, 1039, 1041, 1042, 1043, 1044, 1046, 1047, 1048, 1049, 1051, 1052, 1053, 1054, 1056, 1067, 1102, 1103, 1106, 1107, 1119, 1122, 1123, 1124, 1125, 1127, 1131, 1133, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1151, 1152, 1153, 1159, 1160, 1162, 1163, 1164, 1165, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1175, 1176, 1177, 1178, 1179, 1181, 1192, 1233, 1235, 1236, 1237, 1242, 1243, 1251, 1252, 1259, 1260, 1261, 1264, 1265, 1266, 1267, 1269, 1270, 1271, 1272, 1273, 1276, 1281, 1282, 1284, 1295, 1296, 1297, 1298, 1302, 1304, 1305, 1306], "summary": {"covered_lines": 322, "num_statements": 341, "percent_covered": 92.27373068432671, "percent_covered_display": "92", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 94.42815249266862, "percent_statements_covered_display": "94", "num_branches": 112, "num_partial_branches": 12, "covered_branches": 96, "missing_branches": 16, "percent_branches_covered": 85.71428571428571, "percent_branches_covered_display": "86"}, "missing_lines": [104, 105, 106, 107, 108, 109, 110, 123, 163, 172, 308, 373, 642, 643, 714, 793, 917, 1104, 1108], "excluded_lines": [], "executed_branches": [[92, 93], [95, 96], [95, 117], [98, 99], [98, 103], [99, 100], [99, 111], [103, 111], [114, 95], [114, 115], [117, 92], [117, 118], [121, 122], [121, 125], [122, 121], [162, 166], [168, 169], [168, 171], [171, 175], [188, 189], [188, 190], [229, 230], [229, 246], [230, 231], [230, 233], [235, 236], [235, 238], [238, 241], [238, 244], [307, 309], [309, 310], [309, 311], [311, 312], [311, 314], [325, 326], [325, 330], [326, 327], [326, 328], [372, 376], [376, 377], [376, 380], [514, 515], [514, 522], [526, 527], [526, 547], [535, 536], [535, 539], [577, 578], [577, 585], [713, 716], [791, 792], [827, 828], [827, 840], [840, 841], [840, 849], [849, 850], [849, 851], [851, 854], [851, 856], [887, 888], [887, 889], [913, 914], [913, 915], [915, 916], [955, 956], [955, 958], [959, 960], [959, 969], [960, 959], [960, 961], [970, 971], [970, 975], [1019, 1020], [1019, 1027], [1031, 1032], [1031, 1056], [1039, 1041], [1039, 1046], [1103, 1106], [1107, 1119], [1131, 1133], [1131, 1141], [1145, 1146], [1145, 1181], [1151, 1152], [1151, 1162], [1167, 1168], [1167, 1175], [1236, 1237], [1236, 1242], [1242, 1243], [1242, 1251], [1251, 1252], [1251, 1259], [1296, 1297], [1296, 1302]], "missing_branches": [[92, 121], [103, 104], [107, 108], [107, 110], [122, 123], [162, 163], [171, 172], [307, 308], [372, 373], [642, -640], [642, 643], [713, 714], [791, 793], [915, 917], [1103, 1104], [1107, 1108]], "functions": {"_rle_area": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27, "executed_branches": [], "missing_branches": []}, "_rle_split_cols": {"executed_lines": [88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 103, 111, 112, 113, 114, 115, 116, 117, 118, 121, 122, 125], "summary": {"covered_lines": 24, "num_statements": 32, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 20, "num_partial_branches": 3, "covered_branches": 15, "missing_branches": 5, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [104, 105, 106, 107, 108, 109, 110, 123], "excluded_lines": [], "start_line": 49, "executed_branches": [[92, 93], [95, 96], [95, 117], [98, 99], [98, 103], [99, 100], [99, 111], [103, 111], [114, 95], [114, 115], [117, 92], [117, 118], [121, 122], [121, 125], [122, 121]], "missing_branches": [[92, 121], [103, 104], [107, 108], [107, 110], [122, 123]]}, "_rle_scale_col": {"executed_lines": [161, 162, 166, 167, 168, 169, 170, 171, 175, 178, 179, 180, 181, 182, 183, 184, 185, 186, 188, 189, 190], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 87.09677419354838, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 91.30434782608695, "percent_statements_covered_display": "91", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [163, 172], "excluded_lines": [], "start_line": 128, "executed_branches": [[162, 166], [168, 169], [168, 171], [171, 175], [188, 189], [188, 190]], "missing_branches": [[162, 163], [171, 172]]}, "_rle_join_cols": {"executed_lines": [228, 229, 230, 231, 233, 235, 236, 237, 238, 241, 242, 244, 246], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 193, "executed_branches": [[229, 230], [229, 246], [230, 231], [230, 233], [235, 236], [235, 238], [238, 241], [238, 244]], "missing_branches": []}, "_rle_resize": {"executed_lines": [305, 307, 309, 310, 311, 312, 314, 317, 320, 323, 324, 325, 326, 327, 328, 330], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 92.5925925925926, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [308], "excluded_lines": [], "start_line": 249, "executed_branches": [[307, 309], [309, 310], [309, 311], [311, 312], [311, 314], [325, 326], [325, 330], [326, 327], [326, 328]], "missing_branches": [[307, 308]]}, "_resize_crop": {"executed_lines": [369, 372, 376, 377, 380, 381, 386], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [373], "excluded_lines": [], "start_line": 341, "executed_branches": [[372, 376], [376, 377], [376, 380]], "missing_branches": [[372, 373]]}, "CompactMask.__init__": {"executed_lines": [466, 467, 468, 469], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 459, "executed_branches": [], "missing_branches": []}, "CompactMask.from_dense": {"executed_lines": [511, 512, 514, 515, 522, 523, 524, 526, 527, 528, 529, 530, 531, 535, 536, 537, 539, 541, 542, 543, 544, 545, 547, 548, 549], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 476, "executed_branches": [[514, 515], [514, 522], [526, 527], [526, 547], [535, 536], [535, 539]], "missing_branches": []}, "CompactMask.to_dense": {"executed_lines": [574, 575, 576, 577, 578, 582, 583, 584, 585], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 555, "executed_branches": [[577, 578], [577, 585]], "missing_branches": []}, "CompactMask.crop": {"executed_lines": [612, 613, 614], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 587, "executed_branches": [], "missing_branches": []}, "CompactMask.__len__": {"executed_lines": [638], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 620, "executed_branches": [], "missing_branches": []}, "CompactMask.__iter__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [642, 643], "excluded_lines": [], "start_line": 640, "executed_branches": [], "missing_branches": [[642, -640], [642, 643]]}, "CompactMask.shape": {"executed_lines": [664, 665], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 646, "executed_branches": [], "missing_branches": []}, "CompactMask.offsets": {"executed_lines": [687], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 668, "executed_branches": [], "missing_branches": []}, "CompactMask.bbox_xyxy": {"executed_lines": [713, 716, 717, 718, 719, 720], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [714], "excluded_lines": [], "start_line": 690, "executed_branches": [[713, 716]], "missing_branches": [[713, 714]]}, "CompactMask.dtype": {"executed_lines": [741], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 723, "executed_branches": [], "missing_branches": []}, "CompactMask.area": {"executed_lines": [764], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 744, "executed_branches": [], "missing_branches": []}, "CompactMask.sum": {"executed_lines": [791, 792], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [793], "excluded_lines": [], "start_line": 766, "executed_branches": [[791, 792]], "missing_branches": [[791, 793]]}, "CompactMask.__getitem__": {"executed_lines": [827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 840, 841, 849, 850, 851, 854, 856, 858, 859, 860, 861], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 795, "executed_branches": [[827, 828], [827, 840], [840, 841], [840, 849], [849, 850], [849, 851], [851, 854], [851, 856]], "missing_branches": []}, "CompactMask.__array__": {"executed_lines": [886, 887, 888, 889], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 863, "executed_branches": [[887, 888], [887, 889]], "missing_branches": []}, "CompactMask.__eq__": {"executed_lines": [913, 914, 915, 916], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [917], "excluded_lines": [], "start_line": 891, "executed_branches": [[913, 914], [913, 915], [915, 916]], "missing_branches": [[915, 917]]}, "CompactMask.merge": {"executed_lines": [955, 956, 958, 959, 960, 961, 969, 970, 971, 975, 978, 982], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 924, "executed_branches": [[955, 956], [955, 958], [959, 960], [959, 969], [960, 959], [960, 961], [970, 971], [970, 975]], "missing_branches": []}, "CompactMask.repack": {"executed_lines": [1018, 1019, 1020, 1027, 1028, 1029, 1031, 1032, 1033, 1034, 1036, 1037, 1039, 1041, 1042, 1043, 1044, 1046, 1047, 1048, 1049, 1051, 1052, 1053, 1054, 1056], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 984, "executed_branches": [[1019, 1020], [1019, 1027], [1031, 1032], [1031, 1056], [1039, 1041], [1039, 1046]], "missing_branches": []}, "CompactMask.with_offset": {"executed_lines": [1102, 1103, 1106, 1107, 1119, 1122, 1123, 1124, 1125, 1127, 1131, 1133, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1151, 1152, 1153, 1159, 1160, 1162, 1163, 1164, 1165, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1175, 1176, 1177, 1178, 1179, 1181], "summary": {"covered_lines": 42, "num_statements": 44, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.45454545454545, "percent_statements_covered_display": "95", "num_branches": 12, "num_partial_branches": 2, "covered_branches": 10, "missing_branches": 2, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1104, 1108], "excluded_lines": [], "start_line": 1067, "executed_branches": [[1103, 1106], [1107, 1119], [1131, 1133], [1131, 1141], [1145, 1146], [1145, 1181], [1151, 1152], [1151, 1162], [1167, 1168], [1167, 1175]], "missing_branches": [[1103, 1104], [1107, 1108]]}, "CompactMask.resize": {"executed_lines": [1233, 1235, 1236, 1237, 1242, 1243, 1251, 1252, 1259, 1260, 1261, 1264, 1265, 1266, 1267, 1269, 1270, 1271, 1272, 1273, 1276, 1281, 1282, 1284, 1295, 1296, 1297, 1298, 1302, 1304, 1305, 1306], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1192, "executed_branches": [[1236, 1237], [1236, 1242], [1242, 1243], [1242, 1251], [1251, 1252], [1251, 1259], [1296, 1297], [1296, 1302]], "missing_branches": []}, "": {"executed_lines": [12, 14, 15, 16, 18, 19, 21, 27, 49, 128, 193, 249, 336, 338, 341, 389, 457, 459, 475, 476, 555, 587, 620, 640, 645, 646, 667, 668, 689, 690, 722, 723, 743, 744, 766, 795, 863, 891, 923, 924, 984, 1067, 1192], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"CompactMask": {"executed_lines": [466, 467, 468, 469, 511, 512, 514, 515, 522, 523, 524, 526, 527, 528, 529, 530, 531, 535, 536, 537, 539, 541, 542, 543, 544, 545, 547, 548, 549, 574, 575, 576, 577, 578, 582, 583, 584, 585, 612, 613, 614, 638, 664, 665, 687, 713, 716, 717, 718, 719, 720, 741, 764, 791, 792, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 840, 841, 849, 850, 851, 854, 856, 858, 859, 860, 861, 886, 887, 888, 889, 913, 914, 915, 916, 955, 956, 958, 959, 960, 961, 969, 970, 971, 975, 978, 982, 1018, 1019, 1020, 1027, 1028, 1029, 1031, 1032, 1033, 1034, 1036, 1037, 1039, 1041, 1042, 1043, 1044, 1046, 1047, 1048, 1049, 1051, 1052, 1053, 1054, 1056, 1102, 1103, 1106, 1107, 1119, 1122, 1123, 1124, 1125, 1127, 1131, 1133, 1141, 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1151, 1152, 1153, 1159, 1160, 1162, 1163, 1164, 1165, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1175, 1176, 1177, 1178, 1179, 1181, 1233, 1235, 1236, 1237, 1242, 1243, 1251, 1252, 1259, 1260, 1261, 1264, 1265, 1266, 1267, 1269, 1270, 1271, 1272, 1273, 1276, 1281, 1282, 1284, 1295, 1296, 1297, 1298, 1302, 1304, 1305, 1306], "summary": {"covered_lines": 197, "num_statements": 204, "percent_covered": 94.73684210526316, "percent_covered_display": "95", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 96.56862745098039, "percent_statements_covered_display": "97", "num_branches": 62, "num_partial_branches": 5, "covered_branches": 55, "missing_branches": 7, "percent_branches_covered": 88.70967741935483, "percent_branches_covered_display": "89"}, "missing_lines": [642, 643, 714, 793, 917, 1104, 1108], "excluded_lines": [], "start_line": 389, "executed_branches": [[514, 515], [514, 522], [526, 527], [526, 547], [535, 536], [535, 539], [577, 578], [577, 585], [713, 716], [791, 792], [827, 828], [827, 840], [840, 841], [840, 849], [849, 850], [849, 851], [851, 854], [851, 856], [887, 888], [887, 889], [913, 914], [913, 915], [915, 916], [955, 956], [955, 958], [959, 960], [959, 969], [960, 959], [960, 961], [970, 971], [970, 975], [1019, 1020], [1019, 1027], [1031, 1032], [1031, 1056], [1039, 1041], [1039, 1046], [1103, 1106], [1107, 1119], [1131, 1133], [1131, 1141], [1145, 1146], [1145, 1181], [1151, 1152], [1151, 1162], [1167, 1168], [1167, 1175], [1236, 1237], [1236, 1242], [1242, 1243], [1242, 1251], [1251, 1252], [1251, 1259], [1296, 1297], [1296, 1302]], "missing_branches": [[642, -640], [642, 643], [713, 714], [791, 793], [915, 917], [1103, 1104], [1107, 1108]]}, "": {"executed_lines": [12, 14, 15, 16, 18, 19, 21, 27, 46, 49, 88, 89, 90, 92, 93, 94, 95, 96, 97, 98, 99, 100, 103, 111, 112, 113, 114, 115, 116, 117, 118, 121, 122, 125, 128, 161, 162, 166, 167, 168, 169, 170, 171, 175, 178, 179, 180, 181, 182, 183, 184, 185, 186, 188, 189, 190, 193, 228, 229, 230, 231, 233, 235, 236, 237, 238, 241, 242, 244, 246, 249, 305, 307, 309, 310, 311, 312, 314, 317, 320, 323, 324, 325, 326, 327, 328, 330, 336, 338, 341, 369, 372, 376, 377, 380, 381, 386, 389, 457, 459, 475, 476, 555, 587, 620, 640, 645, 646, 667, 668, 689, 690, 722, 723, 743, 744, 766, 795, 863, 891, 923, 924, 984, 1067, 1192], "summary": {"covered_lines": 125, "num_statements": 137, "percent_covered": 88.77005347593582, "percent_covered_display": "89", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 91.24087591240875, "percent_statements_covered_display": "91", "num_branches": 50, "num_partial_branches": 7, "covered_branches": 41, "missing_branches": 9, "percent_branches_covered": 82.0, "percent_branches_covered_display": "82"}, "missing_lines": [104, 105, 106, 107, 108, 109, 110, 123, 163, 172, 308, 373], "excluded_lines": [], "start_line": 1, "executed_branches": [[92, 93], [95, 96], [95, 117], [98, 99], [98, 103], [99, 100], [99, 111], [103, 111], [114, 95], [114, 115], [117, 92], [117, 118], [121, 122], [121, 125], [122, 121], [162, 166], [168, 169], [168, 171], [171, 175], [188, 189], [188, 190], [229, 230], [229, 246], [230, 231], [230, 233], [235, 236], [235, 238], [238, 241], [238, 244], [307, 309], [309, 310], [309, 311], [311, 312], [311, 314], [325, 326], [325, 330], [326, 327], [326, 328], [372, 376], [376, 377], [376, 380]], "missing_branches": [[92, 121], [103, 104], [107, 108], [107, 110], [122, 123], [162, 163], [171, 172], [307, 308], [372, 373]]}}}, "src\\supervision\\detection\\core.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 16, 17, 22, 23, 28, 37, 48, 49, 62, 63, 64, 67, 68, 156, 157, 158, 159, 160, 161, 162, 164, 165, 174, 178, 180, 196, 197, 206, 207, 209, 221, 222, 245, 247, 253, 254, 285, 304, 305, 306, 312, 316, 317, 318, 335, 336, 363, 364, 366, 372, 373, 417, 418, 453, 454, 491, 492, 572, 573, 619, 620, 653, 654, 655, 657, 661, 662, 663, 664, 666, 675, 676, 704, 708, 709, 711, 712, 714, 715, 717, 718, 769, 771, 772, 773, 775, 777, 778, 783, 784, 785, 788, 790, 795, 796, 797, 799, 800, 802, 803, 805, 812, 813, 899, 900, 941, 942, 1430, 1431, 1853, 1855, 1863, 1874, 1883, 1884, 1885, 1886, 1887, 1930, 1931, 1976, 1977, 2034, 2035, 2050, 2056, 2078, 2080, 2081, 2133, 2137, 2138, 2140, 2141, 2150, 2152, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2164, 2165, 2167, 2168, 2169, 2170, 2172, 2174, 2175, 2177, 2187, 2206, 2207, 2213, 2219, 2220, 2226, 2227, 2233, 2234, 2237, 2238, 2239, 2240, 2241, 2242, 2245, 2246, 2247, 2248, 2252, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2301, 2336, 2337, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2384, 2385, 2394, 2396, 2397, 2426, 2427, 2429, 2430, 2431, 2433, 2463, 2466, 2470, 2473, 2477, 2485, 2486, 2492, 2493, 2502, 2508, 2510, 2552, 2553, 2555, 2559, 2560, 2562, 2566, 2574, 2581, 2582, 2591, 2597, 2598, 2599, 2600, 2602, 2605, 2621, 2624, 2625, 2626, 2629, 2630, 2631, 2632, 2633, 2634, 2637, 2638, 2645, 2648, 2661, 2662, 2664, 2668, 2669, 2673, 2674, 2676, 2677, 2678, 2679, 2686, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2699, 2700, 2703, 2714, 2717, 2718, 2719, 2721, 2723, 2725, 2736, 2737, 2780, 2781, 2783, 2785, 2786, 2787, 2788, 2790, 2791, 2792, 2793, 2794, 2798, 2800, 2801, 2802, 2804, 2805, 2807, 2809, 2810, 2811, 2812, 2814, 2816, 2818, 2829, 2830, 2857, 2858, 2872, 2873, 2874, 2875, 2878, 2879, 2880, 2881, 2883, 2884, 2885, 2887, 2890, 2893, 2894, 2895, 2898, 2901, 2902, 2905, 2906, 2909, 2910, 2913, 2916, 2917, 2919, 2920, 2921, 2922, 2923, 2925, 2928, 2940, 2941, 2942, 2943, 2945, 2946, 2952, 2957], "summary": {"covered_lines": 359, "num_statements": 513, "percent_covered": 67.51054852320675, "percent_covered_display": "68", "missing_lines": 154, "excluded_lines": 0, "percent_statements_covered": 69.98050682261209, "percent_statements_covered_display": "70", "num_branches": 198, "num_partial_branches": 17, "covered_branches": 121, "missing_branches": 77, "percent_branches_covered": 61.111111111111114, "percent_branches_covered_display": "61"}, "missing_lines": [208, 286, 287, 288, 289, 331, 332, 333, 407, 408, 409, 410, 411, 444, 445, 447, 480, 543, 547, 553, 554, 560, 561, 566, 605, 656, 786, 853, 854, 858, 860, 861, 862, 864, 866, 867, 869, 871, 872, 873, 874, 876, 877, 878, 879, 881, 882, 883, 885, 886, 887, 888, 890, 891, 893, 932, 933, 935, 1394, 1401, 1410, 1411, 1413, 1414, 1415, 1416, 1417, 1421, 1424, 1428, 1856, 1857, 1858, 1861, 1864, 1865, 1866, 1867, 1870, 1875, 1876, 1877, 1878, 1879, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1897, 1898, 1899, 1900, 1901, 1903, 1905, 1906, 1907, 1908, 1909, 1911, 1912, 1913, 1914, 1916, 1917, 1918, 1919, 1920, 1928, 1955, 1956, 1958, 1959, 1960, 1966, 1968, 2009, 2011, 2012, 2014, 2015, 2016, 2025, 2026, 2028, 2214, 2215, 2218, 2250, 2328, 2329, 2331, 2332, 2334, 2464, 2471, 2575, 2684, 2843, 2844, 2845, 2846, 2850, 2851, 2852, 2853, 2854, 2869, 2903, 2907, 2960], "excluded_lines": [], "executed_branches": [[196, -180], [196, 197], [207, 209], [285, 304], [304, 305], [304, 312], [312, 316], [363, 364], [363, 366], [653, 654], [653, 655], [655, 657], [661, 662], [661, 666], [711, 712], [711, 714], [777, 778], [777, 799], [783, 777], [783, 784], [785, 788], [799, 800], [799, 802], [1855, 1863], [1863, 1874], [1874, 1883], [1883, 1884], [2137, 2138], [2137, 2140], [2140, 2141], [2140, 2150], [2155, 2156], [2155, 2157], [2157, 2158], [2157, 2159], [2159, 2160], [2159, 2165], [2161, 2162], [2161, 2164], [2206, 2207], [2206, 2213], [2213, 2219], [2219, 2220], [2219, 2226], [2226, 2227], [2226, 2233], [2233, 2234], [2233, 2237], [2237, 2238], [2237, 2239], [2239, 2240], [2239, 2241], [2241, 2242], [2241, 2245], [2245, 2246], [2245, 2247], [2247, 2248], [2285, 2286], [2285, 2287], [2287, 2288], [2287, 2289], [2289, 2290], [2289, 2291], [2376, 2377], [2376, 2380], [2377, 2378], [2377, 2379], [2380, 2381], [2380, 2382], [2463, 2466], [2470, 2473], [2485, 2486], [2485, 2492], [2492, 2493], [2492, 2502], [2552, 2553], [2552, 2555], [2559, 2560], [2559, 2562], [2574, 2581], [2581, 2582], [2581, 2591], [2598, 2599], [2598, 2602], [2661, 2662], [2661, 2664], [2676, 2677], [2676, 2686], [2678, 2679], [2691, 2692], [2691, 2703], [2693, 2694], [2693, 2698], [2695, 2696], [2695, 2697], [2718, 2719], [2718, 2721], [2780, 2781], [2780, 2783], [2787, 2788], [2787, 2790], [2804, 2805], [2804, 2807], [2809, 2810], [2809, 2811], [2811, 2812], [2811, 2814], [2873, 2874], [2873, 2875], [2880, 2881], [2880, 2883], [2884, 2885], [2884, 2887], [2902, 2905], [2906, 2909], [2919, 2920], [2919, 2925], [2941, -2928], [2941, 2942], [2945, 2941], [2945, 2946]], "missing_branches": [[207, 208], [285, 286], [312, 331], [444, 445], [444, 447], [543, 547], [543, 553], [553, 554], [553, 560], [560, 561], [560, 566], [655, 656], [785, 786], [853, 854], [853, 858], [861, 862], [861, 864], [866, 867], [866, 890], [876, 866], [876, 877], [881, 882], [881, 885], [885, 876], [885, 886], [890, 891], [890, 893], [932, 933], [932, 935], [1410, 1411], [1410, 1413], [1413, 1414], [1413, 1424], [1855, 1856], [1863, 1864], [1874, 1875], [1883, 1889], [1889, 1890], [1889, 1905], [1892, 1893], [1892, 1897], [1898, 1899], [1898, 1900], [1900, 1901], [1900, 1903], [1905, 1906], [1905, 1911], [1911, 1912], [1911, 1916], [1916, 1917], [1916, 1928], [1955, 1956], [1955, 1958], [2011, 2012], [2011, 2014], [2014, 2015], [2014, 2028], [2213, 2214], [2214, 2215], [2214, 2218], [2247, 2250], [2328, 2329], [2328, 2331], [2331, 2332], [2331, 2334], [2463, 2464], [2470, 2471], [2574, 2575], [2678, 2684], [2844, 2845], [2844, 2854], [2845, 2846], [2845, 2850], [2851, 2852], [2851, 2853], [2902, 2903], [2906, 2907]], "functions": {"Detections.__post_init__": {"executed_lines": [165], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 164, "executed_branches": [], "missing_branches": []}, "Detections.__len__": {"executed_lines": [178], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 174, "executed_branches": [], "missing_branches": []}, "Detections.__iter__": {"executed_lines": [196, 197], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 180, "executed_branches": [[196, -180], [196, 197]], "missing_branches": []}, "Detections.__eq__": {"executed_lines": [207, 209], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [208], "excluded_lines": [], "start_line": 206, "executed_branches": [[207, 209]], "missing_branches": [[207, 208]]}, "Detections.from_yolov5": {"executed_lines": [245, 247], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 222, "executed_branches": [], "missing_branches": []}, "Detections.from_ultralytics": {"executed_lines": [285, 304, 305, 306, 312, 316, 317, 318], "summary": {"covered_lines": 8, "num_statements": 15, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 53.333333333333336, "percent_statements_covered_display": "53", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [286, 287, 288, 289, 331, 332, 333], "excluded_lines": [], "start_line": 254, "executed_branches": [[285, 304], [304, 305], [304, 312], [312, 316]], "missing_branches": [[285, 286], [312, 331]]}, "Detections.from_yolo_nas": {"executed_lines": [363, 364, 366], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 336, "executed_branches": [[363, 364], [363, 366]], "missing_branches": []}, "Detections.from_tensorflow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [407, 408, 409, 410, 411], "excluded_lines": [], "start_line": 373, "executed_branches": [], "missing_branches": []}, "Detections.from_deepsparse": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [444, 445, 447], "excluded_lines": [], "start_line": 418, "executed_branches": [], "missing_branches": [[444, 445], [444, 447]]}, "Detections.from_mmdetection": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [480], "excluded_lines": [], "start_line": 454, "executed_branches": [], "missing_branches": []}, "Detections.from_transformers": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [543, 547, 553, 554, 560, 561, 566], "excluded_lines": [], "start_line": 492, "executed_branches": [], "missing_branches": [[543, 547], [543, 553], [553, 554], [553, 560], [560, 561], [560, 566]]}, "Detections.from_detectron2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [605], "excluded_lines": [], "start_line": 573, "executed_branches": [], "missing_branches": []}, "Detections.from_inference": {"executed_lines": [653, 654, 655, 657, 661, 662, 663, 664, 666], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [656], "excluded_lines": [], "start_line": 620, "executed_branches": [[653, 654], [653, 655], [655, 657], [661, 662], [661, 666]], "missing_branches": [[655, 656]]}, "Detections.from_sam": {"executed_lines": [704, 708, 709, 711, 712, 714, 715], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 676, "executed_branches": [[711, 712], [711, 714]], "missing_branches": []}, "Detections.from_sam3": {"executed_lines": [769, 771, 772, 773, 775, 777, 778, 783, 784, 785, 788, 790, 795, 796, 797, 799, 800, 802, 803, 805], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [786], "excluded_lines": [], "start_line": 718, "executed_branches": [[777, 778], [777, 799], [783, 777], [783, 784], [785, 788], [799, 800], [799, 802]], "missing_branches": [[785, 786]]}, "Detections.from_azure_analyze_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 28, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 28, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 14, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [853, 854, 858, 860, 861, 862, 864, 866, 867, 869, 871, 872, 873, 874, 876, 877, 878, 879, 881, 882, 883, 885, 886, 887, 888, 890, 891, 893], "excluded_lines": [], "start_line": 813, "executed_branches": [], "missing_branches": [[853, 854], [853, 858], [861, 862], [861, 864], [866, 867], [866, 890], [876, 866], [876, 877], [881, 882], [881, 885], [885, 876], [885, 886], [890, 891], [890, 893]]}, "Detections.from_paddledet": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [932, 933, 935], "excluded_lines": [], "start_line": 900, "executed_branches": [], "missing_branches": [[932, 933], [932, 935]]}, "Detections.from_lmm": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1394, 1401, 1410, 1411, 1413, 1414, 1415, 1416, 1417, 1421, 1424, 1428], "excluded_lines": [], "start_line": 942, "executed_branches": [], "missing_branches": [[1410, 1411], [1410, 1413], [1413, 1414], [1413, 1424]]}, "Detections.from_vlm": {"executed_lines": [1853, 1855, 1863, 1874, 1883, 1884, 1885, 1886, 1887], "summary": {"covered_lines": 9, "num_statements": 51, "percent_covered": 17.80821917808219, "percent_covered_display": "18", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 17.647058823529413, "percent_statements_covered_display": "18", "num_branches": 22, "num_partial_branches": 4, "covered_branches": 4, "missing_branches": 18, "percent_branches_covered": 18.181818181818183, "percent_branches_covered_display": "18"}, "missing_lines": [1856, 1857, 1858, 1861, 1864, 1865, 1866, 1867, 1870, 1875, 1876, 1877, 1878, 1879, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1897, 1898, 1899, 1900, 1901, 1903, 1905, 1906, 1907, 1908, 1909, 1911, 1912, 1913, 1914, 1916, 1917, 1918, 1919, 1920, 1928], "excluded_lines": [], "start_line": 1431, "executed_branches": [[1855, 1863], [1863, 1874], [1874, 1883], [1883, 1884]], "missing_branches": [[1855, 1856], [1863, 1864], [1874, 1875], [1883, 1889], [1889, 1890], [1889, 1905], [1892, 1893], [1892, 1897], [1898, 1899], [1898, 1900], [1900, 1901], [1900, 1903], [1905, 1906], [1905, 1911], [1911, 1912], [1911, 1916], [1916, 1917], [1916, 1928]]}, "Detections.from_easyocr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1955, 1956, 1958, 1959, 1960, 1966, 1968], "excluded_lines": [], "start_line": 1931, "executed_branches": [], "missing_branches": [[1955, 1956], [1955, 1958]]}, "Detections.from_ncnn": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [2009, 2011, 2012, 2014, 2015, 2016, 2025, 2026, 2028], "excluded_lines": [], "start_line": 1977, "executed_branches": [], "missing_branches": [[2011, 2012], [2011, 2014], [2014, 2015], [2014, 2028]]}, "Detections.empty": {"executed_lines": [2050], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2035, "executed_branches": [], "missing_branches": []}, "Detections.is_empty": {"executed_lines": [2078], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2056, "executed_branches": [], "missing_branches": []}, "Detections.merge": {"executed_lines": [2133, 2137, 2138, 2140, 2141, 2150, 2152, 2167, 2168, 2169, 2170, 2172, 2174, 2175, 2177], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2081, "executed_branches": [[2137, 2138], [2137, 2140], [2140, 2141], [2140, 2150]], "missing_branches": []}, "Detections.merge.stack_or_none": {"executed_lines": [2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2164, 2165], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2152, "executed_branches": [[2155, 2156], [2155, 2157], [2157, 2158], [2157, 2159], [2159, 2160], [2159, 2165], [2161, 2162], [2161, 2164]], "missing_branches": []}, "Detections.get_anchors_coordinates": {"executed_lines": [2206, 2207, 2213, 2219, 2220, 2226, 2227, 2233, 2234, 2237, 2238, 2239, 2240, 2241, 2242, 2245, 2246, 2247, 2248], "summary": {"covered_lines": 19, "num_statements": 23, "percent_covered": 82.22222222222223, "percent_covered_display": "82", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 82.6086956521739, "percent_statements_covered_display": "83", "num_branches": 22, "num_partial_branches": 2, "covered_branches": 18, "missing_branches": 4, "percent_branches_covered": 81.81818181818181, "percent_branches_covered_display": "82"}, "missing_lines": [2214, 2215, 2218, 2250], "excluded_lines": [], "start_line": 2187, "executed_branches": [[2206, 2207], [2206, 2213], [2213, 2219], [2219, 2220], [2219, 2226], [2226, 2227], [2226, 2233], [2233, 2234], [2233, 2237], [2237, 2238], [2237, 2239], [2239, 2240], [2239, 2241], [2241, 2242], [2241, 2245], [2245, 2246], [2245, 2247], [2247, 2248]], "missing_branches": [[2213, 2214], [2214, 2215], [2214, 2218], [2247, 2250]]}, "Detections.__getitem__": {"executed_lines": [2285, 2286, 2287, 2288, 2289, 2290, 2291], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2252, "executed_branches": [[2285, 2286], [2285, 2287], [2287, 2288], [2287, 2289], [2289, 2290], [2289, 2291]], "missing_branches": []}, "Detections.__setitem__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [2328, 2329, 2331, 2332, 2334], "excluded_lines": [], "start_line": 2301, "executed_branches": [], "missing_branches": [[2328, 2329], [2328, 2331], [2331, 2332], [2331, 2334]]}, "Detections.area": {"executed_lines": [2376, 2377, 2378, 2379, 2380, 2381, 2382], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2337, "executed_branches": [[2376, 2377], [2376, 2380], [2377, 2378], [2377, 2379], [2380, 2381], [2380, 2382]], "missing_branches": []}, "Detections.box_area": {"executed_lines": [2394], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2385, "executed_branches": [], "missing_branches": []}, "Detections.box_aspect_ratio": {"executed_lines": [2426, 2427, 2429, 2430, 2431], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2397, "executed_branches": [], "missing_branches": []}, "Detections.with_nms": {"executed_lines": [2463, 2466, 2470, 2473, 2477, 2485, 2486, 2492, 2493, 2502, 2508], "summary": {"covered_lines": 11, "num_statements": 13, "percent_covered": 80.95238095238095, "percent_covered_display": "81", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 84.61538461538461, "percent_statements_covered_display": "85", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [2464, 2471], "excluded_lines": [], "start_line": 2433, "executed_branches": [[2463, 2466], [2470, 2473], [2485, 2486], [2485, 2492], [2492, 2493], [2492, 2502]], "missing_branches": [[2463, 2464], [2470, 2471]]}, "Detections.with_nmm": {"executed_lines": [2552, 2553, 2555, 2559, 2560, 2562, 2566, 2574, 2581, 2582, 2591, 2597, 2598, 2599, 2600, 2602], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 92.5925925925926, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [2575], "excluded_lines": [], "start_line": 2510, "executed_branches": [[2552, 2553], [2552, 2555], [2559, 2560], [2559, 2562], [2574, 2581], [2581, 2582], [2581, 2591], [2598, 2599], [2598, 2602]], "missing_branches": [[2574, 2575]]}, "_merge_obb_corners": {"executed_lines": [2621, 2624, 2625, 2626, 2629, 2630, 2631, 2632, 2633, 2634, 2637, 2638, 2645], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2605, "executed_branches": [], "missing_branches": []}, "_merge_detection_group": {"executed_lines": [2661, 2662, 2664, 2668, 2669, 2673, 2674, 2676, 2677, 2678, 2679, 2686, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2699, 2700, 2703, 2714, 2717, 2718, 2719, 2721, 2723, 2725], "summary": {"covered_lines": 31, "num_statements": 32, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.875, "percent_statements_covered_display": "97", "num_branches": 14, "num_partial_branches": 1, "covered_branches": 13, "missing_branches": 1, "percent_branches_covered": 92.85714285714286, "percent_branches_covered_display": "93"}, "missing_lines": [2684], "excluded_lines": [], "start_line": 2648, "executed_branches": [[2661, 2662], [2661, 2664], [2676, 2677], [2676, 2686], [2678, 2679], [2691, 2692], [2691, 2703], [2693, 2694], [2693, 2698], [2695, 2696], [2695, 2697], [2718, 2719], [2718, 2721]], "missing_branches": [[2678, 2684]]}, "merge_inner_detection_object_pair": {"executed_lines": [2780, 2781, 2783, 2785, 2786, 2787, 2788, 2790, 2791, 2792, 2793, 2794, 2798, 2800, 2801, 2802, 2804, 2805, 2807, 2809, 2810, 2811, 2812, 2814, 2816, 2818], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2737, "executed_branches": [[2780, 2781], [2780, 2783], [2787, 2788], [2787, 2790], [2804, 2805], [2804, 2807], [2809, 2810], [2809, 2811], [2811, 2812], [2811, 2814]], "missing_branches": []}, "merge_inner_detections_objects": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [2843, 2844, 2845, 2846, 2850, 2851, 2852, 2853, 2854], "excluded_lines": [], "start_line": 2830, "executed_branches": [], "missing_branches": [[2844, 2845], [2844, 2854], [2845, 2846], [2845, 2850], [2851, 2852], [2851, 2853]]}, "merge_inner_detections_objects_without_iou": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [2869], "excluded_lines": [], "start_line": 2858, "executed_branches": [], "missing_branches": []}, "_get_sam3_value": {"executed_lines": [2873, 2874, 2875], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2872, "executed_branches": [[2873, 2874], [2873, 2875]], "missing_branches": []}, "_normalize_sam3_prompt_results": {"executed_lines": [2879, 2880, 2881, 2883, 2884, 2885, 2887], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2878, "executed_branches": [[2880, 2881], [2880, 2883], [2884, 2885], [2884, 2887]], "missing_branches": []}, "_normalize_sam3_prompt_result": {"executed_lines": [2893, 2894, 2895], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2890, "executed_branches": [], "missing_branches": []}, "_normalize_sam3_prediction": {"executed_lines": [2901, 2902, 2905, 2906, 2909, 2910], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [2903, 2907], "excluded_lines": [], "start_line": 2898, "executed_branches": [[2902, 2905], [2906, 2909]], "missing_branches": [[2902, 2903], [2906, 2907]]}, "_build_sam3_mask": {"executed_lines": [2916, 2917, 2919, 2920, 2921, 2922, 2923, 2925], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2913, "executed_branches": [[2919, 2920], [2919, 2925]], "missing_branches": []}, "_validate_fields_both_defined_or_none": {"executed_lines": [2940, 2941, 2942, 2943, 2945, 2946], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2928, "executed_branches": [[2941, -2928], [2941, 2942], [2945, 2941], [2945, 2946]], "missing_branches": []}, "validate_fields_both_defined_or_none": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [2960], "excluded_lines": [], "start_line": 2957, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 16, 17, 22, 23, 28, 37, 48, 49, 62, 63, 64, 67, 68, 156, 157, 158, 159, 160, 161, 162, 164, 174, 180, 206, 221, 222, 253, 254, 335, 336, 372, 373, 417, 418, 453, 454, 491, 492, 572, 573, 619, 620, 675, 676, 717, 718, 812, 813, 899, 900, 941, 942, 1430, 1431, 1930, 1931, 1976, 1977, 2034, 2035, 2056, 2080, 2081, 2187, 2252, 2301, 2336, 2337, 2384, 2385, 2396, 2397, 2433, 2510, 2605, 2648, 2736, 2737, 2829, 2830, 2857, 2858, 2872, 2878, 2890, 2898, 2913, 2928, 2952, 2957], "summary": {"covered_lines": 99, "num_statements": 99, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Detections": {"executed_lines": [165, 178, 196, 197, 207, 209, 245, 247, 285, 304, 305, 306, 312, 316, 317, 318, 363, 364, 366, 653, 654, 655, 657, 661, 662, 663, 664, 666, 704, 708, 709, 711, 712, 714, 715, 769, 771, 772, 773, 775, 777, 778, 783, 784, 785, 788, 790, 795, 796, 797, 799, 800, 802, 803, 805, 1853, 1855, 1863, 1874, 1883, 1884, 1885, 1886, 1887, 2050, 2078, 2133, 2137, 2138, 2140, 2141, 2150, 2152, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2164, 2165, 2167, 2168, 2169, 2170, 2172, 2174, 2175, 2177, 2206, 2207, 2213, 2219, 2220, 2226, 2227, 2233, 2234, 2237, 2238, 2239, 2240, 2241, 2242, 2245, 2246, 2247, 2248, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2394, 2426, 2427, 2429, 2430, 2431, 2463, 2466, 2470, 2473, 2477, 2485, 2486, 2492, 2493, 2502, 2508, 2552, 2553, 2555, 2559, 2560, 2562, 2566, 2574, 2581, 2582, 2591, 2597, 2598, 2599, 2600, 2602], "summary": {"covered_lines": 157, "num_statements": 297, "percent_covered": 53.67483296213808, "percent_covered_display": "54", "missing_lines": 140, "excluded_lines": 0, "percent_statements_covered": 52.861952861952865, "percent_statements_covered_display": "53", "num_branches": 152, "num_partial_branches": 14, "covered_branches": 84, "missing_branches": 68, "percent_branches_covered": 55.26315789473684, "percent_branches_covered_display": "55"}, "missing_lines": [208, 286, 287, 288, 289, 331, 332, 333, 407, 408, 409, 410, 411, 444, 445, 447, 480, 543, 547, 553, 554, 560, 561, 566, 605, 656, 786, 853, 854, 858, 860, 861, 862, 864, 866, 867, 869, 871, 872, 873, 874, 876, 877, 878, 879, 881, 882, 883, 885, 886, 887, 888, 890, 891, 893, 932, 933, 935, 1394, 1401, 1410, 1411, 1413, 1414, 1415, 1416, 1417, 1421, 1424, 1428, 1856, 1857, 1858, 1861, 1864, 1865, 1866, 1867, 1870, 1875, 1876, 1877, 1878, 1879, 1889, 1890, 1891, 1892, 1893, 1894, 1895, 1897, 1898, 1899, 1900, 1901, 1903, 1905, 1906, 1907, 1908, 1909, 1911, 1912, 1913, 1914, 1916, 1917, 1918, 1919, 1920, 1928, 1955, 1956, 1958, 1959, 1960, 1966, 1968, 2009, 2011, 2012, 2014, 2015, 2016, 2025, 2026, 2028, 2214, 2215, 2218, 2250, 2328, 2329, 2331, 2332, 2334, 2464, 2471, 2575], "excluded_lines": [], "start_line": 68, "executed_branches": [[196, -180], [196, 197], [207, 209], [285, 304], [304, 305], [304, 312], [312, 316], [363, 364], [363, 366], [653, 654], [653, 655], [655, 657], [661, 662], [661, 666], [711, 712], [711, 714], [777, 778], [777, 799], [783, 777], [783, 784], [785, 788], [799, 800], [799, 802], [1855, 1863], [1863, 1874], [1874, 1883], [1883, 1884], [2137, 2138], [2137, 2140], [2140, 2141], [2140, 2150], [2155, 2156], [2155, 2157], [2157, 2158], [2157, 2159], [2159, 2160], [2159, 2165], [2161, 2162], [2161, 2164], [2206, 2207], [2206, 2213], [2213, 2219], [2219, 2220], [2219, 2226], [2226, 2227], [2226, 2233], [2233, 2234], [2233, 2237], [2237, 2238], [2237, 2239], [2239, 2240], [2239, 2241], [2241, 2242], [2241, 2245], [2245, 2246], [2245, 2247], [2247, 2248], [2285, 2286], [2285, 2287], [2287, 2288], [2287, 2289], [2289, 2290], [2289, 2291], [2376, 2377], [2376, 2380], [2377, 2378], [2377, 2379], [2380, 2381], [2380, 2382], [2463, 2466], [2470, 2473], [2485, 2486], [2485, 2492], [2492, 2493], [2492, 2502], [2552, 2553], [2552, 2555], [2559, 2560], [2559, 2562], [2574, 2581], [2581, 2582], [2581, 2591], [2598, 2599], [2598, 2602]], "missing_branches": [[207, 208], [285, 286], [312, 331], [444, 445], [444, 447], [543, 547], [543, 553], [553, 554], [553, 560], [560, 561], [560, 566], [655, 656], [785, 786], [853, 854], [853, 858], [861, 862], [861, 864], [866, 867], [866, 890], [876, 866], [876, 877], [881, 882], [881, 885], [885, 876], [885, 886], [890, 891], [890, 893], [932, 933], [932, 935], [1410, 1411], [1410, 1413], [1413, 1414], [1413, 1424], [1855, 1856], [1863, 1864], [1874, 1875], [1883, 1889], [1889, 1890], [1889, 1905], [1892, 1893], [1892, 1897], [1898, 1899], [1898, 1900], [1900, 1901], [1900, 1903], [1905, 1906], [1905, 1911], [1911, 1912], [1911, 1916], [1916, 1917], [1916, 1928], [1955, 1956], [1955, 1958], [2011, 2012], [2011, 2014], [2014, 2015], [2014, 2028], [2213, 2214], [2214, 2215], [2214, 2218], [2247, 2250], [2328, 2329], [2328, 2331], [2331, 2332], [2331, 2334], [2463, 2464], [2470, 2471], [2574, 2575]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 16, 17, 22, 23, 28, 37, 48, 49, 62, 63, 64, 67, 68, 156, 157, 158, 159, 160, 161, 162, 164, 174, 180, 206, 221, 222, 253, 254, 335, 336, 372, 373, 417, 418, 453, 454, 491, 492, 572, 573, 619, 620, 675, 676, 717, 718, 812, 813, 899, 900, 941, 942, 1430, 1431, 1930, 1931, 1976, 1977, 2034, 2035, 2056, 2080, 2081, 2187, 2252, 2301, 2336, 2337, 2384, 2385, 2396, 2397, 2433, 2510, 2605, 2621, 2624, 2625, 2626, 2629, 2630, 2631, 2632, 2633, 2634, 2637, 2638, 2645, 2648, 2661, 2662, 2664, 2668, 2669, 2673, 2674, 2676, 2677, 2678, 2679, 2686, 2690, 2691, 2692, 2693, 2694, 2695, 2696, 2697, 2698, 2699, 2700, 2703, 2714, 2717, 2718, 2719, 2721, 2723, 2725, 2736, 2737, 2780, 2781, 2783, 2785, 2786, 2787, 2788, 2790, 2791, 2792, 2793, 2794, 2798, 2800, 2801, 2802, 2804, 2805, 2807, 2809, 2810, 2811, 2812, 2814, 2816, 2818, 2829, 2830, 2857, 2858, 2872, 2873, 2874, 2875, 2878, 2879, 2880, 2881, 2883, 2884, 2885, 2887, 2890, 2893, 2894, 2895, 2898, 2901, 2902, 2905, 2906, 2909, 2910, 2913, 2916, 2917, 2919, 2920, 2921, 2922, 2923, 2925, 2928, 2940, 2941, 2942, 2943, 2945, 2946, 2952, 2957], "summary": {"covered_lines": 202, "num_statements": 216, "percent_covered": 91.22137404580153, "percent_covered_display": "91", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 93.51851851851852, "percent_statements_covered_display": "94", "num_branches": 46, "num_partial_branches": 3, "covered_branches": 37, "missing_branches": 9, "percent_branches_covered": 80.43478260869566, "percent_branches_covered_display": "80"}, "missing_lines": [2684, 2843, 2844, 2845, 2846, 2850, 2851, 2852, 2853, 2854, 2869, 2903, 2907, 2960], "excluded_lines": [], "start_line": 1, "executed_branches": [[2661, 2662], [2661, 2664], [2676, 2677], [2676, 2686], [2678, 2679], [2691, 2692], [2691, 2703], [2693, 2694], [2693, 2698], [2695, 2696], [2695, 2697], [2718, 2719], [2718, 2721], [2780, 2781], [2780, 2783], [2787, 2788], [2787, 2790], [2804, 2805], [2804, 2807], [2809, 2810], [2809, 2811], [2811, 2812], [2811, 2814], [2873, 2874], [2873, 2875], [2880, 2881], [2880, 2883], [2884, 2885], [2884, 2887], [2902, 2905], [2906, 2909], [2919, 2920], [2919, 2925], [2941, -2928], [2941, 2942], [2945, 2941], [2945, 2946]], "missing_branches": [[2678, 2684], [2844, 2845], [2844, 2854], [2845, 2846], [2845, 2850], [2851, 2852], [2851, 2853], [2902, 2903], [2906, 2907]]}}}, "src\\supervision\\detection\\line_zone.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 67, 68, 70, 73, 138, 163, 164, 165, 166, 169, 170, 171, 172, 174, 176, 177, 178, 180, 181, 182, 184, 185, 186, 188, 189, 190, 192, 207, 208, 210, 213, 222, 224, 228, 234, 237, 238, 240, 243, 244, 245, 247, 248, 250, 251, 253, 254, 255, 257, 258, 259, 261, 262, 264, 266, 267, 268, 270, 271, 273, 274, 276, 277, 279, 280, 282, 289, 296, 298, 334, 335, 337, 344, 345, 348, 349, 351, 352, 353, 355, 357, 364, 365, 367, 368, 370, 371, 377, 380, 381, 421, 438, 452, 453, 454, 455, 464, 472, 481, 482, 483, 485, 489, 492, 493, 507, 509, 519, 520, 522, 523, 525, 526, 527, 532, 534, 598, 619, 626, 627, 629, 631, 642, 644, 698, 699, 700, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 783, 817, 828, 840, 859, 860, 861, 864, 865, 866, 867, 869, 873, 874, 876, 877, 878, 880, 881, 884, 886, 887, 888, 891, 892, 893, 895, 896, 897, 898, 899, 901, 916, 918, 921, 925, 926, 929, 930, 931, 933, 944], "summary": {"covered_lines": 229, "num_statements": 286, "percent_covered": 78.16091954022988, "percent_covered_display": "78", "missing_lines": 57, "excluded_lines": 1, "percent_statements_covered": 80.06993006993007, "percent_statements_covered_display": "80", "num_branches": 62, "num_partial_branches": 13, "covered_branches": 43, "missing_branches": 19, "percent_branches_covered": 69.35483870967742, "percent_branches_covered_display": "69"}, "missing_lines": [173, 211, 214, 220, 241, 373, 490, 500, 529, 530, 556, 558, 559, 562, 564, 565, 567, 571, 576, 577, 579, 582, 586, 587, 588, 590, 591, 593, 594, 596, 666, 667, 677, 679, 686, 694, 696, 727, 731, 732, 733, 735, 736, 738, 745, 751, 757, 760, 761, 763, 764, 767, 769, 823, 862, 879, 883], "excluded_lines": [74], "executed_branches": [[172, 174], [210, 213], [213, 222], [234, 237], [234, 264], [237, 238], [237, 240], [240, 243], [250, 251], [250, 253], [254, 255], [254, 257], [257, 258], [257, 261], [270, 271], [270, 273], [367, 368], [367, 370], [370, 371], [485, 489], [485, 507], [489, 492], [492, 493], [525, 526], [626, 627], [626, 629], [817, 828], [859, 860], [861, 864], [865, 866], [865, 886], [869, 865], [869, 873], [873, 874], [873, 876], [877, 869], [877, 878], [878, 880], [880, 881], [887, 888], [887, 895], [925, 926], [925, 944]], "missing_branches": [[172, 173], [210, 211], [213, 214], [240, 241], [370, 373], [489, 490], [492, 500], [525, 529], [558, 559], [558, 564], [586, 587], [586, 590], [760, 761], [760, 763], [817, 823], [859, 861], [861, 862], [878, 879], [880, 883]], "functions": {"_multiclass_config_property": {"executed_lines": [64, 67, 70], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 63, "executed_branches": [], "missing_branches": []}, "_multiclass_config_property.getter": {"executed_lines": [65], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64, "executed_branches": [], "missing_branches": []}, "_multiclass_config_property.setter": {"executed_lines": [68], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 67, "executed_branches": [], "missing_branches": []}, "LineZone.__init__": {"executed_lines": [163, 164, 165, 166, 169, 170, 171, 172, 174], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [173], "excluded_lines": [], "start_line": 138, "executed_branches": [[172, 174]], "missing_branches": [[172, 173]]}, "LineZone.in_count": {"executed_lines": [178], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 177, "executed_branches": [], "missing_branches": []}, "LineZone.out_count": {"executed_lines": [182], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 181, "executed_branches": [], "missing_branches": []}, "LineZone.in_count_per_class": {"executed_lines": [186], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 185, "executed_branches": [], "missing_branches": []}, "LineZone.out_count_per_class": {"executed_lines": [190], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 189, "executed_branches": [], "missing_branches": []}, "LineZone.trigger": {"executed_lines": [207, 208, 210, 213, 222, 224, 228, 234, 237, 238, 240, 243, 244, 245, 247, 248, 250, 251, 253, 254, 255, 257, 258, 259, 261, 262, 264], "summary": {"covered_lines": 27, "num_statements": 31, "percent_covered": 85.1063829787234, "percent_covered_display": "85", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 87.09677419354838, "percent_statements_covered_display": "87", "num_branches": 16, "num_partial_branches": 3, "covered_branches": 13, "missing_branches": 3, "percent_branches_covered": 81.25, "percent_branches_covered_display": "81"}, "missing_lines": [211, 214, 220, 241], "excluded_lines": [], "start_line": 192, "executed_branches": [[210, 213], [213, 222], [234, 237], [234, 264], [237, 238], [237, 240], [240, 243], [250, 251], [250, 253], [254, 255], [254, 257], [257, 258], [257, 261]], "missing_branches": [[210, 211], [213, 214], [240, 241]]}, "LineZone._calculate_region_of_interest_limits": {"executed_lines": [268, 270, 271, 273, 274, 276, 277, 279, 280, 282, 289, 296], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 267, "executed_branches": [[270, 271], [270, 273]], "missing_branches": []}, "LineZone._compute_anchor_sides": {"executed_lines": [334, 335, 337, 344, 345, 348, 349, 351, 352, 353, 355], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 298, "executed_branches": [], "missing_branches": []}, "LineZone._update_class_id_to_name": {"executed_lines": [364, 365, 367, 368, 370, 371, 377], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [373], "excluded_lines": [], "start_line": 357, "executed_branches": [[367, 368], [367, 370], [370, 371]], "missing_branches": [[370, 373]]}, "LineZoneAnnotator.__init__": {"executed_lines": [421], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 381, "executed_branches": [], "missing_branches": []}, "LineZoneAnnotator.annotate": {"executed_lines": [452, 453, 454, 455, 464, 472, 481, 482, 483, 485, 489, 492, 493, 507], "summary": {"covered_lines": 14, "num_statements": 16, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [490, 500], "excluded_lines": [], "start_line": 438, "executed_branches": [[485, 489], [485, 507], [489, 492], [492, 493]], "missing_branches": [[489, 490], [492, 500]]}, "LineZoneAnnotator._get_line_angle": {"executed_lines": [519, 520, 522, 523, 525, 526, 527, 532], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [529, 530], "excluded_lines": [], "start_line": 509, "executed_branches": [[525, 526]], "missing_branches": [[525, 529]]}, "LineZoneAnnotator._calculate_anchor_in_frame": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [556, 558, 559, 562, 564, 565, 567, 571, 576, 577, 579, 582, 586, 587, 588, 590, 591, 593, 594, 596], "excluded_lines": [], "start_line": 534, "executed_branches": [], "missing_branches": [[558, 559], [558, 564], [586, 587], [586, 590]]}, "LineZoneAnnotator._draw_basic_label": {"executed_lines": [619, 626, 627, 629, 631, 642], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 598, "executed_branches": [[626, 627], [626, 629]], "missing_branches": []}, "LineZoneAnnotator._draw_oriented_label": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [666, 667, 677, 679, 686, 694, 696], "excluded_lines": [], "start_line": 644, "executed_branches": [], "missing_branches": []}, "LineZoneAnnotator._make_label_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [727, 731, 732, 733, 735, 736, 738, 745, 751, 757, 760, 761, 763, 764, 767, 769], "excluded_lines": [], "start_line": 700, "executed_branches": [], "missing_branches": [[760, 761], [760, 763]]}, "LineZoneAnnotatorMulticlass.__init__": {"executed_lines": [817, 828], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [823], "excluded_lines": [], "start_line": 783, "executed_branches": [[817, 828]], "missing_branches": [[817, 823]]}, "LineZoneAnnotatorMulticlass.annotate": {"executed_lines": [859, 860, 861, 864, 865, 866, 867, 869, 873, 874, 876, 877, 878, 880, 881, 884, 886, 887, 888, 891, 892, 893, 895, 896, 897, 898, 899, 901, 916, 918, 921, 925, 926, 929, 930, 931, 933, 944], "summary": {"covered_lines": 38, "num_statements": 41, "percent_covered": 88.52459016393442, "percent_covered_display": "89", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 92.6829268292683, "percent_statements_covered_display": "93", "num_branches": 20, "num_partial_branches": 4, "covered_branches": 16, "missing_branches": 4, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [862, 879, 883], "excluded_lines": [], "start_line": 840, "executed_branches": [[859, 860], [861, 864], [865, 866], [865, 886], [869, 865], [869, 873], [873, 874], [873, 876], [877, 869], [877, 878], [878, 880], [880, 881], [887, 888], [887, 895], [925, 926], [925, 944]], "missing_branches": [[859, 861], [861, 862], [878, 879], [880, 883]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 53, 54, 55, 56, 57, 58, 59, 60, 63, 73, 138, 176, 177, 180, 181, 184, 185, 188, 189, 192, 266, 267, 298, 357, 380, 381, 438, 509, 534, 598, 644, 698, 699, 700, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 783, 840], "summary": {"covered_lines": 85, "num_statements": 85, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [74], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"LineZoneAnnotatorConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28, "executed_branches": [], "missing_branches": []}, "LineZoneAnnotatorMulticlassConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46, "executed_branches": [], "missing_branches": []}, "LineZone": {"executed_lines": [163, 164, 165, 166, 169, 170, 171, 172, 174, 178, 182, 186, 190, 207, 208, 210, 213, 222, 224, 228, 234, 237, 238, 240, 243, 244, 245, 247, 248, 250, 251, 253, 254, 255, 257, 258, 259, 261, 262, 264, 268, 270, 271, 273, 274, 276, 277, 279, 280, 282, 289, 296, 334, 335, 337, 344, 345, 348, 349, 351, 352, 353, 355, 364, 365, 367, 368, 370, 371, 377], "summary": {"covered_lines": 70, "num_statements": 76, "percent_covered": 89.0, "percent_covered_display": "89", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 92.10526315789474, "percent_statements_covered_display": "92", "num_branches": 24, "num_partial_branches": 5, "covered_branches": 19, "missing_branches": 5, "percent_branches_covered": 79.16666666666667, "percent_branches_covered_display": "79"}, "missing_lines": [173, 211, 214, 220, 241, 373], "excluded_lines": [], "start_line": 73, "executed_branches": [[172, 174], [210, 213], [213, 222], [234, 237], [234, 264], [237, 238], [237, 240], [240, 243], [250, 251], [250, 253], [254, 255], [254, 257], [257, 258], [257, 261], [270, 271], [270, 273], [367, 368], [367, 370], [370, 371]], "missing_branches": [[172, 173], [210, 211], [213, 214], [240, 241], [370, 373]]}, "LineZoneAnnotator": {"executed_lines": [421, 452, 453, 454, 455, 464, 472, 481, 482, 483, 485, 489, 492, 493, 507, 519, 520, 522, 523, 525, 526, 527, 532, 619, 626, 627, 629, 631, 642], "summary": {"covered_lines": 29, "num_statements": 76, "percent_covered": 39.130434782608695, "percent_covered_display": "39", "missing_lines": 47, "excluded_lines": 0, "percent_statements_covered": 38.1578947368421, "percent_statements_covered_display": "38", "num_branches": 16, "num_partial_branches": 3, "covered_branches": 7, "missing_branches": 9, "percent_branches_covered": 43.75, "percent_branches_covered_display": "44"}, "missing_lines": [490, 500, 529, 530, 556, 558, 559, 562, 564, 565, 567, 571, 576, 577, 579, 582, 586, 587, 588, 590, 591, 593, 594, 596, 666, 667, 677, 679, 686, 694, 696, 727, 731, 732, 733, 735, 736, 738, 745, 751, 757, 760, 761, 763, 764, 767, 769], "excluded_lines": [], "start_line": 380, "executed_branches": [[485, 489], [485, 507], [489, 492], [492, 493], [525, 526], [626, 627], [626, 629]], "missing_branches": [[489, 490], [492, 500], [525, 529], [558, 559], [558, 564], [586, 587], [586, 590], [760, 761], [760, 763]]}, "LineZoneAnnotatorMulticlass": {"executed_lines": [817, 828, 859, 860, 861, 864, 865, 866, 867, 869, 873, 874, 876, 877, 878, 880, 881, 884, 886, 887, 888, 891, 892, 893, 895, 896, 897, 898, 899, 901, 916, 918, 921, 925, 926, 929, 930, 931, 933, 944], "summary": {"covered_lines": 40, "num_statements": 44, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 22, "num_partial_branches": 5, "covered_branches": 17, "missing_branches": 5, "percent_branches_covered": 77.27272727272727, "percent_branches_covered_display": "77"}, "missing_lines": [823, 862, 879, 883], "excluded_lines": [], "start_line": 772, "executed_branches": [[817, 828], [859, 860], [861, 864], [865, 866], [865, 886], [869, 865], [869, 873], [873, 874], [873, 876], [877, 869], [877, 878], [878, 880], [880, 881], [887, 888], [887, 895], [925, 926], [925, 944]], "missing_branches": [[817, 823], [859, 861], [861, 862], [878, 879], [880, 883]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 24, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 46, 47, 53, 54, 55, 56, 57, 58, 59, 60, 63, 64, 65, 67, 68, 70, 73, 138, 176, 177, 180, 181, 184, 185, 188, 189, 192, 266, 267, 298, 357, 380, 381, 438, 509, 534, 598, 644, 698, 699, 700, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 783, 840], "summary": {"covered_lines": 90, "num_statements": 90, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [74], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\tools\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\tools\\csv_sink.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 16, 27, 31, 75, 82, 83, 84, 85, 86, 88, 89, 90, 92, 98, 100, 104, 105, 108, 109, 111, 115, 116, 118, 119, 138, 139, 140, 141, 142, 144, 145, 166, 167, 168, 169, 185, 186, 187, 189, 190, 191, 193, 194, 196, 210, 214, 215, 216, 217, 218, 220, 227, 228, 229, 233, 234, 237, 238, 241], "summary": {"covered_lines": 69, "num_statements": 72, "percent_covered": 91.83673469387755, "percent_covered_display": "92", "missing_lines": 3, "excluded_lines": 3, "percent_statements_covered": 95.83333333333333, "percent_statements_covered_display": "96", "num_branches": 26, "num_partial_branches": 5, "covered_branches": 21, "missing_branches": 5, "percent_branches_covered": 80.76923076923077, "percent_branches_covered_display": "81"}, "missing_lines": [106, 211, 221], "excluded_lines": [28, 29, 30], "executed_branches": [[105, 108], [115, 116], [138, 139], [138, 140], [140, 141], [140, 142], [168, 169], [168, 194], [185, 186], [186, 187], [186, 189], [189, 190], [189, 193], [190, 191], [190, 193], [210, 214], [215, 216], [215, 220], [220, 227], [228, -196], [228, 229]], "missing_branches": [[105, 106], [115, -111], [185, 189], [210, 211], [220, 221]], "functions": {"WriterProtocol.writerow": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [28], "start_line": 28, "executed_branches": [], "missing_branches": []}, "CSVSink.__init__": {"executed_lines": [82, 83, 84, 85, 86], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75, "executed_branches": [], "missing_branches": []}, "CSVSink.__enter__": {"executed_lines": [89, 90], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88, "executed_branches": [], "missing_branches": []}, "CSVSink.__exit__": {"executed_lines": [98], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [], "missing_branches": []}, "CSVSink.open": {"executed_lines": [104, 105, 108, 109], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [106], "excluded_lines": [], "start_line": 100, "executed_branches": [[105, 108]], "missing_branches": [[105, 106]]}, "CSVSink.close": {"executed_lines": [115, 116], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 111, "executed_branches": [[115, 116]], "missing_branches": [[115, -111]]}, "CSVSink._slice_value": {"executed_lines": [138, 139, 140, 141, 142], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 119, "executed_branches": [[138, 139], [138, 140], [140, 141], [140, 142]], "missing_branches": []}, "CSVSink.parse_detection_data": {"executed_lines": [166, 167, 168, 169, 185, 186, 187, 189, 190, 191, 193, 194], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 95.45454545454545, "percent_covered_display": "95", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [], "excluded_lines": [], "start_line": 145, "executed_branches": [[168, 169], [168, 194], [185, 186], [186, 187], [186, 189], [189, 190], [189, 193], [190, 191], [190, 193]], "missing_branches": [[185, 189]]}, "CSVSink.append": {"executed_lines": [210, 214, 215, 216, 217, 218, 220, 227, 228, 229], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [211, 221], "excluded_lines": [], "start_line": 196, "executed_branches": [[210, 214], [215, 216], [215, 220], [220, 227], [228, -196], [228, 229]], "missing_branches": [[210, 211], [220, 221]]}, "CSVSink.parse_field_names": {"executed_lines": [237, 238, 241], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 234, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 16, 27, 31, 75, 88, 92, 100, 111, 118, 119, 144, 145, 196, 233, 234], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [29, 30], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"WriterProtocol": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [28], "start_line": 27, "executed_branches": [], "missing_branches": []}, "CSVSink": {"executed_lines": [82, 83, 84, 85, 86, 89, 90, 98, 104, 105, 108, 109, 115, 116, 138, 139, 140, 141, 142, 166, 167, 168, 169, 185, 186, 187, 189, 190, 191, 193, 194, 210, 214, 215, 216, 217, 218, 220, 227, 228, 229, 237, 238, 241], "summary": {"covered_lines": 44, "num_statements": 47, "percent_covered": 89.04109589041096, "percent_covered_display": "89", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 93.61702127659575, "percent_statements_covered_display": "94", "num_branches": 26, "num_partial_branches": 5, "covered_branches": 21, "missing_branches": 5, "percent_branches_covered": 80.76923076923077, "percent_branches_covered_display": "81"}, "missing_lines": [106, 211, 221], "excluded_lines": [], "start_line": 31, "executed_branches": [[105, 108], [115, 116], [138, 139], [138, 140], [140, 141], [140, 142], [168, 169], [168, 194], [185, 186], [186, 187], [186, 189], [189, 190], [189, 193], [190, 191], [190, 193], [210, 214], [215, 216], [215, 220], [220, 227], [228, -196], [228, 229]], "missing_branches": [[105, 106], [115, -111], [185, 189], [210, 211], [220, 221]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 9, 11, 12, 14, 16, 27, 31, 75, 88, 92, 100, 111, 118, 119, 144, 145, 196, 233, 234], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [29, 30], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\tools\\inference_slicer.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 44, 60, 61, 62, 65, 66, 71, 73, 79, 82, 85, 164, 166, 177, 178, 180, 182, 188, 198, 200, 201, 202, 204, 205, 208, 209, 210, 212, 213, 217, 218, 219, 221, 222, 226, 227, 228, 230, 231, 234, 235, 236, 238, 239, 242, 243, 244, 246, 247, 248, 250, 251, 252, 254, 255, 256, 261, 263, 264, 265, 267, 268, 271, 289, 291, 297, 299, 300, 302, 307, 309, 310, 312, 313, 314, 316, 317, 326, 328, 329, 330, 331, 332, 333, 341, 342, 344, 345, 349, 350, 351, 352, 355, 357, 360, 362, 386, 391, 393, 398, 399, 403, 405, 406, 407, 423, 424, 425, 426, 427, 431, 432, 443, 455, 456, 458, 463, 464, 470, 473, 477, 478, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 497, 498, 503, 505, 506, 509, 510, 514, 530, 531, 534, 535, 540, 556, 557, 574, 575, 576, 578, 579, 581, 586, 587, 589, 590, 592, 593, 594, 595, 596, 598, 603, 609, 610, 611, 613, 618, 620, 621, 625, 626, 628, 634], "summary": {"covered_lines": 209, "num_statements": 257, "percent_covered": 76.13293051359517, "percent_covered_display": "76", "missing_lines": 48, "excluded_lines": 0, "percent_statements_covered": 81.32295719844358, "percent_statements_covered_display": "81", "num_branches": 74, "num_partial_branches": 15, "covered_branches": 43, "missing_branches": 31, "percent_branches_covered": 58.108108108108105, "percent_branches_covered_display": "58"}, "missing_lines": [67, 183, 206, 214, 215, 223, 224, 232, 240, 257, 269, 318, 368, 369, 371, 372, 373, 374, 375, 377, 378, 379, 381, 382, 384, 409, 410, 411, 413, 414, 437, 441, 511, 516, 517, 518, 519, 522, 524, 536, 542, 543, 544, 545, 548, 550, 629, 635], "excluded_lines": [], "executed_branches": [[61, 62], [61, 65], [65, 66], [65, 82], [66, 71], [71, 73], [71, 79], [182, 188], [256, 261], [317, 326], [328, 329], [328, 344], [329, 330], [329, 341], [331, 332], [341, 342], [341, 357], [349, 350], [349, 351], [406, 407], [424, 425], [424, 426], [426, 427], [426, 431], [431, 432], [458, 463], [458, 470], [477, 478], [477, 498], [480, 481], [487, 488], [487, 498], [509, 510], [510, 514], [534, 535], [535, 540], [586, 587], [586, 589], [589, 590], [589, 592], [594, 595], [628, 634], [634, -620]], "missing_branches": [[66, 67], [182, 183], [256, 257], [317, 318], [331, 341], [371, 372], [371, 384], [377, 378], [377, 381], [381, 371], [381, 382], [406, 409], [410, 411], [410, 413], [431, 437], [480, 498], [509, 516], [510, 511], [516, 517], [516, 524], [518, 519], [518, 522], [534, 542], [535, 536], [542, 543], [542, 550], [544, 545], [544, 548], [594, 596], [628, 629], [634, 635]], "functions": {"move_detections": {"executed_lines": [60, 61, 62, 65, 66, 71, 73, 79, 82], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [67], "excluded_lines": [], "start_line": 44, "executed_branches": [[61, 62], [61, 65], [65, 66], [65, 82], [66, 71], [71, 73], [71, 79]], "missing_branches": [[66, 67]]}, "InferenceSlicer.__init__": {"executed_lines": [177, 178, 180, 182, 188, 198], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [183], "excluded_lines": [], "start_line": 166, "executed_branches": [[182, 188]], "missing_branches": [[182, 183]]}, "InferenceSlicer.callback": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [206], "excluded_lines": [], "start_line": 205, "executed_branches": [], "missing_branches": []}, "InferenceSlicer.slice_wh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [214, 215], "excluded_lines": [], "start_line": 213, "executed_branches": [], "missing_branches": []}, "InferenceSlicer.overlap_wh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [223, 224], "excluded_lines": [], "start_line": 222, "executed_branches": [], "missing_branches": []}, "InferenceSlicer.iou_threshold": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [232], "excluded_lines": [], "start_line": 231, "executed_branches": [], "missing_branches": []}, "InferenceSlicer.overlap_metric": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [240], "excluded_lines": [], "start_line": 239, "executed_branches": [], "missing_branches": []}, "InferenceSlicer.overlap_filter": {"executed_lines": [248], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 247, "executed_branches": [], "missing_branches": []}, "InferenceSlicer.thread_workers": {"executed_lines": [256, 261], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [257], "excluded_lines": [], "start_line": 255, "executed_branches": [[256, 261]], "missing_branches": [[256, 257]]}, "InferenceSlicer.compact_masks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [269], "excluded_lines": [], "start_line": 268, "executed_branches": [], "missing_branches": []}, "InferenceSlicer.__call__": {"executed_lines": [289, 291, 297, 299, 300], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 271, "executed_branches": [], "missing_branches": []}, "InferenceSlicer._collect_detections": {"executed_lines": [307, 309, 310, 312, 313, 314, 316, 317, 326, 328, 329, 330, 331, 332, 333, 341, 342, 344, 345, 349, 350, 351, 352, 355, 357, 360], "summary": {"covered_lines": 26, "num_statements": 27, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.29629629629629, "percent_statements_covered_display": "96", "num_branches": 12, "num_partial_branches": 2, "covered_branches": 10, "missing_branches": 2, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [318], "excluded_lines": [], "start_line": 302, "executed_branches": [[317, 326], [328, 329], [328, 344], [329, 330], [329, 341], [331, 332], [341, 342], [341, 357], [349, 350], [349, 351]], "missing_branches": [[317, 318], [331, 341]]}, "InferenceSlicer._probe_remaining_offsets": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [368, 369, 371, 372, 373, 374, 375, 377, 378, 379, 381, 382, 384], "excluded_lines": [], "start_line": 362, "executed_branches": [], "missing_branches": [[371, 372], [371, 384], [377, 378], [377, 381], [381, 371], [381, 382]]}, "InferenceSlicer._run_sequential_inference": {"executed_lines": [391], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 386, "executed_branches": [], "missing_branches": []}, "InferenceSlicer._run_parallel_inference": {"executed_lines": [398, 399, 403], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 393, "executed_branches": [], "missing_branches": []}, "InferenceSlicer._warn_obb_sequential_fallback": {"executed_lines": [406, 407], "summary": {"covered_lines": 2, "num_statements": 7, "percent_covered": 27.272727272727273, "percent_covered_display": "27", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 28.571428571428573, "percent_statements_covered_display": "29", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 3, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [409, 410, 411, 413, 414], "excluded_lines": [], "start_line": 405, "executed_branches": [[406, 407]], "missing_branches": [[406, 409], [410, 411], [410, 413]]}, "InferenceSlicer._apply_overlap_filter": {"executed_lines": [424, 425, 426, 427, 431, 432], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [437, 441], "excluded_lines": [], "start_line": 423, "executed_branches": [[424, 425], [424, 426], [426, 427], [426, 431], [431, 432]], "missing_branches": [[431, 437]]}, "InferenceSlicer._run_callback": {"executed_lines": [455, 456, 458, 463, 464, 470, 473, 477, 478, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 497, 498, 503], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 96.66666666666667, "percent_covered_display": "97", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [], "excluded_lines": [], "start_line": 443, "executed_branches": [[458, 463], [458, 470], [477, 478], [477, 498], [480, 481], [487, 488], [487, 498]], "missing_branches": [[480, 498]]}, "InferenceSlicer._normalize_slice_wh": {"executed_lines": [509, 510, 514], "summary": {"covered_lines": 3, "num_statements": 10, "percent_covered": 27.77777777777778, "percent_covered_display": "28", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 30.0, "percent_statements_covered_display": "30", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 6, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [511, 516, 517, 518, 519, 522, 524], "excluded_lines": [], "start_line": 506, "executed_branches": [[509, 510], [510, 514]], "missing_branches": [[509, 516], [510, 511], [516, 517], [516, 524], [518, 519], [518, 522]]}, "InferenceSlicer._normalize_overlap_wh": {"executed_lines": [534, 535, 540], "summary": {"covered_lines": 3, "num_statements": 10, "percent_covered": 27.77777777777778, "percent_covered_display": "28", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 30.0, "percent_statements_covered_display": "30", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 6, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [536, 542, 543, 544, 545, 548, 550], "excluded_lines": [], "start_line": 531, "executed_branches": [[534, 535], [535, 540]], "missing_branches": [[534, 542], [535, 536], [542, 543], [542, 550], [544, 545], [544, 548]]}, "InferenceSlicer._generate_offset": {"executed_lines": [574, 575, 576, 578, 579, 581, 598, 603, 609, 610, 611, 613, 618], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 557, "executed_branches": [], "missing_branches": []}, "InferenceSlicer._generate_offset._compute_axis_starts": {"executed_lines": [586, 587, 589, 590, 592, 593, 594, 595, 596], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [], "excluded_lines": [], "start_line": 581, "executed_branches": [[586, 587], [586, 589], [589, 590], [589, 592], [594, 595]], "missing_branches": [[594, 596]]}, "InferenceSlicer._validate_overlap": {"executed_lines": [625, 626, 628, 634], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [629, 635], "excluded_lines": [], "start_line": 621, "executed_branches": [[628, 634], [634, -620]], "missing_branches": [[628, 629], [634, 635]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 44, 85, 164, 166, 200, 201, 204, 205, 208, 209, 212, 213, 217, 218, 221, 222, 226, 227, 230, 231, 234, 235, 238, 239, 242, 243, 246, 247, 250, 251, 254, 255, 263, 264, 267, 268, 271, 302, 362, 386, 393, 405, 423, 443, 505, 506, 530, 531, 556, 557, 620, 621], "summary": {"covered_lines": 86, "num_statements": 86, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"_InferenceSlicerConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25, "executed_branches": [], "missing_branches": []}, "_InferenceSlicerState": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37, "executed_branches": [], "missing_branches": []}, "InferenceSlicer": {"executed_lines": [177, 178, 180, 182, 188, 198, 202, 210, 219, 228, 236, 244, 248, 252, 256, 261, 265, 289, 291, 297, 299, 300, 307, 309, 310, 312, 313, 314, 316, 317, 326, 328, 329, 330, 331, 332, 333, 341, 342, 344, 345, 349, 350, 351, 352, 355, 357, 360, 391, 398, 399, 403, 406, 407, 424, 425, 426, 427, 431, 432, 455, 456, 458, 463, 464, 470, 473, 477, 478, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 497, 498, 503, 509, 510, 514, 534, 535, 540, 574, 575, 576, 578, 579, 581, 586, 587, 589, 590, 592, 593, 594, 595, 596, 598, 603, 609, 610, 611, 613, 618, 625, 626, 628, 634], "summary": {"covered_lines": 114, "num_statements": 161, "percent_covered": 66.07929515418502, "percent_covered_display": "66", "missing_lines": 47, "excluded_lines": 0, "percent_statements_covered": 70.80745341614907, "percent_statements_covered_display": "71", "num_branches": 66, "num_partial_branches": 14, "covered_branches": 36, "missing_branches": 30, "percent_branches_covered": 54.54545454545455, "percent_branches_covered_display": "55"}, "missing_lines": [183, 206, 214, 215, 223, 224, 232, 240, 257, 269, 318, 368, 369, 371, 372, 373, 374, 375, 377, 378, 379, 381, 382, 384, 409, 410, 411, 413, 414, 437, 441, 511, 516, 517, 518, 519, 522, 524, 536, 542, 543, 544, 545, 548, 550, 629, 635], "excluded_lines": [], "start_line": 85, "executed_branches": [[182, 188], [256, 261], [317, 326], [328, 329], [328, 344], [329, 330], [329, 341], [331, 332], [341, 342], [341, 357], [349, 350], [349, 351], [406, 407], [424, 425], [424, 426], [426, 427], [426, 431], [431, 432], [458, 463], [458, 470], [477, 478], [477, 498], [480, 481], [487, 488], [487, 498], [509, 510], [510, 514], [534, 535], [535, 540], [586, 587], [586, 589], [589, 590], [589, 592], [594, 595], [628, 634], [634, -620]], "missing_branches": [[182, 183], [256, 257], [317, 318], [331, 341], [371, 372], [371, 384], [377, 378], [377, 381], [381, 371], [381, 382], [406, 409], [410, 411], [410, 413], [431, 437], [480, 498], [509, 516], [510, 511], [516, 517], [516, 524], [518, 519], [518, 522], [534, 542], [535, 536], [542, 543], [542, 550], [544, 545], [544, 548], [594, 596], [628, 629], [634, 635]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 17, 18, 19, 20, 21, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 41, 44, 60, 61, 62, 65, 66, 71, 73, 79, 82, 85, 164, 166, 200, 201, 204, 205, 208, 209, 212, 213, 217, 218, 221, 222, 226, 227, 230, 231, 234, 235, 238, 239, 242, 243, 246, 247, 250, 251, 254, 255, 263, 264, 267, 268, 271, 302, 362, 386, 393, 405, 423, 443, 505, 506, 530, 531, 556, 557, 620, 621], "summary": {"covered_lines": 95, "num_statements": 96, "percent_covered": 98.07692307692308, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.95833333333333, "percent_statements_covered_display": "99", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [67], "excluded_lines": [], "start_line": 1, "executed_branches": [[61, 62], [61, 65], [65, 66], [65, 82], [66, 71], [71, 73], [71, 79]], "missing_branches": [[66, 67]]}}}, "src\\supervision\\detection\\tools\\json_sink.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 13, 51, 58, 59, 60, 62, 63, 64, 66, 72, 74, 78, 79, 82, 84, 85, 101, 102, 103, 104, 105, 109, 113, 114, 115, 119, 121, 122, 141, 142, 143, 144, 145, 147, 148, 169, 170, 171, 172, 188, 189, 190, 192, 193, 194, 195, 197, 198, 200, 214, 215], "summary": {"covered_lines": 58, "num_statements": 59, "percent_covered": 95.06172839506173, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.30508474576271, "percent_statements_covered_display": "98", "num_branches": 22, "num_partial_branches": 3, "covered_branches": 19, "missing_branches": 3, "percent_branches_covered": 86.36363636363636, "percent_branches_covered_display": "86"}, "missing_lines": [80], "excluded_lines": [], "executed_branches": [[79, 82], [101, 102], [101, 103], [103, 104], [103, 105], [113, 114], [141, 142], [141, 143], [143, 144], [143, 145], [171, 172], [171, 198], [188, 189], [189, 190], [189, 192], [192, 193], [192, 197], [193, 194], [193, 197]], "missing_branches": [[79, 80], [113, -109], [188, 192]], "functions": {"JSONSink.__init__": {"executed_lines": [58, 59, 60], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51, "executed_branches": [], "missing_branches": []}, "JSONSink.__enter__": {"executed_lines": [63, 64], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62, "executed_branches": [], "missing_branches": []}, "JSONSink.__exit__": {"executed_lines": [72], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66, "executed_branches": [], "missing_branches": []}, "JSONSink.open": {"executed_lines": [78, 79, 82], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [80], "excluded_lines": [], "start_line": 74, "executed_branches": [[79, 82]], "missing_branches": [[79, 80]]}, "JSONSink._json_default": {"executed_lines": [101, 102, 103, 104, 105], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85, "executed_branches": [[101, 102], [101, 103], [103, 104], [103, 105]], "missing_branches": []}, "JSONSink.write_and_close": {"executed_lines": [113, 114, 115, 119], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 109, "executed_branches": [[113, 114]], "missing_branches": [[113, -109]]}, "JSONSink._slice_value": {"executed_lines": [141, 142, 143, 144, 145], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 122, "executed_branches": [[141, 142], [141, 143], [143, 144], [143, 145]], "missing_branches": []}, "JSONSink.parse_detection_data": {"executed_lines": [169, 170, 171, 172, 188, 189, 190, 192, 193, 194, 195, 197, 198], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 95.65217391304348, "percent_covered_display": "96", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [], "excluded_lines": [], "start_line": 148, "executed_branches": [[171, 172], [171, 198], [188, 189], [189, 190], [189, 192], [192, 193], [192, 197], [193, 194], [193, 197]], "missing_branches": [[188, 192]]}, "JSONSink.append": {"executed_lines": [214, 215], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 200, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 13, 51, 62, 66, 74, 84, 85, 109, 121, 122, 147, 148, 200], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"JSONSink": {"executed_lines": [58, 59, 60, 63, 64, 72, 78, 79, 82, 101, 102, 103, 104, 105, 113, 114, 115, 119, 141, 142, 143, 144, 145, 169, 170, 171, 172, 188, 189, 190, 192, 193, 194, 195, 197, 198, 214, 215], "summary": {"covered_lines": 38, "num_statements": 39, "percent_covered": 93.44262295081967, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.43589743589743, "percent_statements_covered_display": "97", "num_branches": 22, "num_partial_branches": 3, "covered_branches": 19, "missing_branches": 3, "percent_branches_covered": 86.36363636363636, "percent_branches_covered_display": "86"}, "missing_lines": [80], "excluded_lines": [], "start_line": 13, "executed_branches": [[79, 82], [101, 102], [101, 103], [103, 104], [103, 105], [113, 114], [141, 142], [141, 143], [143, 144], [143, 145], [171, 172], [171, 198], [188, 189], [189, 190], [189, 192], [192, 193], [192, 197], [193, 194], [193, 197]], "missing_branches": [[79, 80], [113, -109], [188, 192]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 13, 51, 62, 66, 74, 84, 85, 109, 121, 122, 147, 148, 200], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\tools\\polygon_zone.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 33, 71, 76, 77, 78, 79, 81, 83, 84, 88, 105, 106, 107, 109, 116, 117, 118, 119, 120, 121, 122, 123, 126, 146, 158, 159, 170, 171, 172, 174, 175, 178, 179, 180, 182, 183, 186, 187, 190, 191, 194, 195, 198, 199, 202, 203, 206, 207, 210, 211, 214, 215, 218, 219, 220, 222, 223, 226, 227, 228, 230, 231, 234, 235, 238, 239, 242, 256, 257, 264, 270, 277, 290], "summary": {"covered_lines": 97, "num_statements": 112, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 86.60714285714286, "percent_statements_covered_display": "87", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [176, 184, 188, 192, 196, 200, 204, 208, 212, 216, 224, 232, 236, 240, 278], "excluded_lines": [], "executed_branches": [[78, 79], [78, 81], [105, 106], [105, 109], [256, 257], [256, 264], [277, 290]], "missing_branches": [[277, 278]], "functions": {"PolygonZone.__init__": {"executed_lines": [76, 77, 78, 79, 81, 83, 84], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 71, "executed_branches": [[78, 79], [78, 81]], "missing_branches": []}, "PolygonZone.trigger": {"executed_lines": [105, 106, 107, 109, 116, 117, 118, 119, 120, 121, 122, 123], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88, "executed_branches": [[105, 106], [105, 109]], "missing_branches": []}, "PolygonZoneAnnotator.__init__": {"executed_lines": [158, 159], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 146, "executed_branches": [], "missing_branches": []}, "PolygonZoneAnnotator.color": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [176], "excluded_lines": [], "start_line": 175, "executed_branches": [], "missing_branches": []}, "PolygonZoneAnnotator.thickness": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [184], "excluded_lines": [], "start_line": 183, "executed_branches": [], "missing_branches": []}, "PolygonZoneAnnotator.text_color": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [192], "excluded_lines": [], "start_line": 191, "executed_branches": [], "missing_branches": []}, "PolygonZoneAnnotator.text_scale": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [200], "excluded_lines": [], "start_line": 199, "executed_branches": [], "missing_branches": []}, "PolygonZoneAnnotator.text_thickness": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [208], "excluded_lines": [], "start_line": 207, "executed_branches": [], "missing_branches": []}, "PolygonZoneAnnotator.text_padding": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [216], "excluded_lines": [], "start_line": 215, "executed_branches": [], "missing_branches": []}, "PolygonZoneAnnotator.display_in_zone_count": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [224], "excluded_lines": [], "start_line": 223, "executed_branches": [], "missing_branches": []}, "PolygonZoneAnnotator.opacity": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [232], "excluded_lines": [], "start_line": 231, "executed_branches": [], "missing_branches": []}, "PolygonZoneAnnotator.font": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [236], "excluded_lines": [], "start_line": 235, "executed_branches": [], "missing_branches": []}, "PolygonZoneAnnotator.center": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [240], "excluded_lines": [], "start_line": 239, "executed_branches": [], "missing_branches": []}, "PolygonZoneAnnotator.annotate": {"executed_lines": [256, 257, 264, 270, 277, 290], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [278], "excluded_lines": [], "start_line": 242, "executed_branches": [[256, 257], [256, 264], [277, 290]], "missing_branches": [[277, 278]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 33, 71, 88, 126, 146, 170, 171, 174, 175, 178, 179, 182, 183, 186, 187, 190, 191, 194, 195, 198, 199, 202, 203, 206, 207, 210, 211, 214, 215, 218, 219, 222, 223, 226, 227, 230, 231, 234, 235, 238, 239, 242], "summary": {"covered_lines": 66, "num_statements": 66, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"_PolygonZoneAnnotatorConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22, "executed_branches": [], "missing_branches": []}, "PolygonZone": {"executed_lines": [76, 77, 78, 79, 81, 83, 84, 105, 106, 107, 109, 116, 117, 118, 119, 120, 121, 122, 123], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33, "executed_branches": [[78, 79], [78, 81], [105, 106], [105, 109]], "missing_branches": []}, "PolygonZoneAnnotator": {"executed_lines": [158, 159, 172, 180, 220, 228, 256, 257, 264, 270, 277, 290], "summary": {"covered_lines": 12, "num_statements": 27, "percent_covered": 48.38709677419355, "percent_covered_display": "48", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 44.44444444444444, "percent_statements_covered_display": "44", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [176, 184, 188, 192, 196, 200, 204, 208, 212, 216, 224, 232, 236, 240, 278], "excluded_lines": [], "start_line": 126, "executed_branches": [[256, 257], [256, 264], [277, 290]], "missing_branches": [[277, 278]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 18, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 33, 71, 88, 126, 146, 170, 171, 174, 175, 178, 179, 182, 183, 186, 187, 190, 191, 194, 195, 198, 199, 202, 203, 206, 207, 210, 211, 214, 215, 218, 219, 222, 223, 226, 227, 230, 231, 234, 235, 238, 239, 242], "summary": {"covered_lines": 66, "num_statements": 66, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\tools\\smoother.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 14, 90, 96, 100, 108, 109, 115, 117, 118, 119, 121, 123, 124, 125, 127, 128, 131, 133, 148, 149, 152, 153, 156, 157, 161, 162, 164, 166, 167, 168, 169, 170, 171, 176, 177, 178, 180, 181, 184], "summary": {"covered_lines": 47, "num_statements": 51, "percent_covered": 88.31168831168831, "percent_covered_display": "88", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 92.15686274509804, "percent_statements_covered_display": "92", "num_branches": 26, "num_partial_branches": 5, "covered_branches": 21, "missing_branches": 5, "percent_branches_covered": 80.76923076923077, "percent_branches_covered_display": "81"}, "missing_lines": [129, 150, 154, 182], "excluded_lines": [], "executed_branches": [[108, 109], [108, 117], [117, 118], [117, 123], [123, 124], [123, 127], [124, 123], [124, 125], [127, 128], [127, 131], [128, 127], [149, 152], [153, 156], [168, 169], [168, 176], [170, 171], [176, 177], [176, 180], [177, 178], [177, 180], [181, 184]], "missing_branches": [[128, 129], [149, 150], [153, 154], [170, 168], [181, 182]], "functions": {"DetectionsSmoother.__init__": {"executed_lines": [96], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 90, "executed_branches": [], "missing_branches": []}, "DetectionsSmoother.update_with_detections": {"executed_lines": [108, 109, 115, 117, 118, 119, 121, 123, 124, 125, 127, 128, 131], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 11, "missing_branches": 1, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [129], "excluded_lines": [], "start_line": 100, "executed_branches": [[108, 109], [108, 117], [117, 118], [117, 123], [123, 124], [123, 127], [124, 123], [124, 125], [127, 128], [127, 131], [128, 127]], "missing_branches": [[128, 129]]}, "DetectionsSmoother.get_track": {"executed_lines": [148, 149, 152, 153, 156, 157, 161, 162, 164], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 73.33333333333333, "percent_covered_display": "73", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [150, 154], "excluded_lines": [], "start_line": 133, "executed_branches": [[149, 152], [153, 156]], "missing_branches": [[149, 150], [153, 154]]}, "DetectionsSmoother.get_smoothed_detections": {"executed_lines": [167, 168, 169, 170, 171, 176, 177, 178, 180, 181, 184], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [182], "excluded_lines": [], "start_line": 166, "executed_branches": [[168, 169], [168, 176], [170, 171], [176, 177], [176, 180], [177, 178], [177, 180], [181, 184]], "missing_branches": [[170, 168], [181, 182]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 14, 90, 100, 133, 166], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"DetectionsSmoother": {"executed_lines": [96, 108, 109, 115, 117, 118, 119, 121, 123, 124, 125, 127, 128, 131, 148, 149, 152, 153, 156, 157, 161, 162, 164, 167, 168, 169, 170, 171, 176, 177, 178, 180, 181, 184], "summary": {"covered_lines": 34, "num_statements": 38, "percent_covered": 85.9375, "percent_covered_display": "86", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 89.47368421052632, "percent_statements_covered_display": "89", "num_branches": 26, "num_partial_branches": 5, "covered_branches": 21, "missing_branches": 5, "percent_branches_covered": 80.76923076923077, "percent_branches_covered_display": "81"}, "missing_lines": [129, 150, 154, 182], "excluded_lines": [], "start_line": 14, "executed_branches": [[108, 109], [108, 117], [117, 118], [117, 123], [123, 124], [123, 127], [124, 123], [124, 125], [127, 128], [127, 131], [128, 127], [149, 152], [153, 156], [168, 169], [168, 176], [170, 171], [176, 177], [176, 180], [177, 178], [177, 180], [181, 184]], "missing_branches": [[128, 129], [149, 150], [153, 154], [170, 168], [181, 182]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 10, 11, 14, 90, 100, 133, 166], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\tools\\transformers.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 14, 43, 82, 112, 148, 182, 207, 224], "summary": {"covered_lines": 16, "num_statements": 58, "percent_covered": 23.529411764705884, "percent_covered_display": "24", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 27.586206896551722, "percent_statements_covered_display": "28", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [32, 33, 35, 62, 63, 67, 68, 69, 70, 71, 73, 102, 103, 104, 107, 130, 131, 132, 133, 134, 137, 139, 165, 166, 167, 168, 169, 172, 174, 199, 200, 203, 204, 219, 220, 221, 243, 244, 246, 247, 248, 250], "excluded_lines": [], "executed_branches": [], "missing_branches": [[62, 63], [62, 67], [68, 69], [68, 70], [102, 103], [102, 107], [243, 244], [243, 246], [246, 247], [246, 250]], "functions": {"process_transformers_detection_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [32, 33, 35], "excluded_lines": [], "start_line": 14, "executed_branches": [], "missing_branches": []}, "process_transformers_v4_segmentation_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [62, 63, 67, 68, 69, 70, 71, 73], "excluded_lines": [], "start_line": 43, "executed_branches": [], "missing_branches": [[62, 63], [62, 67], [68, 69], [68, 70]]}, "process_transformers_v5_segmentation_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [102, 103, 104, 107], "excluded_lines": [], "start_line": 82, "executed_branches": [], "missing_branches": [[102, 103], [102, 107]]}, "process_transformers_v5_semantic_or_instance_segmentation_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [130, 131, 132, 133, 134, 137, 139], "excluded_lines": [], "start_line": 112, "executed_branches": [], "missing_branches": []}, "process_transformers_v4_panoptic_segmentation_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [165, 166, 167, 168, 169, 172, 174], "excluded_lines": [], "start_line": 148, "executed_branches": [], "missing_branches": []}, "process_transformers_v5_panoptic_segmentation_result": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [199, 200, 203, 204], "excluded_lines": [], "start_line": 182, "executed_branches": [], "missing_branches": []}, "png_string_to_segmentation_array": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [219, 220, 221], "excluded_lines": [], "start_line": 207, "executed_branches": [], "missing_branches": []}, "append_class_names_to_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [243, 244, 246, 247, 248, 250], "excluded_lines": [], "start_line": 224, "executed_branches": [], "missing_branches": [[243, 244], [243, 246], [246, 247], [246, 250]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 14, 43, 82, 112, 148, 182, 207, 224], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 14, 43, 82, 112, 148, 182, 207, 224], "summary": {"covered_lines": 16, "num_statements": 58, "percent_covered": 23.529411764705884, "percent_covered_display": "24", "missing_lines": 42, "excluded_lines": 0, "percent_statements_covered": 27.586206896551722, "percent_statements_covered_display": "28", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [32, 33, 35, 62, 63, 67, 68, 69, 70, 71, 73, 102, 103, 104, 107, 130, 131, 132, 133, 134, 137, 139, 165, 166, 167, 168, 169, 172, 174, 199, 200, 203, 204, 219, 220, 221, 243, 244, 246, 247, 248, 250], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[62, 63], [62, 67], [68, 69], [68, 70], [102, 103], [102, 107], [243, 244], [243, 246], [246, 247], [246, 250]]}}}, "src\\supervision\\detection\\utils\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\detection\\utils\\boxes.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 45, 46, 47, 48, 49, 52, 99, 105, 155, 156, 158, 159, 161, 164, 192, 195, 241, 244, 263, 264, 265, 266, 267, 268, 269, 272, 302, 303, 305, 306, 307, 308, 309, 312, 342, 343, 344, 347], "summary": {"covered_lines": 44, "num_statements": 75, "percent_covered": 54.02298850574713, "percent_covered_display": "54", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 58.666666666666664, "percent_statements_covered_display": "59", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 9, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [89, 90, 92, 93, 94, 96, 304, 375, 376, 378, 379, 381, 382, 383, 384, 386, 389, 392, 393, 396, 397, 398, 405, 406, 408, 409, 410, 412, 414, 415, 417], "excluded_lines": [], "executed_branches": [[264, 265], [264, 266], [303, 305]], "missing_branches": [[89, 90], [89, 92], [303, 304], [375, 376], [375, 378], [379, 381], [379, 417], [383, 384], [383, 386]], "functions": {"clip_boxes": {"executed_lines": [45, 46, 47, 48, 49], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "pad_boxes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [89, 90, 92, 93, 94, 96], "excluded_lines": [], "start_line": 52, "executed_branches": [], "missing_branches": [[89, 90], [89, 92]]}, "denormalize_boxes": {"executed_lines": [155, 156, 158, 159, 161], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 105, "executed_branches": [], "missing_branches": []}, "move_boxes": {"executed_lines": [192], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 164, "executed_branches": [], "missing_branches": []}, "move_oriented_boxes": {"executed_lines": [241], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 195, "executed_branches": [], "missing_branches": []}, "obb_polygon_area": {"executed_lines": [263, 264, 265, 266, 267, 268, 269], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 244, "executed_branches": [[264, 265], [264, 266]], "missing_branches": []}, "xyxyxyxy_to_xyxy": {"executed_lines": [302, 303, 305, 306, 307, 308, 309], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [304], "excluded_lines": [], "start_line": 272, "executed_branches": [[303, 305]], "missing_branches": [[303, 304]]}, "scale_boxes": {"executed_lines": [342, 343, 344], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 312, "executed_branches": [], "missing_branches": []}, "spread_out_boxes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 24, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 24, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [375, 376, 378, 379, 381, 382, 383, 384, 386, 389, 392, 393, 396, 397, 398, 405, 406, 408, 409, 410, 412, 414, 415, 417], "excluded_lines": [], "start_line": 347, "executed_branches": [], "missing_branches": [[375, 376], [375, 378], [379, 381], [379, 417], [383, 384], [383, 386]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 52, 99, 105, 164, 195, 244, 272, 312, 347], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 10, 45, 46, 47, 48, 49, 52, 99, 105, 155, 156, 158, 159, 161, 164, 192, 195, 241, 244, 263, 264, 265, 266, 267, 268, 269, 272, 302, 303, 305, 306, 307, 308, 309, 312, 342, 343, 344, 347], "summary": {"covered_lines": 44, "num_statements": 75, "percent_covered": 54.02298850574713, "percent_covered_display": "54", "missing_lines": 31, "excluded_lines": 0, "percent_statements_covered": 58.666666666666664, "percent_statements_covered_display": "59", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 9, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [89, 90, 92, 93, 94, 96, 304, 375, 376, 378, 379, 381, 382, 383, 384, 386, 389, 392, 393, 396, 397, 398, 405, 406, 408, 409, 410, 412, 414, 415, 417], "excluded_lines": [], "start_line": 1, "executed_branches": [[264, 265], [264, 266], [303, 305]], "missing_branches": [[89, 90], [89, 92], [303, 304], [375, 376], [375, 378], [379, 381], [379, 417], [383, 384], [383, 386]]}}}, "src\\supervision\\detection\\utils\\converters.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 12, 25, 26, 27, 28, 31, 46, 47, 48, 49, 52, 79, 80, 81, 82, 85, 113, 114, 115, 116, 119, 147, 148, 149, 150, 151, 152, 155, 183, 184, 186, 187, 188, 189, 190, 192, 198, 199, 202, 227, 228, 229, 234, 235, 237, 238, 239, 240, 242, 244, 245, 248, 291, 292, 293, 295, 296, 297, 298, 299, 301, 302, 304, 307, 322, 325, 332, 360, 361, 362, 363, 364, 365, 366, 367, 368, 371, 372, 373, 374, 375, 376, 377, 378, 379, 382, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 418, 439, 440, 441, 442, 445, 465, 466, 467, 468, 471, 494, 497, 523, 524, 525, 527, 528, 529, 530, 532, 533, 535, 538, 565, 566, 567, 568, 569, 570, 575, 627, 628, 629, 630, 633, 634, 636, 638, 640, 641, 646, 649, 715, 716, 718, 719, 720, 721, 724, 736, 737, 738], "summary": {"covered_lines": 156, "num_statements": 156, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 42, "num_partial_branches": 0, "covered_branches": 42, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[183, 184], [183, 186], [228, 229], [228, 234], [295, 296], [295, 304], [301, 295], [301, 302], [362, 363], [362, 379], [366, 367], [366, 378], [367, 368], [367, 371], [376, 366], [376, 377], [406, 407], [406, 415], [408, 406], [408, 409], [412, 413], [412, 414], [440, 441], [440, 442], [466, 467], [466, 468], [524, 525], [524, 527], [532, 533], [532, 535], [568, 569], [568, 570], [627, 628], [627, 629], [629, 630], [629, 633], [633, 634], [633, 636], [640, 641], [640, 646], [719, 720], [719, 721]], "missing_branches": [], "functions": {"xyxy_to_polygons": {"executed_lines": [25, 26, 27, 28], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "polygon_to_mask": {"executed_lines": [46, 47, 48, 49], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31, "executed_branches": [], "missing_branches": []}, "xywh_to_xyxy": {"executed_lines": [79, 80, 81, 82], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52, "executed_branches": [], "missing_branches": []}, "xyxy_to_xywh": {"executed_lines": [113, 114, 115, 116], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85, "executed_branches": [], "missing_branches": []}, "xcycwh_to_xyxy": {"executed_lines": [147, 148, 149, 150, 151, 152], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 119, "executed_branches": [], "missing_branches": []}, "xyxy_to_xcycarh": {"executed_lines": [183, 184, 186, 187, 188, 189, 190, 192, 198, 199], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 155, "executed_branches": [[183, 184], [183, 186]], "missing_branches": []}, "mask_to_xyxy": {"executed_lines": [227, 228, 229, 234, 235, 237, 238, 239, 240, 242, 244, 245], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 202, "executed_branches": [[228, 229], [228, 234]], "missing_branches": []}, "xyxy_to_mask": {"executed_lines": [291, 292, 293, 295, 296, 297, 298, 299, 301, 302, 304], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 248, "executed_branches": [[295, 296], [295, 304], [301, 295], [301, 302]], "missing_branches": []}, "mask_to_polygons": {"executed_lines": [322, 325], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 307, "executed_branches": [], "missing_branches": []}, "_base48_decode": {"executed_lines": [360, 361, 362, 363, 364, 365, 366, 367, 368, 371, 372, 373, 374, 375, 376, 377, 378, 379], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 332, "executed_branches": [[362, 363], [362, 379], [366, 367], [366, 378], [367, 368], [367, 371], [376, 366], [376, 377]], "missing_branches": []}, "_base48_encode": {"executed_lines": [405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 382, "executed_branches": [[406, 407], [406, 415], [408, 406], [408, 409], [412, 413], [412, 414]], "missing_branches": []}, "_delta_decode": {"executed_lines": [439, 440, 441, 442], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 418, "executed_branches": [[440, 441], [440, 442]], "missing_branches": []}, "_delta_encode": {"executed_lines": [465, 466, 467, 468], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 445, "executed_branches": [[466, 467], [466, 468]], "missing_branches": []}, "is_compressed_rle": {"executed_lines": [494], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 471, "executed_branches": [], "missing_branches": []}, "_mask_to_rle_counts": {"executed_lines": [523, 524, 525, 527, 528, 529, 530, 532, 533, 535], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 497, "executed_branches": [[524, 525], [524, 527], [532, 533], [532, 535]], "missing_branches": []}, "_rle_counts_to_mask": {"executed_lines": [565, 566, 567, 568, 569, 570], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 538, "executed_branches": [[568, 569], [568, 570]], "missing_branches": []}, "rle_to_mask": {"executed_lines": [627, 628, 629, 630, 633, 634, 636, 638, 640, 641, 646], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 575, "executed_branches": [[627, 628], [627, 629], [629, 630], [629, 633], [633, 634], [633, 636], [640, 641], [640, 646]], "missing_branches": []}, "mask_to_rle": {"executed_lines": [715, 716, 718, 719, 720, 721], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 649, "executed_branches": [[719, 720], [719, 721]], "missing_branches": []}, "polygon_to_xyxy": {"executed_lines": [736, 737, 738], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 724, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 12, 31, 52, 85, 119, 155, 202, 248, 307, 332, 382, 418, 445, 471, 497, 538, 575, 649, 724], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 9, 12, 25, 26, 27, 28, 31, 46, 47, 48, 49, 52, 79, 80, 81, 82, 85, 113, 114, 115, 116, 119, 147, 148, 149, 150, 151, 152, 155, 183, 184, 186, 187, 188, 189, 190, 192, 198, 199, 202, 227, 228, 229, 234, 235, 237, 238, 239, 240, 242, 244, 245, 248, 291, 292, 293, 295, 296, 297, 298, 299, 301, 302, 304, 307, 322, 325, 332, 360, 361, 362, 363, 364, 365, 366, 367, 368, 371, 372, 373, 374, 375, 376, 377, 378, 379, 382, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 418, 439, 440, 441, 442, 445, 465, 466, 467, 468, 471, 494, 497, 523, 524, 525, 527, 528, 529, 530, 532, 533, 535, 538, 565, 566, 567, 568, 569, 570, 575, 627, 628, 629, 630, 633, 634, 636, 638, 640, 641, 646, 649, 715, 716, 718, 719, 720, 721, 724, 736, 737, 738], "summary": {"covered_lines": 156, "num_statements": 156, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 42, "num_partial_branches": 0, "covered_branches": 42, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[183, 184], [183, 186], [228, 229], [228, 234], [295, 296], [295, 304], [301, 295], [301, 302], [362, 363], [362, 379], [366, 367], [366, 378], [367, 368], [367, 371], [376, 366], [376, 377], [406, 407], [406, 415], [408, 406], [408, 409], [412, 413], [412, 414], [440, 441], [440, 442], [466, 467], [466, 468], [524, 525], [524, 527], [532, 533], [532, 535], [568, 569], [568, 570], [627, 628], [627, 629], [629, 630], [629, 633], [633, 634], [633, 636], [640, 641], [640, 646], [719, 720], [719, 721]], "missing_branches": []}}}, "src\\supervision\\detection\\utils\\internal.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15, 18, 19, 20, 54, 59, 60, 61, 62, 63, 64, 65, 71, 72, 73, 78, 81, 114, 115, 124, 125, 126, 127, 128, 129, 131, 132, 134, 135, 136, 137, 138, 139, 140, 141, 142, 144, 146, 147, 148, 152, 156, 158, 159, 160, 161, 162, 163, 164, 165, 167, 170, 173, 178, 181, 184, 187, 189, 199, 212, 217, 227, 238, 241, 242, 243, 245, 248, 251, 252, 253, 254, 259, 263, 264, 266, 267, 268, 269, 270, 271, 280, 302, 303, 305, 306, 308, 313, 316, 336, 337, 339, 340, 341, 343, 344, 345, 346, 347, 348, 350, 351, 352, 353, 357, 359, 364, 365, 367, 370, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 399, 400, 401, 407, 410, 422, 428, 429], "summary": {"covered_lines": 140, "num_statements": 162, "percent_covered": 85.59322033898304, "percent_covered_display": "86", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 86.41975308641975, "percent_statements_covered_display": "86", "num_branches": 74, "num_partial_branches": 6, "covered_branches": 62, "missing_branches": 12, "percent_branches_covered": 83.78378378378379, "percent_branches_covered_display": "84"}, "missing_lines": [22, 23, 25, 27, 28, 32, 37, 38, 40, 41, 42, 43, 44, 46, 47, 49, 51, 66, 272, 274, 403, 405], "excluded_lines": [], "executed_branches": [[19, 20], [60, 61], [60, 62], [65, 71], [114, 115], [114, 124], [134, 135], [134, 167], [146, 147], [146, 158], [147, 148], [147, 156], [162, 163], [162, 164], [164, 134], [164, 165], [242, 243], [242, 245], [251, -248], [251, 252], [253, 251], [253, 254], [263, 264], [263, 266], [266, 267], [268, 269], [268, 270], [270, 271], [302, 303], [302, 305], [336, 337], [336, 339], [340, 341], [340, 343], [344, 345], [344, 367], [345, 344], [345, 346], [346, 347], [346, 350], [351, 352], [351, 357], [352, 345], [352, 353], [357, 359], [357, 364], [364, 345], [364, 365], [385, 386], [385, 407], [386, 387], [386, 388], [388, 389], [389, 390], [389, 391], [391, 392], [391, 393], [393, 394], [393, 400], [394, 395], [394, 399], [400, 401]], "missing_branches": [[19, 22], [27, 28], [27, 37], [42, 43], [42, 51], [46, 47], [46, 49], [65, 66], [266, 274], [270, 272], [388, 405], [400, 403]], "functions": {"extract_ultralytics_masks": {"executed_lines": [19, 20], "summary": {"covered_lines": 2, "num_statements": 19, "percent_covered": 11.11111111111111, "percent_covered_display": "11", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 10.526315789473685, "percent_statements_covered_display": "11", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 7, "percent_branches_covered": 12.5, "percent_branches_covered_display": "12"}, "missing_lines": [22, 23, 25, 27, 28, 32, 37, 38, 40, 41, 42, 43, 44, 46, 47, 49, 51], "excluded_lines": [], "start_line": 18, "executed_branches": [[19, 20]], "missing_branches": [[19, 22], [27, 28], [27, 37], [42, 43], [42, 51], [46, 47], [46, 49]]}, "_decode_rle_mask": {"executed_lines": [59, 60, 61, 62, 63, 64, 65, 71, 72, 73, 78], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [66], "excluded_lines": [], "start_line": 54, "executed_branches": [[60, 61], [60, 62], [65, 71]], "missing_branches": [[65, 66]]}, "process_roboflow_result": {"executed_lines": [114, 115, 124, 125, 126, 127, 128, 129, 131, 132, 134, 135, 136, 137, 138, 139, 140, 141, 142, 144, 146, 147, 148, 152, 156, 158, 159, 160, 161, 162, 163, 164, 165, 167, 170, 173, 178, 181, 184, 187, 189], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 81, "executed_branches": [[114, 115], [114, 124], [134, 135], [134, 167], [146, 147], [146, 158], [147, 148], [147, 156], [162, 163], [162, 164], [164, 134], [164, 165]], "missing_branches": []}, "is_data_equal": {"executed_lines": [212], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 199, "executed_branches": [], "missing_branches": []}, "is_metadata_equal": {"executed_lines": [227], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 217, "executed_branches": [], "missing_branches": []}, "_validate_data_list_keys": {"executed_lines": [241, 242, 243, 245], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 238, "executed_branches": [[242, 243], [242, 245]], "missing_branches": []}, "_validate_data_value_lengths": {"executed_lines": [251, 252, 253, 254], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 248, "executed_branches": [[251, -248], [251, 252], [253, 251], [253, 254]], "missing_branches": []}, "_merge_data_values": {"executed_lines": [263, 264, 266, 267, 268, 269, 270, 271], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [272, 274], "excluded_lines": [], "start_line": 259, "executed_branches": [[263, 264], [263, 266], [266, 267], [268, 269], [268, 270], [270, 271]], "missing_branches": [[266, 274], [270, 272]]}, "merge_data": {"executed_lines": [302, 303, 305, 306, 308, 313], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 280, "executed_branches": [[302, 303], [302, 305]], "missing_branches": []}, "merge_metadata": {"executed_lines": [336, 337, 339, 340, 341, 343, 344, 345, 346, 347, 348, 350, 351, 352, 353, 357, 359, 364, 365, 367], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 18, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 316, "executed_branches": [[336, 337], [336, 339], [340, 341], [340, 343], [344, 345], [344, 367], [345, 344], [345, 346], [346, 347], [346, 350], [351, 352], [351, 357], [352, 345], [352, 353], [357, 359], [357, 364], [364, 345], [364, 365]], "missing_branches": []}, "get_data_item": {"executed_lines": [384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 399, 400, 401, 407], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 88.23529411764706, "percent_covered_display": "88", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 16, "num_partial_branches": 2, "covered_branches": 14, "missing_branches": 2, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [403, 405], "excluded_lines": [], "start_line": 370, "executed_branches": [[385, 386], [385, 407], [386, 387], [386, 388], [388, 389], [389, 390], [389, 391], [391, 392], [391, 393], [393, 394], [393, 400], [394, 395], [394, 399], [400, 401]], "missing_branches": [[388, 405], [400, 403]]}, "cross_product": {"executed_lines": [422, 428, 429], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 410, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15, 18, 54, 81, 199, 217, 238, 248, 259, 280, 316, 370, 410], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 15, 18, 19, 20, 54, 59, 60, 61, 62, 63, 64, 65, 71, 72, 73, 78, 81, 114, 115, 124, 125, 126, 127, 128, 129, 131, 132, 134, 135, 136, 137, 138, 139, 140, 141, 142, 144, 146, 147, 148, 152, 156, 158, 159, 160, 161, 162, 163, 164, 165, 167, 170, 173, 178, 181, 184, 187, 189, 199, 212, 217, 227, 238, 241, 242, 243, 245, 248, 251, 252, 253, 254, 259, 263, 264, 266, 267, 268, 269, 270, 271, 280, 302, 303, 305, 306, 308, 313, 316, 336, 337, 339, 340, 341, 343, 344, 345, 346, 347, 348, 350, 351, 352, 353, 357, 359, 364, 365, 367, 370, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 399, 400, 401, 407, 410, 422, 428, 429], "summary": {"covered_lines": 140, "num_statements": 162, "percent_covered": 85.59322033898304, "percent_covered_display": "86", "missing_lines": 22, "excluded_lines": 0, "percent_statements_covered": 86.41975308641975, "percent_statements_covered_display": "86", "num_branches": 74, "num_partial_branches": 6, "covered_branches": 62, "missing_branches": 12, "percent_branches_covered": 83.78378378378379, "percent_branches_covered_display": "84"}, "missing_lines": [22, 23, 25, 27, 28, 32, 37, 38, 40, 41, 42, 43, 44, 46, 47, 49, 51, 66, 272, 274, 403, 405], "excluded_lines": [], "start_line": 1, "executed_branches": [[19, 20], [60, 61], [60, 62], [65, 71], [114, 115], [114, 124], [134, 135], [134, 167], [146, 147], [146, 158], [147, 148], [147, 156], [162, 163], [162, 164], [164, 134], [164, 165], [242, 243], [242, 245], [251, -248], [251, 252], [253, 251], [253, 254], [263, 264], [263, 266], [266, 267], [268, 269], [268, 270], [270, 271], [302, 303], [302, 305], [336, 337], [336, 339], [340, 341], [340, 343], [344, 345], [344, 367], [345, 344], [345, 346], [346, 347], [346, 350], [351, 352], [351, 357], [352, 345], [352, 353], [357, 359], [357, 364], [364, 345], [364, 365], [385, 386], [385, 407], [386, 387], [386, 388], [388, 389], [389, 390], [389, 391], [391, 392], [391, 393], [393, 394], [393, 400], [394, 395], [394, 399], [400, 401]], "missing_branches": [[19, 22], [27, 28], [27, 37], [42, 43], [42, 51], [46, 47], [46, 49], [65, 66], [266, 274], [270, 272], [388, 405], [400, 403]]}}}, "src\\supervision\\detection\\utils\\iou_and_nms.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 16, 30, 31, 32, 34, 35, 38, 39, 40, 41, 54, 67, 68, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 90, 129, 130, 131, 133, 134, 135, 136, 138, 139, 141, 143, 144, 146, 147, 148, 149, 156, 157, 159, 162, 218, 219, 220, 221, 223, 224, 228, 229, 230, 231, 233, 234, 235, 236, 239, 240, 241, 242, 244, 246, 247, 249, 250, 251, 252, 259, 260, 261, 264, 280, 282, 283, 286, 288, 290, 291, 294, 295, 296, 298, 301, 304, 349, 352, 353, 354, 357, 358, 359, 360, 363, 372, 373, 374, 375, 378, 387, 388, 389, 394, 418, 419, 420, 423, 426, 428, 429, 433, 434, 438, 439, 444, 446, 447, 448, 449, 450, 456, 522, 523, 524, 528, 529, 530, 532, 533, 534, 536, 537, 539, 540, 543, 544, 545, 546, 548, 549, 551, 552, 553, 556, 557, 558, 563, 564, 565, 566, 567, 574, 577, 607, 608, 609, 611, 612, 614, 615, 619, 620, 621, 622, 623, 625, 626, 627, 628, 629, 632, 633, 634, 635, 636, 639, 640, 642, 643, 645, 646, 647, 648, 650, 651, 652, 653, 655, 656, 658, 659, 661, 662, 663, 665, 666, 667, 668, 669, 670, 677, 680, 703, 704, 705, 708, 711, 712, 714, 715, 717, 718, 719, 725, 727, 728, 740, 741, 744, 782, 783, 786, 787, 788, 789, 791, 792, 796, 797, 802, 803, 810, 811, 812, 813, 814, 815, 816, 823, 824, 826, 827, 828, 829, 837, 840, 878, 882, 884, 885, 887, 888, 889, 891, 892, 894, 895, 896, 897, 900, 904, 907, 915, 916, 917, 918, 919, 920, 921, 924, 935, 936, 937, 938, 939, 940, 941, 942, 943, 946, 971, 975, 976, 977, 978, 981, 1005, 1007, 1008, 1010, 1011, 1013, 1014, 1015, 1016, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1031, 1032, 1034, 1035, 1038, 1074, 1081, 1083, 1084, 1086, 1087, 1091, 1092, 1093, 1094, 1095, 1102, 1103, 1105, 1106, 1110, 1113, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1144, 1156, 1157, 1158, 1162, 1163, 1164, 1165, 1166, 1167, 1169, 1170, 1174, 1177, 1200, 1203, 1209, 1214, 1238, 1239, 1243, 1246, 1303, 1307, 1308, 1309, 1313, 1314, 1319, 1324, 1328, 1329, 1333, 1334, 1336, 1337, 1338, 1341, 1352, 1355, 1361, 1366, 1422, 1423, 1424, 1428, 1429, 1434, 1439, 1443, 1448, 1453, 1454, 1461], "summary": {"covered_lines": 409, "num_statements": 434, "percent_covered": 92.22972972972973, "percent_covered_display": "92", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 94.23963133640552, "percent_statements_covered_display": "94", "num_branches": 158, "num_partial_branches": 19, "covered_branches": 137, "missing_branches": 21, "percent_branches_covered": 86.70886075949367, "percent_branches_covered_display": "87"}, "missing_lines": [36, 42, 43, 44, 45, 46, 47, 48, 84, 151, 254, 299, 672, 735, 1107, 1171, 1310, 1315, 1320, 1325, 1425, 1430, 1435, 1440, 1444], "excluded_lines": [], "executed_branches": [[40, 41], [76, 77], [76, 78], [78, 79], [146, 147], [146, 148], [148, 149], [156, 157], [156, 159], [223, 224], [223, 228], [249, 250], [249, 251], [251, 252], [298, 301], [352, 353], [352, 354], [357, 358], [357, 360], [358, 357], [358, 359], [428, 429], [428, 433], [433, 434], [433, 438], [438, -426], [438, 439], [446, 447], [446, 448], [448, 449], [448, 450], [533, 534], [533, 536], [544, 545], [544, 548], [552, 553], [552, 574], [556, 557], [556, 558], [563, 564], [566, 552], [566, 567], [611, 612], [611, 614], [642, 643], [642, 677], [645, 646], [645, 647], [647, 648], [647, 650], [665, 666], [665, 668], [668, 669], [717, 718], [717, 725], [725, 727], [782, 783], [782, 786], [786, 787], [786, 788], [788, 789], [788, 791], [791, 792], [791, 796], [796, 797], [796, 802], [802, 803], [802, 810], [815, 816], [815, 823], [823, 824], [823, 826], [828, 829], [828, 837], [884, 885], [884, 887], [895, 896], [895, 904], [896, 895], [896, 897], [916, 917], [916, 918], [938, 939], [938, 943], [939, 940], [939, 941], [1010, 1011], [1010, 1035], [1014, 1015], [1014, 1018], [1020, 1021], [1020, 1034], [1023, 1024], [1023, 1025], [1074, 1081], [1074, 1083], [1086, 1087], [1086, 1091], [1093, 1094], [1093, 1105], [1102, 1093], [1102, 1103], [1105, 1106], [1105, 1110], [1106, 1105], [1130, 1131], [1130, 1141], [1133, 1134], [1133, 1136], [1156, 1157], [1156, 1162], [1164, 1165], [1164, 1169], [1166, 1164], [1166, 1167], [1169, 1170], [1169, 1174], [1170, 1169], [1307, 1308], [1307, 1328], [1308, 1309], [1308, 1314], [1309, 1313], [1314, 1319], [1319, 1324], [1324, 1307], [1328, 1329], [1328, 1333], [1422, 1423], [1422, 1443], [1423, 1424], [1423, 1429], [1424, 1428], [1429, 1434], [1434, 1439], [1439, 1422], [1443, 1448]], "missing_branches": [[40, 42], [42, 43], [42, 48], [78, 84], [148, 151], [251, 254], [298, 299], [563, 552], [668, 672], [725, 735], [1106, 1107], [1170, 1171], [1309, 1310], [1314, 1315], [1319, 1320], [1324, 1325], [1424, 1425], [1429, 1430], [1434, 1435], [1439, 1440], [1443, 1444]], "functions": {"OverlapFilter.list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [36], "excluded_lines": [], "start_line": 35, "executed_branches": [], "missing_branches": []}, "OverlapFilter.from_value": {"executed_lines": [40, 41], "summary": {"covered_lines": 2, "num_statements": 9, "percent_covered": 23.076923076923077, "percent_covered_display": "23", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 22.22222222222222, "percent_statements_covered_display": "22", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 3, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [42, 43, 44, 45, 46, 47, 48], "excluded_lines": [], "start_line": 39, "executed_branches": [[40, 41]], "missing_branches": [[40, 42], [42, 43], [42, 48]]}, "OverlapMetric.list": {"executed_lines": [72], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 71, "executed_branches": [], "missing_branches": []}, "OverlapMetric.from_value": {"executed_lines": [76, 77, 78, 79, 80, 81, 82, 83], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [84], "excluded_lines": [], "start_line": 75, "executed_branches": [[76, 77], [76, 78], [78, 79]], "missing_branches": [[78, 84]]}, "box_iou": {"executed_lines": [129, 130, 131, 133, 134, 135, 136, 138, 139, 141, 143, 144, 146, 147, 148, 149, 156, 157, 159], "summary": {"covered_lines": 19, "num_statements": 20, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [151], "excluded_lines": [], "start_line": 90, "executed_branches": [[146, 147], [146, 148], [148, 149], [156, 157], [156, 159]], "missing_branches": [[148, 151]]}, "box_iou_batch": {"executed_lines": [218, 219, 220, 221, 223, 224, 228, 229, 230, 231, 233, 234, 235, 236, 239, 240, 241, 242, 244, 246, 247, 249, 250, 251, 252, 259, 260, 261], "summary": {"covered_lines": 28, "num_statements": 29, "percent_covered": 94.28571428571429, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.55172413793103, "percent_statements_covered_display": "97", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [254], "excluded_lines": [], "start_line": 162, "executed_branches": [[223, 224], [223, 228], [249, 250], [249, 251], [251, 252]], "missing_branches": [[251, 254]]}, "_jaccard": {"executed_lines": [280, 282, 283, 286, 288, 290, 291, 294, 295, 296, 298, 301], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [299], "excluded_lines": [], "start_line": 264, "executed_branches": [[298, 301]], "missing_branches": [[298, 299]]}, "box_iou_batch_with_jaccard": {"executed_lines": [349, 352, 353, 354, 357, 358, 359, 360], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 304, "executed_branches": [[352, 353], [352, 354], [357, 358], [357, 360], [358, 357], [358, 359]], "missing_branches": []}, "_polygon_areas": {"executed_lines": [372, 373, 374, 375], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 363, "executed_branches": [], "missing_branches": []}, "_aabb_envelopes": {"executed_lines": [387, 388, 389], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 378, "executed_branches": [], "missing_branches": []}, "_overlapping_envelope_pairs": {"executed_lines": [418, 419, 420, 423], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 394, "executed_branches": [], "missing_branches": []}, "_validate_oriented_box_batch": {"executed_lines": [428, 429, 433, 434, 438, 439], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 426, "executed_branches": [[428, 429], [428, 433], [433, 434], [433, 438], [438, -426], [438, 439]], "missing_branches": []}, "_normalize_oriented_overlap_metric": {"executed_lines": [446, 447, 448, 449, 450], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 444, "executed_branches": [[446, 447], [446, 448], [448, 449], [448, 450]], "missing_branches": []}, "oriented_box_iou_batch": {"executed_lines": [522, 523, 524, 528, 529, 530, 532, 533, 534, 536, 537, 539, 540, 543, 544, 545, 546, 548, 549, 551, 552, 553, 556, 557, 558, 563, 564, 565, 566, 567, 574], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 97.67441860465117, "percent_covered_display": "98", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 11, "missing_branches": 1, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [], "excluded_lines": [], "start_line": 456, "executed_branches": [[533, 534], [533, 536], [544, 545], [544, 548], [552, 553], [552, 574], [556, 557], [556, 558], [563, 564], [566, 552], [566, 567]], "missing_branches": [[563, 552]]}, "compact_mask_iou_batch": {"executed_lines": [607, 608, 609, 611, 612, 614, 615, 619, 620, 621, 622, 623, 625, 626, 627, 628, 629, 632, 633, 634, 635, 636, 639, 640, 642, 643, 645, 646, 647, 648, 650, 651, 652, 653, 655, 656, 658, 659, 661, 662, 663, 665, 666, 667, 668, 669, 670, 677], "summary": {"covered_lines": 48, "num_statements": 49, "percent_covered": 96.72131147540983, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.95918367346938, "percent_statements_covered_display": "98", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 11, "missing_branches": 1, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [672], "excluded_lines": [], "start_line": 577, "executed_branches": [[611, 612], [611, 614], [642, 643], [642, 677], [645, 646], [645, 647], [647, 648], [647, 650], [665, 666], [665, 668], [668, 669]], "missing_branches": [[668, 672]]}, "_mask_iou_batch_split": {"executed_lines": [703, 704, 705, 708, 711, 712, 714, 715, 717, 718, 719, 725, 727, 728, 740, 741], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 90.47619047619048, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [735], "excluded_lines": [], "start_line": 680, "executed_branches": [[717, 718], [717, 725], [725, 727]], "missing_branches": [[725, 735]]}, "mask_iou_batch": {"executed_lines": [782, 783, 786, 787, 788, 789, 791, 792, 796, 797, 802, 803, 810, 811, 812, 813, 814, 815, 816, 823, 824, 826, 827, 828, 829, 837], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 18, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 744, "executed_branches": [[782, 783], [782, 786], [786, 787], [786, 788], [788, 789], [788, 791], [791, 792], [791, 796], [796, 797], [796, 802], [802, 803], [802, 810], [815, 816], [815, 823], [823, 824], [823, 826], [828, 829], [828, 837]], "missing_branches": []}, "mask_non_max_suppression": {"executed_lines": [878, 882, 884, 885, 887, 888, 889, 891, 892, 894, 895, 896, 897, 900, 904], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 840, "executed_branches": [[884, 885], [884, 887], [895, 896], [895, 904], [896, 895], [896, 897]], "missing_branches": []}, "_prepare_predictions_for_nms": {"executed_lines": [915, 916, 917, 918, 919, 920, 921], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 907, "executed_branches": [[916, 917], [916, 918]], "missing_branches": []}, "_nms_loop_from_iou_matrix": {"executed_lines": [935, 936, 937, 938, 939, 940, 941, 942, 943], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 924, "executed_branches": [[938, 939], [938, 943], [939, 940], [939, 941]], "missing_branches": []}, "box_non_max_suppression": {"executed_lines": [971, 975, 976, 977, 978], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 946, "executed_branches": [], "missing_branches": []}, "_group_overlapping_masks": {"executed_lines": [1005, 1007, 1008, 1010, 1011, 1013, 1014, 1015, 1016, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1031, 1032, 1034, 1035], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 981, "executed_branches": [[1010, 1011], [1010, 1035], [1014, 1015], [1014, 1018], [1020, 1021], [1020, 1034], [1023, 1024], [1023, 1025]], "missing_branches": []}, "mask_non_max_merge": {"executed_lines": [1074, 1081, 1083, 1084, 1086, 1087, 1091, 1092, 1093, 1094, 1095, 1102, 1103, 1105, 1106, 1110], "summary": {"covered_lines": 16, "num_statements": 17, "percent_covered": 93.10344827586206, "percent_covered_display": "93", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 94.11764705882354, "percent_statements_covered_display": "94", "num_branches": 12, "num_partial_branches": 1, "covered_branches": 11, "missing_branches": 1, "percent_branches_covered": 91.66666666666667, "percent_branches_covered_display": "92"}, "missing_lines": [1107], "excluded_lines": [], "start_line": 1038, "executed_branches": [[1074, 1081], [1074, 1083], [1086, 1087], [1086, 1091], [1093, 1094], [1093, 1105], [1102, 1093], [1102, 1103], [1105, 1106], [1105, 1110], [1106, 1105]], "missing_branches": [[1106, 1107]]}, "_greedy_nmm_via_iou_callback": {"executed_lines": [1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1113, "executed_branches": [[1130, 1131], [1130, 1141], [1133, 1134], [1133, 1136]], "missing_branches": []}, "_non_max_merge_per_category": {"executed_lines": [1156, 1157, 1158, 1162, 1163, 1164, 1165, 1166, 1167, 1169, 1170, 1174], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [1171], "excluded_lines": [], "start_line": 1144, "executed_branches": [[1156, 1157], [1156, 1162], [1164, 1165], [1164, 1169], [1166, 1164], [1166, 1167], [1169, 1170], [1169, 1174], [1170, 1169]], "missing_branches": [[1170, 1171]]}, "_group_overlapping_boxes": {"executed_lines": [1200, 1209], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1177, "executed_branches": [], "missing_branches": []}, "_group_overlapping_boxes.iou_against_candidate": {"executed_lines": [1203], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1200, "executed_branches": [], "missing_branches": []}, "box_non_max_merge": {"executed_lines": [1238, 1243], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1214, "executed_branches": [], "missing_branches": []}, "box_non_max_merge.group_within": {"executed_lines": [1239], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1238, "executed_branches": [], "missing_branches": []}, "oriented_box_non_max_suppression": {"executed_lines": [1303, 1307, 1308, 1309, 1313, 1314, 1319, 1324, 1328, 1329, 1333, 1334, 1336, 1337, 1338], "summary": {"covered_lines": 15, "num_statements": 19, "percent_covered": 75.75757575757575, "percent_covered_display": "76", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 78.94736842105263, "percent_statements_covered_display": "79", "num_branches": 14, "num_partial_branches": 4, "covered_branches": 10, "missing_branches": 4, "percent_branches_covered": 71.42857142857143, "percent_branches_covered_display": "71"}, "missing_lines": [1310, 1315, 1320, 1325], "excluded_lines": [], "start_line": 1246, "executed_branches": [[1307, 1308], [1307, 1328], [1308, 1309], [1308, 1314], [1309, 1313], [1314, 1319], [1319, 1324], [1324, 1307], [1328, 1329], [1328, 1333]], "missing_branches": [[1309, 1310], [1314, 1315], [1319, 1320], [1324, 1325]]}, "_group_overlapping_oriented_boxes": {"executed_lines": [1352, 1361], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1341, "executed_branches": [], "missing_branches": []}, "_group_overlapping_oriented_boxes.iou_against_candidate": {"executed_lines": [1355], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1352, "executed_branches": [], "missing_branches": []}, "oriented_box_non_max_merge": {"executed_lines": [1422, 1423, 1424, 1428, 1429, 1434, 1439, 1443, 1448, 1453, 1461], "summary": {"covered_lines": 11, "num_statements": 16, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 68.75, "percent_statements_covered_display": "69", "num_branches": 14, "num_partial_branches": 5, "covered_branches": 9, "missing_branches": 5, "percent_branches_covered": 64.28571428571429, "percent_branches_covered_display": "64"}, "missing_lines": [1425, 1430, 1435, 1440, 1444], "excluded_lines": [], "start_line": 1366, "executed_branches": [[1422, 1423], [1422, 1443], [1423, 1424], [1423, 1429], [1424, 1428], [1429, 1434], [1434, 1439], [1439, 1422], [1443, 1448]], "missing_branches": [[1424, 1425], [1429, 1430], [1434, 1435], [1439, 1440], [1443, 1444]]}, "oriented_box_non_max_merge.group_within": {"executed_lines": [1454], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1453, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 16, 30, 31, 32, 34, 35, 38, 39, 54, 67, 68, 70, 71, 74, 75, 90, 162, 264, 304, 363, 378, 394, 426, 444, 456, 577, 680, 744, 840, 907, 924, 946, 981, 1038, 1113, 1144, 1177, 1214, 1246, 1341, 1366], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"OverlapFilter": {"executed_lines": [40, 41], "summary": {"covered_lines": 2, "num_statements": 10, "percent_covered": 21.428571428571427, "percent_covered_display": "21", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 20.0, "percent_statements_covered_display": "20", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 3, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [36, 42, 43, 44, 45, 46, 47, 48], "excluded_lines": [], "start_line": 16, "executed_branches": [[40, 41]], "missing_branches": [[40, 42], [42, 43], [42, 48]]}, "OverlapMetric": {"executed_lines": [72, 76, 77, 78, 79, 80, 81, 82, 83], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [84], "excluded_lines": [], "start_line": 54, "executed_branches": [[76, 77], [76, 78], [78, 79]], "missing_branches": [[78, 84]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 10, 12, 13, 16, 30, 31, 32, 34, 35, 38, 39, 54, 67, 68, 70, 71, 74, 75, 90, 129, 130, 131, 133, 134, 135, 136, 138, 139, 141, 143, 144, 146, 147, 148, 149, 156, 157, 159, 162, 218, 219, 220, 221, 223, 224, 228, 229, 230, 231, 233, 234, 235, 236, 239, 240, 241, 242, 244, 246, 247, 249, 250, 251, 252, 259, 260, 261, 264, 280, 282, 283, 286, 288, 290, 291, 294, 295, 296, 298, 301, 304, 349, 352, 353, 354, 357, 358, 359, 360, 363, 372, 373, 374, 375, 378, 387, 388, 389, 394, 418, 419, 420, 423, 426, 428, 429, 433, 434, 438, 439, 444, 446, 447, 448, 449, 450, 456, 522, 523, 524, 528, 529, 530, 532, 533, 534, 536, 537, 539, 540, 543, 544, 545, 546, 548, 549, 551, 552, 553, 556, 557, 558, 563, 564, 565, 566, 567, 574, 577, 607, 608, 609, 611, 612, 614, 615, 619, 620, 621, 622, 623, 625, 626, 627, 628, 629, 632, 633, 634, 635, 636, 639, 640, 642, 643, 645, 646, 647, 648, 650, 651, 652, 653, 655, 656, 658, 659, 661, 662, 663, 665, 666, 667, 668, 669, 670, 677, 680, 703, 704, 705, 708, 711, 712, 714, 715, 717, 718, 719, 725, 727, 728, 740, 741, 744, 782, 783, 786, 787, 788, 789, 791, 792, 796, 797, 802, 803, 810, 811, 812, 813, 814, 815, 816, 823, 824, 826, 827, 828, 829, 837, 840, 878, 882, 884, 885, 887, 888, 889, 891, 892, 894, 895, 896, 897, 900, 904, 907, 915, 916, 917, 918, 919, 920, 921, 924, 935, 936, 937, 938, 939, 940, 941, 942, 943, 946, 971, 975, 976, 977, 978, 981, 1005, 1007, 1008, 1010, 1011, 1013, 1014, 1015, 1016, 1018, 1019, 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1031, 1032, 1034, 1035, 1038, 1074, 1081, 1083, 1084, 1086, 1087, 1091, 1092, 1093, 1094, 1095, 1102, 1103, 1105, 1106, 1110, 1113, 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1144, 1156, 1157, 1158, 1162, 1163, 1164, 1165, 1166, 1167, 1169, 1170, 1174, 1177, 1200, 1203, 1209, 1214, 1238, 1239, 1243, 1246, 1303, 1307, 1308, 1309, 1313, 1314, 1319, 1324, 1328, 1329, 1333, 1334, 1336, 1337, 1338, 1341, 1352, 1355, 1361, 1366, 1422, 1423, 1424, 1428, 1429, 1434, 1439, 1443, 1448, 1453, 1454, 1461], "summary": {"covered_lines": 398, "num_statements": 414, "percent_covered": 94.14893617021276, "percent_covered_display": "94", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 96.13526570048309, "percent_statements_covered_display": "96", "num_branches": 150, "num_partial_branches": 17, "covered_branches": 133, "missing_branches": 17, "percent_branches_covered": 88.66666666666667, "percent_branches_covered_display": "89"}, "missing_lines": [151, 254, 299, 672, 735, 1107, 1171, 1310, 1315, 1320, 1325, 1425, 1430, 1435, 1440, 1444], "excluded_lines": [], "start_line": 1, "executed_branches": [[146, 147], [146, 148], [148, 149], [156, 157], [156, 159], [223, 224], [223, 228], [249, 250], [249, 251], [251, 252], [298, 301], [352, 353], [352, 354], [357, 358], [357, 360], [358, 357], [358, 359], [428, 429], [428, 433], [433, 434], [433, 438], [438, -426], [438, 439], [446, 447], [446, 448], [448, 449], [448, 450], [533, 534], [533, 536], [544, 545], [544, 548], [552, 553], [552, 574], [556, 557], [556, 558], [563, 564], [566, 552], [566, 567], [611, 612], [611, 614], [642, 643], [642, 677], [645, 646], [645, 647], [647, 648], [647, 650], [665, 666], [665, 668], [668, 669], [717, 718], [717, 725], [725, 727], [782, 783], [782, 786], [786, 787], [786, 788], [788, 789], [788, 791], [791, 792], [791, 796], [796, 797], [796, 802], [802, 803], [802, 810], [815, 816], [815, 823], [823, 824], [823, 826], [828, 829], [828, 837], [884, 885], [884, 887], [895, 896], [895, 904], [896, 895], [896, 897], [916, 917], [916, 918], [938, 939], [938, 943], [939, 940], [939, 941], [1010, 1011], [1010, 1035], [1014, 1015], [1014, 1018], [1020, 1021], [1020, 1034], [1023, 1024], [1023, 1025], [1074, 1081], [1074, 1083], [1086, 1087], [1086, 1091], [1093, 1094], [1093, 1105], [1102, 1093], [1102, 1103], [1105, 1106], [1105, 1110], [1106, 1105], [1130, 1131], [1130, 1141], [1133, 1134], [1133, 1136], [1156, 1157], [1156, 1162], [1164, 1165], [1164, 1169], [1166, 1164], [1166, 1167], [1169, 1170], [1169, 1174], [1170, 1169], [1307, 1308], [1307, 1328], [1308, 1309], [1308, 1314], [1309, 1313], [1314, 1319], [1319, 1324], [1324, 1307], [1328, 1329], [1328, 1333], [1422, 1423], [1422, 1443], [1423, 1424], [1423, 1429], [1424, 1428], [1429, 1434], [1434, 1439], [1439, 1422], [1443, 1448]], "missing_branches": [[148, 151], [251, 254], [298, 299], [563, 552], [668, 672], [725, 735], [1106, 1107], [1170, 1171], [1309, 1310], [1314, 1315], [1319, 1320], [1324, 1325], [1424, 1425], [1429, 1430], [1434, 1435], [1439, 1440], [1443, 1444]]}}}, "src\\supervision\\detection\\utils\\masks.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 12, 56, 58, 59, 60, 61, 62, 64, 65, 66, 67, 69, 70, 71, 72, 73, 75, 76, 77, 78, 80, 81, 87, 90, 105, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 127, 129, 130, 133, 135, 137, 140, 142, 143, 144, 146, 151, 190, 191, 193, 194, 195, 196, 197, 198, 201, 251, 252, 255, 256, 257, 260, 263, 275, 276, 277, 279, 280, 282, 283, 284, 286, 288, 291, 298, 299, 300, 301, 302, 306, 313, 314, 315, 316, 319, 327, 328, 329, 331, 332, 333, 335, 336, 339, 340, 341, 344, 425, 428, 429, 430, 432, 437, 441, 444, 445, 447, 454, 455, 457, 458, 464, 465, 475], "summary": {"covered_lines": 127, "num_statements": 132, "percent_covered": 94.31818181818181, "percent_covered_display": "94", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 96.21212121212122, "percent_statements_covered_display": "96", "num_branches": 44, "num_partial_branches": 5, "covered_branches": 39, "missing_branches": 5, "percent_branches_covered": 88.63636363636364, "percent_branches_covered_display": "89"}, "missing_lines": [303, 337, 426, 442, 473], "excluded_lines": [], "executed_branches": [[58, 59], [58, 64], [69, 70], [69, 75], [80, 81], [80, 87], [105, 107], [105, 129], [108, 109], [108, 111], [112, 113], [112, 127], [118, 119], [118, 122], [193, 194], [193, 198], [195, 196], [195, 198], [196, 195], [196, 197], [251, 252], [251, 255], [298, 299], [298, 301], [301, 302], [331, -319], [331, 332], [332, 333], [332, 335], [336, 339], [340, 331], [340, 341], [425, 428], [429, 430], [429, 432], [441, 444], [457, 458], [457, 464], [464, 465]], "missing_branches": [[301, 303], [336, 337], [425, 426], [441, 442], [464, 473]], "functions": {"move_masks": {"executed_lines": [56, 58, 59, 60, 61, 62, 64, 65, 66, 67, 69, 70, 71, 72, 73, 75, 76, 77, 78, 80, 81, 87], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [[58, 59], [58, 64], [69, 70], [69, 75], [80, 81], [80, 87]], "missing_branches": []}, "calculate_masks_centroids": {"executed_lines": [105, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 127, 129, 130, 133, 135, 137, 142, 143, 144, 146], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 90, "executed_branches": [[105, 107], [105, 129], [108, 109], [108, 111], [112, 113], [112, 127], [118, 119], [118, 122]], "missing_branches": []}, "calculate_masks_centroids.sum_over_mask": {"executed_lines": [140], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 137, "executed_branches": [], "missing_branches": []}, "contains_holes": {"executed_lines": [190, 191, 193, 194, 195, 196, 197, 198], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 151, "executed_branches": [[193, 194], [193, 198], [195, 196], [195, 198], [196, 195], [196, 197]], "missing_branches": []}, "contains_multiple_segments": {"executed_lines": [251, 252, 255, 256, 257, 260], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 201, "executed_branches": [[251, 252], [251, 255]], "missing_branches": []}, "resize_masks": {"executed_lines": [275, 276, 277, 279, 280, 282, 283, 284, 286, 288], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 263, "executed_branches": [], "missing_branches": []}, "_resolve_distance_threshold": {"executed_lines": [298, 299, 300, 301, 302], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [303], "excluded_lines": [], "start_line": 291, "executed_branches": [[298, 299], [298, 301], [301, 302]], "missing_branches": [[301, 303]]}, "_filter_labels_by_centroid_distance": {"executed_lines": [313, 314, 315, 316], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 306, "executed_branches": [], "missing_branches": []}, "_filter_labels_by_edge_distance": {"executed_lines": [327, 328, 329, 331, 332, 333, 335, 336, 339, 340, 341], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [337], "excluded_lines": [], "start_line": 319, "executed_branches": [[331, -319], [331, 332], [332, 333], [332, 335], [336, 339], [340, 331], [340, 341]], "missing_branches": [[336, 337]]}, "filter_segments_by_distance": {"executed_lines": [425, 428, 429, 430, 432, 437, 441, 444, 445, 447, 454, 455, 457, 458, 464, 465, 475], "summary": {"covered_lines": 17, "num_statements": 20, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 85.0, "percent_statements_covered_display": "85", "num_branches": 10, "num_partial_branches": 3, "covered_branches": 7, "missing_branches": 3, "percent_branches_covered": 70.0, "percent_branches_covered_display": "70"}, "missing_lines": [426, 442, 473], "excluded_lines": [], "start_line": 344, "executed_branches": [[425, 428], [429, 430], [429, 432], [441, 444], [457, 458], [457, 464], [464, 465]], "missing_branches": [[425, 426], [441, 442], [464, 473]]}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 12, 90, 151, 201, 263, 291, 306, 319, 344], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 9, 12, 56, 58, 59, 60, 61, 62, 64, 65, 66, 67, 69, 70, 71, 72, 73, 75, 76, 77, 78, 80, 81, 87, 90, 105, 107, 108, 109, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 122, 123, 124, 125, 127, 129, 130, 133, 135, 137, 140, 142, 143, 144, 146, 151, 190, 191, 193, 194, 195, 196, 197, 198, 201, 251, 252, 255, 256, 257, 260, 263, 275, 276, 277, 279, 280, 282, 283, 284, 286, 288, 291, 298, 299, 300, 301, 302, 306, 313, 314, 315, 316, 319, 327, 328, 329, 331, 332, 333, 335, 336, 339, 340, 341, 344, 425, 428, 429, 430, 432, 437, 441, 444, 445, 447, 454, 455, 457, 458, 464, 465, 475], "summary": {"covered_lines": 127, "num_statements": 132, "percent_covered": 94.31818181818181, "percent_covered_display": "94", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 96.21212121212122, "percent_statements_covered_display": "96", "num_branches": 44, "num_partial_branches": 5, "covered_branches": 39, "missing_branches": 5, "percent_branches_covered": 88.63636363636364, "percent_branches_covered_display": "89"}, "missing_lines": [303, 337, 426, 442, 473], "excluded_lines": [], "start_line": 1, "executed_branches": [[58, 59], [58, 64], [69, 70], [69, 75], [80, 81], [80, 87], [105, 107], [105, 129], [108, 109], [108, 111], [112, 113], [112, 127], [118, 119], [118, 122], [193, 194], [193, 198], [195, 196], [195, 198], [196, 195], [196, 197], [251, 252], [251, 255], [298, 299], [298, 301], [301, 302], [331, -319], [331, 332], [332, 333], [332, 335], [336, 339], [340, 331], [340, 341], [425, 428], [429, 430], [429, 432], [441, 444], [457, 458], [457, 464], [464, 465]], "missing_branches": [[301, 303], [336, 337], [425, 426], [441, 442], [464, 473]]}}}, "src\\supervision\\detection\\utils\\polygons.py": {"executed_lines": [1, 3, 4, 5, 8, 33, 34, 35, 36, 44, 95, 96, 97, 98, 100, 102, 103, 105, 106, 107, 108, 109, 112, 113, 114, 116], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[33, 34], [33, 35], [95, 96], [95, 97], [97, 98], [97, 100], [102, 103], [102, 105], [107, 108], [107, 116], [112, 113], [112, 114]], "missing_branches": [], "functions": {"filter_polygons_by_area": {"executed_lines": [33, 34, 35, 36], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8, "executed_branches": [[33, 34], [33, 35]], "missing_branches": []}, "approximate_polygon": {"executed_lines": [95, 96, 97, 98, 100, 102, 103, 105, 106, 107, 108, 109, 112, 113, 114, 116], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44, "executed_branches": [[95, 96], [95, 97], [97, 98], [97, 100], [102, 103], [102, 105], [107, 108], [107, 116], [112, 113], [112, 114]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 44], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 8, 33, 34, 35, 36, 44, 95, 96, 97, 98, 100, 102, 103, 105, 106, 107, 108, 109, 112, 113, 114, 116], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[33, 34], [33, 35], [95, 96], [95, 97], [97, 98], [97, 100], [102, 103], [102, 105], [107, 108], [107, 116], [112, 113], [112, 114]], "missing_branches": []}}}, "src\\supervision\\detection\\utils\\vlms.py": {"executed_lines": [1, 4, 38, 39, 40, 42, 43, 45, 46, 48, 49, 50, 51, 52, 54, 55, 60, 62, 65, 97, 98, 99, 100], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[38, 39], [38, 42], [42, 43], [42, 45], [48, 49], [48, 62], [50, 51], [50, 60], [51, 52], [51, 54], [97, 98], [97, 100], [98, 97], [98, 99]], "missing_branches": [], "functions": {"edit_distance": {"executed_lines": [38, 39, 40, 42, 43, 45, 46, 48, 49, 50, 51, 52, 54, 55, 60, 62], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 4, "executed_branches": [[38, 39], [38, 42], [42, 43], [42, 45], [48, 49], [48, 62], [50, 51], [50, 60], [51, 52], [51, 54]], "missing_branches": []}, "fuzzy_match_index": {"executed_lines": [97, 98, 99, 100], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65, "executed_branches": [[97, 98], [97, 100], [98, 97], [98, 99]], "missing_branches": []}, "": {"executed_lines": [1, 4, 65], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 4, 38, 39, 40, 42, 43, 45, 46, 48, 49, 50, 51, 52, 54, 55, 60, 62, 65, 97, 98, 99, 100], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[38, 39], [38, 42], [42, 43], [42, 45], [48, 49], [48, 62], [50, 51], [50, 60], [51, 52], [51, 54], [97, 98], [97, 100], [98, 97], [98, 99]], "missing_branches": []}}}, "src\\supervision\\detection\\vlm.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19, 22, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 53, 54, 73, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 100, 101, 116, 127, 138, 149, 163, 180, 188, 193, 194, 195, 198, 199, 200, 203, 206, 211, 215, 235, 237, 240, 241, 243, 244, 246, 247, 248, 249, 251, 252, 253, 254, 255, 257, 260, 276, 277, 278, 279, 280, 282, 283, 286, 288, 289, 292, 293, 295, 298, 300, 301, 302, 305, 337, 338, 340, 341, 342, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 356, 357, 358, 359, 365, 366, 368, 369, 371, 372, 373, 374, 375, 377, 378, 380, 381, 383, 384, 386, 388, 389, 390, 391, 392, 394, 397, 424, 453, 454, 455, 457, 458, 463, 464, 465, 466, 467, 468, 469, 477, 479, 480, 482, 483, 484, 485, 486, 488, 489, 490, 492, 495, 519, 520, 521, 522, 525, 527, 528, 529, 530, 532, 533, 535, 537, 538, 539, 540, 541, 542, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 557, 558, 559, 561, 562, 563, 565, 567, 568, 572, 573, 575, 576, 577, 581, 582, 583, 584, 585, 586, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 605, 612, 621, 631, 632, 634, 636, 642, 645, 649, 652, 664, 665, 666, 667, 668, 669, 671, 672, 673, 674, 676, 677, 678, 680, 681, 682, 683, 685, 686, 687, 688, 690, 693, 706, 707, 708, 709, 711, 712, 714, 715, 717, 720, 723, 724, 725, 728, 734, 735, 738, 740, 741, 742, 743, 747, 748, 749, 750, 752, 753, 757, 758, 759, 764, 803, 805, 806, 807, 809, 810, 812, 813, 814, 815, 816, 818, 820, 821, 823, 828, 829, 831, 832, 833, 834, 835, 837, 840, 883, 885, 886, 887, 889, 898, 899, 901, 902, 903, 906, 909, 910, 918, 920, 923, 955, 956, 957, 961, 962, 964, 966, 967, 968, 970, 971, 972, 973, 975, 977, 978, 980], "summary": {"covered_lines": 344, "num_statements": 381, "percent_covered": 88.95463510848126, "percent_covered_display": "89", "missing_lines": 37, "excluded_lines": 4, "percent_statements_covered": 90.28871391076116, "percent_statements_covered_display": "90", "num_branches": 126, "num_partial_branches": 11, "covered_branches": 107, "missing_branches": 19, "percent_branches_covered": 84.92063492063492, "percent_branches_covered_display": "85"}, "missing_lines": [51, 55, 59, 60, 61, 62, 63, 64, 65, 66, 67, 98, 102, 103, 104, 105, 106, 107, 108, 109, 110, 181, 182, 183, 184, 189, 196, 201, 212, 284, 290, 296, 416, 588, 744, 745, 761], "excluded_lines": [311, 769, 851, 927], "executed_branches": [[180, 188], [188, 193], [194, 195], [194, 198], [195, 194], [199, 200], [199, 203], [200, 199], [243, 244], [243, 246], [251, 252], [251, 257], [278, 279], [278, 280], [283, 286], [289, 292], [295, 298], [346, 347], [346, 349], [353, 354], [353, 356], [365, 366], [365, 368], [371, 372], [371, 377], [372, 373], [372, 374], [377, 378], [377, 380], [388, 389], [388, 394], [457, 458], [457, 463], [465, 466], [465, 479], [467, 465], [467, 468], [482, 483], [482, 488], [521, 522], [521, 525], [527, 528], [527, 532], [532, 533], [532, 537], [537, 538], [537, 544], [544, 545], [544, 561], [547, 548], [547, 557], [548, 547], [548, 549], [561, 562], [561, 567], [567, 568], [572, 573], [572, 575], [593, 594], [593, 598], [594, 593], [594, 595], [631, 632], [631, 634], [671, 672], [671, 690], [673, 674], [673, 676], [680, 681], [680, 682], [682, 683], [685, 686], [685, 687], [687, 688], [711, 712], [711, 714], [714, 715], [714, 717], [735, 738], [735, 740], [752, 753], [806, 807], [806, 809], [812, 813], [812, 820], [813, 814], [813, 815], [820, 821], [820, 823], [831, 832], [831, 837], [886, 887], [886, 889], [898, 899], [898, 901], [909, 910], [909, 918], [956, 957], [956, 961], [961, 962], [961, 964], [966, 967], [966, 977], [967, 968], [967, 970], [977, 978], [977, 980]], "missing_branches": [[59, 60], [59, 61], [61, 62], [61, 67], [102, 103], [102, 104], [104, 105], [104, 110], [180, 181], [188, 189], [195, 196], [200, 201], [283, 284], [289, 290], [295, 296], [567, 588], [682, 685], [687, 671], [752, 761]], "functions": {"LMM.list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [51], "excluded_lines": [], "start_line": 50, "executed_branches": [], "missing_branches": []}, "LMM.from_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [55, 59, 60, 61, 62, 63, 64, 65, 66, 67], "excluded_lines": [], "start_line": 54, "executed_branches": [], "missing_branches": [[59, 60], [59, 61], [61, 62], [61, 67]]}, "VLM.list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [98], "excluded_lines": [], "start_line": 97, "executed_branches": [], "missing_branches": []}, "VLM.from_value": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [102, 103, 104, 105, 106, 107, 108, 109, 110], "excluded_lines": [], "start_line": 101, "executed_branches": [], "missing_branches": [[102, 103], [102, 104], [104, 105], [104, 110]]}, "_validate_vlm_parameters": {"executed_lines": [180, 188, 193, 194, 195, 198, 199, 200, 203], "summary": {"covered_lines": 9, "num_statements": 16, "percent_covered": 60.714285714285715, "percent_covered_display": "61", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 56.25, "percent_statements_covered_display": "56", "num_branches": 12, "num_partial_branches": 4, "covered_branches": 8, "missing_branches": 4, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [181, 182, 183, 184, 189, 196, 201], "excluded_lines": [], "start_line": 163, "executed_branches": [[180, 188], [188, 193], [194, 195], [194, 198], [195, 194], [199, 200], [199, 203], [200, 199]], "missing_branches": [[180, 181], [188, 189], [195, 196], [200, 201]]}, "validate_vlm_parameters": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [212], "excluded_lines": [], "start_line": 211, "executed_branches": [], "missing_branches": []}, "from_paligemma": {"executed_lines": [235, 237, 240, 241, 243, 244, 246, 247, 248, 249, 251, 252, 253, 254, 255, 257], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 215, "executed_branches": [[243, 244], [243, 246], [251, 252], [251, 257]], "missing_branches": []}, "recover_truncated_qwen_2_5_vl_response": {"executed_lines": [276, 277, 278, 279, 280, 282, 283, 286, 288, 289, 292, 293, 295, 298, 300, 301, 302], "summary": {"covered_lines": 17, "num_statements": 20, "percent_covered": 78.57142857142857, "percent_covered_display": "79", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 85.0, "percent_statements_covered_display": "85", "num_branches": 8, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 3, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [284, 290, 296], "excluded_lines": [], "start_line": 260, "executed_branches": [[278, 279], [278, 280], [283, 286], [289, 292], [295, 298]], "missing_branches": [[283, 284], [289, 290], [295, 296]]}, "from_qwen_2_5_vl": {"executed_lines": [337, 338, 340, 341, 342, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 356, 357, 358, 359, 365, 366, 368, 369, 371, 372, 373, 374, 375, 377, 378, 380, 381, 383, 384, 386, 388, 389, 390, 391, 392, 394], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [311], "start_line": 305, "executed_branches": [[346, 347], [346, 349], [353, 354], [353, 356], [365, 366], [365, 368], [371, 372], [371, 377], [372, 373], [372, 374], [377, 378], [377, 380], [388, 389], [388, 394]], "missing_branches": []}, "from_qwen_3_vl": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [416], "excluded_lines": [], "start_line": 397, "executed_branches": [], "missing_branches": []}, "from_deepseek_vl_2": {"executed_lines": [453, 454, 455, 457, 458, 463, 464, 465, 466, 467, 468, 469, 477, 479, 480, 482, 483, 484, 485, 486, 488, 489, 490, 492], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 424, "executed_branches": [[457, 458], [457, 463], [465, 466], [465, 479], [467, 465], [467, 468], [482, 483], [482, 488]], "missing_branches": []}, "from_florence_2": {"executed_lines": [519, 520, 521, 522, 525, 527, 528, 529, 530, 532, 533, 535, 537, 538, 539, 540, 541, 542, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 557, 558, 559, 561, 562, 563, 565, 567, 568, 572, 573, 575, 576, 577, 581, 582, 583, 584, 585, 586], "summary": {"covered_lines": 48, "num_statements": 49, "percent_covered": 97.10144927536231, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.95918367346938, "percent_statements_covered_display": "98", "num_branches": 20, "num_partial_branches": 1, "covered_branches": 19, "missing_branches": 1, "percent_branches_covered": 95.0, "percent_branches_covered_display": "95"}, "missing_lines": [588], "excluded_lines": [], "start_line": 495, "executed_branches": [[521, 522], [521, 525], [527, 528], [527, 532], [532, 533], [532, 537], [537, 538], [537, 544], [544, 545], [544, 561], [547, 548], [547, 557], [548, 547], [548, 549], [561, 562], [561, 567], [567, 568], [572, 573], [572, 575]], "missing_branches": [[567, 588]]}, "_extract_json_from_backticks": {"executed_lines": [592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 591, "executed_branches": [[593, 594], [593, 598], [594, 593], [594, 595]], "missing_branches": []}, "_build_empty_gemini_2_5_result": {"executed_lines": [612], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 605, "executed_branches": [], "missing_branches": []}, "_parse_gemini_2_5_item": {"executed_lines": [631, 632, 634, 636, 642, 645, 649], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 621, "executed_branches": [[631, 632], [631, 634]], "missing_branches": []}, "_collect_gemini_2_5_items": {"executed_lines": [664, 665, 666, 667, 668, 669, 671, 672, 673, 674, 676, 677, 678, 680, 681, 682, 683, 685, 686, 687, 688, 690], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 2, "covered_branches": 10, "missing_branches": 2, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [], "excluded_lines": [], "start_line": 652, "executed_branches": [[671, 672], [671, 690], [673, 674], [673, 676], [680, 681], [680, 682], [682, 683], [685, 686], [685, 687], [687, 688]], "missing_branches": [[682, 685], [687, 671]]}, "_filter_gemini_2_5_results": {"executed_lines": [706, 707, 708, 709, 711, 712, 714, 715, 717], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 693, "executed_branches": [[711, 712], [711, 714], [714, 715], [714, 717]], "missing_branches": []}, "_build_gemini_2_5_class_id": {"executed_lines": [723, 724, 725], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 720, "executed_branches": [], "missing_branches": []}, "_decode_mask_for_item": {"executed_lines": [734, 735, 738, 740, 741, 742, 743, 747, 748, 749, 750, 752, 753, 757, 758, 759], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 82.6086956521739, "percent_covered_display": "83", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 84.21052631578948, "percent_statements_covered_display": "84", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [744, 745, 761], "excluded_lines": [], "start_line": 728, "executed_branches": [[735, 738], [735, 740], [752, 753]], "missing_branches": [[752, 761]]}, "from_google_gemini_2_0": {"executed_lines": [803, 805, 806, 807, 809, 810, 812, 813, 814, 815, 816, 818, 820, 821, 823, 828, 829, 831, 832, 833, 834, 835, 837], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [769], "start_line": 764, "executed_branches": [[806, 807], [806, 809], [812, 813], [812, 820], [813, 814], [813, 815], [820, 821], [820, 823], [831, 832], [831, 837]], "missing_branches": []}, "from_google_gemini_2_5": {"executed_lines": [883, 885, 886, 887, 889, 898, 899, 901, 902, 903, 906, 909, 910, 918, 920], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [851], "start_line": 840, "executed_branches": [[886, 887], [886, 889], [898, 899], [898, 901], [909, 910], [909, 918]], "missing_branches": []}, "from_moondream": {"executed_lines": [955, 956, 957, 961, 962, 964, 966, 967, 968, 970, 971, 972, 973, 975, 977, 978, 980], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [927], "start_line": 923, "executed_branches": [[956, 957], [956, 961], [961, 962], [961, 964], [966, 967], [966, 977], [967, 968], [967, 970], [977, 978], [977, 980]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19, 22, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 53, 54, 73, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 100, 101, 116, 127, 138, 149, 163, 206, 211, 215, 260, 305, 397, 424, 495, 591, 605, 621, 652, 693, 720, 728, 764, 840, 923], "summary": {"covered_lines": 65, "num_statements": 65, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"LMM": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [51, 55, 59, 60, 61, 62, 63, 64, 65, 66, 67], "excluded_lines": [], "start_line": 22, "executed_branches": [], "missing_branches": [[59, 60], [59, 61], [61, 62], [61, 67]]}, "VLM": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [98, 102, 103, 104, 105, 106, 107, 108, 109, 110], "excluded_lines": [], "start_line": 73, "executed_branches": [], "missing_branches": [[102, 103], [102, 104], [104, 105], [104, 110]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19, 22, 40, 41, 42, 43, 44, 45, 46, 47, 49, 50, 53, 54, 73, 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, 100, 101, 116, 127, 138, 149, 163, 180, 188, 193, 194, 195, 198, 199, 200, 203, 206, 211, 215, 235, 237, 240, 241, 243, 244, 246, 247, 248, 249, 251, 252, 253, 254, 255, 257, 260, 276, 277, 278, 279, 280, 282, 283, 286, 288, 289, 292, 293, 295, 298, 300, 301, 302, 305, 337, 338, 340, 341, 342, 344, 345, 346, 347, 349, 350, 351, 352, 353, 354, 356, 357, 358, 359, 365, 366, 368, 369, 371, 372, 373, 374, 375, 377, 378, 380, 381, 383, 384, 386, 388, 389, 390, 391, 392, 394, 397, 424, 453, 454, 455, 457, 458, 463, 464, 465, 466, 467, 468, 469, 477, 479, 480, 482, 483, 484, 485, 486, 488, 489, 490, 492, 495, 519, 520, 521, 522, 525, 527, 528, 529, 530, 532, 533, 535, 537, 538, 539, 540, 541, 542, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 557, 558, 559, 561, 562, 563, 565, 567, 568, 572, 573, 575, 576, 577, 581, 582, 583, 584, 585, 586, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 605, 612, 621, 631, 632, 634, 636, 642, 645, 649, 652, 664, 665, 666, 667, 668, 669, 671, 672, 673, 674, 676, 677, 678, 680, 681, 682, 683, 685, 686, 687, 688, 690, 693, 706, 707, 708, 709, 711, 712, 714, 715, 717, 720, 723, 724, 725, 728, 734, 735, 738, 740, 741, 742, 743, 747, 748, 749, 750, 752, 753, 757, 758, 759, 764, 803, 805, 806, 807, 809, 810, 812, 813, 814, 815, 816, 818, 820, 821, 823, 828, 829, 831, 832, 833, 834, 835, 837, 840, 883, 885, 886, 887, 889, 898, 899, 901, 902, 903, 906, 909, 910, 918, 920, 923, 955, 956, 957, 961, 962, 964, 966, 967, 968, 970, 971, 972, 973, 975, 977, 978, 980], "summary": {"covered_lines": 344, "num_statements": 360, "percent_covered": 94.35146443514644, "percent_covered_display": "94", "missing_lines": 16, "excluded_lines": 4, "percent_statements_covered": 95.55555555555556, "percent_statements_covered_display": "96", "num_branches": 118, "num_partial_branches": 11, "covered_branches": 107, "missing_branches": 11, "percent_branches_covered": 90.67796610169492, "percent_branches_covered_display": "91"}, "missing_lines": [181, 182, 183, 184, 189, 196, 201, 212, 284, 290, 296, 416, 588, 744, 745, 761], "excluded_lines": [311, 769, 851, 927], "start_line": 1, "executed_branches": [[180, 188], [188, 193], [194, 195], [194, 198], [195, 194], [199, 200], [199, 203], [200, 199], [243, 244], [243, 246], [251, 252], [251, 257], [278, 279], [278, 280], [283, 286], [289, 292], [295, 298], [346, 347], [346, 349], [353, 354], [353, 356], [365, 366], [365, 368], [371, 372], [371, 377], [372, 373], [372, 374], [377, 378], [377, 380], [388, 389], [388, 394], [457, 458], [457, 463], [465, 466], [465, 479], [467, 465], [467, 468], [482, 483], [482, 488], [521, 522], [521, 525], [527, 528], [527, 532], [532, 533], [532, 537], [537, 538], [537, 544], [544, 545], [544, 561], [547, 548], [547, 557], [548, 547], [548, 549], [561, 562], [561, 567], [567, 568], [572, 573], [572, 575], [593, 594], [593, 598], [594, 593], [594, 595], [631, 632], [631, 634], [671, 672], [671, 690], [673, 674], [673, 676], [680, 681], [680, 682], [682, 683], [685, 686], [685, 687], [687, 688], [711, 712], [711, 714], [714, 715], [714, 717], [735, 738], [735, 740], [752, 753], [806, 807], [806, 809], [812, 813], [812, 820], [813, 814], [813, 815], [820, 821], [820, 823], [831, 832], [831, 837], [886, 887], [886, 889], [898, 899], [898, 901], [909, 910], [909, 918], [956, 957], [956, 961], [961, 962], [961, 964], [966, 967], [966, 977], [967, 968], [967, 970], [977, 978], [977, 980]], "missing_branches": [[180, 181], [188, 189], [195, 196], [200, 201], [283, 284], [289, 290], [295, 296], [567, 588], [682, 685], [687, 671], [752, 761]]}}}, "src\\supervision\\draw\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\draw\\base.py": {"executed_lines": [1, 3, 4, 5, 7, 8], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [1, 3, 4, 5, 7, 8], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\draw\\color.py": {"executed_lines": [1, 3, 4, 6, 8, 10, 34, 54, 57, 58, 59, 60, 61, 62, 65, 66, 100, 101, 102, 103, 105, 106, 134, 135, 136, 137, 138, 139, 141, 142, 143, 145, 146, 148, 149, 171, 172, 173, 174, 176, 177, 199, 200, 201, 202, 204, 205, 227, 228, 229, 232, 234, 235, 257, 258, 259, 262, 264, 283, 284, 285, 287, 302, 304, 319, 321, 336, 338, 353, 355, 356, 357, 359, 360, 361, 363, 364, 365, 367, 368, 369, 371, 372, 373, 375, 376, 377, 379, 380, 381, 383, 384, 385, 387, 388, 390, 391, 392, 393, 395, 396, 405, 406, 407, 409, 410, 428, 430, 431, 451, 452, 455, 456, 475, 476, 478, 479, 512, 532, 534, 535, 537, 547, 568, 571, 572], "summary": {"covered_lines": 126, "num_statements": 137, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 91.97080291970804, "percent_statements_covered_display": "92", "num_branches": 28, "num_partial_branches": 2, "covered_branches": 24, "missing_branches": 4, "percent_branches_covered": 85.71428571428571, "percent_branches_covered_display": "86"}, "missing_lines": [449, 453, 501, 503, 504, 506, 508, 533, 544, 569, 570], "excluded_lines": [], "executed_branches": [[59, 60], [59, 61], [61, -57], [61, 62], [136, 137], [136, 138], [138, 139], [138, 141], [141, 142], [141, 145], [172, 173], [172, 174], [200, 201], [200, 202], [228, 229], [228, 232], [258, 259], [258, 262], [283, 284], [283, 285], [391, 392], [391, 393], [532, 534], [568, 571]], "missing_branches": [[503, 504], [503, 506], [532, 533], [568, 569]], "functions": {"_validate_color_hex": {"executed_lines": [58, 59, 60, 61, 62], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57, "executed_branches": [[59, 60], [59, 61], [61, -57], [61, 62]], "missing_branches": []}, "Color.from_hex": {"executed_lines": [134, 135, 136, 137, 138, 139, 141, 142, 143, 145, 146], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 106, "executed_branches": [[136, 137], [136, 138], [138, 139], [138, 141], [141, 142], [141, 145]], "missing_branches": []}, "Color.from_rgb_tuple": {"executed_lines": [171, 172, 173, 174], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149, "executed_branches": [[172, 173], [172, 174]], "missing_branches": []}, "Color.from_bgr_tuple": {"executed_lines": [199, 200, 201, 202], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 177, "executed_branches": [[200, 201], [200, 202]], "missing_branches": []}, "Color.from_rgba_tuple": {"executed_lines": [227, 228, 229, 232], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 205, "executed_branches": [[228, 229], [228, 232]], "missing_branches": []}, "Color.from_bgra_tuple": {"executed_lines": [257, 258, 259, 262], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 235, "executed_branches": [[258, 259], [258, 262]], "missing_branches": []}, "Color.as_hex": {"executed_lines": [283, 284, 285], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 264, "executed_branches": [[283, 284], [283, 285]], "missing_branches": []}, "Color.as_rgb": {"executed_lines": [302], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 287, "executed_branches": [], "missing_branches": []}, "Color.as_bgr": {"executed_lines": [319], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 304, "executed_branches": [], "missing_branches": []}, "Color.as_rgba": {"executed_lines": [336], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 321, "executed_branches": [], "missing_branches": []}, "Color.as_bgra": {"executed_lines": [353], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 338, "executed_branches": [], "missing_branches": []}, "Color.WHITE": {"executed_lines": [357], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 356, "executed_branches": [], "missing_branches": []}, "Color.BLACK": {"executed_lines": [361], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 360, "executed_branches": [], "missing_branches": []}, "Color.GREY": {"executed_lines": [365], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 364, "executed_branches": [], "missing_branches": []}, "Color.RED": {"executed_lines": [369], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 368, "executed_branches": [], "missing_branches": []}, "Color.GREEN": {"executed_lines": [373], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 372, "executed_branches": [], "missing_branches": []}, "Color.BLUE": {"executed_lines": [377], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 376, "executed_branches": [], "missing_branches": []}, "Color.YELLOW": {"executed_lines": [381], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 380, "executed_branches": [], "missing_branches": []}, "Color.ROBOFLOW": {"executed_lines": [385], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 384, "executed_branches": [], "missing_branches": []}, "Color.__hash__": {"executed_lines": [388], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 387, "executed_branches": [], "missing_branches": []}, "Color.__repr__": {"executed_lines": [391, 392, 393], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 390, "executed_branches": [[391, 392], [391, 393]], "missing_branches": []}, "Color.__eq__": {"executed_lines": [396], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 395, "executed_branches": [], "missing_branches": []}, "ColorPalette.DEFAULT": {"executed_lines": [428], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 410, "executed_branches": [], "missing_branches": []}, "ColorPalette.ROBOFLOW": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [449], "excluded_lines": [], "start_line": 431, "executed_branches": [], "missing_branches": []}, "ColorPalette.LEGACY": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [453], "excluded_lines": [], "start_line": 452, "executed_branches": [], "missing_branches": []}, "ColorPalette.from_hex": {"executed_lines": [475, 476], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 456, "executed_branches": [], "missing_branches": []}, "ColorPalette.from_matplotlib": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [501, 503, 504, 506, 508], "excluded_lines": [], "start_line": 479, "executed_branches": [], "missing_branches": [[503, 504], [503, 506]]}, "ColorPalette.by_idx": {"executed_lines": [532, 534, 535], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [533], "excluded_lines": [], "start_line": 512, "executed_branches": [[532, 534]], "missing_branches": [[532, 533]]}, "ColorPalette.__len__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [544], "excluded_lines": [], "start_line": 537, "executed_branches": [], "missing_branches": []}, "unify_to_bgr": {"executed_lines": [568, 571, 572], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [569, 570], "excluded_lines": [], "start_line": 547, "executed_branches": [[568, 571]], "missing_branches": [[568, 569]]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 34, 54, 57, 65, 66, 100, 101, 102, 103, 105, 106, 148, 149, 176, 177, 204, 205, 234, 235, 264, 287, 304, 321, 338, 355, 356, 359, 360, 363, 364, 367, 368, 371, 372, 375, 376, 379, 380, 383, 384, 387, 390, 395, 405, 406, 407, 409, 410, 430, 431, 451, 452, 455, 456, 478, 479, 512, 537, 547], "summary": {"covered_lines": 65, "num_statements": 65, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Color": {"executed_lines": [134, 135, 136, 137, 138, 139, 141, 142, 143, 145, 146, 171, 172, 173, 174, 199, 200, 201, 202, 227, 228, 229, 232, 257, 258, 259, 262, 283, 284, 285, 302, 319, 336, 353, 357, 361, 365, 369, 373, 377, 381, 385, 388, 391, 392, 393, 396], "summary": {"covered_lines": 47, "num_statements": 47, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 18, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66, "executed_branches": [[136, 137], [136, 138], [138, 139], [138, 141], [141, 142], [141, 145], [172, 173], [172, 174], [200, 201], [200, 202], [228, 229], [228, 232], [258, 259], [258, 262], [283, 284], [283, 285], [391, 392], [391, 393]], "missing_branches": []}, "ColorPalette": {"executed_lines": [428, 475, 476, 532, 534, 535], "summary": {"covered_lines": 6, "num_statements": 15, "percent_covered": 36.8421052631579, "percent_covered_display": "37", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 40.0, "percent_statements_covered_display": "40", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 3, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [449, 453, 501, 503, 504, 506, 508, 533, 544], "excluded_lines": [], "start_line": 406, "executed_branches": [[532, 534]], "missing_branches": [[503, 504], [503, 506], [532, 533]]}, "": {"executed_lines": [1, 3, 4, 6, 8, 10, 34, 54, 57, 58, 59, 60, 61, 62, 65, 66, 100, 101, 102, 103, 105, 106, 148, 149, 176, 177, 204, 205, 234, 235, 264, 287, 304, 321, 338, 355, 356, 359, 360, 363, 364, 367, 368, 371, 372, 375, 376, 379, 380, 383, 384, 387, 390, 395, 405, 406, 407, 409, 410, 430, 431, 451, 452, 455, 456, 478, 479, 512, 537, 547, 568, 571, 572], "summary": {"covered_lines": 73, "num_statements": 75, "percent_covered": 96.29629629629629, "percent_covered_display": "96", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 97.33333333333333, "percent_statements_covered_display": "97", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [569, 570], "excluded_lines": [], "start_line": 1, "executed_branches": [[59, 60], [59, 61], [61, -57], [61, 62], [568, 571]], "missing_branches": [[568, 569]]}}}, "src\\supervision\\draw\\utils.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 14, 44, 62, 69, 72, 114, 166, 183, 186, 189, 206, 209, 210, 211, 215, 218, 267, 274, 276, 283, 288, 298, 301, 371, 396], "summary": {"covered_lines": 33, "num_statements": 78, "percent_covered": 35.714285714285715, "percent_covered_display": "36", "missing_lines": 45, "excluded_lines": 0, "percent_statements_covered": 42.30769230769231, "percent_statements_covered_display": "42", "num_branches": 20, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 18, "percent_branches_covered": 10.0, "percent_branches_covered_display": "10"}, "missing_lines": [34, 41, 90, 91, 99, 100, 107, 111, 132, 133, 134, 136, 140, 147, 148, 155, 156, 163, 207, 284, 325, 326, 327, 328, 331, 332, 334, 335, 336, 337, 339, 345, 348, 349, 350, 355, 358, 359, 360, 366, 368, 393, 418, 419, 420], "excluded_lines": [], "executed_branches": [[206, 209], [283, 288]], "missing_branches": [[90, 91], [90, 99], [147, 148], [147, 155], [155, 156], [155, 163], [206, 207], [283, 284], [325, 326], [325, 331], [326, 327], [326, 328], [331, 332], [331, 334], [339, 345], [339, 348], [418, 419], [418, 420]], "functions": {"draw_line": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [34, 41], "excluded_lines": [], "start_line": 14, "executed_branches": [], "missing_branches": []}, "draw_rectangle": {"executed_lines": [62, 69], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44, "executed_branches": [], "missing_branches": []}, "draw_filled_rectangle": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [90, 91, 99, 100, 107, 111], "excluded_lines": [], "start_line": 72, "executed_branches": [], "missing_branches": [[90, 91], [90, 99]]}, "draw_rounded_rectangle": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [132, 133, 134, 136, 140, 147, 148, 155, 156, 163], "excluded_lines": [], "start_line": 114, "executed_branches": [], "missing_branches": [[147, 148], [147, 155], [155, 156], [155, 163]]}, "draw_polygon": {"executed_lines": [183, 186], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 166, "executed_branches": [], "missing_branches": []}, "draw_filled_polygon": {"executed_lines": [206, 209, 210, 211, 215], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [207], "excluded_lines": [], "start_line": 189, "executed_branches": [[206, 209]], "missing_branches": [[206, 207]]}, "draw_text": {"executed_lines": [267, 274, 276, 283, 288, 298], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [284], "excluded_lines": [], "start_line": 218, "executed_branches": [[283, 288]], "missing_branches": [[283, 284]]}, "draw_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 21, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [325, 326, 327, 328, 331, 332, 334, 335, 336, 337, 339, 345, 348, 349, 350, 355, 358, 359, 360, 366, 368], "excluded_lines": [], "start_line": 301, "executed_branches": [], "missing_branches": [[325, 326], [325, 331], [326, 327], [326, 328], [331, 332], [331, 334], [339, 345], [339, 348]]}, "calculate_optimal_text_scale": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [393], "excluded_lines": [], "start_line": 371, "executed_branches": [], "missing_branches": []}, "calculate_optimal_line_thickness": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [418, 419, 420], "excluded_lines": [], "start_line": 396, "executed_branches": [], "missing_branches": [[418, 419], [418, 420]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 14, 44, 72, 114, 166, 189, 218, 301, 371, 396], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 14, 44, 62, 69, 72, 114, 166, 183, 186, 189, 206, 209, 210, 211, 215, 218, 267, 274, 276, 283, 288, 298, 301, 371, 396], "summary": {"covered_lines": 33, "num_statements": 78, "percent_covered": 35.714285714285715, "percent_covered_display": "36", "missing_lines": 45, "excluded_lines": 0, "percent_statements_covered": 42.30769230769231, "percent_statements_covered_display": "42", "num_branches": 20, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 18, "percent_branches_covered": 10.0, "percent_branches_covered_display": "10"}, "missing_lines": [34, 41, 90, 91, 99, 100, 107, 111, 132, 133, 134, 136, 140, 147, 148, 155, 156, 163, 207, 284, 325, 326, 327, 328, 331, 332, 334, 335, 336, 337, 339, 345, 348, 349, 350, 355, 358, 359, 360, 366, 368, 393, 418, 419, 420], "excluded_lines": [], "start_line": 1, "executed_branches": [[206, 209], [283, 288]], "missing_branches": [[90, 91], [90, 99], [147, 148], [147, 155], [155, 156], [155, 163], [206, 207], [283, 284], [325, 326], [325, 331], [326, 327], [326, 328], [331, 332], [331, 334], [339, 345], [339, 348], [418, 419], [418, 420]]}}}, "src\\supervision\\geometry\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\geometry\\core.py": {"executed_lines": [1, 3, 4, 5, 8, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 29, 30, 50, 51, 53, 60, 62, 72, 73, 95, 96, 98, 99, 106, 107, 108, 110, 111, 118, 123, 138, 139, 140, 141, 142, 145, 146, 170, 171, 172, 173, 175, 176, 180, 181, 182, 184, 185, 186, 188, 189, 196], "summary": {"covered_lines": 59, "num_statements": 64, "percent_covered": 92.1875, "percent_covered_display": "92", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 92.1875, "percent_statements_covered_display": "92", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [26, 69, 177, 178, 197], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"Position.list": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [26], "excluded_lines": [], "start_line": 25, "executed_branches": [], "missing_branches": []}, "Point.as_xy_int_tuple": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53, "executed_branches": [], "missing_branches": []}, "Point.as_xy_float_tuple": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [69], "excluded_lines": [], "start_line": 62, "executed_branches": [], "missing_branches": []}, "Vector.magnitude": {"executed_lines": [106, 107, 108], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99, "executed_branches": [], "missing_branches": []}, "Vector.center": {"executed_lines": [118], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 111, "executed_branches": [], "missing_branches": []}, "Vector.cross_product": {"executed_lines": [138, 139, 140, 141, 142], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 123, "executed_branches": [], "missing_branches": []}, "Rect.from_xyxy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [177, 178], "excluded_lines": [], "start_line": 176, "executed_branches": [], "missing_branches": []}, "Rect.top_left": {"executed_lines": [182], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 181, "executed_branches": [], "missing_branches": []}, "Rect.bottom_right": {"executed_lines": [186], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 185, "executed_branches": [], "missing_branches": []}, "Rect.pad": {"executed_lines": [189], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 188, "executed_branches": [], "missing_branches": []}, "Rect.as_xyxy_int_tuple": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [197], "excluded_lines": [], "start_line": 196, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 29, 30, 50, 51, 53, 62, 72, 73, 95, 96, 98, 99, 110, 111, 123, 145, 146, 170, 171, 172, 173, 175, 176, 180, 181, 184, 185, 188, 196], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Position": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [26], "excluded_lines": [], "start_line": 8, "executed_branches": [], "missing_branches": []}, "Point": {"executed_lines": [60], "summary": {"covered_lines": 1, "num_statements": 2, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [69], "excluded_lines": [], "start_line": 30, "executed_branches": [], "missing_branches": []}, "Vector": {"executed_lines": [106, 107, 108, 118, 138, 139, 140, 141, 142], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73, "executed_branches": [], "missing_branches": []}, "Rect": {"executed_lines": [182, 186, 189], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [177, 178, 197], "excluded_lines": [], "start_line": 146, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24, 25, 29, 30, 50, 51, 53, 62, 72, 73, 95, 96, 98, 99, 110, 111, 123, 145, 146, 170, 171, 172, 173, 175, 176, 180, 181, 184, 185, 188, 196], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\geometry\\utils.py": {"executed_lines": [1, 2, 4, 7, 40, 43, 44, 45, 48, 49, 51], "summary": {"covered_lines": 11, "num_statements": 14, "percent_covered": 72.22222222222223, "percent_covered_display": "72", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 78.57142857142857, "percent_statements_covered_display": "79", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [41, 46, 47], "excluded_lines": [], "executed_branches": [[40, 43], [45, 48]], "missing_branches": [[40, 41], [45, 46]], "functions": {"get_polygon_center": {"executed_lines": [40, 43, 44, 45, 48, 49, 51], "summary": {"covered_lines": 7, "num_statements": 10, "percent_covered": 64.28571428571429, "percent_covered_display": "64", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 70.0, "percent_statements_covered_display": "70", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [41, 46, 47], "excluded_lines": [], "start_line": 7, "executed_branches": [[40, 43], [45, 48]], "missing_branches": [[40, 41], [45, 46]]}, "": {"executed_lines": [1, 2, 4, 7], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 7, 40, 43, 44, 45, 48, 49, 51], "summary": {"covered_lines": 11, "num_statements": 14, "percent_covered": 72.22222222222223, "percent_covered_display": "72", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 78.57142857142857, "percent_statements_covered_display": "79", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [41, 46, 47], "excluded_lines": [], "start_line": 1, "executed_branches": [[40, 43], [45, 48]], "missing_branches": [[40, 41], [45, 46]]}}}, "src\\supervision\\key_points\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\key_points\\annotators.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 26, 30, 37, 47, 48, 50, 51, 87, 88, 89, 91, 92, 93, 95, 99, 100, 108, 111, 117, 136, 137, 138, 140, 141, 208, 209, 210, 212, 213, 227, 228, 230, 231, 232, 233, 234, 236, 237, 238, 239, 240, 241, 243, 244, 248, 250, 258, 261, 268, 274, 277, 279, 280, 281, 282, 283, 284, 285, 291, 294, 295, 296, 298, 299, 300, 301, 304, 307, 308, 309, 313, 315, 319, 321, 322, 325, 327, 328, 330, 334, 335, 338, 339, 340, 342, 346, 347, 348, 349, 351, 352, 355, 356, 357, 358, 359, 360, 364, 367, 370, 383, 402, 403, 405, 406, 448, 449, 450, 452, 453, 454, 455, 467, 468, 471, 482, 500, 501, 503, 504, 547, 548, 549, 551, 552, 553, 565, 568, 581, 583, 602, 603, 605, 606, 648, 649, 650, 652, 653, 655, 656, 657, 658, 661, 662, 663, 664, 666, 667, 668, 669, 670, 673, 674, 675, 677, 678, 679, 680, 681, 683, 684, 686, 687, 689, 691, 692, 693, 694, 696, 697, 700, 703, 709, 740, 907, 908, 929, 930, 936, 937, 940, 941, 942, 946, 947, 948, 950, 952, 953, 957, 959, 960, 965, 966, 967, 971, 972], "summary": {"covered_lines": 217, "num_statements": 282, "percent_covered": 75.62814070351759, "percent_covered_display": "76", "missing_lines": 65, "excluded_lines": 0, "percent_statements_covered": 76.95035460992908, "percent_statements_covered_display": "77", "num_branches": 116, "num_partial_branches": 10, "covered_branches": 84, "missing_branches": 32, "percent_branches_covered": 72.41379310344827, "percent_branches_covered_display": "72"}, "missing_lines": [27, 94, 214, 219, 220, 224, 225, 226, 242, 286, 320, 323, 324, 326, 341, 350, 659, 671, 732, 733, 734, 735, 736, 737, 738, 827, 828, 830, 831, 832, 834, 835, 836, 837, 839, 840, 842, 845, 846, 847, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 864, 865, 867, 879, 881, 882, 883, 885, 888, 894, 905, 915, 921, 922], "excluded_lines": [], "executed_branches": [[88, 89], [88, 91], [91, 92], [91, 108], [92, 91], [92, 93], [93, 95], [95, 99], [95, 100], [209, 210], [209, 212], [212, 213], [212, 258], [213, 227], [227, 228], [227, 230], [231, 232], [231, 234], [236, 212], [236, 237], [241, 243], [243, 244], [243, 250], [244, 248], [244, 250], [279, 280], [279, 281], [281, 282], [281, 283], [283, 284], [283, 285], [285, 291], [300, 301], [300, 304], [308, 309], [308, 313], [319, 321], [325, 327], [338, 339], [338, 367], [339, 338], [339, 340], [340, 342], [342, 346], [342, 347], [349, 351], [356, 339], [356, 357], [358, 359], [358, 360], [449, 450], [449, 452], [453, 454], [453, 467], [454, 453], [454, 455], [548, 549], [548, 551], [551, 552], [551, 565], [552, 551], [552, 553], [649, 650], [649, 652], [655, 656], [655, 696], [656, 655], [656, 657], [658, 661], [670, 673], [936, 937], [936, 940], [940, 941], [940, 950], [941, 942], [941, 946], [946, 947], [946, 948], [952, 953], [952, 957], [965, 966], [965, 972], [966, 967], [966, 971]], "missing_branches": [[93, 94], [213, 214], [219, 220], [219, 224], [224, 225], [224, 226], [241, 242], [285, 286], [319, 320], [325, 326], [340, 341], [349, 350], [658, 659], [670, 671], [831, 832], [831, 834], [839, 840], [839, 864], [851, 839], [851, 852], [852, 853], [852, 855], [853, 854], [853, 858], [855, 856], [855, 858], [864, 865], [864, 867], [881, 882], [881, 885], [885, 888], [885, 905]], "functions": {"BaseKeyPointAnnotator.annotate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [27], "excluded_lines": [], "start_line": 26, "executed_branches": [], "missing_branches": []}, "VertexAnnotator.__init__": {"executed_lines": [47, 48], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37, "executed_branches": [], "missing_branches": []}, "VertexAnnotator.annotate": {"executed_lines": [87, 88, 89, 91, 92, 93, 95, 99, 100, 108], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 90.47619047619048, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [94], "excluded_lines": [], "start_line": 51, "executed_branches": [[88, 89], [88, 91], [91, 92], [91, 108], [92, 91], [92, 93], [93, 95], [95, 99], [95, 100]], "missing_branches": [[93, 94]]}, "EdgeAnnotator.__init__": {"executed_lines": [136, 137, 138], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 117, "executed_branches": [], "missing_branches": []}, "EdgeAnnotator.annotate": {"executed_lines": [208, 209, 210, 212, 213, 227, 228, 230, 231, 232, 233, 234, 236, 237, 238, 239, 240, 241, 243, 244, 248, 250, 258], "summary": {"covered_lines": 23, "num_statements": 30, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 76.66666666666667, "percent_statements_covered_display": "77", "num_branches": 22, "num_partial_branches": 2, "covered_branches": 16, "missing_branches": 6, "percent_branches_covered": 72.72727272727273, "percent_branches_covered_display": "73"}, "missing_lines": [214, 219, 220, 224, 225, 226, 242], "excluded_lines": [], "start_line": 141, "executed_branches": [[209, 210], [209, 212], [212, 213], [212, 258], [213, 227], [227, 228], [227, 230], [231, 232], [231, 234], [236, 212], [236, 237], [241, 243], [243, 244], [243, 250], [244, 248], [244, 250]], "missing_branches": [[213, 214], [219, 220], [219, 224], [224, 225], [224, 226], [241, 242]]}, "_BaseVertexEllipseAnnotator.__init__": {"executed_lines": [274, 277, 279, 280, 281, 282, 283, 284, 285, 291, 294, 295, 296], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [286], "excluded_lines": [], "start_line": 268, "executed_branches": [[279, 280], [279, 281], [281, 282], [281, 283], [283, 284], [283, 285], [285, 291]], "missing_branches": [[285, 286]]}, "_BaseVertexEllipseAnnotator._get_covariances": {"executed_lines": [299, 300, 301, 304, 307, 308, 309, 313], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 298, "executed_branches": [[300, 301], [300, 304], [308, 309], [308, 313]], "missing_branches": []}, "_BaseVertexEllipseAnnotator._decompose_covariance": {"executed_lines": [319, 321, 322, 325, 327, 328], "summary": {"covered_lines": 6, "num_statements": 10, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [320, 323, 324, 326], "excluded_lines": [], "start_line": 315, "executed_branches": [[319, 321], [325, 327]], "missing_branches": [[319, 320], [325, 326]]}, "_BaseVertexEllipseAnnotator._iter_ellipse_params": {"executed_lines": [334, 335, 338, 339, 340, 342, 346, 347, 348, 349, 351, 352, 355, 356, 357, 358, 359, 360, 364, 367], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 14, "num_partial_branches": 2, "covered_branches": 12, "missing_branches": 2, "percent_branches_covered": 85.71428571428571, "percent_branches_covered_display": "86"}, "missing_lines": [341, 350], "excluded_lines": [], "start_line": 330, "executed_branches": [[338, 339], [338, 367], [339, 338], [339, 340], [340, 342], [342, 346], [342, 347], [349, 351], [356, 339], [356, 357], [358, 359], [358, 360]], "missing_branches": [[340, 341], [349, 350]]}, "VertexEllipseAreaAnnotator.__init__": {"executed_lines": [402, 403], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 383, "executed_branches": [], "missing_branches": []}, "VertexEllipseAreaAnnotator.annotate": {"executed_lines": [448, 449, 450, 452, 453, 454, 455, 467, 468], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 406, "executed_branches": [[449, 450], [449, 452], [453, 454], [453, 467], [454, 453], [454, 455]], "missing_branches": []}, "VertexEllipseOutlineAnnotator.__init__": {"executed_lines": [500, 501], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 482, "executed_branches": [], "missing_branches": []}, "VertexEllipseOutlineAnnotator.annotate": {"executed_lines": [547, 548, 549, 551, 552, 553, 565], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 504, "executed_branches": [[548, 549], [548, 551], [551, 552], [551, 565], [552, 551], [552, 553]], "missing_branches": []}, "VertexEllipseHaloAnnotator.__init__": {"executed_lines": [602, 603], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 583, "executed_branches": [], "missing_branches": []}, "VertexEllipseHaloAnnotator.annotate": {"executed_lines": [648, 649, 650, 652, 653, 655, 656, 657, 658, 661, 662, 663, 664, 666, 667, 668, 669, 670, 673, 674, 675, 677, 678, 679, 680, 681, 683, 684, 686, 687, 689, 691, 692, 693, 694, 696, 697], "summary": {"covered_lines": 37, "num_statements": 39, "percent_covered": 91.83673469387755, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 94.87179487179488, "percent_statements_covered_display": "95", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [659, 671], "excluded_lines": [], "start_line": 606, "executed_branches": [[649, 650], [649, 652], [655, 656], [655, 696], [656, 655], [656, 657], [658, 661], [670, 673]], "missing_branches": [[658, 659], [670, 671]]}, "VertexLabelAnnotator.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [732, 733, 734, 735, 736, 737, 738], "excluded_lines": [], "start_line": 709, "executed_branches": [], "missing_branches": []}, "VertexLabelAnnotator.annotate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 37, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 37, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 18, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [827, 828, 830, 831, 832, 834, 835, 836, 837, 839, 840, 842, 845, 846, 847, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 864, 865, 867, 879, 881, 882, 883, 885, 888, 894, 905], "excluded_lines": [], "start_line": 740, "executed_branches": [], "missing_branches": [[831, 832], [831, 834], [839, 840], [839, 864], [851, 839], [851, 852], [852, 853], [852, 855], [853, 854], [853, 858], [855, 856], [855, 858], [864, 865], [864, 867], [881, 882], [881, 885], [885, 888], [885, 905]]}, "VertexLabelAnnotator.get_text_bounding_box": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [915, 921, 922], "excluded_lines": [], "start_line": 908, "executed_branches": [], "missing_branches": []}, "VertexLabelAnnotator._resolve_labels": {"executed_lines": [936, 937, 940, 941, 942, 946, 947, 948, 950, 952, 953, 957], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 930, "executed_branches": [[936, 937], [936, 940], [940, 941], [940, 950], [941, 942], [941, 946], [946, 947], [946, 948], [952, 953], [952, 957]], "missing_branches": []}, "VertexLabelAnnotator._resolve_color_list": {"executed_lines": [965, 966, 967, 971, 972], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 960, "executed_branches": [[965, 966], [965, 972], [966, 967], [966, 971]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 26, 30, 37, 50, 51, 111, 117, 140, 141, 261, 268, 298, 315, 330, 370, 383, 405, 406, 471, 482, 503, 504, 568, 581, 583, 605, 606, 700, 703, 709, 740, 907, 908, 929, 930, 959, 960], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"BaseKeyPointAnnotator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [27], "excluded_lines": [], "start_line": 24, "executed_branches": [], "missing_branches": []}, "VertexAnnotator": {"executed_lines": [47, 48, 87, 88, 89, 91, 92, 93, 95, 99, 100, 108], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [94], "excluded_lines": [], "start_line": 30, "executed_branches": [[88, 89], [88, 91], [91, 92], [91, 108], [92, 91], [92, 93], [93, 95], [95, 99], [95, 100]], "missing_branches": [[93, 94]]}, "EdgeAnnotator": {"executed_lines": [136, 137, 138, 208, 209, 210, 212, 213, 227, 228, 230, 231, 232, 233, 234, 236, 237, 238, 239, 240, 241, 243, 244, 248, 250, 258], "summary": {"covered_lines": 26, "num_statements": 33, "percent_covered": 76.36363636363636, "percent_covered_display": "76", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 78.78787878787878, "percent_statements_covered_display": "79", "num_branches": 22, "num_partial_branches": 2, "covered_branches": 16, "missing_branches": 6, "percent_branches_covered": 72.72727272727273, "percent_branches_covered_display": "73"}, "missing_lines": [214, 219, 220, 224, 225, 226, 242], "excluded_lines": [], "start_line": 111, "executed_branches": [[209, 210], [209, 212], [212, 213], [212, 258], [213, 227], [227, 228], [227, 230], [231, 232], [231, 234], [236, 212], [236, 237], [241, 243], [243, 244], [243, 250], [244, 248], [244, 250]], "missing_branches": [[213, 214], [219, 220], [219, 224], [224, 225], [224, 226], [241, 242]]}, "_BaseVertexEllipseAnnotator": {"executed_lines": [274, 277, 279, 280, 281, 282, 283, 284, 285, 291, 294, 295, 296, 299, 300, 301, 304, 307, 308, 309, 313, 319, 321, 322, 325, 327, 328, 334, 335, 338, 339, 340, 342, 346, 347, 348, 349, 351, 352, 355, 356, 357, 358, 359, 360, 364, 367], "summary": {"covered_lines": 47, "num_statements": 54, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 87.03703703703704, "percent_statements_covered_display": "87", "num_branches": 30, "num_partial_branches": 5, "covered_branches": 25, "missing_branches": 5, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [286, 320, 323, 324, 326, 341, 350], "excluded_lines": [], "start_line": 261, "executed_branches": [[279, 280], [279, 281], [281, 282], [281, 283], [283, 284], [283, 285], [285, 291], [300, 301], [300, 304], [308, 309], [308, 313], [319, 321], [325, 327], [338, 339], [338, 367], [339, 338], [339, 340], [340, 342], [342, 346], [342, 347], [349, 351], [356, 339], [356, 357], [358, 359], [358, 360]], "missing_branches": [[285, 286], [319, 320], [325, 326], [340, 341], [349, 350]]}, "VertexEllipseAreaAnnotator": {"executed_lines": [402, 403, 448, 449, 450, 452, 453, 454, 455, 467, 468], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 370, "executed_branches": [[449, 450], [449, 452], [453, 454], [453, 467], [454, 453], [454, 455]], "missing_branches": []}, "VertexEllipseOutlineAnnotator": {"executed_lines": [500, 501, 547, 548, 549, 551, 552, 553, 565], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 471, "executed_branches": [[548, 549], [548, 551], [551, 552], [551, 565], [552, 551], [552, 553]], "missing_branches": []}, "VertexEllipseHaloAnnotator": {"executed_lines": [602, 603, 648, 649, 650, 652, 653, 655, 656, 657, 658, 661, 662, 663, 664, 666, 667, 668, 669, 670, 673, 674, 675, 677, 678, 679, 680, 681, 683, 684, 686, 687, 689, 691, 692, 693, 694, 696, 697], "summary": {"covered_lines": 39, "num_statements": 41, "percent_covered": 92.15686274509804, "percent_covered_display": "92", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 95.1219512195122, "percent_statements_covered_display": "95", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [659, 671], "excluded_lines": [], "start_line": 568, "executed_branches": [[649, 650], [649, 652], [655, 656], [655, 696], [656, 655], [656, 657], [658, 661], [670, 673]], "missing_branches": [[658, 659], [670, 671]]}, "VertexLabelAnnotator": {"executed_lines": [936, 937, 940, 941, 942, 946, 947, 948, 950, 952, 953, 957, 965, 966, 967, 971, 972], "summary": {"covered_lines": 17, "num_statements": 64, "percent_covered": 32.291666666666664, "percent_covered_display": "32", "missing_lines": 47, "excluded_lines": 0, "percent_statements_covered": 26.5625, "percent_statements_covered_display": "27", "num_branches": 32, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 18, "percent_branches_covered": 43.75, "percent_branches_covered_display": "44"}, "missing_lines": [732, 733, 734, 735, 736, 737, 738, 827, 828, 830, 831, 832, 834, 835, 836, 837, 839, 840, 842, 845, 846, 847, 851, 852, 853, 854, 855, 856, 858, 859, 860, 861, 862, 864, 865, 867, 879, 881, 882, 883, 885, 888, 894, 905, 915, 921, 922], "excluded_lines": [], "start_line": 703, "executed_branches": [[936, 937], [936, 940], [940, 941], [940, 950], [941, 942], [941, 946], [946, 947], [946, 948], [952, 953], [952, 957], [965, 966], [965, 972], [966, 967], [966, 971]], "missing_branches": [[831, 832], [831, 834], [839, 840], [839, 864], [851, 839], [851, 852], [852, 853], [852, 855], [853, 854], [853, 858], [855, 856], [855, 858], [864, 865], [864, 867], [881, 882], [881, 885], [885, 888], [885, 905]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 24, 25, 26, 30, 37, 50, 51, 111, 117, 140, 141, 261, 268, 298, 315, 330, 370, 383, 405, 406, 471, 482, 503, 504, 568, 581, 583, 605, 606, 700, 703, 709, 740, 907, 908, 929, 930, 959, 960], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\key_points\\core.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 18, 19, 21, 23, 31, 32, 39, 42, 46, 47, 48, 51, 63, 65, 67, 68, 69, 71, 74, 75, 238, 239, 240, 241, 242, 243, 245, 277, 278, 279, 283, 288, 290, 291, 292, 293, 294, 295, 296, 298, 299, 308, 309, 317, 318, 325, 343, 345, 359, 360, 369, 370, 372, 387, 388, 430, 431, 436, 438, 440, 441, 443, 444, 445, 446, 448, 449, 450, 451, 452, 453, 454, 455, 457, 458, 460, 464, 471, 472, 550, 551, 552, 553, 556, 573, 576, 577, 578, 579, 580, 581, 582, 586, 587, 589, 590, 592, 597, 598, 636, 637, 666, 667, 669, 670, 674, 675, 679, 680, 687, 694, 695, 745, 746, 830, 864, 865, 866, 870, 871, 875, 876, 877, 883, 884, 885, 886, 887, 891, 892, 893, 894, 895, 896, 897, 901, 904, 905, 906, 907, 910, 911, 912, 914, 916, 925, 930, 931, 932, 934, 935, 937, 938, 939, 940, 942, 943, 944, 945, 947, 949, 959, 961, 971, 972, 977, 982, 985, 988, 989, 998, 1009, 1017, 1018, 1021, 1022, 1023, 1026, 1028, 1031, 1032, 1033, 1036, 1038, 1040, 1047, 1048, 1050, 1059, 1101, 1104, 1105, 1107, 1108, 1110, 1137, 1138, 1140, 1141, 1143, 1145, 1146, 1162, 1164, 1180, 1181, 1182, 1184, 1227, 1228, 1230, 1231, 1235, 1236, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1252, 1253, 1255, 1256, 1264, 1270, 1272, 1304, 1305, 1307, 1308, 1309, 1310, 1314, 1315, 1317, 1318, 1319, 1320, 1321, 1323, 1325, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1337, 1338, 1339, 1340, 1342], "summary": {"covered_lines": 268, "num_statements": 325, "percent_covered": 78.43551797040169, "percent_covered_display": "78", "missing_lines": 57, "excluded_lines": 0, "percent_statements_covered": 82.46153846153847, "percent_statements_covered_display": "82", "num_branches": 148, "num_partial_branches": 23, "covered_branches": 103, "missing_branches": 45, "percent_branches_covered": 69.5945945945946, "percent_branches_covered_display": "70"}, "missing_lines": [64, 66, 70, 311, 315, 319, 323, 371, 437, 439, 554, 562, 563, 564, 565, 566, 568, 574, 623, 624, 626, 627, 628, 630, 631, 634, 677, 681, 682, 683, 684, 685, 727, 728, 729, 730, 743, 808, 809, 810, 812, 820, 822, 828, 908, 955, 956, 957, 1010, 1011, 1012, 1015, 1016, 1027, 1037, 1102, 1335], "excluded_lines": [], "executed_branches": [[46, 47], [46, 48], [63, 65], [65, 67], [67, 68], [67, 69], [69, 71], [277, 278], [277, 290], [278, 279], [278, 283], [359, -345], [359, 360], [370, 372], [430, 431], [430, 436], [436, 438], [438, 440], [440, 441], [440, 443], [448, 449], [448, 460], [451, 452], [451, 454], [550, 551], [552, 553], [552, 573], [553, 556], [573, 576], [578, 579], [578, 592], [581, 582], [581, 589], [666, 667], [666, 669], [674, 675], [680, 687], [865, 866], [865, 870], [870, 871], [870, 875], [876, 877], [876, 883], [886, 887], [886, 891], [892, 893], [892, 894], [894, 895], [894, 906], [897, 901], [897, 904], [904, 894], [904, 905], [907, 910], [911, 912], [930, 931], [930, 932], [934, 935], [934, 937], [937, 938], [937, 939], [939, 940], [939, 942], [942, 943], [942, 944], [944, 945], [944, 947], [949, 959], [1009, 1017], [1017, 1018], [1017, 1038], [1018, 1021], [1018, 1028], [1022, 1023], [1026, 1038], [1028, 1031], [1032, 1033], [1036, 1038], [1101, 1104], [1104, 1105], [1104, 1107], [1137, 1138], [1137, 1140], [1140, 1141], [1227, 1228], [1227, 1230], [1230, 1231], [1230, 1235], [1235, 1236], [1235, 1242], [1244, 1245], [1244, 1246], [1252, 1253], [1252, 1255], [1304, 1305], [1304, 1307], [1308, 1309], [1308, 1314], [1327, 1328], [1327, 1329], [1329, 1330], [1331, 1332], [1331, 1333]], "missing_branches": [[63, 64], [65, 66], [69, 70], [370, 371], [436, 437], [438, 439], [550, 562], [553, 554], [562, 563], [562, 564], [564, 565], [564, 573], [565, 566], [565, 568], [573, 574], [623, 624], [623, 626], [674, 677], [680, 681], [682, 683], [682, 685], [727, 728], [727, 743], [728, 729], [728, 730], [808, 809], [808, 828], [809, 810], [809, 812], [907, 908], [911, 914], [949, 955], [1009, 1010], [1011, 1012], [1011, 1015], [1015, 1016], [1015, 1038], [1022, 1026], [1026, 1027], [1028, 1038], [1032, 1036], [1036, 1037], [1101, 1102], [1140, 1143], [1329, 1335]], "functions": {"_optional_array_equal": {"executed_lines": [46, 47, 48], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42, "executed_branches": [[46, 47], [46, 48]], "missing_branches": []}, "_normalize_row_index": {"executed_lines": [63, 65, 67, 68, 69, 71], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 64.70588235294117, "percent_covered_display": "65", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 8, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 3, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [64, 66, 70], "excluded_lines": [], "start_line": 51, "executed_branches": [[63, 65], [65, 67], [67, 68], [67, 69], [69, 71]], "missing_branches": [[63, 64], [65, 66], [69, 70]]}, "KeyPoints.__init__": {"executed_lines": [277, 278, 279, 283, 288, 290, 291, 292, 293, 294, 295, 296], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 245, "executed_branches": [[277, 278], [277, 290], [278, 279], [278, 283]], "missing_branches": []}, "KeyPoints.__post_init__": {"executed_lines": [299], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 298, "executed_branches": [], "missing_branches": []}, "KeyPoints.confidence": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [319, 323], "excluded_lines": [], "start_line": 318, "executed_branches": [], "missing_branches": []}, "KeyPoints.__len__": {"executed_lines": [343], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 325, "executed_branches": [], "missing_branches": []}, "KeyPoints.__iter__": {"executed_lines": [359, 360], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 345, "executed_branches": [[359, -345], [359, 360]], "missing_branches": []}, "KeyPoints.__eq__": {"executed_lines": [370, 372], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [371], "excluded_lines": [], "start_line": 369, "executed_branches": [[370, 372]], "missing_branches": [[370, 371]]}, "KeyPoints.from_inference": {"executed_lines": [430, 431, 436, 438, 440, 441, 443, 444, 445, 446, 448, 449, 450, 451, 452, 453, 454, 455, 457, 458, 460, 464], "summary": {"covered_lines": 22, "num_statements": 24, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 12, "num_partial_branches": 2, "covered_branches": 10, "missing_branches": 2, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [437, 439], "excluded_lines": [], "start_line": 388, "executed_branches": [[430, 431], [430, 436], [436, 438], [438, 440], [440, 441], [440, 443], [448, 449], [448, 460], [451, 452], [451, 454]], "missing_branches": [[436, 437], [438, 439]]}, "KeyPoints.from_mediapipe": {"executed_lines": [550, 551, 552, 553, 556, 573, 576, 577, 578, 579, 580, 581, 582, 586, 587, 589, 590, 592], "summary": {"covered_lines": 18, "num_statements": 26, "percent_covered": 61.36363636363637, "percent_covered_display": "61", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 69.23076923076923, "percent_statements_covered_display": "69", "num_branches": 18, "num_partial_branches": 3, "covered_branches": 9, "missing_branches": 9, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [554, 562, 563, 564, 565, 566, 568, 574], "excluded_lines": [], "start_line": 472, "executed_branches": [[550, 551], [552, 553], [552, 573], [553, 556], [573, 576], [578, 579], [578, 592], [581, 582], [581, 589]], "missing_branches": [[550, 562], [553, 554], [562, 563], [562, 564], [564, 565], [564, 573], [565, 566], [565, 568], [573, 574]]}, "KeyPoints.from_ultralytics": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [623, 624, 626, 627, 628, 630, 631, 634], "excluded_lines": [], "start_line": 598, "executed_branches": [], "missing_branches": [[623, 624], [623, 626]]}, "KeyPoints.from_yolo_nas": {"executed_lines": [666, 667, 669, 670, 674, 675, 679, 680, 687], "summary": {"covered_lines": 9, "num_statements": 15, "percent_covered": 56.52173913043478, "percent_covered_display": "57", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 4, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [677, 681, 682, 683, 684, 685], "excluded_lines": [], "start_line": 637, "executed_branches": [[666, 667], [666, 669], [674, 675], [680, 687]], "missing_branches": [[674, 677], [680, 681], [682, 683], [682, 685]]}, "KeyPoints.from_detectron2": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [727, 728, 729, 730, 743], "excluded_lines": [], "start_line": 695, "executed_branches": [], "missing_branches": [[727, 728], [727, 743], [728, 729], [728, 730]]}, "KeyPoints.from_transformers": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [808, 809, 810, 812, 820, 822, 828], "excluded_lines": [], "start_line": 746, "executed_branches": [], "missing_branches": [[808, 809], [808, 828], [809, 810], [809, 812]]}, "KeyPoints._get_by_2d_bool_mask": {"executed_lines": [864, 865, 866, 870, 871, 875, 876, 877, 883, 884, 885, 886, 887, 891, 892, 893, 894, 895, 896, 897, 901, 904, 905, 906, 907, 910, 911, 912, 914, 916], "summary": {"covered_lines": 30, "num_statements": 31, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.7741935483871, "percent_statements_covered_display": "97", "num_branches": 20, "num_partial_branches": 2, "covered_branches": 18, "missing_branches": 2, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [908], "excluded_lines": [], "start_line": 830, "executed_branches": [[865, 866], [865, 870], [870, 871], [870, 875], [876, 877], [876, 883], [886, 887], [886, 891], [892, 893], [892, 894], [894, 895], [894, 906], [897, 901], [897, 904], [904, 894], [904, 905], [907, 910], [911, 912]], "missing_branches": [[907, 908], [911, 914]]}, "KeyPoints._normalize_getitem_index": {"executed_lines": [930, 931, 932, 934, 935, 937, 938, 939, 940, 942, 943, 944, 945, 947, 949, 959], "summary": {"covered_lines": 16, "num_statements": 19, "percent_covered": 87.87878787878788, "percent_covered_display": "88", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 84.21052631578948, "percent_statements_covered_display": "84", "num_branches": 14, "num_partial_branches": 1, "covered_branches": 13, "missing_branches": 1, "percent_branches_covered": 92.85714285714286, "percent_branches_covered_display": "93"}, "missing_lines": [955, 956, 957], "excluded_lines": [], "start_line": 925, "executed_branches": [[930, 931], [930, 932], [934, 935], [934, 937], [937, 938], [937, 939], [939, 940], [939, 942], [942, 943], [942, 944], [944, 945], [944, 947], [949, 959]], "missing_branches": [[949, 955]]}, "KeyPoints._select_fields": {"executed_lines": [971, 972, 977, 982, 985, 988, 989], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 961, "executed_branches": [], "missing_branches": []}, "KeyPoints._reshape_selected": {"executed_lines": [1009, 1017, 1018, 1021, 1022, 1023, 1026, 1028, 1031, 1032, 1033, 1036, 1038], "summary": {"covered_lines": 13, "num_statements": 20, "percent_covered": 57.5, "percent_covered_display": "58", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 65.0, "percent_statements_covered_display": "65", "num_branches": 20, "num_partial_branches": 6, "covered_branches": 10, "missing_branches": 10, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [1010, 1011, 1012, 1015, 1016, 1027, 1037], "excluded_lines": [], "start_line": 998, "executed_branches": [[1009, 1017], [1017, 1018], [1017, 1038], [1018, 1021], [1018, 1028], [1022, 1023], [1026, 1038], [1028, 1031], [1032, 1033], [1036, 1038]], "missing_branches": [[1009, 1010], [1011, 1012], [1011, 1015], [1015, 1016], [1015, 1038], [1022, 1026], [1026, 1027], [1028, 1038], [1032, 1036], [1036, 1037]]}, "KeyPoints._getitem_by_normalized_index": {"executed_lines": [1047, 1048, 1050], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1040, "executed_branches": [], "missing_branches": []}, "KeyPoints.__getitem__": {"executed_lines": [1101, 1104, 1105, 1107, 1108], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [1102], "excluded_lines": [], "start_line": 1059, "executed_branches": [[1101, 1104], [1104, 1105], [1104, 1107]], "missing_branches": [[1101, 1102]]}, "KeyPoints.__setitem__": {"executed_lines": [1137, 1138, 1140, 1141, 1143], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "start_line": 1110, "executed_branches": [[1137, 1138], [1137, 1140], [1140, 1141]], "missing_branches": [[1140, 1143]]}, "KeyPoints.empty": {"executed_lines": [1162], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1146, "executed_branches": [], "missing_branches": []}, "KeyPoints.is_empty": {"executed_lines": [1180, 1181, 1182], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1164, "executed_branches": [], "missing_branches": []}, "KeyPoints.with_nms": {"executed_lines": [1227, 1228, 1230, 1231, 1235, 1236, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1252, 1253, 1255, 1256, 1264, 1270], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1184, "executed_branches": [[1227, 1228], [1227, 1230], [1230, 1231], [1230, 1235], [1235, 1236], [1235, 1242], [1244, 1245], [1244, 1246], [1252, 1253], [1252, 1255]], "missing_branches": []}, "KeyPoints.as_detections": {"executed_lines": [1304, 1305, 1307, 1308, 1309, 1310, 1314, 1315, 1317, 1318, 1319, 1320, 1321, 1323, 1325, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1337, 1338, 1339, 1340, 1342], "summary": {"covered_lines": 27, "num_statements": 28, "percent_covered": 94.73684210526316, "percent_covered_display": "95", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.42857142857143, "percent_statements_covered_display": "96", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [1335], "excluded_lines": [], "start_line": 1272, "executed_branches": [[1304, 1305], [1304, 1307], [1308, 1309], [1308, 1314], [1327, 1328], [1327, 1329], [1329, 1330], [1331, 1332], [1331, 1333]], "missing_branches": [[1329, 1335]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 18, 19, 21, 23, 31, 32, 39, 42, 51, 74, 75, 238, 239, 240, 241, 242, 243, 245, 298, 308, 309, 317, 318, 325, 345, 369, 387, 388, 471, 472, 597, 598, 636, 637, 694, 695, 745, 746, 830, 925, 961, 998, 1040, 1059, 1110, 1145, 1146, 1164, 1184, 1272], "summary": {"covered_lines": 61, "num_statements": 61, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"KeyPoints": {"executed_lines": [277, 278, 279, 283, 288, 290, 291, 292, 293, 294, 295, 296, 299, 343, 359, 360, 370, 372, 430, 431, 436, 438, 440, 441, 443, 444, 445, 446, 448, 449, 450, 451, 452, 453, 454, 455, 457, 458, 460, 464, 550, 551, 552, 553, 556, 573, 576, 577, 578, 579, 580, 581, 582, 586, 587, 589, 590, 592, 666, 667, 669, 670, 674, 675, 679, 680, 687, 864, 865, 866, 870, 871, 875, 876, 877, 883, 884, 885, 886, 887, 891, 892, 893, 894, 895, 896, 897, 901, 904, 905, 906, 907, 910, 911, 912, 914, 916, 930, 931, 932, 934, 935, 937, 938, 939, 940, 942, 943, 944, 945, 947, 949, 959, 971, 972, 977, 982, 985, 988, 989, 1009, 1017, 1018, 1021, 1022, 1023, 1026, 1028, 1031, 1032, 1033, 1036, 1038, 1047, 1048, 1050, 1101, 1104, 1105, 1107, 1108, 1137, 1138, 1140, 1141, 1143, 1162, 1180, 1181, 1182, 1227, 1228, 1230, 1231, 1235, 1236, 1242, 1243, 1244, 1245, 1246, 1247, 1248, 1249, 1250, 1252, 1253, 1255, 1256, 1264, 1270, 1304, 1305, 1307, 1308, 1309, 1310, 1314, 1315, 1317, 1318, 1319, 1320, 1321, 1323, 1325, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1337, 1338, 1339, 1340, 1342], "summary": {"covered_lines": 198, "num_statements": 252, "percent_covered": 75.38461538461539, "percent_covered_display": "75", "missing_lines": 54, "excluded_lines": 0, "percent_statements_covered": 78.57142857142857, "percent_statements_covered_display": "79", "num_branches": 138, "num_partial_branches": 20, "covered_branches": 96, "missing_branches": 42, "percent_branches_covered": 69.56521739130434, "percent_branches_covered_display": "70"}, "missing_lines": [311, 315, 319, 323, 371, 437, 439, 554, 562, 563, 564, 565, 566, 568, 574, 623, 624, 626, 627, 628, 630, 631, 634, 677, 681, 682, 683, 684, 685, 727, 728, 729, 730, 743, 808, 809, 810, 812, 820, 822, 828, 908, 955, 956, 957, 1010, 1011, 1012, 1015, 1016, 1027, 1037, 1102, 1335], "excluded_lines": [], "start_line": 75, "executed_branches": [[277, 278], [277, 290], [278, 279], [278, 283], [359, -345], [359, 360], [370, 372], [430, 431], [430, 436], [436, 438], [438, 440], [440, 441], [440, 443], [448, 449], [448, 460], [451, 452], [451, 454], [550, 551], [552, 553], [552, 573], [553, 556], [573, 576], [578, 579], [578, 592], [581, 582], [581, 589], [666, 667], [666, 669], [674, 675], [680, 687], [865, 866], [865, 870], [870, 871], [870, 875], [876, 877], [876, 883], [886, 887], [886, 891], [892, 893], [892, 894], [894, 895], [894, 906], [897, 901], [897, 904], [904, 894], [904, 905], [907, 910], [911, 912], [930, 931], [930, 932], [934, 935], [934, 937], [937, 938], [937, 939], [939, 940], [939, 942], [942, 943], [942, 944], [944, 945], [944, 947], [949, 959], [1009, 1017], [1017, 1018], [1017, 1038], [1018, 1021], [1018, 1028], [1022, 1023], [1026, 1038], [1028, 1031], [1032, 1033], [1036, 1038], [1101, 1104], [1104, 1105], [1104, 1107], [1137, 1138], [1137, 1140], [1140, 1141], [1227, 1228], [1227, 1230], [1230, 1231], [1230, 1235], [1235, 1236], [1235, 1242], [1244, 1245], [1244, 1246], [1252, 1253], [1252, 1255], [1304, 1305], [1304, 1307], [1308, 1309], [1308, 1314], [1327, 1328], [1327, 1329], [1329, 1330], [1331, 1332], [1331, 1333]], "missing_branches": [[370, 371], [436, 437], [438, 439], [550, 562], [553, 554], [562, 563], [562, 564], [564, 565], [564, 573], [565, 566], [565, 568], [573, 574], [623, 624], [623, 626], [674, 677], [680, 681], [682, 683], [682, 685], [727, 728], [727, 743], [728, 729], [728, 730], [808, 809], [808, 828], [809, 810], [809, 812], [907, 908], [911, 914], [949, 955], [1009, 1010], [1011, 1012], [1011, 1015], [1015, 1016], [1015, 1038], [1022, 1026], [1026, 1027], [1028, 1038], [1032, 1036], [1036, 1037], [1101, 1102], [1140, 1143], [1329, 1335]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 18, 19, 21, 23, 31, 32, 39, 42, 46, 47, 48, 51, 63, 65, 67, 68, 69, 71, 74, 75, 238, 239, 240, 241, 242, 243, 245, 298, 308, 309, 317, 318, 325, 345, 369, 387, 388, 471, 472, 597, 598, 636, 637, 694, 695, 745, 746, 830, 925, 961, 998, 1040, 1059, 1110, 1145, 1146, 1164, 1184, 1272], "summary": {"covered_lines": 70, "num_statements": 73, "percent_covered": 92.7710843373494, "percent_covered_display": "93", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 95.89041095890411, "percent_statements_covered_display": "96", "num_branches": 10, "num_partial_branches": 3, "covered_branches": 7, "missing_branches": 3, "percent_branches_covered": 70.0, "percent_branches_covered_display": "70"}, "missing_lines": [64, 66, 70], "excluded_lines": [], "start_line": 1, "executed_branches": [[46, 47], [46, 48], [63, 65], [65, 67], [67, 68], [67, 69], [69, 71]], "missing_branches": [[63, 64], [65, 66], [69, 70]]}}}, "src\\supervision\\key_points\\skeletons.py": {"executed_lines": [1, 3, 6, 7, 27, 65, 2624, 2639, 2640, 2642, 2643, 2645, 2646], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[2642, -1], [2642, 2643]], "missing_branches": [], "functions": {"": {"executed_lines": [1, 3, 6, 7, 27, 65, 2624, 2639, 2640, 2642, 2643, 2645, 2646], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[2642, -1], [2642, 2643]], "missing_branches": []}}, "classes": {"Skeleton": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 6, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 6, 7, 27, 65, 2624, 2639, 2640, 2642, 2643, 2645, 2646], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[2642, -1], [2642, 2643]], "missing_branches": []}}}, "src\\supervision\\metrics\\__init__.py": {"executed_lines": [1, 6, 7, 11, 15, 16, 17, 23], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [1, 6, 7, 11, 15, 16, 17, 23], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 6, 7, 11, 15, 16, 17, 23], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\core.py": {"executed_lines": [1, 3, 4, 5, 8, 13, 14, 21, 22, 28, 29, 36, 46, 47, 48, 51, 70, 71, 72], "summary": {"covered_lines": 19, "num_statements": 22, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 86.36363636363636, "percent_statements_covered_display": "86", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [19, 26, 33], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"Metric.update": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [19], "excluded_lines": [], "start_line": 14, "executed_branches": [], "missing_branches": []}, "Metric.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [26], "excluded_lines": [], "start_line": 22, "executed_branches": [], "missing_branches": []}, "Metric.compute": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [33], "excluded_lines": [], "start_line": 29, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 13, 14, 21, 22, 28, 29, 36, 46, 47, 48, 51, 70, 71, 72], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"Metric": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [19, 26, 33], "excluded_lines": [], "start_line": 8, "executed_branches": [], "missing_branches": []}, "MetricTarget": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "AveragingMethod": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 13, 14, 21, 22, 28, 29, 36, 46, 47, 48, 51, 70, 71, 72], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\detection.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 19, 22, 23, 24, 29, 97, 99, 100, 104, 105, 106, 107, 108, 112, 114, 116, 117, 118, 119, 126, 128, 130, 135, 136, 137, 140, 142, 143, 146, 154, 159, 160, 168, 171, 175, 176, 180, 181, 187, 191, 192, 195, 201, 204, 207, 212, 219, 227, 228, 229, 230, 231, 232, 233, 236, 237, 238, 239, 242, 248, 249, 252, 255, 266, 267, 268, 270, 271, 273, 274, 275, 276, 277, 278, 288, 289, 291, 292, 293, 294, 295, 296, 297, 299, 300, 301, 303, 304, 305, 308, 313, 320, 321, 340, 341, 342, 343, 344, 346, 356, 358, 359, 420, 421, 422, 423, 428, 433, 442, 443, 512, 513, 515, 516, 517, 518, 526, 534, 535, 574, 575, 577, 578, 579, 581, 584, 585, 587, 588, 589, 590, 592, 602, 604, 605, 612, 613, 614, 615, 616, 617, 618, 620, 621, 688, 778, 783, 784, 809, 810, 811, 812, 814, 815, 867, 868, 914, 915, 1011, 1012, 1027, 1028, 1029, 1032, 1033, 1038, 1039, 1047, 1049, 1050, 1094, 1095], "summary": {"covered_lines": 184, "num_statements": 308, "percent_covered": 57.81990521327014, "percent_covered_display": "58", "missing_lines": 124, "excluded_lines": 0, "percent_statements_covered": 59.74025974025974, "percent_statements_covered_display": "60", "num_branches": 114, "num_partial_branches": 6, "covered_branches": 60, "missing_branches": 54, "percent_branches_covered": 52.63157894736842, "percent_branches_covered_display": "53"}, "missing_lines": [155, 163, 208, 213, 317, 347, 348, 349, 674, 675, 676, 677, 678, 679, 712, 714, 715, 716, 718, 720, 722, 723, 724, 725, 726, 727, 729, 730, 731, 732, 734, 735, 737, 738, 740, 741, 742, 744, 746, 747, 749, 750, 751, 752, 753, 754, 765, 766, 768, 769, 770, 771, 772, 775, 855, 856, 857, 858, 861, 862, 904, 905, 906, 907, 908, 909, 963, 964, 965, 968, 969, 970, 971, 978, 980, 981, 984, 994, 995, 996, 997, 998, 999, 1001, 1002, 1004, 1043, 1072, 1073, 1074, 1075, 1077, 1078, 1080, 1081, 1082, 1083, 1085, 1086, 1087, 1088, 1090, 1091, 1092, 1116, 1117, 1118, 1120, 1121, 1123, 1127, 1128, 1129, 1130, 1132, 1133, 1135, 1136, 1137, 1138, 1140, 1141, 1147, 1148], "excluded_lines": [], "executed_branches": [[23, -22], [23, 24], [99, 100], [99, 104], [104, 105], [104, 128], [106, 107], [106, 114], [107, 108], [107, 112], [116, 117], [116, 118], [118, 119], [118, 126], [135, 136], [135, 142], [136, 137], [136, 140], [154, 159], [159, -146], [159, 160], [160, 168], [175, 176], [175, 180], [180, -146], [180, 181], [207, 212], [212, -195], [227, 228], [227, 232], [229, 230], [229, 231], [232, 233], [232, 239], [236, 237], [236, 238], [248, 249], [248, 252], [270, 271], [270, 273], [291, 292], [291, 299], [292, 291], [292, 293], [299, 300], [299, 303], [300, 299], [300, 301], [303, -255], [303, 304], [304, 303], [304, 305], [422, 423], [422, 433], [517, 518], [517, 526], [584, 585], [584, 587], [612, 613], [1038, 1039]], "missing_branches": [[154, 155], [160, 163], [207, 208], [212, 213], [347, 348], [347, 349], [612, 617], [675, 676], [675, 679], [714, 715], [714, 718], [724, 725], [724, 729], [737, 738], [737, 740], [749, 750], [749, 765], [750, 751], [750, 765], [751, 750], [751, 752], [753, 751], [753, 754], [765, 766], [765, 768], [771, 772], [771, 775], [857, 858], [857, 862], [905, 906], [905, 909], [968, 969], [968, 994], [969, 970], [969, 980], [970, 971], [970, 978], [980, 968], [980, 981], [994, 995], [994, 1001], [1038, 1043], [1077, 1078], [1077, 1091], [1080, 1077], [1080, 1081], [1085, 1086], [1085, 1090], [1127, 1128], [1127, 1147], [1132, 1133], [1132, 1135], [1140, 1127], [1140, 1141]], "functions": {"_assert_supported_target": {"executed_lines": [23, 24], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 22, "executed_branches": [[23, -22], [23, 24]], "missing_branches": []}, "detections_to_tensor": {"executed_lines": [97, 99, 100, 104, 105, 106, 107, 108, 112, 114, 116, 117, 118, 119, 126, 128, 130, 135, 136, 137, 140, 142, 143], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 16, "num_partial_branches": 0, "covered_branches": 16, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29, "executed_branches": [[99, 100], [99, 104], [104, 105], [104, 128], [106, 107], [106, 114], [107, 108], [107, 112], [116, 117], [116, 118], [118, 119], [118, 126], [135, 136], [135, 142], [136, 137], [136, 140]], "missing_branches": []}, "_validate_input_tensors": {"executed_lines": [154, 159, 160, 168, 171, 175, 176, 180, 181], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 80.95238095238095, "percent_covered_display": "81", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 8, "missing_branches": 2, "percent_branches_covered": 80.0, "percent_branches_covered_display": "80"}, "missing_lines": [155, 163], "excluded_lines": [], "start_line": 146, "executed_branches": [[154, 159], [159, -146], [159, 160], [160, 168], [175, 176], [175, 180], [180, -146], [180, 181]], "missing_branches": [[154, 155], [160, 163]]}, "_get_coordinate_metadata": {"executed_lines": [191, 192], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 187, "executed_branches": [], "missing_branches": []}, "_validate_detection_batch_shapes": {"executed_lines": [201, 204, 207, 212], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [208, 213], "excluded_lines": [], "start_line": 195, "executed_branches": [[207, 212], [212, -195]], "missing_branches": [[207, 208], [212, 213]]}, "_try_early_exit": {"executed_lines": [227, 228, 229, 230, 231, 232, 233, 236, 237, 238, 239], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 219, "executed_branches": [[227, 228], [227, 232], [229, 230], [229, 231], [232, 233], [232, 239], [236, 237], [236, 238]], "missing_branches": []}, "_get_iou_batch": {"executed_lines": [248, 249, 252], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 242, "executed_branches": [[248, 249], [248, 252]], "missing_branches": []}, "_fill_confusion_matrix_from_iou": {"executed_lines": [266, 267, 268, 270, 271, 273, 274, 275, 276, 277, 278, 288, 289, 291, 292, 293, 294, 295, 296, 297, 299, 300, 301, 303, 304, 305], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 255, "executed_branches": [[270, 271], [270, 273], [291, 292], [291, 299], [292, 291], [292, 293], [299, 300], [299, 303], [300, 299], [300, 301], [303, -255], [303, 304], [304, 303], [304, 305]], "missing_branches": []}, "validate_input_tensors": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [317], "excluded_lines": [], "start_line": 313, "executed_branches": [], "missing_branches": []}, "ConfusionMatrix.__eq__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [347, 348, 349], "excluded_lines": [], "start_line": 346, "executed_branches": [], "missing_branches": [[347, 348], [347, 349]]}, "ConfusionMatrix.from_detections": {"executed_lines": [420, 421, 422, 423, 428, 433], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 359, "executed_branches": [[422, 423], [422, 433]], "missing_branches": []}, "ConfusionMatrix.from_tensors": {"executed_lines": [512, 513, 515, 516, 517, 518, 526], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 443, "executed_branches": [[517, 518], [517, 526]], "missing_branches": []}, "ConfusionMatrix.evaluate_detection_batch": {"executed_lines": [574, 575, 577, 578, 579, 581, 584, 585, 587, 588, 589, 590, 592, 602], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 535, "executed_branches": [[584, 585], [584, 587]], "missing_branches": []}, "ConfusionMatrix._drop_extra_matches": {"executed_lines": [612, 613, 614, 615, 616, 617, 618], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 605, "executed_branches": [[612, 613]], "missing_branches": [[612, 617]]}, "ConfusionMatrix.benchmark": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [674, 675, 676, 677, 678, 679], "excluded_lines": [], "start_line": 621, "executed_branches": [], "missing_branches": [[675, 676], [675, 679]]}, "ConfusionMatrix.plot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 40, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 40, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 18, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [712, 714, 715, 716, 718, 720, 722, 723, 724, 725, 726, 727, 729, 730, 731, 732, 734, 735, 737, 738, 740, 741, 742, 744, 746, 747, 749, 750, 751, 752, 753, 754, 765, 766, 768, 769, 770, 771, 772, 775], "excluded_lines": [], "start_line": 688, "executed_branches": [], "missing_branches": [[714, 715], [714, 718], [724, 725], [724, 729], [737, 738], [737, 740], [749, 750], [749, 765], [750, 751], [750, 765], [751, 750], [751, 752], [753, 751], [753, 754], [765, 766], [765, 768], [771, 772], [771, 775]]}, "MeanAveragePrecision.from_detections": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [855, 856, 857, 858, 861, 862], "excluded_lines": [], "start_line": 815, "executed_branches": [], "missing_branches": [[857, 858], [857, 862]]}, "MeanAveragePrecision.benchmark": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [904, 905, 906, 907, 908, 909], "excluded_lines": [], "start_line": 868, "executed_branches": [], "missing_branches": [[905, 906], [905, 909]]}, "MeanAveragePrecision.from_tensors": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [963, 964, 965, 968, 969, 970, 971, 978, 980, 981, 984, 994, 995, 996, 997, 998, 999, 1001, 1002, 1004], "excluded_lines": [], "start_line": 915, "executed_branches": [], "missing_branches": [[968, 969], [968, 994], [969, 970], [969, 980], [970, 971], [970, 978], [980, 968], [980, 981], [994, 995], [994, 1001]]}, "MeanAveragePrecision.compute_average_precision": {"executed_lines": [1027, 1028, 1029, 1032, 1033, 1038, 1039, 1047], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [1043], "excluded_lines": [], "start_line": 1012, "executed_branches": [[1038, 1039]], "missing_branches": [[1038, 1043]]}, "MeanAveragePrecision._match_detection_batch": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 17, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 17, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1072, 1073, 1074, 1075, 1077, 1078, 1080, 1081, 1082, 1083, 1085, 1086, 1087, 1088, 1090, 1091, 1092], "excluded_lines": [], "start_line": 1050, "executed_branches": [], "missing_branches": [[1077, 1078], [1077, 1091], [1080, 1077], [1080, 1081], [1085, 1086], [1085, 1090]]}, "MeanAveragePrecision._average_precisions_per_class": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 20, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1116, 1117, 1118, 1120, 1121, 1123, 1127, 1128, 1129, 1130, 1132, 1133, 1135, 1136, 1137, 1138, 1140, 1141, 1147, 1148], "excluded_lines": [], "start_line": 1095, "executed_branches": [], "missing_branches": [[1127, 1128], [1127, 1147], [1132, 1133], [1132, 1135], [1140, 1127], [1140, 1141]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 19, 22, 29, 146, 187, 195, 219, 242, 255, 308, 313, 320, 321, 340, 341, 342, 343, 344, 346, 356, 358, 359, 442, 443, 534, 535, 604, 605, 620, 621, 688, 778, 783, 784, 809, 810, 811, 812, 814, 815, 867, 868, 914, 915, 1011, 1012, 1049, 1050, 1094, 1095], "summary": {"covered_lines": 62, "num_statements": 62, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"ConfusionMatrix": {"executed_lines": [420, 421, 422, 423, 428, 433, 512, 513, 515, 516, 517, 518, 526, 574, 575, 577, 578, 579, 581, 584, 585, 587, 588, 589, 590, 592, 602, 612, 613, 614, 615, 616, 617, 618], "summary": {"covered_lines": 34, "num_statements": 83, "percent_covered": 36.283185840707965, "percent_covered_display": "36", "missing_lines": 49, "excluded_lines": 0, "percent_statements_covered": 40.963855421686745, "percent_statements_covered_display": "41", "num_branches": 30, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 23, "percent_branches_covered": 23.333333333333332, "percent_branches_covered_display": "23"}, "missing_lines": [347, 348, 349, 674, 675, 676, 677, 678, 679, 712, 714, 715, 716, 718, 720, 722, 723, 724, 725, 726, 727, 729, 730, 731, 732, 734, 735, 737, 738, 740, 741, 742, 744, 746, 747, 749, 750, 751, 752, 753, 754, 765, 766, 768, 769, 770, 771, 772, 775], "excluded_lines": [], "start_line": 321, "executed_branches": [[422, 423], [422, 433], [517, 518], [517, 526], [584, 585], [584, 587], [612, 613]], "missing_branches": [[347, 348], [347, 349], [612, 617], [675, 676], [675, 679], [714, 715], [714, 718], [724, 725], [724, 729], [737, 738], [737, 740], [749, 750], [749, 765], [750, 751], [750, 765], [751, 750], [751, 752], [753, 751], [753, 754], [765, 766], [765, 768], [771, 772], [771, 775]]}, "MeanAveragePrecision": {"executed_lines": [1027, 1028, 1029, 1032, 1033, 1038, 1039, 1047], "summary": {"covered_lines": 8, "num_statements": 78, "percent_covered": 8.49056603773585, "percent_covered_display": "8", "missing_lines": 70, "excluded_lines": 0, "percent_statements_covered": 10.256410256410257, "percent_statements_covered_display": "10", "num_branches": 28, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 27, "percent_branches_covered": 3.5714285714285716, "percent_branches_covered_display": "4"}, "missing_lines": [855, 856, 857, 858, 861, 862, 904, 905, 906, 907, 908, 909, 963, 964, 965, 968, 969, 970, 971, 978, 980, 981, 984, 994, 995, 996, 997, 998, 999, 1001, 1002, 1004, 1043, 1072, 1073, 1074, 1075, 1077, 1078, 1080, 1081, 1082, 1083, 1085, 1086, 1087, 1088, 1090, 1091, 1092, 1116, 1117, 1118, 1120, 1121, 1123, 1127, 1128, 1129, 1130, 1132, 1133, 1135, 1136, 1137, 1138, 1140, 1141, 1147, 1148], "excluded_lines": [], "start_line": 784, "executed_branches": [[1038, 1039]], "missing_branches": [[857, 858], [857, 862], [905, 906], [905, 909], [968, 969], [968, 994], [969, 970], [969, 980], [970, 971], [970, 978], [980, 968], [980, 981], [994, 995], [994, 1001], [1038, 1043], [1077, 1078], [1077, 1091], [1080, 1077], [1080, 1081], [1085, 1086], [1085, 1090], [1127, 1128], [1127, 1147], [1132, 1133], [1132, 1135], [1140, 1127], [1140, 1141]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 10, 12, 13, 14, 15, 19, 22, 23, 24, 29, 97, 99, 100, 104, 105, 106, 107, 108, 112, 114, 116, 117, 118, 119, 126, 128, 130, 135, 136, 137, 140, 142, 143, 146, 154, 159, 160, 168, 171, 175, 176, 180, 181, 187, 191, 192, 195, 201, 204, 207, 212, 219, 227, 228, 229, 230, 231, 232, 233, 236, 237, 238, 239, 242, 248, 249, 252, 255, 266, 267, 268, 270, 271, 273, 274, 275, 276, 277, 278, 288, 289, 291, 292, 293, 294, 295, 296, 297, 299, 300, 301, 303, 304, 305, 308, 313, 320, 321, 340, 341, 342, 343, 344, 346, 356, 358, 359, 442, 443, 534, 535, 604, 605, 620, 621, 688, 778, 783, 784, 809, 810, 811, 812, 814, 815, 867, 868, 914, 915, 1011, 1012, 1049, 1050, 1094, 1095], "summary": {"covered_lines": 142, "num_statements": 147, "percent_covered": 95.56650246305419, "percent_covered_display": "96", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 96.59863945578232, "percent_statements_covered_display": "97", "num_branches": 56, "num_partial_branches": 4, "covered_branches": 52, "missing_branches": 4, "percent_branches_covered": 92.85714285714286, "percent_branches_covered_display": "93"}, "missing_lines": [155, 163, 208, 213, 317], "excluded_lines": [], "start_line": 1, "executed_branches": [[23, -22], [23, 24], [99, 100], [99, 104], [104, 105], [104, 128], [106, 107], [106, 114], [107, 108], [107, 112], [116, 117], [116, 118], [118, 119], [118, 126], [135, 136], [135, 142], [136, 137], [136, 140], [154, 159], [159, -146], [159, 160], [160, 168], [175, 176], [175, 180], [180, -146], [180, 181], [207, 212], [212, -195], [227, 228], [227, 232], [229, 230], [229, 231], [232, 233], [232, 239], [236, 237], [236, 238], [248, 249], [248, 252], [270, 271], [270, 273], [291, 292], [291, 299], [292, 291], [292, 293], [299, 300], [299, 303], [300, 299], [300, 301], [303, -255], [303, 304], [304, 303], [304, 305]], "missing_branches": [[154, 155], [160, 163], [207, 208], [212, 213]]}}}, "src\\supervision\\metrics\\f1_score.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 66, 79, 80, 82, 83, 85, 89, 90, 92, 107, 108, 109, 110, 112, 113, 118, 119, 121, 123, 131, 133, 136, 138, 143, 145, 148, 150, 152, 163, 164, 166, 167, 168, 170, 173, 175, 185, 186, 187, 197, 198, 199, 201, 202, 210, 220, 229, 230, 239, 240, 244, 253, 269, 270, 271, 275, 278, 279, 280, 283, 288, 291, 292, 293, 294, 295, 296, 297, 298, 302, 304, 306, 308, 309, 315, 319, 320, 322, 323, 325, 326, 327, 328, 330, 331, 332, 333, 335, 337, 338, 340, 341, 368, 369, 371, 374, 375, 376, 377, 379, 380, 381, 382, 383, 384, 385, 386, 388, 389, 390, 391, 395, 396, 398, 399, 412, 417, 418, 419, 422, 423, 425, 426, 428, 430, 431, 432, 433, 438, 439, 440, 441, 442, 443, 446, 447, 450, 453, 454, 455, 458, 462, 463, 464, 466, 467, 469, 470, 472, 473, 474, 475, 476, 478, 479, 480, 482, 484, 493, 494, 495, 496, 499, 502, 505, 506, 509, 510, 511, 514, 515, 545, 546, 548, 549, 550, 552, 553, 554, 556, 557, 558, 559, 560, 562, 575, 576, 577, 578, 579, 580, 582, 584, 589, 595, 597, 598, 599, 601, 603, 604, 605, 607, 609, 610, 611, 613, 614, 615, 617, 619, 620, 621, 623, 624, 629, 630, 631, 633, 701, 731], "summary": {"covered_lines": 236, "num_statements": 324, "percent_covered": 68.69369369369369, "percent_covered_display": "69", "missing_lines": 88, "excluded_lines": 3, "percent_statements_covered": 72.8395061728395, "percent_statements_covered_display": "73", "num_branches": 120, "num_partial_branches": 17, "covered_branches": 69, "missing_branches": 51, "percent_branches_covered": 57.5, "percent_branches_covered_display": "58"}, "missing_lines": [174, 200, 206, 413, 434, 435, 436, 437, 444, 448, 449, 451, 452, 456, 471, 477, 583, 606, 616, 625, 626, 627, 673, 683, 684, 685, 686, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 699, 708, 709, 711, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 729, 740, 741, 742, 744, 745, 746, 747, 748, 750, 751, 752, 753, 754, 756, 757, 758, 759, 760, 762, 764, 765, 766, 767, 772, 774, 775, 777, 778, 780, 781, 782, 790, 792, 793], "excluded_lines": [26, 27, 634], "executed_branches": [[107, 108], [107, 109], [109, 110], [109, 112], [112, 113], [112, 118], [166, 167], [166, 229], [170, 173], [170, 185], [173, 175], [185, 166], [185, 186], [186, 187], [186, 197], [197, 198], [197, 199], [199, 201], [201, 202], [229, 230], [229, 239], [291, 292], [291, 293], [293, 294], [293, 296], [296, 297], [298, 302], [298, 304], [322, 323], [322, 337], [325, 322], [325, 326], [330, 331], [330, 335], [374, 375], [374, 395], [379, 380], [379, 383], [383, 384], [383, 388], [412, 417], [430, 431], [430, 433], [433, 438], [438, 439], [440, 441], [440, 443], [447, 450], [450, 453], [453, 454], [463, 464], [463, 466], [470, 472], [472, 473], [474, 475], [474, 476], [476, 478], [478, 479], [479, 480], [479, 482], [495, 496], [495, 502], [582, 584], [584, 589], [584, 595], [598, 599], [598, 601], [605, 607], [615, 617]], "missing_branches": [[173, 174], [199, 200], [201, 206], [296, 306], [412, 413], [433, 434], [434, 435], [434, 437], [438, 444], [447, 448], [450, 451], [453, 456], [470, 471], [472, 474], [476, 477], [478, 482], [582, 583], [605, 606], [615, 616], [625, 626], [625, 627], [683, 684], [683, 685], [685, 686], [685, 688], [689, 690], [689, 692], [692, 693], [692, 695], [695, 696], [695, 699], [716, 717], [716, 720], [718, 719], [718, 720], [720, 721], [720, 724], [722, 723], [722, 724], [724, 725], [724, 729], [726, 727], [726, 729], [744, 745], [744, 750], [750, 751], [750, 756], [756, 757], [756, 762], [780, 781], [780, 790]], "functions": {"F1Score.__init__": {"executed_lines": [79, 80, 82, 83], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66, "executed_branches": [], "missing_branches": []}, "F1Score.reset": {"executed_lines": [89, 90], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85, "executed_branches": [], "missing_branches": []}, "F1Score.update": {"executed_lines": [107, 108, 109, 110, 112, 113, 118, 119, 121], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [[107, 108], [107, 109], [109, 110], [109, 112], [112, 113], [112, 118]], "missing_branches": []}, "F1Score.compute": {"executed_lines": [131, 133, 136, 138, 143, 145, 148, 150], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 123, "executed_branches": [], "missing_branches": []}, "F1Score._compute": {"executed_lines": [163, 164, 166, 167, 168, 170, 173, 175, 185, 186, 187, 197, 198, 199, 201, 202, 210, 220, 229, 230, 239, 240, 244], "summary": {"covered_lines": 23, "num_statements": 26, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 88.46153846153847, "percent_statements_covered_display": "88", "num_branches": 18, "num_partial_branches": 3, "covered_branches": 15, "missing_branches": 3, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [174, 200, 206], "excluded_lines": [], "start_line": 152, "executed_branches": [[166, 167], [166, 229], [170, 173], [170, 185], [173, 175], [185, 166], [185, 186], [186, 187], [186, 197], [197, 198], [197, 199], [199, 201], [201, 202], [229, 230], [229, 239]], "missing_branches": [[173, 174], [199, 200], [201, 206]]}, "F1Score._compute_f1_for_classes": {"executed_lines": [269, 270, 271, 275, 278, 279, 280, 283, 288, 291, 292, 293, 294, 295, 296, 297, 298, 302, 304, 306], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 96.42857142857143, "percent_covered_display": "96", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [], "excluded_lines": [], "start_line": 253, "executed_branches": [[291, 292], [291, 293], [293, 294], [293, 296], [296, 297], [298, 302], [298, 304]], "missing_branches": [[296, 306]]}, "F1Score._match_detection_batch": {"executed_lines": [315, 319, 320, 322, 323, 325, 326, 327, 328, 330, 331, 332, 333, 335, 337, 338], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 309, "executed_branches": [[322, 323], [322, 337], [325, 322], [325, 326], [330, 331], [330, 335]], "missing_branches": []}, "F1Score._compute_confusion_matrix": {"executed_lines": [368, 369, 371, 374, 375, 376, 377, 379, 380, 381, 382, 383, 384, 385, 386, 388, 389, 390, 391, 395, 396], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 341, "executed_branches": [[374, 375], [374, 395], [379, 380], [379, 383], [383, 384], [383, 388]], "missing_branches": []}, "F1Score._compute_f1": {"executed_lines": [412, 417, 418, 419, 422, 423, 425, 426], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [413], "excluded_lines": [], "start_line": 399, "executed_branches": [[412, 417]], "missing_branches": [[412, 413]]}, "F1Score._detections_content": {"executed_lines": [430, 431, 432, 433, 438, 439, 440, 441, 442, 443], "summary": {"covered_lines": 10, "num_statements": 15, "percent_covered": 64.0, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 4, "percent_branches_covered": 60.0, "percent_branches_covered_display": "60"}, "missing_lines": [434, 435, 436, 437, 444], "excluded_lines": [], "start_line": 428, "executed_branches": [[430, 431], [430, 433], [433, 438], [438, 439], [440, 441], [440, 443]], "missing_branches": [[433, 434], [434, 435], [434, 437], [438, 444]]}, "F1Score._make_empty_content": {"executed_lines": [447, 450, 453, 454, 455], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [448, 449, 451, 452, 456], "excluded_lines": [], "start_line": 446, "executed_branches": [[447, 450], [450, 453], [453, 454]], "missing_branches": [[447, 448], [450, 451], [453, 456]]}, "F1Score._filter_detections_by_size": {"executed_lines": [462, 463, 464, 466, 467, 469, 470, 472, 473, 474, 475, 476, 478, 479, 480, 482], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 14, "num_partial_branches": 4, "covered_branches": 10, "missing_branches": 4, "percent_branches_covered": 71.42857142857143, "percent_branches_covered_display": "71"}, "missing_lines": [471, 477], "excluded_lines": [], "start_line": 458, "executed_branches": [[463, 464], [463, 466], [470, 472], [472, 473], [474, 475], [474, 476], [476, 478], [478, 479], [479, 480], [479, 482]], "missing_branches": [[470, 471], [472, 474], [476, 477], [478, 482]]}, "F1Score._filter_predictions_and_targets_by_size": {"executed_lines": [493, 494, 495, 496, 499, 502], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 484, "executed_branches": [[495, 496], [495, 502]], "missing_branches": []}, "F1ScoreResult.f1_50": {"executed_lines": [550], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 549, "executed_branches": [], "missing_branches": []}, "F1ScoreResult.f1_75": {"executed_lines": [554], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 553, "executed_branches": [], "missing_branches": []}, "F1ScoreResult.__init__": {"executed_lines": [575, 576, 577, 578, 579, 580, 582, 584, 589, 595], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [583], "excluded_lines": [], "start_line": 562, "executed_branches": [[582, 584], [584, 589], [584, 595]], "missing_branches": [[582, 583]]}, "F1ScoreResult._ensure_size_results": {"executed_lines": [598, 599, 601], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 597, "executed_branches": [[598, 599], [598, 601]], "missing_branches": []}, "F1ScoreResult.small_objects": {"executed_lines": [611], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 610, "executed_branches": [], "missing_branches": []}, "F1ScoreResult.medium_objects": {"executed_lines": [621], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 620, "executed_branches": [], "missing_branches": []}, "F1ScoreResult.large_objects": {"executed_lines": [631], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 630, "executed_branches": [], "missing_branches": []}, "F1ScoreResult.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [673, 683, 684, 685, 686, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 699], "excluded_lines": [634], "start_line": 633, "executed_branches": [], "missing_branches": [[683, 684], [683, 685], [685, 686], [685, 688], [689, 690], [689, 692], [692, 693], [692, 695], [695, 696], [695, 699]]}, "F1ScoreResult.to_pandas": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 12, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [708, 709, 711, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 729], "excluded_lines": [], "start_line": 701, "executed_branches": [], "missing_branches": [[716, 717], [716, 720], [718, 719], [718, 720], [720, 721], [720, 724], [722, 723], [722, 724], [724, 725], [724, 729], [726, 727], [726, 729]]}, "F1ScoreResult.plot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [740, 741, 742, 744, 745, 746, 747, 748, 750, 751, 752, 753, 754, 756, 757, 758, 759, 760, 762, 764, 765, 766, 767, 772, 774, 775, 777, 778, 780, 781, 782, 790, 792, 793], "excluded_lines": [], "start_line": 731, "executed_branches": [], "missing_branches": [[744, 745], [744, 750], [750, 751], [750, 756], [756, 757], [756, 762], [780, 781], [780, 790]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 66, 85, 92, 123, 152, 253, 308, 309, 340, 341, 398, 399, 428, 446, 458, 484, 505, 506, 509, 510, 511, 514, 515, 545, 546, 548, 549, 552, 553, 556, 557, 558, 559, 560, 562, 597, 603, 604, 609, 610, 613, 614, 619, 620, 623, 624, 629, 630, 633, 701, 731], "summary": {"covered_lines": 66, "num_statements": 66, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"F1Score": {"executed_lines": [79, 80, 82, 83, 89, 90, 107, 108, 109, 110, 112, 113, 118, 119, 121, 131, 133, 136, 138, 143, 145, 148, 150, 163, 164, 166, 167, 168, 170, 173, 175, 185, 186, 187, 197, 198, 199, 201, 202, 210, 220, 229, 230, 239, 240, 244, 269, 270, 271, 275, 278, 279, 280, 283, 288, 291, 292, 293, 294, 295, 296, 297, 298, 302, 304, 306, 315, 319, 320, 322, 323, 325, 326, 327, 328, 330, 331, 332, 333, 335, 337, 338, 368, 369, 371, 374, 375, 376, 377, 379, 380, 381, 382, 383, 384, 385, 386, 388, 389, 390, 391, 395, 396, 412, 417, 418, 419, 422, 423, 425, 426, 430, 431, 432, 433, 438, 439, 440, 441, 442, 443, 447, 450, 453, 454, 455, 462, 463, 464, 466, 467, 469, 470, 472, 473, 474, 475, 476, 478, 479, 480, 482, 493, 494, 495, 496, 499, 502], "summary": {"covered_lines": 148, "num_statements": 164, "percent_covered": 86.77685950413223, "percent_covered_display": "87", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 90.2439024390244, "percent_statements_covered_display": "90", "num_branches": 78, "num_partial_branches": 14, "covered_branches": 62, "missing_branches": 16, "percent_branches_covered": 79.48717948717949, "percent_branches_covered_display": "79"}, "missing_lines": [174, 200, 206, 413, 434, 435, 436, 437, 444, 448, 449, 451, 452, 456, 471, 477], "excluded_lines": [], "start_line": 30, "executed_branches": [[107, 108], [107, 109], [109, 110], [109, 112], [112, 113], [112, 118], [166, 167], [166, 229], [170, 173], [170, 185], [173, 175], [185, 166], [185, 186], [186, 187], [186, 197], [197, 198], [197, 199], [199, 201], [201, 202], [229, 230], [229, 239], [291, 292], [291, 293], [293, 294], [293, 296], [296, 297], [298, 302], [298, 304], [322, 323], [322, 337], [325, 322], [325, 326], [330, 331], [330, 335], [374, 375], [374, 395], [379, 380], [379, 383], [383, 384], [383, 388], [412, 417], [430, 431], [430, 433], [433, 438], [438, 439], [440, 441], [440, 443], [447, 450], [450, 453], [453, 454], [463, 464], [463, 466], [470, 472], [472, 473], [474, 475], [474, 476], [476, 478], [478, 479], [479, 480], [479, 482], [495, 496], [495, 502]], "missing_branches": [[173, 174], [199, 200], [201, 206], [296, 306], [412, 413], [433, 434], [434, 435], [434, 437], [438, 444], [447, 448], [450, 451], [453, 456], [470, 471], [472, 474], [476, 477], [478, 482]]}, "F1ScoreSizeResults": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 506, "executed_branches": [], "missing_branches": []}, "F1ScoreResult": {"executed_lines": [550, 554, 575, 576, 577, 578, 579, 580, 582, 584, 589, 595, 598, 599, 601, 605, 607, 611, 615, 617, 621, 631], "summary": {"covered_lines": 22, "num_statements": 94, "percent_covered": 21.323529411764707, "percent_covered_display": "21", "missing_lines": 72, "excluded_lines": 1, "percent_statements_covered": 23.404255319148938, "percent_statements_covered_display": "23", "num_branches": 42, "num_partial_branches": 3, "covered_branches": 7, "missing_branches": 35, "percent_branches_covered": 16.666666666666668, "percent_branches_covered_display": "17"}, "missing_lines": [583, 606, 616, 625, 626, 627, 673, 683, 684, 685, 686, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 699, 708, 709, 711, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 729, 740, 741, 742, 744, 745, 746, 747, 748, 750, 751, 752, 753, 754, 756, 757, 758, 759, 760, 762, 764, 765, 766, 767, 772, 774, 775, 777, 778, 780, 781, 782, 790, 792, 793], "excluded_lines": [634], "start_line": 515, "executed_branches": [[582, 584], [584, 589], [584, 595], [598, 599], [598, 601], [605, 607], [615, 617]], "missing_branches": [[582, 583], [605, 606], [615, 616], [625, 626], [625, 627], [683, 684], [683, 685], [685, 686], [685, 688], [689, 690], [689, 692], [692, 693], [692, 695], [695, 696], [695, 699], [716, 717], [716, 720], [718, 719], [718, 720], [720, 721], [720, 724], [722, 723], [722, 724], [724, 725], [724, 729], [726, 727], [726, 729], [744, 745], [744, 750], [750, 751], [750, 756], [756, 757], [756, 762], [780, 781], [780, 790]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 66, 85, 92, 123, 152, 253, 308, 309, 340, 341, 398, 399, 428, 446, 458, 484, 505, 506, 509, 510, 511, 514, 515, 545, 546, 548, 549, 552, 553, 556, 557, 558, 559, 560, 562, 597, 603, 604, 609, 610, 613, 614, 619, 620, 623, 624, 629, 630, 633, 701, 731], "summary": {"covered_lines": 66, "num_statements": 66, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\mean_average_precision.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 29, 30, 33, 34, 35, 38, 39, 62, 63, 64, 65, 66, 67, 68, 72, 84, 85, 86, 87, 88, 89, 90, 92, 97, 103, 104, 112, 113, 117, 118, 122, 123, 125, 128, 130, 131, 140, 141, 143, 146, 148, 149, 150, 153, 156, 158, 159, 161, 164, 166, 167, 176, 235, 270, 339, 345, 356, 357, 358, 359, 360, 361, 363, 364, 367, 368, 370, 371, 372, 374, 378, 379, 380, 381, 382, 383, 385, 386, 387, 389, 390, 391, 393, 394, 395, 398, 399, 400, 401, 402, 404, 422, 425, 426, 431, 436, 443, 452, 455, 456, 458, 476, 477, 501, 502, 504, 520, 521, 522, 535, 545, 547, 549, 560, 561, 563, 567, 568, 569, 571, 574, 579, 583, 587, 592, 593, 598, 599, 600, 603, 604, 606, 608, 610, 611, 612, 613, 617, 618, 619, 622, 625, 630, 631, 632, 633, 636, 641, 644, 645, 648, 656, 664, 666, 674, 675, 678, 679, 680, 683, 686, 687, 690, 695, 705, 707, 710, 711, 713, 714, 716, 717, 719, 720, 724, 725, 729, 730, 734, 735, 739, 740, 743, 744, 747, 752, 755, 757, 760, 763, 764, 765, 768, 769, 770, 773, 774, 775, 778, 779, 781, 794, 795, 798, 799, 800, 803, 804, 808, 811, 812, 815, 817, 820, 822, 841, 842, 845, 846, 848, 852, 853, 854, 856, 859, 860, 863, 864, 867, 874, 875, 876, 879, 880, 882, 883, 884, 886, 888, 890, 892, 894, 897, 898, 899, 901, 910, 911, 912, 915, 916, 917, 918, 921, 926, 933, 947, 960, 961, 962, 963, 964, 965, 967, 977, 981, 992, 1004, 1007, 1008, 1011, 1012, 1014, 1017, 1020, 1025, 1029, 1036, 1049, 1050, 1052, 1053, 1055, 1056, 1060, 1062, 1065, 1068, 1069, 1071, 1074, 1078, 1081, 1083, 1084, 1086, 1089, 1093, 1096, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1109, 1113, 1114, 1115, 1117, 1120, 1121, 1122, 1123, 1126, 1127, 1129, 1132, 1136, 1137, 1140, 1141, 1143, 1156, 1174, 1178, 1180, 1181, 1184, 1223, 1224, 1236, 1243, 1256, 1274, 1369, 1375, 1376, 1377, 1379, 1382, 1389, 1392, 1400, 1403, 1441, 1457, 1458, 1460, 1461, 1462, 1463, 1465, 1472, 1487, 1489, 1492, 1498, 1509, 1510, 1512, 1514, 1518, 1519, 1522, 1523, 1524, 1528, 1531, 1532, 1535, 1537, 1538, 1539, 1542, 1545, 1546, 1547, 1549, 1550, 1552, 1553, 1556, 1565, 1567, 1568, 1570, 1576, 1581, 1582, 1583, 1586, 1589, 1590, 1592, 1593, 1595, 1596, 1597, 1600, 1602, 1603, 1606, 1607, 1611, 1613, 1614, 1616, 1624, 1625, 1627, 1636, 1637, 1639, 1645, 1646, 1648, 1650, 1652, 1655], "summary": {"covered_lines": 441, "num_statements": 628, "percent_covered": 66.27358490566037, "percent_covered_display": "66", "missing_lines": 187, "excluded_lines": 2, "percent_statements_covered": 70.22292993630573, "percent_statements_covered_display": "70", "num_branches": 220, "num_partial_branches": 43, "covered_branches": 121, "missing_branches": 99, "percent_branches_covered": 55.0, "percent_branches_covered_display": "55"}, "missing_lines": [106, 107, 108, 110, 115, 120, 126, 132, 133, 135, 136, 138, 144, 151, 154, 162, 168, 169, 171, 172, 174, 206, 211, 220, 242, 243, 245, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 265, 279, 280, 281, 283, 284, 285, 290, 292, 293, 294, 299, 301, 302, 303, 308, 310, 312, 313, 314, 315, 317, 318, 320, 321, 323, 324, 325, 333, 335, 336, 423, 433, 453, 479, 482, 489, 498, 524, 526, 527, 528, 529, 531, 533, 546, 564, 580, 584, 588, 607, 706, 708, 722, 727, 732, 737, 741, 745, 809, 907, 1063, 1146, 1147, 1148, 1154, 1170, 1171, 1172, 1188, 1189, 1192, 1196, 1197, 1200, 1204, 1205, 1208, 1212, 1258, 1279, 1285, 1286, 1287, 1288, 1293, 1294, 1295, 1296, 1299, 1301, 1302, 1303, 1304, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1316, 1317, 1320, 1322, 1323, 1324, 1325, 1328, 1331, 1336, 1341, 1346, 1347, 1348, 1349, 1354, 1359, 1364, 1366, 1367, 1469, 1470, 1488, 1490, 1493, 1499, 1500, 1502, 1503, 1504, 1505, 1506, 1507, 1520, 1525, 1529, 1540, 1554, 1584, 1587, 1598, 1640, 1658, 1667, 1676, 1686, 1697], "excluded_lines": [25, 26], "executed_branches": [[92, -72], [92, 97], [125, 128], [143, 146], [150, 153], [153, 156], [161, 164], [363, 364], [363, 367], [380, 381], [381, 382], [381, 385], [385, 386], [386, 387], [386, 389], [389, 390], [390, 391], [390, 393], [393, 394], [394, 395], [394, 398], [422, 425], [425, 426], [452, 455], [476, 477], [520, 521], [545, 547], [563, 567], [567, 568], [567, 571], [579, 583], [583, 587], [587, 592], [592, 593], [598, 599], [598, 611], [603, 604], [606, 608], [705, 707], [707, 710], [763, 764], [763, 768], [769, 770], [769, 773], [774, 775], [774, 778], [798, 799], [798, 803], [808, 811], [845, 846], [845, 848], [852, 853], [852, 859], [853, 854], [853, 856], [884, 886], [884, 921], [886, 888], [886, 921], [888, 886], [888, 890], [894, 897], [894, 915], [898, 899], [898, 901], [901, 910], [910, 894], [910, 911], [915, 888], [915, 916], [1049, -1036], [1049, 1050], [1052, 1049], [1052, 1053], [1055, 1052], [1055, 1056], [1062, 1065], [1083, 1084], [1083, 1086], [1100, 1055], [1100, 1101], [1113, 1114], [1113, 1117], [1114, 1113], [1114, 1115], [1121, 1122], [1121, 1129], [1123, 1121], [1123, 1126], [1487, 1489], [1489, 1492], [1492, 1498], [1498, 1509], [1519, 1522], [1523, 1524], [1523, 1567], [1524, 1528], [1528, 1531], [1531, 1523], [1531, 1532], [1537, 1538], [1539, 1542], [1546, 1547], [1546, 1549], [1549, 1550], [1549, 1552], [1553, 1556], [1582, 1583], [1582, 1625], [1583, 1586], [1586, 1589], [1589, 1582], [1589, 1590], [1595, 1596], [1597, 1600], [1602, 1603], [1607, 1611], [1607, 1613], [1613, 1614], [1613, 1616], [1639, 1645]], "missing_branches": [[107, 108], [107, 110], [125, 126], [132, 133], [132, 135], [135, 136], [135, 138], [143, 144], [150, 151], [153, 154], [161, 162], [168, 169], [168, 171], [171, 172], [171, 174], [206, 211], [206, 220], [251, 252], [251, 255], [253, 254], [253, 255], [255, 256], [255, 259], [257, 258], [257, 259], [259, 260], [259, 265], [261, 262], [261, 265], [283, 284], [283, 292], [292, 293], [292, 301], [301, 302], [301, 310], [323, 324], [323, 333], [380, 385], [385, 389], [389, 393], [393, 398], [422, 423], [425, 433], [452, 453], [476, 479], [520, 524], [526, 527], [526, 533], [527, 528], [527, 533], [528, 529], [528, 531], [545, 546], [563, 564], [579, 580], [583, 584], [587, 588], [592, 611], [603, 606], [606, 607], [705, 706], [707, 708], [808, 809], [901, 907], [1062, 1063], [1296, 1299], [1296, 1308], [1301, 1302], [1301, 1304], [1309, 1310], [1309, 1312], [1313, 1314], [1313, 1316], [1366, -1274], [1366, 1367], [1487, 1488], [1489, 1490], [1492, 1493], [1498, 1499], [1502, 1503], [1502, 1505], [1503, 1502], [1503, 1504], [1505, 1506], [1505, 1509], [1506, 1505], [1506, 1507], [1519, 1520], [1524, 1525], [1528, 1529], [1537, 1545], [1539, 1540], [1553, 1554], [1583, 1584], [1586, 1587], [1595, 1602], [1597, 1598], [1602, 1606], [1639, 1640]], "functions": {"MeanAveragePrecisionResult.__init__": {"executed_lines": [84, 85, 86, 87, 88, 89, 90, 92, 97], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72, "executed_branches": [[92, -72], [92, 97]], "missing_branches": []}, "MeanAveragePrecisionResult.map50_95": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [106, 107, 108, 110], "excluded_lines": [], "start_line": 104, "executed_branches": [], "missing_branches": [[107, 108], [107, 110]]}, "MeanAveragePrecisionResult.map50": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [115], "excluded_lines": [], "start_line": 113, "executed_branches": [], "missing_branches": []}, "MeanAveragePrecisionResult.map75": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [120], "excluded_lines": [], "start_line": 118, "executed_branches": [], "missing_branches": []}, "MeanAveragePrecisionResult.small_objects": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [132, 133, 135, 136, 138], "excluded_lines": [], "start_line": 131, "executed_branches": [], "missing_branches": [[132, 133], [132, 135], [135, 136], [135, 138]]}, "MeanAveragePrecisionResult.medium_objects": {"executed_lines": [150, 153, 156], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [151, 154], "excluded_lines": [], "start_line": 149, "executed_branches": [[150, 153], [153, 156]], "missing_branches": [[150, 151], [153, 154]]}, "MeanAveragePrecisionResult.large_objects": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [168, 169, 171, 172, 174], "excluded_lines": [], "start_line": 167, "executed_branches": [], "missing_branches": [[168, 169], [168, 171], [171, 172], [171, 174]]}, "MeanAveragePrecisionResult.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [206, 211, 220], "excluded_lines": [], "start_line": 176, "executed_branches": [], "missing_branches": [[206, 211], [206, 220]]}, "MeanAveragePrecisionResult.to_pandas": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 12, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [242, 243, 245, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 265], "excluded_lines": [], "start_line": 235, "executed_branches": [], "missing_branches": [[251, 252], [251, 255], [253, 254], [253, 255], [255, 256], [255, 259], [257, 258], [257, 259], [259, 260], [259, 265], [261, 262], [261, 265]]}, "MeanAveragePrecisionResult.plot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 30, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [279, 280, 281, 283, 284, 285, 290, 292, 293, 294, 299, 301, 302, 303, 308, 310, 312, 313, 314, 315, 317, 318, 320, 321, 323, 324, 325, 333, 335, 336], "excluded_lines": [], "start_line": 270, "executed_branches": [], "missing_branches": [[283, 284], [283, 292], [292, 293], [292, 301], [301, 302], [301, 310], [323, 324], [323, 333]]}, "EvaluationDataset.__init__": {"executed_lines": [356, 357, 358, 359, 360, 361, 363, 364, 367, 368], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 345, "executed_branches": [[363, 364], [363, 367]], "missing_branches": []}, "EvaluationDataset.empty": {"executed_lines": [372], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 371, "executed_branches": [], "missing_branches": []}, "EvaluationDataset.create_class_members": {"executed_lines": [378, 379, 380, 381, 382, 383, 385, 386, 387, 389, 390, 391, 393, 394, 395, 398, 399, 400, 401, 402], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 16, "num_partial_branches": 4, "covered_branches": 12, "missing_branches": 4, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "start_line": 374, "executed_branches": [[380, 381], [381, 382], [381, 385], [385, 386], [386, 387], [386, 389], [389, 390], [390, 391], [390, 393], [393, 394], [394, 395], [394, 398]], "missing_branches": [[380, 385], [385, 389], [389, 393], [393, 398]]}, "EvaluationDataset.get_annotation_ids": {"executed_lines": [422, 425, 426, 431, 436, 443, 452, 455, 456], "summary": {"covered_lines": 9, "num_statements": 12, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [423, 433, 453], "excluded_lines": [], "start_line": 404, "executed_branches": [[422, 425], [425, 426], [452, 455]], "missing_branches": [[422, 423], [425, 433], [452, 453]]}, "EvaluationDataset.get_category_ids": {"executed_lines": [476, 477, 501, 502], "summary": {"covered_lines": 4, "num_statements": 8, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [479, 482, 489, 498], "excluded_lines": [], "start_line": 458, "executed_branches": [[476, 477]], "missing_branches": [[476, 479]]}, "EvaluationDataset.get_image_ids": {"executed_lines": [520, 521, 522], "summary": {"covered_lines": 3, "num_statements": 10, "percent_covered": 22.22222222222222, "percent_covered_display": "22", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 30.0, "percent_statements_covered_display": "30", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 7, "percent_branches_covered": 12.5, "percent_branches_covered_display": "12"}, "missing_lines": [524, 526, 527, 528, 529, 531, 533], "excluded_lines": [], "start_line": 504, "executed_branches": [[520, 521]], "missing_branches": [[520, 524], [526, 527], [526, 533], [527, 528], [527, 533], [528, 529], [528, 531]]}, "EvaluationDataset.get_annotations": {"executed_lines": [545, 547], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [546], "excluded_lines": [], "start_line": 535, "executed_branches": [[545, 547]], "missing_branches": [[545, 546]]}, "EvaluationDataset.load_predictions": {"executed_lines": [560, 561, 563, 567, 568, 569, 571, 574, 579, 583, 587, 592, 593, 598, 599, 600, 603, 604, 606, 608, 610, 611, 612, 613], "summary": {"covered_lines": 24, "num_statements": 29, "percent_covered": 74.46808510638297, "percent_covered_display": "74", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 82.75862068965517, "percent_statements_covered_display": "83", "num_branches": 18, "num_partial_branches": 7, "covered_branches": 11, "missing_branches": 7, "percent_branches_covered": 61.111111111111114, "percent_branches_covered_display": "61"}, "missing_lines": [564, 580, 584, 588, 607], "excluded_lines": [], "start_line": 549, "executed_branches": [[563, 567], [567, 568], [567, 571], [579, 583], [583, 587], [587, 592], [592, 593], [598, 599], [598, 611], [603, 604], [606, 608]], "missing_branches": [[563, 564], [579, 580], [583, 584], [587, 588], [592, 611], [603, 606], [606, 607]]}, "COCOEvaluatorParameters.__init__": {"executed_lines": [644, 645, 648, 656, 664, 666], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 641, "executed_branches": [], "missing_branches": []}, "COCOEvaluator.__init__": {"executed_lines": [705, 707, 710, 711, 713, 714, 716, 717], "summary": {"covered_lines": 8, "num_statements": 10, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [706, 708], "excluded_lines": [], "start_line": 695, "executed_branches": [[705, 707], [707, 710]], "missing_branches": [[705, 706], [707, 708]]}, "COCOEvaluator.eval_imgs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [722], "excluded_lines": [], "start_line": 720, "executed_branches": [], "missing_branches": []}, "COCOEvaluator.results": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [727], "excluded_lines": [], "start_line": 725, "executed_branches": [], "missing_branches": []}, "COCOEvaluator.stats": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [732], "excluded_lines": [], "start_line": 730, "executed_branches": [], "missing_branches": []}, "COCOEvaluator.ious": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [737], "excluded_lines": [], "start_line": 735, "executed_branches": [], "missing_branches": []}, "COCOEvaluator._targets": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [741], "excluded_lines": [], "start_line": 740, "executed_branches": [], "missing_branches": []}, "COCOEvaluator._predictions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [745], "excluded_lines": [], "start_line": 744, "executed_branches": [], "missing_branches": []}, "COCOEvaluator._prepare_targets_and_predictions": {"executed_lines": [752, 755, 757, 760, 763, 764, 765, 768, 769, 770, 773, 774, 775, 778, 779], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 747, "executed_branches": [[763, 764], [763, 768], [769, 770], [769, 773], [774, 775], [774, 778]], "missing_branches": []}, "COCOEvaluator._compute_iou": {"executed_lines": [794, 795, 798, 799, 800, 803, 804, 808, 811, 812, 815, 817, 820], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [809], "excluded_lines": [], "start_line": 781, "executed_branches": [[798, 799], [798, 803], [808, 811]], "missing_branches": [[808, 809]]}, "COCOEvaluator._evaluate_image": {"executed_lines": [841, 842, 845, 846, 848, 852, 853, 854, 856, 859, 860, 863, 864, 867, 874, 875, 876, 879, 880, 882, 883, 884, 886, 888, 890, 892, 894, 897, 898, 899, 901, 910, 911, 912, 915, 916, 917, 918, 921, 926, 933], "summary": {"covered_lines": 41, "num_statements": 42, "percent_covered": 96.875, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.61904761904762, "percent_statements_covered_display": "98", "num_branches": 22, "num_partial_branches": 1, "covered_branches": 21, "missing_branches": 1, "percent_branches_covered": 95.45454545454545, "percent_branches_covered_display": "95"}, "missing_lines": [907], "excluded_lines": [], "start_line": 822, "executed_branches": [[845, 846], [845, 848], [852, 853], [852, 859], [853, 854], [853, 856], [884, 886], [884, 921], [886, 888], [886, 921], [888, 886], [888, 890], [894, 897], [894, 915], [898, 899], [898, 901], [901, 910], [910, 894], [910, 911], [915, 888], [915, 916]], "missing_branches": [[901, 907]]}, "COCOEvaluator._initialize_accumulation": {"executed_lines": [960, 961, 962, 963, 964, 965, 967, 977, 981, 992], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 947, "executed_branches": [], "missing_branches": []}, "COCOEvaluator._select_evaluation_indices": {"executed_lines": [1007, 1008, 1011, 1012, 1014, 1017, 1020, 1025, 1029], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1004, "executed_branches": [], "missing_branches": []}, "COCOEvaluator._compute_raw_metrics": {"executed_lines": [1049, 1050, 1052, 1053, 1055, 1056, 1060, 1062, 1065, 1068, 1069, 1071, 1074, 1078, 1081, 1083, 1084, 1086, 1089, 1093, 1096, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1109, 1113, 1114, 1115, 1117, 1120, 1121, 1122, 1123, 1126, 1127, 1129, 1132], "summary": {"covered_lines": 42, "num_statements": 43, "percent_covered": 96.82539682539682, "percent_covered_display": "97", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 97.67441860465117, "percent_statements_covered_display": "98", "num_branches": 20, "num_partial_branches": 1, "covered_branches": 19, "missing_branches": 1, "percent_branches_covered": 95.0, "percent_branches_covered_display": "95"}, "missing_lines": [1063], "excluded_lines": [], "start_line": 1036, "executed_branches": [[1049, -1036], [1049, 1050], [1052, 1049], [1052, 1053], [1055, 1052], [1055, 1056], [1062, 1065], [1083, 1084], [1083, 1086], [1100, 1055], [1100, 1101], [1113, 1114], [1113, 1117], [1114, 1113], [1114, 1115], [1121, 1122], [1121, 1129], [1123, 1121], [1123, 1126]], "missing_branches": [[1062, 1063]]}, "COCOEvaluator._compute_average_precision": {"executed_lines": [1140, 1141, 1143, 1156], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [1170, 1171, 1172], "excluded_lines": [], "start_line": 1137, "executed_branches": [], "missing_branches": []}, "COCOEvaluator._compute_average_precision.mean_with_mask": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [1146, 1147, 1148, 1154], "excluded_lines": [], "start_line": 1143, "executed_branches": [], "missing_branches": []}, "COCOEvaluator._compute_average_precision_by_size": {"executed_lines": [1178, 1180, 1181, 1184], "summary": {"covered_lines": 4, "num_statements": 14, "percent_covered": 28.571428571428573, "percent_covered_display": "29", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 28.571428571428573, "percent_statements_covered_display": "29", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [1188, 1189, 1192, 1196, 1197, 1200, 1204, 1205, 1208, 1212], "excluded_lines": [], "start_line": 1174, "executed_branches": [], "missing_branches": []}, "COCOEvaluator._accumulate": {"executed_lines": [1224, 1236, 1243, 1256], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [1258], "excluded_lines": [], "start_line": 1223, "executed_branches": [], "missing_branches": []}, "COCOEvaluator._pycocotools_summarize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1279, 1322, 1366, 1367], "excluded_lines": [], "start_line": 1274, "executed_branches": [], "missing_branches": [[1366, -1274], [1366, 1367]]}, "COCOEvaluator._pycocotools_summarize._summarize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 23, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [1285, 1286, 1287, 1288, 1293, 1294, 1295, 1296, 1299, 1301, 1302, 1303, 1304, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1316, 1317, 1320], "excluded_lines": [], "start_line": 1279, "executed_branches": [], "missing_branches": [[1296, 1299], [1296, 1308], [1301, 1302], [1301, 1304], [1309, 1310], [1309, 1312], [1313, 1314], [1313, 1316]]}, "COCOEvaluator._pycocotools_summarize._summarize_predictions": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [1323, 1324, 1325, 1328, 1331, 1336, 1341, 1346, 1347, 1348, 1349, 1354, 1359, 1364], "excluded_lines": [], "start_line": 1322, "executed_branches": [], "missing_branches": []}, "COCOEvaluator.evaluate": {"executed_lines": [1375, 1376, 1377, 1379, 1382, 1389, 1392, 1400], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1369, "executed_branches": [], "missing_branches": []}, "MeanAveragePrecision.__init__": {"executed_lines": [1457, 1458, 1460, 1461, 1462, 1463], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1441, "executed_branches": [], "missing_branches": []}, "MeanAveragePrecision.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [1469, 1470], "excluded_lines": [], "start_line": 1465, "executed_branches": [], "missing_branches": []}, "MeanAveragePrecision.update": {"executed_lines": [1487, 1489, 1492, 1498, 1509, 1510, 1512], "summary": {"covered_lines": 7, "num_statements": 18, "percent_covered": 32.35294117647059, "percent_covered_display": "32", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 38.888888888888886, "percent_statements_covered_display": "39", "num_branches": 16, "num_partial_branches": 4, "covered_branches": 4, "missing_branches": 12, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [1488, 1490, 1493, 1499, 1500, 1502, 1503, 1504, 1505, 1506, 1507], "excluded_lines": [], "start_line": 1472, "executed_branches": [[1487, 1489], [1489, 1492], [1492, 1498], [1498, 1509]], "missing_branches": [[1487, 1488], [1489, 1490], [1492, 1493], [1498, 1499], [1502, 1503], [1502, 1505], [1503, 1502], [1503, 1504], [1505, 1506], [1505, 1509], [1506, 1505], [1506, 1507]]}, "MeanAveragePrecision._prepare_targets": {"executed_lines": [1518, 1519, 1522, 1523, 1524, 1528, 1531, 1532, 1535, 1537, 1538, 1539, 1542, 1545, 1546, 1547, 1549, 1550, 1552, 1553, 1556, 1565, 1567, 1568, 1570], "summary": {"covered_lines": 25, "num_statements": 30, "percent_covered": 78.0, "percent_covered_display": "78", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 20, "num_partial_branches": 6, "covered_branches": 14, "missing_branches": 6, "percent_branches_covered": 70.0, "percent_branches_covered_display": "70"}, "missing_lines": [1520, 1525, 1529, 1540, 1554], "excluded_lines": [], "start_line": 1514, "executed_branches": [[1519, 1522], [1523, 1524], [1523, 1567], [1524, 1528], [1528, 1531], [1531, 1523], [1531, 1532], [1537, 1538], [1539, 1542], [1546, 1547], [1546, 1549], [1549, 1550], [1549, 1552], [1553, 1556]], "missing_branches": [[1519, 1520], [1524, 1525], [1528, 1529], [1537, 1545], [1539, 1540], [1553, 1554]]}, "MeanAveragePrecision._prepare_predictions": {"executed_lines": [1581, 1582, 1583, 1586, 1589, 1590, 1592, 1593, 1595, 1596, 1597, 1600, 1602, 1603, 1606, 1607, 1611, 1613, 1614, 1616, 1624, 1625], "summary": {"covered_lines": 22, "num_statements": 25, "percent_covered": 81.3953488372093, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 88.0, "percent_statements_covered_display": "88", "num_branches": 18, "num_partial_branches": 5, "covered_branches": 13, "missing_branches": 5, "percent_branches_covered": 72.22222222222223, "percent_branches_covered_display": "72"}, "missing_lines": [1584, 1587, 1598], "excluded_lines": [], "start_line": 1576, "executed_branches": [[1582, 1583], [1582, 1625], [1583, 1586], [1586, 1589], [1589, 1582], [1589, 1590], [1595, 1596], [1597, 1600], [1602, 1603], [1607, 1611], [1607, 1613], [1613, 1614], [1613, 1616]], "missing_branches": [[1583, 1584], [1586, 1587], [1595, 1602], [1597, 1598], [1602, 1606]]}, "MeanAveragePrecision.compute": {"executed_lines": [1636, 1637, 1639, 1645, 1646, 1648, 1650, 1652, 1655], "summary": {"covered_lines": 9, "num_statements": 15, "percent_covered": 58.8235294117647, "percent_covered_display": "59", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [1640, 1658, 1667, 1676, 1686, 1697], "excluded_lines": [], "start_line": 1627, "executed_branches": [[1639, 1645]], "missing_branches": [[1639, 1640]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 29, 30, 33, 34, 35, 38, 39, 62, 63, 64, 65, 66, 67, 68, 72, 103, 104, 112, 113, 117, 118, 122, 123, 130, 131, 140, 141, 148, 149, 158, 159, 166, 167, 176, 235, 270, 339, 345, 370, 371, 374, 404, 458, 504, 535, 549, 617, 618, 619, 622, 625, 630, 631, 632, 633, 636, 641, 674, 675, 678, 679, 680, 683, 686, 687, 690, 695, 719, 720, 724, 725, 729, 730, 734, 735, 739, 740, 743, 744, 747, 781, 822, 947, 1004, 1036, 1136, 1137, 1174, 1223, 1274, 1369, 1403, 1441, 1465, 1472, 1514, 1576, 1627], "summary": {"covered_lines": 117, "num_statements": 117, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [25, 26], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"MeanAveragePrecisionSizeResults": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30, "executed_branches": [], "missing_branches": []}, "MeanAveragePrecisionResult": {"executed_lines": [84, 85, 86, 87, 88, 89, 90, 92, 97, 125, 128, 143, 146, 150, 153, 156, 161, 164], "summary": {"covered_lines": 18, "num_statements": 88, "percent_covered": 18.939393939393938, "percent_covered_display": "19", "missing_lines": 70, "excluded_lines": 0, "percent_statements_covered": 20.454545454545453, "percent_statements_covered_display": "20", "num_branches": 44, "num_partial_branches": 5, "covered_branches": 7, "missing_branches": 37, "percent_branches_covered": 15.909090909090908, "percent_branches_covered_display": "16"}, "missing_lines": [106, 107, 108, 110, 115, 120, 126, 132, 133, 135, 136, 138, 144, 151, 154, 162, 168, 169, 171, 172, 174, 206, 211, 220, 242, 243, 245, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 265, 279, 280, 281, 283, 284, 285, 290, 292, 293, 294, 299, 301, 302, 303, 308, 310, 312, 313, 314, 315, 317, 318, 320, 321, 323, 324, 325, 333, 335, 336], "excluded_lines": [], "start_line": 39, "executed_branches": [[92, -72], [92, 97], [125, 128], [143, 146], [150, 153], [153, 156], [161, 164]], "missing_branches": [[107, 108], [107, 110], [125, 126], [132, 133], [132, 135], [135, 136], [135, 138], [143, 144], [150, 151], [153, 154], [161, 162], [168, 169], [168, 171], [171, 172], [171, 174], [206, 211], [206, 220], [251, 252], [251, 255], [253, 254], [253, 255], [255, 256], [255, 259], [257, 258], [257, 259], [259, 260], [259, 265], [261, 262], [261, 265], [283, 284], [283, 292], [292, 293], [292, 301], [301, 302], [301, 310], [323, 324], [323, 333]]}, "EvaluationDataset": {"executed_lines": [356, 357, 358, 359, 360, 361, 363, 364, 367, 368, 372, 378, 379, 380, 381, 382, 383, 385, 386, 387, 389, 390, 391, 393, 394, 395, 398, 399, 400, 401, 402, 422, 425, 426, 431, 436, 443, 452, 455, 456, 476, 477, 501, 502, 520, 521, 522, 545, 547, 560, 561, 563, 567, 568, 569, 571, 574, 579, 583, 587, 592, 593, 598, 599, 600, 603, 604, 606, 608, 610, 611, 612, 613], "summary": {"covered_lines": 73, "num_statements": 93, "percent_covered": 70.74829931972789, "percent_covered_display": "71", "missing_lines": 20, "excluded_lines": 0, "percent_statements_covered": 78.49462365591398, "percent_statements_covered_display": "78", "num_branches": 54, "num_partial_branches": 17, "covered_branches": 31, "missing_branches": 23, "percent_branches_covered": 57.407407407407405, "percent_branches_covered_display": "57"}, "missing_lines": [423, 433, 453, 479, 482, 489, 498, 524, 526, 527, 528, 529, 531, 533, 546, 564, 580, 584, 588, 607], "excluded_lines": [], "start_line": 339, "executed_branches": [[363, 364], [363, 367], [380, 381], [381, 382], [381, 385], [385, 386], [386, 387], [386, 389], [389, 390], [390, 391], [390, 393], [393, 394], [394, 395], [394, 398], [422, 425], [425, 426], [452, 455], [476, 477], [520, 521], [545, 547], [563, 567], [567, 568], [567, 571], [579, 583], [583, 587], [587, 592], [592, 593], [598, 599], [598, 611], [603, 604], [606, 608]], "missing_branches": [[380, 385], [385, 389], [389, 393], [393, 398], [422, 423], [425, 433], [452, 453], [476, 479], [520, 524], [526, 527], [526, 533], [527, 528], [527, 533], [528, 529], [528, 531], [545, 546], [563, 564], [579, 580], [583, 584], [587, 588], [592, 611], [603, 606], [606, 607]]}, "ObjectSize": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 625, "executed_branches": [], "missing_branches": []}, "COCOEvaluatorParameters": {"executed_lines": [644, 645, 648, 656, 664, 666], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 636, "executed_branches": [], "missing_branches": []}, "COCOEvaluatorState": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 675, "executed_branches": [], "missing_branches": []}, "COCOEvaluator": {"executed_lines": [705, 707, 710, 711, 713, 714, 716, 717, 752, 755, 757, 760, 763, 764, 765, 768, 769, 770, 773, 774, 775, 778, 779, 794, 795, 798, 799, 800, 803, 804, 808, 811, 812, 815, 817, 820, 841, 842, 845, 846, 848, 852, 853, 854, 856, 859, 860, 863, 864, 867, 874, 875, 876, 879, 880, 882, 883, 884, 886, 888, 890, 892, 894, 897, 898, 899, 901, 910, 911, 912, 915, 916, 917, 918, 921, 926, 933, 960, 961, 962, 963, 964, 965, 967, 977, 981, 992, 1007, 1008, 1011, 1012, 1014, 1017, 1020, 1025, 1029, 1049, 1050, 1052, 1053, 1055, 1056, 1060, 1062, 1065, 1068, 1069, 1071, 1074, 1078, 1081, 1083, 1084, 1086, 1089, 1093, 1096, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1109, 1113, 1114, 1115, 1117, 1120, 1121, 1122, 1123, 1126, 1127, 1129, 1132, 1140, 1141, 1143, 1156, 1178, 1180, 1181, 1184, 1224, 1236, 1243, 1256, 1375, 1376, 1377, 1379, 1382, 1389, 1392, 1400], "summary": {"covered_lines": 158, "num_statements": 228, "percent_covered": 71.08843537414965, "percent_covered_display": "71", "missing_lines": 70, "excluded_lines": 0, "percent_statements_covered": 69.29824561403508, "percent_statements_covered_display": "69", "num_branches": 66, "num_partial_branches": 5, "covered_branches": 51, "missing_branches": 15, "percent_branches_covered": 77.27272727272727, "percent_branches_covered_display": "77"}, "missing_lines": [706, 708, 722, 727, 732, 737, 741, 745, 809, 907, 1063, 1146, 1147, 1148, 1154, 1170, 1171, 1172, 1188, 1189, 1192, 1196, 1197, 1200, 1204, 1205, 1208, 1212, 1258, 1279, 1285, 1286, 1287, 1288, 1293, 1294, 1295, 1296, 1299, 1301, 1302, 1303, 1304, 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1316, 1317, 1320, 1322, 1323, 1324, 1325, 1328, 1331, 1336, 1341, 1346, 1347, 1348, 1349, 1354, 1359, 1364, 1366, 1367], "excluded_lines": [], "start_line": 690, "executed_branches": [[705, 707], [707, 710], [763, 764], [763, 768], [769, 770], [769, 773], [774, 775], [774, 778], [798, 799], [798, 803], [808, 811], [845, 846], [845, 848], [852, 853], [852, 859], [853, 854], [853, 856], [884, 886], [884, 921], [886, 888], [886, 921], [888, 886], [888, 890], [894, 897], [894, 915], [898, 899], [898, 901], [901, 910], [910, 894], [910, 911], [915, 888], [915, 916], [1049, -1036], [1049, 1050], [1052, 1049], [1052, 1053], [1055, 1052], [1055, 1056], [1062, 1065], [1083, 1084], [1083, 1086], [1100, 1055], [1100, 1101], [1113, 1114], [1113, 1117], [1114, 1113], [1114, 1115], [1121, 1122], [1121, 1129], [1123, 1121], [1123, 1126]], "missing_branches": [[705, 706], [707, 708], [808, 809], [901, 907], [1062, 1063], [1296, 1299], [1296, 1308], [1301, 1302], [1301, 1304], [1309, 1310], [1309, 1312], [1313, 1314], [1313, 1316], [1366, -1274], [1366, 1367]]}, "MeanAveragePrecision": {"executed_lines": [1457, 1458, 1460, 1461, 1462, 1463, 1487, 1489, 1492, 1498, 1509, 1510, 1512, 1518, 1519, 1522, 1523, 1524, 1528, 1531, 1532, 1535, 1537, 1538, 1539, 1542, 1545, 1546, 1547, 1549, 1550, 1552, 1553, 1556, 1565, 1567, 1568, 1570, 1581, 1582, 1583, 1586, 1589, 1590, 1592, 1593, 1595, 1596, 1597, 1600, 1602, 1603, 1606, 1607, 1611, 1613, 1614, 1616, 1624, 1625, 1636, 1637, 1639, 1645, 1646, 1648, 1650, 1652, 1655], "summary": {"covered_lines": 69, "num_statements": 96, "percent_covered": 66.44736842105263, "percent_covered_display": "66", "missing_lines": 27, "excluded_lines": 0, "percent_statements_covered": 71.875, "percent_statements_covered_display": "72", "num_branches": 56, "num_partial_branches": 16, "covered_branches": 32, "missing_branches": 24, "percent_branches_covered": 57.142857142857146, "percent_branches_covered_display": "57"}, "missing_lines": [1469, 1470, 1488, 1490, 1493, 1499, 1500, 1502, 1503, 1504, 1505, 1506, 1507, 1520, 1525, 1529, 1540, 1554, 1584, 1587, 1598, 1640, 1658, 1667, 1676, 1686, 1697], "excluded_lines": [], "start_line": 1403, "executed_branches": [[1487, 1489], [1489, 1492], [1492, 1498], [1498, 1509], [1519, 1522], [1523, 1524], [1523, 1567], [1524, 1528], [1528, 1531], [1531, 1523], [1531, 1532], [1537, 1538], [1539, 1542], [1546, 1547], [1546, 1549], [1549, 1550], [1549, 1552], [1553, 1556], [1582, 1583], [1582, 1625], [1583, 1586], [1586, 1589], [1589, 1582], [1589, 1590], [1595, 1596], [1597, 1600], [1602, 1603], [1607, 1611], [1607, 1613], [1613, 1614], [1613, 1616], [1639, 1645]], "missing_branches": [[1487, 1488], [1489, 1490], [1492, 1493], [1498, 1499], [1502, 1503], [1502, 1505], [1503, 1502], [1503, 1504], [1505, 1506], [1505, 1509], [1506, 1505], [1506, 1507], [1519, 1520], [1524, 1525], [1528, 1529], [1537, 1545], [1539, 1540], [1553, 1554], [1583, 1584], [1586, 1587], [1595, 1602], [1597, 1598], [1602, 1606], [1639, 1640]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 16, 17, 18, 19, 20, 21, 23, 29, 30, 33, 34, 35, 38, 39, 62, 63, 64, 65, 66, 67, 68, 72, 103, 104, 112, 113, 117, 118, 122, 123, 130, 131, 140, 141, 148, 149, 158, 159, 166, 167, 176, 235, 270, 339, 345, 370, 371, 374, 404, 458, 504, 535, 549, 617, 618, 619, 622, 625, 630, 631, 632, 633, 636, 641, 674, 675, 678, 679, 680, 683, 686, 687, 690, 695, 719, 720, 724, 725, 729, 730, 734, 735, 739, 740, 743, 744, 747, 781, 822, 947, 1004, 1036, 1136, 1137, 1174, 1223, 1274, 1369, 1403, 1441, 1465, 1472, 1514, 1576, 1627], "summary": {"covered_lines": 117, "num_statements": 117, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [25, 26], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\mean_average_recall.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 31, 34, 35, 36, 39, 42, 44, 45, 46, 48, 50, 51, 52, 55, 57, 58, 59, 61, 62, 63, 66, 68, 69, 70, 72, 73, 74, 77, 79, 80, 81, 84, 85, 115, 116, 117, 118, 119, 120, 121, 125, 138, 139, 140, 141, 142, 143, 145, 147, 152, 158, 160, 161, 162, 164, 165, 166, 168, 169, 170, 172, 241, 272, 346, 384, 394, 396, 397, 399, 401, 408, 423, 425, 428, 434, 435, 437, 439, 447, 449, 452, 454, 459, 461, 464, 466, 468, 471, 472, 474, 475, 476, 478, 479, 480, 490, 491, 492, 494, 495, 503, 514, 517, 528, 529, 541, 542, 546, 558, 569, 571, 572, 574, 582, 583, 586, 587, 590, 592, 594, 595, 601, 605, 606, 608, 609, 611, 612, 613, 614, 616, 617, 618, 619, 621, 622, 623, 625, 626, 655, 656, 658, 661, 662, 663, 664, 666, 667, 668, 669, 670, 675, 676, 678, 679, 681, 685, 686, 688, 689, 702, 707, 708, 710, 711, 713, 714, 716, 718, 719, 720, 721, 726, 727, 728, 729, 730, 731, 734, 735, 739, 743, 744, 745, 749, 753, 754, 755, 757, 758, 760, 761, 763, 764, 765, 766, 767, 769, 770, 771, 773, 775, 784, 785, 786, 787, 790, 793], "summary": {"covered_lines": 223, "num_statements": 316, "percent_covered": 65.96244131455398, "percent_covered_display": "66", "missing_lines": 93, "excluded_lines": 3, "percent_statements_covered": 70.56962025316456, "percent_statements_covered_display": "71", "num_branches": 110, "num_partial_branches": 20, "covered_branches": 58, "missing_branches": 52, "percent_branches_covered": 52.72727272727273, "percent_branches_covered_display": "53"}, "missing_lines": [53, 64, 75, 146, 211, 221, 222, 223, 226, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 239, 248, 249, 251, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 270, 280, 281, 282, 284, 285, 286, 287, 292, 294, 295, 296, 297, 302, 304, 305, 306, 307, 312, 314, 316, 317, 318, 319, 322, 324, 325, 327, 328, 330, 331, 332, 340, 342, 343, 405, 406, 424, 426, 429, 493, 499, 671, 672, 673, 703, 722, 723, 724, 725, 732, 736, 737, 740, 741, 747, 762, 768], "excluded_lines": [26, 27, 173], "executed_branches": [[45, 46], [45, 48], [52, 55], [63, 66], [74, 77], [145, 147], [147, 152], [147, 158], [423, 425], [425, 428], [428, 434], [474, 475], [474, 528], [478, 474], [478, 479], [479, 480], [479, 490], [490, 491], [490, 492], [492, 494], [494, 495], [528, 529], [528, 541], [572, 574], [572, 586], [608, 609], [608, 622], [611, 608], [611, 612], [616, 617], [616, 621], [661, 662], [661, 685], [666, 667], [666, 670], [670, 675], [702, 707], [718, 719], [718, 721], [721, 726], [726, 727], [728, 729], [728, 731], [735, 739], [739, 743], [743, 744], [754, 755], [754, 757], [761, 763], [763, 764], [765, 766], [765, 767], [767, 769], [769, 770], [770, 771], [770, 773], [786, 787], [786, 793]], "missing_branches": [[52, 53], [63, 64], [74, 75], [145, 146], [221, 222], [221, 223], [223, 226], [223, 228], [229, 230], [229, 232], [232, 233], [232, 235], [235, 236], [235, 239], [257, 258], [257, 261], [259, 260], [259, 261], [261, 262], [261, 265], [263, 264], [263, 265], [265, 266], [265, 270], [267, 268], [267, 270], [284, 285], [284, 294], [294, 295], [294, 304], [304, 305], [304, 314], [330, 331], [330, 340], [423, 424], [425, 426], [428, 429], [492, 493], [494, 499], [670, 671], [702, 703], [721, 722], [722, 723], [722, 725], [726, 732], [735, 736], [739, 740], [743, 747], [761, 762], [763, 765], [767, 768], [769, 773]], "functions": {"_MeanAverageRecallSizeResultsMixin._ensure_size_results": {"executed_lines": [45, 46, 48], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44, "executed_branches": [[45, 46], [45, 48]], "missing_branches": []}, "_MeanAverageRecallSizeResultsMixin.small_objects": {"executed_lines": [59], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58, "executed_branches": [], "missing_branches": []}, "_MeanAverageRecallSizeResultsMixin.medium_objects": {"executed_lines": [70], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69, "executed_branches": [], "missing_branches": []}, "_MeanAverageRecallSizeResultsMixin.large_objects": {"executed_lines": [81], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 80, "executed_branches": [], "missing_branches": []}, "MeanAverageRecallResult.__init__": {"executed_lines": [138, 139, 140, 141, 142, 143, 145, 147, 152, 158], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [146], "excluded_lines": [], "start_line": 125, "executed_branches": [[145, 147], [147, 152], [147, 158]], "missing_branches": [[145, 146]]}, "MeanAverageRecallResult.mAR_at_1": {"executed_lines": [162], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 161, "executed_branches": [], "missing_branches": []}, "MeanAverageRecallResult.mAR_at_10": {"executed_lines": [166], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 165, "executed_branches": [], "missing_branches": []}, "MeanAverageRecallResult.mAR_at_100": {"executed_lines": [170], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 169, "executed_branches": [], "missing_branches": []}, "MeanAverageRecallResult.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [211, 221, 222, 223, 226, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 239], "excluded_lines": [173], "start_line": 172, "executed_branches": [], "missing_branches": [[221, 222], [221, 223], [223, 226], [223, 228], [229, 230], [229, 232], [232, 233], [232, 235], [235, 236], [235, 239]]}, "MeanAverageRecallResult.to_pandas": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 12, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [248, 249, 251, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 270], "excluded_lines": [], "start_line": 241, "executed_branches": [], "missing_branches": [[257, 258], [257, 261], [259, 260], [259, 261], [261, 262], [261, 265], [263, 264], [263, 265], [265, 266], [265, 270], [267, 268], [267, 270]]}, "MeanAverageRecallResult.plot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [280, 281, 282, 284, 285, 286, 287, 292, 294, 295, 296, 297, 302, 304, 305, 306, 307, 312, 314, 316, 317, 318, 319, 322, 324, 325, 327, 328, 330, 331, 332, 340, 342, 343], "excluded_lines": [], "start_line": 272, "executed_branches": [], "missing_branches": [[284, 285], [284, 294], [294, 295], [294, 304], [304, 305], [304, 314], [330, 331], [330, 340]]}, "MeanAverageRecall.__init__": {"executed_lines": [394, 396, 397, 399], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 384, "executed_branches": [], "missing_branches": []}, "MeanAverageRecall.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [405, 406], "excluded_lines": [], "start_line": 401, "executed_branches": [], "missing_branches": []}, "MeanAverageRecall.update": {"executed_lines": [423, 425, 428, 434, 435, 437], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [424, 426, 429], "excluded_lines": [], "start_line": 408, "executed_branches": [[423, 425], [425, 428], [428, 434]], "missing_branches": [[423, 424], [425, 426], [428, 429]]}, "MeanAverageRecall.compute": {"executed_lines": [447, 449, 452, 454, 459, 461, 464, 466], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 439, "executed_branches": [], "missing_branches": []}, "MeanAverageRecall._compute": {"executed_lines": [471, 472, 474, 475, 476, 478, 479, 480, 490, 491, 492, 494, 495, 503, 514, 517, 528, 529, 541, 542, 546], "summary": {"covered_lines": 21, "num_statements": 23, "percent_covered": 89.1891891891892, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 91.30434782608695, "percent_statements_covered_display": "91", "num_branches": 14, "num_partial_branches": 2, "covered_branches": 12, "missing_branches": 2, "percent_branches_covered": 85.71428571428571, "percent_branches_covered_display": "86"}, "missing_lines": [493, 499], "excluded_lines": [], "start_line": 468, "executed_branches": [[474, 475], [474, 528], [478, 474], [478, 479], [479, 480], [479, 490], [490, 491], [490, 492], [492, 494], [494, 495], [528, 529], [528, 541]], "missing_branches": [[492, 493], [494, 499]]}, "MeanAverageRecall._compute_average_recall_for_classes": {"executed_lines": [569, 571, 572, 574, 582, 583, 586, 587, 590, 592], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 558, "executed_branches": [[572, 574], [572, 586]], "missing_branches": []}, "MeanAverageRecall._match_detection_batch": {"executed_lines": [601, 605, 606, 608, 609, 611, 612, 613, 614, 616, 617, 618, 619, 621, 622, 623], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 595, "executed_branches": [[608, 609], [608, 622], [611, 608], [611, 612], [616, 617], [616, 621]], "missing_branches": []}, "MeanAverageRecall._compute_confusion_matrix": {"executed_lines": [655, 656, 658, 661, 662, 663, 664, 666, 667, 668, 669, 670, 675, 676, 678, 679, 681, 685, 686], "summary": {"covered_lines": 19, "num_statements": 22, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 86.36363636363636, "percent_statements_covered_display": "86", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [671, 672, 673], "excluded_lines": [], "start_line": 626, "executed_branches": [[661, 662], [661, 685], [666, 667], [666, 670], [670, 675]], "missing_branches": [[670, 671]]}, "MeanAverageRecall._compute_recall": {"executed_lines": [702, 707, 708, 710, 711, 713, 714], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [703], "excluded_lines": [], "start_line": 689, "executed_branches": [[702, 707]], "missing_branches": [[702, 703]]}, "MeanAverageRecall._detections_content": {"executed_lines": [718, 719, 720, 721, 726, 727, 728, 729, 730, 731], "summary": {"covered_lines": 10, "num_statements": 15, "percent_covered": 64.0, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 4, "percent_branches_covered": 60.0, "percent_branches_covered_display": "60"}, "missing_lines": [722, 723, 724, 725, 732], "excluded_lines": [], "start_line": 716, "executed_branches": [[718, 719], [718, 721], [721, 726], [726, 727], [728, 729], [728, 731]], "missing_branches": [[721, 722], [722, 723], [722, 725], [726, 732]]}, "MeanAverageRecall._make_empty_content": {"executed_lines": [735, 739, 743, 744, 745], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [736, 737, 740, 741, 747], "excluded_lines": [], "start_line": 734, "executed_branches": [[735, 739], [739, 743], [743, 744]], "missing_branches": [[735, 736], [739, 740], [743, 747]]}, "MeanAverageRecall._filter_detections_by_size": {"executed_lines": [753, 754, 755, 757, 758, 760, 761, 763, 764, 765, 766, 767, 769, 770, 771, 773], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 14, "num_partial_branches": 4, "covered_branches": 10, "missing_branches": 4, "percent_branches_covered": 71.42857142857143, "percent_branches_covered_display": "71"}, "missing_lines": [762, 768], "excluded_lines": [], "start_line": 749, "executed_branches": [[754, 755], [754, 757], [761, 763], [763, 764], [765, 766], [765, 767], [767, 769], [769, 770], [770, 771], [770, 773]], "missing_branches": [[761, 762], [763, 765], [767, 768], [769, 773]]}, "MeanAverageRecall._filter_predictions_and_targets_by_size": {"executed_lines": [784, 785, 786, 787, 790, 793], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 775, "executed_branches": [[786, 787], [786, 793]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 31, 34, 35, 36, 39, 42, 44, 50, 51, 57, 58, 61, 62, 68, 69, 72, 73, 79, 80, 84, 85, 115, 116, 117, 118, 119, 120, 121, 125, 160, 161, 164, 165, 168, 169, 172, 241, 272, 346, 384, 401, 408, 439, 468, 558, 594, 595, 625, 626, 688, 689, 716, 734, 749, 775], "summary": {"covered_lines": 70, "num_statements": 70, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"MeanAverageRecallSizeResults": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31, "executed_branches": [], "missing_branches": []}, "_MeanAverageRecallSizeResultsMixin": {"executed_lines": [45, 46, 48, 52, 55, 59, 63, 66, 70, 74, 77, 81], "summary": {"covered_lines": 12, "num_statements": 15, "percent_covered": 73.91304347826087, "percent_covered_display": "74", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 8, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 3, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [53, 64, 75], "excluded_lines": [], "start_line": 39, "executed_branches": [[45, 46], [45, 48], [52, 55], [63, 66], [74, 77]], "missing_branches": [[52, 53], [63, 64], [74, 75]]}, "MeanAverageRecallResult": {"executed_lines": [138, 139, 140, 141, 142, 143, 145, 147, 152, 158, 162, 166, 170], "summary": {"covered_lines": 13, "num_statements": 80, "percent_covered": 14.035087719298245, "percent_covered_display": "14", "missing_lines": 67, "excluded_lines": 1, "percent_statements_covered": 16.25, "percent_statements_covered_display": "16", "num_branches": 34, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 31, "percent_branches_covered": 8.823529411764707, "percent_branches_covered_display": "9"}, "missing_lines": [146, 211, 221, 222, 223, 226, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 239, 248, 249, 251, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 270, 280, 281, 282, 284, 285, 286, 287, 292, 294, 295, 296, 297, 302, 304, 305, 306, 307, 312, 314, 316, 317, 318, 319, 322, 324, 325, 327, 328, 330, 331, 332, 340, 342, 343], "excluded_lines": [173], "start_line": 85, "executed_branches": [[145, 147], [147, 152], [147, 158]], "missing_branches": [[145, 146], [221, 222], [221, 223], [223, 226], [223, 228], [229, 230], [229, 232], [232, 233], [232, 235], [235, 236], [235, 239], [257, 258], [257, 261], [259, 260], [259, 261], [261, 262], [261, 265], [263, 264], [263, 265], [265, 266], [265, 270], [267, 268], [267, 270], [284, 285], [284, 294], [294, 295], [294, 304], [304, 305], [304, 314], [330, 331], [330, 340]]}, "MeanAverageRecall": {"executed_lines": [394, 396, 397, 399, 423, 425, 428, 434, 435, 437, 447, 449, 452, 454, 459, 461, 464, 466, 471, 472, 474, 475, 476, 478, 479, 480, 490, 491, 492, 494, 495, 503, 514, 517, 528, 529, 541, 542, 546, 569, 571, 572, 574, 582, 583, 586, 587, 590, 592, 601, 605, 606, 608, 609, 611, 612, 613, 614, 616, 617, 618, 619, 621, 622, 623, 655, 656, 658, 661, 662, 663, 664, 666, 667, 668, 669, 670, 675, 676, 678, 679, 681, 685, 686, 702, 707, 708, 710, 711, 713, 714, 718, 719, 720, 721, 726, 727, 728, 729, 730, 731, 735, 739, 743, 744, 745, 753, 754, 755, 757, 758, 760, 761, 763, 764, 765, 766, 767, 769, 770, 771, 773, 784, 785, 786, 787, 790, 793], "summary": {"covered_lines": 128, "num_statements": 151, "percent_covered": 81.27853881278538, "percent_covered_display": "81", "missing_lines": 23, "excluded_lines": 0, "percent_statements_covered": 84.76821192052981, "percent_statements_covered_display": "85", "num_branches": 68, "num_partial_branches": 16, "covered_branches": 50, "missing_branches": 18, "percent_branches_covered": 73.52941176470588, "percent_branches_covered_display": "74"}, "missing_lines": [405, 406, 424, 426, 429, 493, 499, 671, 672, 673, 703, 722, 723, 724, 725, 732, 736, 737, 740, 741, 747, 762, 768], "excluded_lines": [], "start_line": 346, "executed_branches": [[423, 425], [425, 428], [428, 434], [474, 475], [474, 528], [478, 474], [478, 479], [479, 480], [479, 490], [490, 491], [490, 492], [492, 494], [494, 495], [528, 529], [528, 541], [572, 574], [572, 586], [608, 609], [608, 622], [611, 608], [611, 612], [616, 617], [616, 621], [661, 662], [661, 685], [666, 667], [666, 670], [670, 675], [702, 707], [718, 719], [718, 721], [721, 726], [726, 727], [728, 729], [728, 731], [735, 739], [739, 743], [743, 744], [754, 755], [754, 757], [761, 763], [763, 764], [765, 766], [765, 767], [767, 769], [769, 770], [770, 771], [770, 773], [786, 787], [786, 793]], "missing_branches": [[423, 424], [425, 426], [428, 429], [492, 493], [494, 499], [670, 671], [702, 703], [721, 722], [722, 723], [722, 725], [726, 732], [735, 736], [739, 740], [743, 747], [761, 762], [763, 765], [767, 768], [769, 773]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 31, 34, 35, 36, 39, 42, 44, 50, 51, 57, 58, 61, 62, 68, 69, 72, 73, 79, 80, 84, 85, 115, 116, 117, 118, 119, 120, 121, 125, 160, 161, 164, 165, 168, 169, 172, 241, 272, 346, 384, 401, 408, 439, 468, 558, 594, 595, 625, 626, 688, 689, 716, 734, 749, 775], "summary": {"covered_lines": 70, "num_statements": 70, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\precision.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 31, 34, 35, 36, 39, 40, 70, 71, 73, 74, 75, 76, 77, 81, 93, 94, 95, 96, 97, 98, 99, 101, 106, 112, 113, 114, 116, 117, 118, 120, 121, 123, 126, 128, 129, 130, 133, 134, 136, 138, 139, 141, 144, 146, 147, 148, 151, 154, 156, 157, 159, 162, 164, 165, 166, 169, 172, 174, 244, 274, 338, 377, 390, 391, 393, 394, 396, 400, 401, 403, 418, 419, 420, 421, 423, 424, 429, 430, 432, 434, 442, 444, 447, 449, 454, 456, 459, 461, 463, 474, 475, 477, 478, 479, 481, 484, 486, 496, 497, 498, 508, 509, 510, 512, 513, 521, 531, 540, 541, 553, 554, 558, 570, 586, 587, 588, 592, 595, 596, 597, 600, 605, 608, 609, 610, 611, 612, 613, 614, 615, 619, 621, 625, 627, 628, 634, 638, 639, 641, 642, 644, 645, 646, 647, 649, 650, 651, 652, 654, 655, 656, 658, 659, 686, 687, 689, 692, 693, 694, 695, 697, 698, 699, 700, 701, 702, 703, 704, 706, 707, 708, 709, 712, 713, 715, 716, 729, 734, 735, 737, 738, 745, 746, 748, 750, 751, 752, 753, 758, 759, 760, 761, 762, 763, 766, 767, 771, 775, 776, 777, 781, 785, 786, 787, 789, 790, 792, 793, 795, 796, 797, 798, 799, 801, 802, 803, 805, 807, 816, 817, 818, 819, 822, 825], "summary": {"covered_lines": 239, "num_statements": 329, "percent_covered": 68.27133479212254, "percent_covered_display": "68", "missing_lines": 90, "excluded_lines": 3, "percent_statements_covered": 72.64437689969606, "percent_statements_covered_display": "73", "num_branches": 128, "num_partial_branches": 23, "covered_branches": 73, "missing_branches": 55, "percent_branches_covered": 57.03125, "percent_branches_covered_display": "57"}, "missing_lines": [124, 131, 142, 149, 152, 160, 167, 170, 214, 224, 225, 226, 229, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 242, 251, 252, 254, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 272, 282, 283, 284, 286, 287, 288, 289, 290, 292, 293, 294, 295, 296, 298, 299, 300, 301, 302, 304, 306, 307, 308, 309, 314, 316, 317, 319, 320, 322, 323, 324, 332, 334, 335, 485, 511, 517, 730, 754, 755, 756, 757, 764, 768, 769, 772, 773, 779, 794, 800], "excluded_lines": [26, 27, 175], "executed_branches": [[101, -81], [101, 106], [123, 126], [130, 133], [133, 134], [141, 144], [148, 151], [151, 154], [159, 162], [166, 169], [169, 172], [418, 419], [418, 420], [420, 421], [420, 423], [423, 424], [423, 429], [477, 478], [477, 540], [481, 484], [481, 496], [484, 486], [496, 477], [496, 497], [497, 498], [497, 508], [508, 509], [508, 510], [510, 512], [512, 513], [540, 541], [540, 553], [608, 609], [608, 610], [610, 611], [610, 613], [613, 614], [615, 619], [615, 621], [641, 642], [641, 655], [644, 641], [644, 645], [649, 650], [649, 654], [692, 693], [692, 712], [697, 698], [697, 701], [701, 702], [701, 706], [729, 734], [750, 751], [750, 753], [753, 758], [758, 759], [760, 761], [760, 763], [767, 771], [771, 775], [775, 776], [786, 787], [786, 789], [793, 795], [795, 796], [797, 798], [797, 799], [799, 801], [801, 802], [802, 803], [802, 805], [818, 819], [818, 825]], "missing_branches": [[123, 124], [130, 131], [133, 136], [141, 142], [148, 149], [151, 152], [159, 160], [166, 167], [169, 170], [224, 225], [224, 226], [226, 229], [226, 231], [232, 233], [232, 235], [235, 236], [235, 238], [238, 239], [238, 242], [259, 260], [259, 263], [261, 262], [261, 263], [263, 264], [263, 267], [265, 266], [265, 267], [267, 268], [267, 272], [269, 270], [269, 272], [286, 287], [286, 292], [292, 293], [292, 298], [298, 299], [298, 304], [322, 323], [322, 332], [484, 485], [510, 511], [512, 517], [613, 625], [729, 730], [753, 754], [754, 755], [754, 757], [758, 764], [767, 768], [771, 772], [775, 779], [793, 794], [795, 797], [799, 800], [801, 805]], "functions": {"PrecisionResult.__init__": {"executed_lines": [93, 94, 95, 96, 97, 98, 99, 101, 106], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 81, "executed_branches": [[101, -81], [101, 106]], "missing_branches": []}, "PrecisionResult.precision_at_50": {"executed_lines": [114], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 113, "executed_branches": [], "missing_branches": []}, "PrecisionResult.precision_at_75": {"executed_lines": [118], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 117, "executed_branches": [], "missing_branches": []}, "PrecisionResult.small_objects": {"executed_lines": [130, 133, 134, 136], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [131], "excluded_lines": [], "start_line": 129, "executed_branches": [[130, 133], [133, 134]], "missing_branches": [[130, 131], [133, 136]]}, "PrecisionResult.medium_objects": {"executed_lines": [148, 151, 154], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [149, 152], "excluded_lines": [], "start_line": 147, "executed_branches": [[148, 151], [151, 154]], "missing_branches": [[148, 149], [151, 152]]}, "PrecisionResult.large_objects": {"executed_lines": [166, 169, 172], "summary": {"covered_lines": 3, "num_statements": 5, "percent_covered": 55.55555555555556, "percent_covered_display": "56", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [167, 170], "excluded_lines": [], "start_line": 165, "executed_branches": [[166, 169], [169, 172]], "missing_branches": [[166, 167], [169, 170]]}, "PrecisionResult.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [214, 224, 225, 226, 229, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 242], "excluded_lines": [175], "start_line": 174, "executed_branches": [], "missing_branches": [[224, 225], [224, 226], [226, 229], [226, 231], [232, 233], [232, 235], [235, 236], [235, 238], [238, 239], [238, 242]]}, "PrecisionResult.to_pandas": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 12, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [251, 252, 254, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 272], "excluded_lines": [], "start_line": 244, "executed_branches": [], "missing_branches": [[259, 260], [259, 263], [261, 262], [261, 263], [263, 264], [263, 267], [265, 266], [265, 267], [267, 268], [267, 272], [269, 270], [269, 272]]}, "PrecisionResult.plot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [282, 283, 284, 286, 287, 288, 289, 290, 292, 293, 294, 295, 296, 298, 299, 300, 301, 302, 304, 306, 307, 308, 309, 314, 316, 317, 319, 320, 322, 323, 324, 332, 334, 335], "excluded_lines": [], "start_line": 274, "executed_branches": [], "missing_branches": [[286, 287], [286, 292], [292, 293], [292, 298], [298, 299], [298, 304], [322, 323], [322, 332]]}, "Precision.__init__": {"executed_lines": [390, 391, 393, 394], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 377, "executed_branches": [], "missing_branches": []}, "Precision.reset": {"executed_lines": [400, 401], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 396, "executed_branches": [], "missing_branches": []}, "Precision.update": {"executed_lines": [418, 419, 420, 421, 423, 424, 429, 430, 432], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 403, "executed_branches": [[418, 419], [418, 420], [420, 421], [420, 423], [423, 424], [423, 429]], "missing_branches": []}, "Precision.compute": {"executed_lines": [442, 444, 447, 449, 454, 456, 459, 461], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 434, "executed_branches": [], "missing_branches": []}, "Precision._compute": {"executed_lines": [474, 475, 477, 478, 479, 481, 484, 486, 496, 497, 498, 508, 509, 510, 512, 513, 521, 531, 540, 541, 553, 554, 558], "summary": {"covered_lines": 23, "num_statements": 26, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 88.46153846153847, "percent_statements_covered_display": "88", "num_branches": 18, "num_partial_branches": 3, "covered_branches": 15, "missing_branches": 3, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [485, 511, 517], "excluded_lines": [], "start_line": 463, "executed_branches": [[477, 478], [477, 540], [481, 484], [481, 496], [484, 486], [496, 477], [496, 497], [497, 498], [497, 508], [508, 509], [508, 510], [510, 512], [512, 513], [540, 541], [540, 553]], "missing_branches": [[484, 485], [510, 511], [512, 517]]}, "Precision._compute_precision_for_classes": {"executed_lines": [586, 587, 588, 592, 595, 596, 597, 600, 605, 608, 609, 610, 611, 612, 613, 614, 615, 619, 621, 625], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 96.42857142857143, "percent_covered_display": "96", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [], "excluded_lines": [], "start_line": 570, "executed_branches": [[608, 609], [608, 610], [610, 611], [610, 613], [613, 614], [615, 619], [615, 621]], "missing_branches": [[613, 625]]}, "Precision._match_detection_batch": {"executed_lines": [634, 638, 639, 641, 642, 644, 645, 646, 647, 649, 650, 651, 652, 654, 655, 656], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 628, "executed_branches": [[641, 642], [641, 655], [644, 641], [644, 645], [649, 650], [649, 654]], "missing_branches": []}, "Precision._compute_confusion_matrix": {"executed_lines": [686, 687, 689, 692, 693, 694, 695, 697, 698, 699, 700, 701, 702, 703, 704, 706, 707, 708, 709, 712, 713], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 659, "executed_branches": [[692, 693], [692, 712], [697, 698], [697, 701], [701, 702], [701, 706]], "missing_branches": []}, "Precision._compute_precision": {"executed_lines": [729, 734, 735, 737, 738, 745, 746], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [730], "excluded_lines": [], "start_line": 716, "executed_branches": [[729, 734]], "missing_branches": [[729, 730]]}, "Precision._detections_content": {"executed_lines": [750, 751, 752, 753, 758, 759, 760, 761, 762, 763], "summary": {"covered_lines": 10, "num_statements": 15, "percent_covered": 64.0, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 4, "percent_branches_covered": 60.0, "percent_branches_covered_display": "60"}, "missing_lines": [754, 755, 756, 757, 764], "excluded_lines": [], "start_line": 748, "executed_branches": [[750, 751], [750, 753], [753, 758], [758, 759], [760, 761], [760, 763]], "missing_branches": [[753, 754], [754, 755], [754, 757], [758, 764]]}, "Precision._make_empty_content": {"executed_lines": [767, 771, 775, 776, 777], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [768, 769, 772, 773, 779], "excluded_lines": [], "start_line": 766, "executed_branches": [[767, 771], [771, 775], [775, 776]], "missing_branches": [[767, 768], [771, 772], [775, 779]]}, "Precision._filter_detections_by_size": {"executed_lines": [785, 786, 787, 789, 790, 792, 793, 795, 796, 797, 798, 799, 801, 802, 803, 805], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 14, "num_partial_branches": 4, "covered_branches": 10, "missing_branches": 4, "percent_branches_covered": 71.42857142857143, "percent_branches_covered_display": "71"}, "missing_lines": [794, 800], "excluded_lines": [], "start_line": 781, "executed_branches": [[786, 787], [786, 789], [793, 795], [795, 796], [797, 798], [797, 799], [799, 801], [801, 802], [802, 803], [802, 805]], "missing_branches": [[793, 794], [795, 797], [799, 800], [801, 805]]}, "Precision._filter_predictions_and_targets_by_size": {"executed_lines": [816, 817, 818, 819, 822, 825], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 807, "executed_branches": [[818, 819], [818, 825]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 31, 34, 35, 36, 39, 40, 70, 71, 73, 74, 75, 76, 77, 81, 112, 113, 116, 117, 120, 121, 128, 129, 138, 139, 146, 147, 156, 157, 164, 165, 174, 244, 274, 338, 377, 396, 403, 434, 463, 570, 627, 628, 658, 659, 715, 716, 748, 766, 781, 807], "summary": {"covered_lines": 65, "num_statements": 65, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"PrecisionSizeResults": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31, "executed_branches": [], "missing_branches": []}, "PrecisionResult": {"executed_lines": [93, 94, 95, 96, 97, 98, 99, 101, 106, 114, 118, 123, 126, 130, 133, 134, 136, 141, 144, 148, 151, 154, 159, 162, 166, 169, 172], "summary": {"covered_lines": 27, "num_statements": 101, "percent_covered": 25.165562913907284, "percent_covered_display": "25", "missing_lines": 74, "excluded_lines": 1, "percent_statements_covered": 26.73267326732673, "percent_statements_covered_display": "27", "num_branches": 50, "num_partial_branches": 9, "covered_branches": 11, "missing_branches": 39, "percent_branches_covered": 22.0, "percent_branches_covered_display": "22"}, "missing_lines": [124, 131, 142, 149, 152, 160, 167, 170, 214, 224, 225, 226, 229, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 242, 251, 252, 254, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 272, 282, 283, 284, 286, 287, 288, 289, 290, 292, 293, 294, 295, 296, 298, 299, 300, 301, 302, 304, 306, 307, 308, 309, 314, 316, 317, 319, 320, 322, 323, 324, 332, 334, 335], "excluded_lines": [175], "start_line": 40, "executed_branches": [[101, -81], [101, 106], [123, 126], [130, 133], [133, 134], [141, 144], [148, 151], [151, 154], [159, 162], [166, 169], [169, 172]], "missing_branches": [[123, 124], [130, 131], [133, 136], [141, 142], [148, 149], [151, 152], [159, 160], [166, 167], [169, 170], [224, 225], [224, 226], [226, 229], [226, 231], [232, 233], [232, 235], [235, 236], [235, 238], [238, 239], [238, 242], [259, 260], [259, 263], [261, 262], [261, 263], [263, 264], [263, 267], [265, 266], [265, 267], [267, 268], [267, 272], [269, 270], [269, 272], [286, 287], [286, 292], [292, 293], [292, 298], [298, 299], [298, 304], [322, 323], [322, 332]]}, "Precision": {"executed_lines": [390, 391, 393, 394, 400, 401, 418, 419, 420, 421, 423, 424, 429, 430, 432, 442, 444, 447, 449, 454, 456, 459, 461, 474, 475, 477, 478, 479, 481, 484, 486, 496, 497, 498, 508, 509, 510, 512, 513, 521, 531, 540, 541, 553, 554, 558, 586, 587, 588, 592, 595, 596, 597, 600, 605, 608, 609, 610, 611, 612, 613, 614, 615, 619, 621, 625, 634, 638, 639, 641, 642, 644, 645, 646, 647, 649, 650, 651, 652, 654, 655, 656, 686, 687, 689, 692, 693, 694, 695, 697, 698, 699, 700, 701, 702, 703, 704, 706, 707, 708, 709, 712, 713, 729, 734, 735, 737, 738, 745, 746, 750, 751, 752, 753, 758, 759, 760, 761, 762, 763, 767, 771, 775, 776, 777, 785, 786, 787, 789, 790, 792, 793, 795, 796, 797, 798, 799, 801, 802, 803, 805, 816, 817, 818, 819, 822, 825], "summary": {"covered_lines": 147, "num_statements": 163, "percent_covered": 86.72199170124482, "percent_covered_display": "87", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 90.1840490797546, "percent_statements_covered_display": "90", "num_branches": 78, "num_partial_branches": 14, "covered_branches": 62, "missing_branches": 16, "percent_branches_covered": 79.48717948717949, "percent_branches_covered_display": "79"}, "missing_lines": [485, 511, 517, 730, 754, 755, 756, 757, 764, 768, 769, 772, 773, 779, 794, 800], "excluded_lines": [], "start_line": 338, "executed_branches": [[418, 419], [418, 420], [420, 421], [420, 423], [423, 424], [423, 429], [477, 478], [477, 540], [481, 484], [481, 496], [484, 486], [496, 477], [496, 497], [497, 498], [497, 508], [508, 509], [508, 510], [510, 512], [512, 513], [540, 541], [540, 553], [608, 609], [608, 610], [610, 611], [610, 613], [613, 614], [615, 619], [615, 621], [641, 642], [641, 655], [644, 641], [644, 645], [649, 650], [649, 654], [692, 693], [692, 712], [697, 698], [697, 701], [701, 702], [701, 706], [729, 734], [750, 751], [750, 753], [753, 758], [758, 759], [760, 761], [760, 763], [767, 771], [771, 775], [775, 776], [786, 787], [786, 789], [793, 795], [795, 796], [797, 798], [797, 799], [799, 801], [801, 802], [802, 803], [802, 805], [818, 819], [818, 825]], "missing_branches": [[484, 485], [510, 511], [512, 517], [613, 625], [729, 730], [753, 754], [754, 755], [754, 757], [758, 764], [767, 768], [771, 772], [775, 779], [793, 794], [795, 797], [799, 800], [801, 805]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 31, 34, 35, 36, 39, 40, 70, 71, 73, 74, 75, 76, 77, 81, 112, 113, 116, 117, 120, 121, 128, 129, 138, 139, 146, 147, 156, 157, 164, 165, 174, 244, 274, 338, 377, 396, 403, 434, 463, 570, 627, 628, 658, 659, 715, 716, 748, 766, 781, 807], "summary": {"covered_lines": 65, "num_statements": 65, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\recall.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 31, 34, 35, 36, 39, 40, 68, 69, 71, 72, 73, 75, 76, 77, 79, 80, 81, 82, 83, 85, 98, 99, 100, 101, 102, 103, 105, 107, 112, 118, 120, 121, 122, 124, 126, 127, 128, 131, 133, 134, 135, 137, 138, 139, 142, 144, 145, 146, 148, 149, 150, 153, 155, 156, 157, 160, 199, 212, 213, 215, 216, 218, 222, 223, 225, 240, 241, 242, 243, 245, 246, 251, 252, 254, 256, 264, 266, 269, 271, 276, 278, 281, 283, 285, 288, 289, 291, 292, 293, 295, 296, 297, 307, 308, 309, 311, 312, 320, 330, 339, 340, 352, 353, 357, 369, 380, 381, 382, 383, 386, 391, 394, 395, 396, 397, 398, 399, 400, 401, 403, 405, 406, 412, 416, 417, 419, 420, 422, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434, 436, 437, 464, 465, 467, 470, 471, 472, 473, 475, 476, 477, 478, 479, 484, 485, 486, 487, 490, 491, 493, 494, 507, 512, 513, 515, 516, 523, 524, 526, 528, 529, 530, 531, 536, 537, 538, 539, 540, 541, 544, 545, 549, 553, 554, 555, 561, 565, 566, 567, 569, 570, 572, 573, 575, 576, 577, 578, 579, 581, 582, 583, 585, 587, 596, 597, 598, 599, 602, 605, 606, 676, 706], "summary": {"covered_lines": 226, "num_statements": 314, "percent_covered": 67.75700934579439, "percent_covered_display": "68", "missing_lines": 88, "excluded_lines": 3, "percent_statements_covered": 71.97452229299363, "percent_statements_covered_display": "72", "num_branches": 114, "num_partial_branches": 18, "covered_branches": 64, "missing_branches": 50, "percent_branches_covered": 56.14035087719298, "percent_branches_covered_display": "56"}, "missing_lines": [106, 129, 140, 151, 310, 316, 480, 481, 482, 508, 532, 533, 534, 535, 542, 546, 547, 550, 551, 557, 574, 580, 646, 656, 657, 658, 661, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 674, 683, 684, 686, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 704, 715, 716, 717, 719, 720, 721, 722, 723, 725, 726, 727, 728, 729, 731, 732, 733, 734, 735, 737, 739, 740, 741, 742, 747, 749, 750, 752, 753, 755, 756, 757, 765, 767, 768], "excluded_lines": [26, 27, 607], "executed_branches": [[105, 107], [107, 112], [107, 118], [121, 122], [121, 124], [128, 131], [139, 142], [150, 153], [240, 241], [240, 242], [242, 243], [242, 245], [245, 246], [245, 251], [291, 292], [291, 339], [295, 291], [295, 296], [296, 297], [296, 307], [307, 308], [307, 309], [309, 311], [311, 312], [339, 340], [339, 352], [394, 395], [394, 396], [396, 397], [396, 399], [399, 400], [419, 420], [419, 433], [422, 419], [422, 423], [427, 428], [427, 432], [470, 471], [470, 490], [475, 476], [475, 479], [479, 484], [507, 512], [528, 529], [528, 531], [531, 536], [536, 537], [538, 539], [538, 541], [545, 549], [549, 553], [553, 554], [566, 567], [566, 569], [573, 575], [575, 576], [577, 578], [577, 579], [579, 581], [581, 582], [582, 583], [582, 585], [598, 599], [598, 605]], "missing_branches": [[105, 106], [128, 129], [139, 140], [150, 151], [309, 310], [311, 316], [399, 403], [479, 480], [507, 508], [531, 532], [532, 533], [532, 535], [536, 542], [545, 546], [549, 550], [553, 557], [573, 574], [575, 577], [579, 580], [581, 585], [656, 657], [656, 658], [658, 661], [658, 663], [664, 665], [664, 667], [667, 668], [667, 670], [670, 671], [670, 674], [691, 692], [691, 695], [693, 694], [693, 695], [695, 696], [695, 699], [697, 698], [697, 699], [699, 700], [699, 704], [701, 702], [701, 704], [719, 720], [719, 725], [725, 726], [725, 731], [731, 732], [731, 737], [755, 756], [755, 765]], "functions": {"RecallResult.recall_at_50": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72, "executed_branches": [], "missing_branches": []}, "RecallResult.recall_at_75": {"executed_lines": [77], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 76, "executed_branches": [], "missing_branches": []}, "RecallResult.__init__": {"executed_lines": [98, 99, 100, 101, 102, 103, 105, 107, 112, 118], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [106], "excluded_lines": [], "start_line": 85, "executed_branches": [[105, 107], [107, 112], [107, 118]], "missing_branches": [[105, 106]]}, "RecallResult._ensure_size_results": {"executed_lines": [121, 122, 124], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 120, "executed_branches": [[121, 122], [121, 124]], "missing_branches": []}, "RecallResult.small_objects": {"executed_lines": [135], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 134, "executed_branches": [], "missing_branches": []}, "RecallResult.medium_objects": {"executed_lines": [146], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 145, "executed_branches": [], "missing_branches": []}, "RecallResult.large_objects": {"executed_lines": [157], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 156, "executed_branches": [], "missing_branches": []}, "Recall.__init__": {"executed_lines": [212, 213, 215, 216], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 199, "executed_branches": [], "missing_branches": []}, "Recall.reset": {"executed_lines": [222, 223], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 218, "executed_branches": [], "missing_branches": []}, "Recall.update": {"executed_lines": [240, 241, 242, 243, 245, 246, 251, 252, 254], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 225, "executed_branches": [[240, 241], [240, 242], [242, 243], [242, 245], [245, 246], [245, 251]], "missing_branches": []}, "Recall.compute": {"executed_lines": [264, 266, 269, 271, 276, 278, 281, 283], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 256, "executed_branches": [], "missing_branches": []}, "Recall._compute": {"executed_lines": [288, 289, 291, 292, 293, 295, 296, 297, 307, 308, 309, 311, 312, 320, 330, 339, 340, 352, 353, 357], "summary": {"covered_lines": 20, "num_statements": 22, "percent_covered": 88.88888888888889, "percent_covered_display": "89", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 14, "num_partial_branches": 2, "covered_branches": 12, "missing_branches": 2, "percent_branches_covered": 85.71428571428571, "percent_branches_covered_display": "86"}, "missing_lines": [310, 316], "excluded_lines": [], "start_line": 285, "executed_branches": [[291, 292], [291, 339], [295, 291], [295, 296], [296, 297], [296, 307], [307, 308], [307, 309], [309, 311], [311, 312], [339, 340], [339, 352]], "missing_branches": [[309, 310], [311, 316]]}, "Recall._compute_recall_for_classes": {"executed_lines": [380, 381, 382, 383, 386, 391, 394, 395, 396, 397, 398, 399, 400, 401, 403], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 95.23809523809524, "percent_covered_display": "95", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [], "excluded_lines": [], "start_line": 369, "executed_branches": [[394, 395], [394, 396], [396, 397], [396, 399], [399, 400]], "missing_branches": [[399, 403]]}, "Recall._match_detection_batch": {"executed_lines": [412, 416, 417, 419, 420, 422, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 406, "executed_branches": [[419, 420], [419, 433], [422, 419], [422, 423], [427, 428], [427, 432]], "missing_branches": []}, "Recall._compute_confusion_matrix": {"executed_lines": [464, 465, 467, 470, 471, 472, 473, 475, 476, 477, 478, 479, 484, 485, 486, 487, 490, 491], "summary": {"covered_lines": 18, "num_statements": 21, "percent_covered": 85.18518518518519, "percent_covered_display": "85", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [480, 481, 482], "excluded_lines": [], "start_line": 437, "executed_branches": [[470, 471], [470, 490], [475, 476], [475, 479], [479, 484]], "missing_branches": [[479, 480]]}, "Recall._compute_recall": {"executed_lines": [507, 512, 513, 515, 516, 523, 524], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [508], "excluded_lines": [], "start_line": 494, "executed_branches": [[507, 512]], "missing_branches": [[507, 508]]}, "Recall._detections_content": {"executed_lines": [528, 529, 530, 531, 536, 537, 538, 539, 540, 541], "summary": {"covered_lines": 10, "num_statements": 15, "percent_covered": 64.0, "percent_covered_display": "64", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 10, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 4, "percent_branches_covered": 60.0, "percent_branches_covered_display": "60"}, "missing_lines": [532, 533, 534, 535, 542], "excluded_lines": [], "start_line": 526, "executed_branches": [[528, 529], [528, 531], [531, 536], [536, 537], [538, 539], [538, 541]], "missing_branches": [[531, 532], [532, 533], [532, 535], [536, 542]]}, "Recall._make_empty_content": {"executed_lines": [545, 549, 553, 554, 555], "summary": {"covered_lines": 5, "num_statements": 10, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 6, "num_partial_branches": 3, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [546, 547, 550, 551, 557], "excluded_lines": [], "start_line": 544, "executed_branches": [[545, 549], [549, 553], [553, 554]], "missing_branches": [[545, 546], [549, 550], [553, 557]]}, "Recall._filter_detections_by_size": {"executed_lines": [565, 566, 567, 569, 570, 572, 573, 575, 576, 577, 578, 579, 581, 582, 583, 585], "summary": {"covered_lines": 16, "num_statements": 18, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 14, "num_partial_branches": 4, "covered_branches": 10, "missing_branches": 4, "percent_branches_covered": 71.42857142857143, "percent_branches_covered_display": "71"}, "missing_lines": [574, 580], "excluded_lines": [], "start_line": 561, "executed_branches": [[566, 567], [566, 569], [573, 575], [575, 576], [577, 578], [577, 579], [579, 581], [581, 582], [582, 583], [582, 585]], "missing_branches": [[573, 574], [575, 577], [579, 580], [581, 585]]}, "Recall._filter_predictions_and_targets_by_size": {"executed_lines": [596, 597, 598, 599, 602, 605], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 587, "executed_branches": [[598, 599], [598, 605]], "missing_branches": []}, "Recall.__str__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [646, 656, 657, 658, 661, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 674], "excluded_lines": [607], "start_line": 606, "executed_branches": [], "missing_branches": [[656, 657], [656, 658], [658, 661], [658, 663], [664, 665], [664, 667], [667, 668], [667, 670], [670, 671], [670, 674]]}, "Recall.to_pandas": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 12, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [683, 684, 686, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 704], "excluded_lines": [], "start_line": 676, "executed_branches": [], "missing_branches": [[691, 692], [691, 695], [693, 694], [693, 695], [695, 696], [695, 699], [697, 698], [697, 699], [699, 700], [699, 704], [701, 702], [701, 704]]}, "Recall.plot": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 34, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 34, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [715, 716, 717, 719, 720, 721, 722, 723, 725, 726, 727, 728, 729, 731, 732, 733, 734, 735, 737, 739, 740, 741, 742, 747, 749, 750, 752, 753, 755, 756, 757, 765, 767, 768], "excluded_lines": [], "start_line": 706, "executed_branches": [], "missing_branches": [[719, 720], [719, 725], [725, 726], [725, 731], [731, 732], [731, 737], [755, 756], [755, 765]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 31, 34, 35, 36, 39, 40, 68, 69, 71, 72, 75, 76, 79, 80, 81, 82, 83, 85, 120, 126, 127, 133, 134, 137, 138, 144, 145, 148, 149, 155, 156, 160, 199, 218, 225, 256, 285, 369, 405, 406, 436, 437, 493, 494, 526, 544, 561, 587, 606, 676, 706], "summary": {"covered_lines": 66, "num_statements": 66, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"RecallSizeResults": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31, "executed_branches": [], "missing_branches": []}, "RecallResult": {"executed_lines": [73, 77, 98, 99, 100, 101, 102, 103, 105, 107, 112, 118, 121, 122, 124, 128, 131, 135, 139, 142, 146, 150, 153, 157], "summary": {"covered_lines": 24, "num_statements": 28, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 12, "num_partial_branches": 4, "covered_branches": 8, "missing_branches": 4, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [106, 129, 140, 151], "excluded_lines": [], "start_line": 40, "executed_branches": [[105, 107], [107, 112], [107, 118], [121, 122], [121, 124], [128, 131], [139, 142], [150, 153]], "missing_branches": [[105, 106], [128, 129], [139, 140], [150, 151]]}, "Recall": {"executed_lines": [212, 213, 215, 216, 222, 223, 240, 241, 242, 243, 245, 246, 251, 252, 254, 264, 266, 269, 271, 276, 278, 281, 283, 288, 289, 291, 292, 293, 295, 296, 297, 307, 308, 309, 311, 312, 320, 330, 339, 340, 352, 353, 357, 380, 381, 382, 383, 386, 391, 394, 395, 396, 397, 398, 399, 400, 401, 403, 412, 416, 417, 419, 420, 422, 423, 424, 425, 427, 428, 429, 430, 432, 433, 434, 464, 465, 467, 470, 471, 472, 473, 475, 476, 477, 478, 479, 484, 485, 486, 487, 490, 491, 507, 512, 513, 515, 516, 523, 524, 528, 529, 530, 531, 536, 537, 538, 539, 540, 541, 545, 549, 553, 554, 555, 565, 566, 567, 569, 570, 572, 573, 575, 576, 577, 578, 579, 581, 582, 583, 585, 596, 597, 598, 599, 602, 605], "summary": {"covered_lines": 136, "num_statements": 220, "percent_covered": 59.62732919254658, "percent_covered_display": "60", "missing_lines": 84, "excluded_lines": 1, "percent_statements_covered": 61.81818181818182, "percent_statements_covered_display": "62", "num_branches": 102, "num_partial_branches": 14, "covered_branches": 56, "missing_branches": 46, "percent_branches_covered": 54.90196078431372, "percent_branches_covered_display": "55"}, "missing_lines": [310, 316, 480, 481, 482, 508, 532, 533, 534, 535, 542, 546, 547, 550, 551, 557, 574, 580, 646, 656, 657, 658, 661, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 674, 683, 684, 686, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 704, 715, 716, 717, 719, 720, 721, 722, 723, 725, 726, 727, 728, 729, 731, 732, 733, 734, 735, 737, 739, 740, 741, 742, 747, 749, 750, 752, 753, 755, 756, 757, 765, 767, 768], "excluded_lines": [607], "start_line": 160, "executed_branches": [[240, 241], [240, 242], [242, 243], [242, 245], [245, 246], [245, 251], [291, 292], [291, 339], [295, 291], [295, 296], [296, 297], [296, 307], [307, 308], [307, 309], [309, 311], [311, 312], [339, 340], [339, 352], [394, 395], [394, 396], [396, 397], [396, 399], [399, 400], [419, 420], [419, 433], [422, 419], [422, 423], [427, 428], [427, 432], [470, 471], [470, 490], [475, 476], [475, 479], [479, 484], [507, 512], [528, 529], [528, 531], [531, 536], [536, 537], [538, 539], [538, 541], [545, 549], [549, 553], [553, 554], [566, 567], [566, 569], [573, 575], [575, 576], [577, 578], [577, 579], [579, 581], [581, 582], [582, 583], [582, 585], [598, 599], [598, 605]], "missing_branches": [[309, 310], [311, 316], [399, 403], [479, 480], [507, 508], [531, 532], [532, 533], [532, 535], [536, 542], [545, 546], [549, 550], [553, 557], [573, 574], [575, 577], [579, 580], [581, 585], [656, 657], [656, 658], [658, 661], [658, 663], [664, 665], [664, 667], [667, 668], [667, 670], [670, 671], [670, 674], [691, 692], [691, 695], [693, 694], [693, 695], [695, 696], [695, 699], [697, 698], [697, 699], [699, 700], [699, 704], [701, 702], [701, 704], [719, 720], [719, 725], [725, 726], [725, 731], [731, 732], [731, 737], [755, 756], [755, 765]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 13, 18, 19, 20, 24, 30, 31, 34, 35, 36, 39, 40, 68, 69, 71, 72, 75, 76, 79, 80, 81, 82, 83, 85, 120, 126, 127, 133, 134, 137, 138, 144, 145, 148, 149, 155, 156, 160, 199, 218, 225, 256, 285, 369, 405, 406, 436, 437, 493, 494, 526, 544, 561, 587, 606, 676, 706], "summary": {"covered_lines": 66, "num_statements": 66, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [26, 27], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\utils\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\metrics\\utils\\object_size.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 16, 19, 40, 41, 42, 43, 46, 85, 111, 114, 115, 116, 118, 119, 120, 121, 122, 123, 126, 168, 193, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 211, 214, 229, 230, 231, 235, 236, 238], "summary": {"covered_lines": 47, "num_statements": 72, "percent_covered": 56.25, "percent_covered_display": "56", "missing_lines": 25, "excluded_lines": 2, "percent_statements_covered": 65.27777777777777, "percent_statements_covered_display": "65", "num_branches": 24, "num_partial_branches": 5, "covered_branches": 7, "missing_branches": 17, "percent_branches_covered": 29.166666666666668, "percent_branches_covered_display": "29"}, "missing_lines": [76, 77, 78, 79, 80, 81, 82, 112, 153, 154, 156, 157, 158, 160, 161, 162, 163, 164, 165, 194, 232, 233, 234, 237, 241], "excluded_lines": [13, 14], "executed_branches": [[111, 114], [193, 197], [229, 230], [229, 231], [231, 235], [235, 236], [236, 238]], "missing_branches": [[76, 77], [76, 78], [78, 79], [78, 80], [80, 81], [80, 82], [111, 112], [153, 154], [153, 156], [156, 157], [156, 158], [193, 194], [231, 232], [232, 233], [232, 234], [235, 241], [236, 237]], "functions": {"get_object_size_category": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [76, 77, 78, 79, 80, 81, 82], "excluded_lines": [], "start_line": 46, "executed_branches": [], "missing_branches": [[76, 77], [76, 78], [78, 79], [78, 80], [80, 81], [80, 82]]}, "get_bbox_size_category": {"executed_lines": [111, 114, 115, 116, 118, 119, 120, 121, 122, 123], "summary": {"covered_lines": 10, "num_statements": 11, "percent_covered": 84.61538461538461, "percent_covered_display": "85", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.9090909090909, "percent_statements_covered_display": "91", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [112], "excluded_lines": [], "start_line": 85, "executed_branches": [[111, 114]], "missing_branches": [[111, 112]]}, "get_mask_size_category": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [153, 154, 156, 157, 158, 160, 161, 162, 163, 164, 165], "excluded_lines": [], "start_line": 126, "executed_branches": [], "missing_branches": [[153, 154], [153, 156], [156, 157], [156, 158]]}, "get_obb_size_category": {"executed_lines": [193, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 211], "summary": {"covered_lines": 12, "num_statements": 13, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.3076923076923, "percent_statements_covered_display": "92", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [194], "excluded_lines": [], "start_line": 168, "executed_branches": [[193, 197]], "missing_branches": [[193, 194]]}, "get_detection_size_category": {"executed_lines": [229, 230, 231, 235, 236, 238], "summary": {"covered_lines": 6, "num_statements": 11, "percent_covered": 52.38095238095238, "percent_covered_display": "52", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 54.54545454545455, "percent_statements_covered_display": "55", "num_branches": 10, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 5, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [232, 233, 234, 237, 241], "excluded_lines": [], "start_line": 214, "executed_branches": [[229, 230], [229, 231], [231, 235], [235, 236], [236, 238]], "missing_branches": [[231, 232], [232, 233], [232, 234], [235, 241], [236, 237]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 16, 19, 40, 41, 42, 43, 46, 85, 126, 168, 214], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [13, 14], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"ObjectSizeCategory": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 16, 19, 40, 41, 42, 43, 46, 85, 111, 114, 115, 116, 118, 119, 120, 121, 122, 123, 126, 168, 193, 197, 198, 199, 200, 201, 206, 207, 208, 209, 210, 211, 214, 229, 230, 231, 235, 236, 238], "summary": {"covered_lines": 47, "num_statements": 72, "percent_covered": 56.25, "percent_covered_display": "56", "missing_lines": 25, "excluded_lines": 2, "percent_statements_covered": 65.27777777777777, "percent_statements_covered_display": "65", "num_branches": 24, "num_partial_branches": 5, "covered_branches": 7, "missing_branches": 17, "percent_branches_covered": 29.166666666666668, "percent_branches_covered_display": "29"}, "missing_lines": [76, 77, 78, 79, 80, 81, 82, 112, 153, 154, 156, 157, 158, 160, 161, 162, 163, 164, 165, 194, 232, 233, 234, 237, 241], "excluded_lines": [13, 14], "start_line": 1, "executed_branches": [[111, 114], [193, 197], [229, 230], [229, 231], [231, 235], [235, 236], [236, 238]], "missing_branches": [[76, 77], [76, 78], [78, 79], [78, 80], [80, 81], [80, 82], [111, 112], [153, 154], [153, 156], [156, 157], [156, 158], [193, 194], [231, 232], [232, 233], [232, 234], [235, 241], [236, 237]]}}}, "src\\supervision\\metrics\\utils\\utils.py": {"executed_lines": [1], "summary": {"covered_lines": 1, "num_statements": 5, "percent_covered": 20.0, "percent_covered_display": "20", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 20.0, "percent_statements_covered_display": "20", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [2, 3, 4, 5], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"ensure_pandas_installed": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [2, 3, 4, 5], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1], "summary": {"covered_lines": 1, "num_statements": 5, "percent_covered": 20.0, "percent_covered_display": "20", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 20.0, "percent_statements_covered_display": "20", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [2, 3, 4, 5], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\tracker\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\tracker\\byte_tracker\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\tracker\\byte_tracker\\core.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 35, 36, 37, 38, 39, 40, 41, 44, 49, 83, 91, 101, 103, 104, 105, 107, 108, 109, 111, 150, 153, 159, 185, 196, 206, 207, 208, 209, 210, 211, 213, 239, 247, 248, 250, 251, 252, 254, 255, 256, 257, 258, 260, 261, 262, 274, 294, 311, 323, 349, 386, 418, 451, 472, 498, 518], "summary": {"covered_lines": 81, "num_statements": 209, "percent_covered": 32.04633204633205, "percent_covered_display": "32", "missing_lines": 128, "excluded_lines": 0, "percent_statements_covered": 38.75598086124402, "percent_statements_covered_display": "39", "num_branches": 50, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 48, "percent_branches_covered": 4.0, "percent_branches_covered_display": "4"}, "missing_lines": [151, 161, 162, 163, 165, 167, 169, 170, 171, 172, 176, 177, 180, 181, 183, 194, 216, 217, 219, 220, 222, 225, 228, 231, 233, 237, 273, 275, 277, 297, 298, 299, 314, 315, 316, 317, 318, 320, 321, 331, 332, 333, 337, 338, 339, 340, 341, 342, 343, 345, 346, 347, 356, 357, 359, 365, 366, 368, 369, 370, 371, 372, 373, 375, 376, 378, 379, 380, 381, 382, 384, 392, 393, 395, 397, 398, 399, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 419, 420, 421, 422, 423, 424, 458, 461, 462, 463, 464, 465, 466, 467, 487, 488, 490, 491, 492, 493, 495, 509, 510, 512, 513, 515, 521, 522, 524, 525, 526, 527, 528, 529, 531, 533, 536, 540], "excluded_lines": [], "executed_branches": [[150, 153], [260, 261]], "missing_branches": [[150, 151], [161, 162], [161, 180], [171, 172], [171, 176], [260, 273], [297, 298], [297, 299], [316, 317], [316, 321], [317, 318], [317, 320], [338, 339], [338, 347], [341, 342], [341, 345], [368, 369], [368, 378], [371, 372], [371, 375], [378, 379], [378, 384], [380, 378], [380, 381], [392, 393], [392, 395], [404, 405], [404, 407], [407, 408], [407, 410], [410, 411], [410, 416], [412, 410], [412, 413], [420, 421], [420, 424], [421, 420], [421, 422], [490, 491], [490, 495], [491, 490], [491, 492], [512, 513], [512, 515], [525, 526], [525, 533], [528, 529], [528, 531]], "functions": {"ByteTrack.__init__": {"executed_lines": [91, 101], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 83, "executed_branches": [], "missing_branches": []}, "ByteTrack.frame_id": {"executed_lines": [109], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 108, "executed_branches": [], "missing_branches": []}, "ByteTrack.update_with_detections": {"executed_lines": [150, 153, 159], "summary": {"covered_lines": 3, "num_statements": 18, "percent_covered": 16.666666666666668, "percent_covered_display": "17", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 16.666666666666668, "percent_statements_covered_display": "17", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 5, "percent_branches_covered": 16.666666666666668, "percent_branches_covered_display": "17"}, "missing_lines": [151, 161, 162, 163, 165, 167, 169, 170, 171, 172, 176, 177, 180, 181, 183], "excluded_lines": [], "start_line": 111, "executed_branches": [[150, 153]], "missing_branches": [[150, 151], [161, 162], [161, 180], [171, 172], [171, 176]]}, "ByteTrack.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [194], "excluded_lines": [], "start_line": 185, "executed_branches": [], "missing_branches": []}, "ByteTrack.update_with_tensors": {"executed_lines": [206, 207, 208, 209, 210, 211, 213], "summary": {"covered_lines": 7, "num_statements": 17, "percent_covered": 41.1764705882353, "percent_covered_display": "41", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 41.1764705882353, "percent_statements_covered_display": "41", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [216, 217, 219, 220, 222, 225, 228, 231, 233, 237], "excluded_lines": [], "start_line": 196, "executed_branches": [], "missing_branches": []}, "ByteTrack._split_by_confidence": {"executed_lines": [247, 248, 250, 251, 252, 254, 255, 256, 257, 258, 260, 261, 262, 274], "summary": {"covered_lines": 14, "num_statements": 17, "percent_covered": 78.94736842105263, "percent_covered_display": "79", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 82.3529411764706, "percent_statements_covered_display": "82", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [273, 275, 277], "excluded_lines": [], "start_line": 239, "executed_branches": [[260, 261]], "missing_branches": [[260, 273]]}, "ByteTrack._build_stracks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [297, 298, 299], "excluded_lines": [], "start_line": 294, "executed_branches": [], "missing_branches": [[297, 298], [297, 299]]}, "ByteTrack._separate_tracks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [314, 315, 316, 317, 318, 320, 321], "excluded_lines": [], "start_line": 311, "executed_branches": [], "missing_branches": [[316, 317], [316, 321], [317, 318], [317, 320]]}, "ByteTrack._first_association": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [331, 332, 333, 337, 338, 339, 340, 341, 342, 343, 345, 346, 347], "excluded_lines": [], "start_line": 323, "executed_branches": [], "missing_branches": [[338, 339], [338, 347], [341, 342], [341, 345]]}, "ByteTrack._second_association": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [356, 357, 359, 365, 366, 368, 369, 370, 371, 372, 373, 375, 376, 378, 379, 380, 381, 382, 384], "excluded_lines": [], "start_line": 349, "executed_branches": [], "missing_branches": [[368, 369], [368, 378], [371, 372], [371, 375], [378, 379], [378, 384], [380, 378], [380, 381]]}, "ByteTrack._unconfirmed_and_init_new": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 19, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 19, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [392, 393, 395, 397, 398, 399, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416], "excluded_lines": [], "start_line": 386, "executed_branches": [], "missing_branches": [[392, 393], [392, 395], [404, 405], [404, 407], [407, 408], [407, 410], [410, 411], [410, 416], [412, 410], [412, 413]]}, "ByteTrack._remove_stale_lost_tracks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [419, 420, 421, 422, 423, 424], "excluded_lines": [], "start_line": 418, "executed_branches": [], "missing_branches": [[420, 421], [420, 424], [421, 420], [421, 422]]}, "ByteTrack._update_state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [458, 461, 462, 463, 464, 465, 466, 467], "excluded_lines": [], "start_line": 451, "executed_branches": [], "missing_branches": []}, "joint_tracks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [487, 488, 490, 491, 492, 493, 495], "excluded_lines": [], "start_line": 472, "executed_branches": [], "missing_branches": [[490, 491], [490, 495], [491, 490], [491, 492]]}, "sub_tracks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [509, 510, 512, 513, 515], "excluded_lines": [], "start_line": 498, "executed_branches": [], "missing_branches": [[512, 513], [512, 515]]}, "remove_duplicate_tracks": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 12, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 12, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [521, 522, 524, 525, 526, 527, 528, 529, 531, 533, 536, 540], "excluded_lines": [], "start_line": 518, "executed_branches": [], "missing_branches": [[525, 526], [525, 533], [528, 529], [528, 531]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 35, 36, 37, 38, 39, 40, 41, 44, 49, 83, 103, 104, 107, 108, 111, 185, 196, 239, 294, 311, 323, 349, 386, 418, 451, 472, 498, 518], "summary": {"covered_lines": 53, "num_statements": 53, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"_ByteTrackConfig": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19, "executed_branches": [], "missing_branches": []}, "_ByteTrackResources": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28, "executed_branches": [], "missing_branches": []}, "_ByteTrackState": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "ByteTrack": {"executed_lines": [91, 101, 105, 109, 150, 153, 159, 206, 207, 208, 209, 210, 211, 213, 247, 248, 250, 251, 252, 254, 255, 256, 257, 258, 260, 261, 262, 274], "summary": {"covered_lines": 28, "num_statements": 132, "percent_covered": 17.441860465116278, "percent_covered_display": "17", "missing_lines": 104, "excluded_lines": 0, "percent_statements_covered": 21.21212121212121, "percent_statements_covered_display": "21", "num_branches": 40, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 38, "percent_branches_covered": 5.0, "percent_branches_covered_display": "5"}, "missing_lines": [151, 161, 162, 163, 165, 167, 169, 170, 171, 172, 176, 177, 180, 181, 183, 194, 216, 217, 219, 220, 222, 225, 228, 231, 233, 237, 273, 275, 277, 297, 298, 299, 314, 315, 316, 317, 318, 320, 321, 331, 332, 333, 337, 338, 339, 340, 341, 342, 343, 345, 346, 347, 356, 357, 359, 365, 366, 368, 369, 370, 371, 372, 373, 375, 376, 378, 379, 380, 381, 382, 384, 392, 393, 395, 397, 398, 399, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 416, 419, 420, 421, 422, 423, 424, 458, 461, 462, 463, 464, 465, 466, 467], "excluded_lines": [], "start_line": 49, "executed_branches": [[150, 153], [260, 261]], "missing_branches": [[150, 151], [161, 162], [161, 180], [171, 172], [171, 176], [260, 273], [297, 298], [297, 299], [316, 317], [316, 321], [317, 318], [317, 320], [338, 339], [338, 347], [341, 342], [341, 345], [368, 369], [368, 378], [371, 372], [371, 375], [378, 379], [378, 384], [380, 378], [380, 381], [392, 393], [392, 395], [404, 405], [404, 407], [407, 408], [407, 410], [410, 411], [410, 416], [412, 410], [412, 413], [420, 421], [420, 424], [421, 420], [421, 422]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 24, 27, 28, 29, 30, 31, 32, 35, 36, 37, 38, 39, 40, 41, 44, 49, 83, 103, 104, 107, 108, 111, 185, 196, 239, 294, 311, 323, 349, 386, 418, 451, 472, 498, 518], "summary": {"covered_lines": 53, "num_statements": 77, "percent_covered": 60.91954022988506, "percent_covered_display": "61", "missing_lines": 24, "excluded_lines": 0, "percent_statements_covered": 68.83116883116882, "percent_statements_covered_display": "69", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 10, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [487, 488, 490, 491, 492, 493, 495, 509, 510, 512, 513, 515, 521, 522, 524, 525, 526, 527, 528, 529, 531, 533, 536, 540], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": [[490, 491], [490, 495], [491, 490], [491, 492], [512, 513], [512, 515], [525, 526], [525, 533], [528, 529], [528, 531]]}}}, "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py": {"executed_lines": [1, 3, 4, 5, 8, 21, 22, 24, 25, 26, 27, 29, 30, 32, 61, 96, 123, 160], "summary": {"covered_lines": 18, "num_statements": 53, "percent_covered": 35.08771929824562, "percent_covered_display": "35", "missing_lines": 35, "excluded_lines": 0, "percent_statements_covered": 33.9622641509434, "percent_statements_covered_display": "34", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [44, 45, 46, 48, 58, 59, 74, 80, 86, 88, 89, 94, 109, 115, 117, 118, 121, 135, 141, 147, 149, 150, 151, 152, 154, 155, 156, 158, 177, 179, 182, 187, 189, 190, 193], "excluded_lines": [], "executed_branches": [[25, 26], [25, 27]], "missing_branches": [[150, 151], [150, 152]], "functions": {"KalmanFilter.__init__": {"executed_lines": [22, 24, 25, 26, 27, 29, 30], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21, "executed_branches": [[25, 26], [25, 27]], "missing_branches": []}, "KalmanFilter.initiate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [44, 45, 46, 48, 58, 59], "excluded_lines": [], "start_line": 32, "executed_branches": [], "missing_branches": []}, "KalmanFilter.predict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [74, 80, 86, 88, 89, 94], "excluded_lines": [], "start_line": 61, "executed_branches": [], "missing_branches": []}, "KalmanFilter.project": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [109, 115, 117, 118, 121], "excluded_lines": [], "start_line": 96, "executed_branches": [], "missing_branches": []}, "KalmanFilter.multi_predict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [135, 141, 147, 149, 150, 151, 152, 154, 155, 156, 158], "excluded_lines": [], "start_line": 123, "executed_branches": [], "missing_branches": [[150, 151], [150, 152]]}, "KalmanFilter.update": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [177, 179, 182, 187, 189, 190, 193], "excluded_lines": [], "start_line": 160, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8, 21, 32, 61, 96, 123, 160], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"KalmanFilter": {"executed_lines": [22, 24, 25, 26, 27, 29, 30], "summary": {"covered_lines": 7, "num_statements": 42, "percent_covered": 19.565217391304348, "percent_covered_display": "20", "missing_lines": 35, "excluded_lines": 0, "percent_statements_covered": 16.666666666666668, "percent_statements_covered_display": "17", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [44, 45, 46, 48, 58, 59, 74, 80, 86, 88, 89, 94, 109, 115, 117, 118, 121, 135, 141, 147, 149, 150, 151, 152, 154, 155, 156, 158, 177, 179, 182, 187, 189, 190, 193], "excluded_lines": [], "start_line": 8, "executed_branches": [[25, 26], [25, 27]], "missing_branches": [[150, 151], [150, 152]]}, "": {"executed_lines": [1, 3, 4, 5, 8, 21, 32, 61, 96, 123, 160], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\tracker\\byte_tracker\\matching.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 15, 27, 44, 65], "summary": {"covered_lines": 10, "num_statements": 40, "percent_covered": 20.833333333333332, "percent_covered_display": "21", "missing_lines": 30, "excluded_lines": 2, "percent_statements_covered": 25.0, "percent_statements_covered_display": "25", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [18, 19, 21, 22, 23, 24, 30, 31, 37, 38, 39, 41, 48, 51, 52, 54, 55, 57, 58, 59, 60, 62, 68, 69, 70, 71, 72, 73, 74, 75], "excluded_lines": [11, 12], "executed_branches": [], "missing_branches": [[30, 31], [30, 37], [48, 51], [48, 54], [58, 59], [58, 60], [68, 69], [68, 70]], "functions": {"indices_to_matches": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [18, 19, 21, 22, 23, 24], "excluded_lines": [], "start_line": 15, "executed_branches": [], "missing_branches": []}, "linear_assignment": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [30, 31, 37, 38, 39, 41], "excluded_lines": [], "start_line": 27, "executed_branches": [], "missing_branches": [[30, 31], [30, 37]]}, "iou_distance": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 10, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 10, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [48, 51, 52, 54, 55, 57, 58, 59, 60, 62], "excluded_lines": [], "start_line": 44, "executed_branches": [], "missing_branches": [[48, 51], [48, 54], [58, 59], [58, 60]]}, "fuse_score": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [68, 69, 70, 71, 72, 73, 74, 75], "excluded_lines": [], "start_line": 65, "executed_branches": [], "missing_branches": [[68, 69], [68, 70]]}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 15, 27, 44, 65], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 2, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [11, 12], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 9, 15, 27, 44, 65], "summary": {"covered_lines": 10, "num_statements": 40, "percent_covered": 20.833333333333332, "percent_covered_display": "21", "missing_lines": 30, "excluded_lines": 2, "percent_statements_covered": 25.0, "percent_statements_covered_display": "25", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [18, 19, 21, 22, 23, 24, 30, 31, 37, 38, 39, 41, 48, 51, 52, 54, 55, 57, 58, 59, 60, 62, 68, 69, 70, 71, 72, 73, 74, 75], "excluded_lines": [11, 12], "start_line": 1, "executed_branches": [], "missing_branches": [[30, 31], [30, 37], [48, 51], [48, 54], [58, 59], [58, 60], [68, 69], [68, 70]]}}}, "src\\supervision\\tracker\\byte_tracker\\single_object_track.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 39, 40, 41, 44, 45, 53, 61, 62, 65, 66, 69, 70, 73, 74, 77, 78, 81, 82, 85, 86, 89, 90, 93, 94, 97, 98, 101, 102, 105, 106, 109, 110, 113, 114, 117, 118, 121, 122, 125, 126, 129, 130, 133, 134, 137, 138, 141, 142, 145, 146, 149, 150, 153, 164, 165, 184, 202, 215, 241, 242, 253, 254, 262, 263, 272, 275, 276, 277, 278, 279, 281, 282, 287], "summary": {"covered_lines": 103, "num_statements": 197, "percent_covered": 47.465437788018434, "percent_covered_display": "47", "missing_lines": 94, "excluded_lines": 0, "percent_statements_covered": 52.28426395939086, "percent_statements_covered_display": "52", "num_branches": 20, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 20, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [63, 67, 71, 75, 79, 83, 87, 91, 95, 99, 103, 107, 111, 115, 119, 123, 127, 131, 135, 139, 143, 147, 151, 154, 155, 156, 157, 158, 159, 160, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 177, 180, 181, 182, 186, 187, 188, 192, 193, 194, 195, 196, 197, 199, 200, 203, 204, 205, 206, 209, 210, 212, 213, 223, 224, 225, 226, 227, 229, 230, 233, 234, 235, 236, 237, 239, 246, 247, 248, 249, 250, 251, 258, 259, 260, 267, 268, 269, 270, 273, 283, 284, 285, 288], "excluded_lines": [], "executed_branches": [], "missing_branches": [[158, 159], [158, 160], [166, -164], [166, 167], [169, 170], [169, 177], [174, 169], [174, 175], [180, -164], [180, 181], [194, 195], [194, 199], [196, 197], [196, 199], [234, 235], [234, 239], [236, 237], [236, 239], [246, 247], [246, 248]], "functions": {"_STrackData.__post_init__": {"executed_lines": [39, 40, 41], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38, "executed_branches": [], "missing_branches": []}, "STrack.__init__": {"executed_lines": [53], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45, "executed_branches": [], "missing_branches": []}, "STrack.state": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [67], "excluded_lines": [], "start_line": 66, "executed_branches": [], "missing_branches": []}, "STrack.is_activated": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [75], "excluded_lines": [], "start_line": 74, "executed_branches": [], "missing_branches": []}, "STrack.start_frame": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [83], "excluded_lines": [], "start_line": 82, "executed_branches": [], "missing_branches": []}, "STrack.frame_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [91], "excluded_lines": [], "start_line": 90, "executed_branches": [], "missing_branches": []}, "STrack.kalman_filter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [99], "excluded_lines": [], "start_line": 98, "executed_branches": [], "missing_branches": []}, "STrack.mean": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [107], "excluded_lines": [], "start_line": 106, "executed_branches": [], "missing_branches": []}, "STrack.covariance": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [115], "excluded_lines": [], "start_line": 114, "executed_branches": [], "missing_branches": []}, "STrack.score": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [123], "excluded_lines": [], "start_line": 122, "executed_branches": [], "missing_branches": []}, "STrack.tracklet_len": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [131], "excluded_lines": [], "start_line": 130, "executed_branches": [], "missing_branches": []}, "STrack.minimum_consecutive_frames": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [135], "excluded_lines": [], "start_line": 134, "executed_branches": [], "missing_branches": []}, "STrack.internal_track_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [143], "excluded_lines": [], "start_line": 142, "executed_branches": [], "missing_branches": []}, "STrack.external_track_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [151], "excluded_lines": [], "start_line": 150, "executed_branches": [], "missing_branches": []}, "STrack.predict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [154, 155, 156, 157, 158, 159, 160], "excluded_lines": [], "start_line": 153, "executed_branches": [], "missing_branches": [[158, 159], [158, 160]]}, "STrack.multi_predict": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 177, 180, 181, 182], "excluded_lines": [], "start_line": 165, "executed_branches": [], "missing_branches": [[166, -164], [166, 167], [169, 170], [169, 177], [174, 169], [174, 175], [180, -164], [180, 181]]}, "STrack.activate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [186, 187, 188, 192, 193, 194, 195, 196, 197, 199, 200], "excluded_lines": [], "start_line": 184, "executed_branches": [], "missing_branches": [[194, 195], [194, 199], [196, 197], [196, 199]]}, "STrack.re_activate": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [203, 204, 205, 206, 209, 210, 212, 213], "excluded_lines": [], "start_line": 202, "executed_branches": [], "missing_branches": []}, "STrack.update": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 13, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [223, 224, 225, 226, 227, 229, 230, 233, 234, 235, 236, 237, 239], "excluded_lines": [], "start_line": 215, "executed_branches": [], "missing_branches": [[234, 235], [234, 239], [236, 237], [236, 239]]}, "STrack.tlwh": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [246, 247, 248, 249, 250, 251], "excluded_lines": [], "start_line": 242, "executed_branches": [], "missing_branches": [[246, 247], [246, 248]]}, "STrack.tlbr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [258, 259, 260], "excluded_lines": [], "start_line": 254, "executed_branches": [], "missing_branches": []}, "STrack.tlwh_to_xyah": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [267, 268, 269, 270], "excluded_lines": [], "start_line": 263, "executed_branches": [], "missing_branches": []}, "STrack.to_xyah": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [273], "excluded_lines": [], "start_line": 272, "executed_branches": [], "missing_branches": []}, "STrack.tlbr_to_tlwh": {"executed_lines": [277, 278, 279], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 276, "executed_branches": [], "missing_branches": []}, "STrack.tlwh_to_tlbr": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [283, 284, 285], "excluded_lines": [], "start_line": 282, "executed_branches": [], "missing_branches": []}, "STrack.__repr__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [288], "excluded_lines": [], "start_line": 287, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 44, 45, 61, 62, 65, 66, 69, 70, 73, 74, 77, 78, 81, 82, 85, 86, 89, 90, 93, 94, 97, 98, 101, 102, 105, 106, 109, 110, 113, 114, 117, 118, 121, 122, 125, 126, 129, 130, 133, 134, 137, 138, 141, 142, 145, 146, 149, 150, 153, 164, 165, 184, 202, 215, 241, 242, 253, 254, 262, 263, 272, 275, 276, 281, 282, 287], "summary": {"covered_lines": 96, "num_statements": 96, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TrackState": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13, "executed_branches": [], "missing_branches": []}, "_STrackData": {"executed_lines": [39, 40, 41], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "STrack": {"executed_lines": [53, 277, 278, 279], "summary": {"covered_lines": 4, "num_statements": 98, "percent_covered": 3.389830508474576, "percent_covered_display": "3", "missing_lines": 94, "excluded_lines": 0, "percent_statements_covered": 4.081632653061225, "percent_statements_covered_display": "4", "num_branches": 20, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 20, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [63, 67, 71, 75, 79, 83, 87, 91, 95, 99, 103, 107, 111, 115, 119, 123, 127, 131, 135, 139, 143, 147, 151, 154, 155, 156, 157, 158, 159, 160, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 177, 180, 181, 182, 186, 187, 188, 192, 193, 194, 195, 196, 197, 199, 200, 203, 204, 205, 206, 209, 210, 212, 213, 223, 224, 225, 226, 227, 229, 230, 233, 234, 235, 236, 237, 239, 246, 247, 248, 249, 250, 251, 258, 259, 260, 267, 268, 269, 270, 273, 283, 284, 285, 288], "excluded_lines": [], "start_line": 44, "executed_branches": [], "missing_branches": [[158, 159], [158, 160], [166, -164], [166, 167], [169, 170], [169, 177], [174, 169], [174, 175], [180, -164], [180, 181], [194, 195], [194, 199], [196, 197], [196, 199], [234, 235], [234, 239], [236, 237], [236, 239], [246, 247], [246, 248]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 13, 14, 15, 16, 17, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 38, 44, 45, 61, 62, 65, 66, 69, 70, 73, 74, 77, 78, 81, 82, 85, 86, 89, 90, 93, 94, 97, 98, 101, 102, 105, 106, 109, 110, 113, 114, 117, 118, 121, 122, 125, 126, 129, 130, 133, 134, 137, 138, 141, 142, 145, 146, 149, 150, 153, 164, 165, 184, 202, 215, 241, 242, 253, 254, 262, 263, 272, 275, 276, 281, 282, 287], "summary": {"covered_lines": 96, "num_statements": 96, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\tracker\\byte_tracker\\utils.py": {"executed_lines": [1, 4, 5, 15, 16, 18, 20, 22, 24, 35, 36, 37], "summary": {"covered_lines": 12, "num_statements": 16, "percent_covered": 72.22222222222223, "percent_covered_display": "72", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [17, 31, 32, 33], "excluded_lines": [], "executed_branches": [[16, 18]], "missing_branches": [[16, 17]], "functions": {"IdCounter.__init__": {"executed_lines": [15, 16, 18], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [17], "excluded_lines": [], "start_line": 5, "executed_branches": [[16, 18]], "missing_branches": [[16, 17]]}, "IdCounter.reset": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20, "executed_branches": [], "missing_branches": []}, "IdCounter.new_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [31, 32, 33], "excluded_lines": [], "start_line": 24, "executed_branches": [], "missing_branches": []}, "IdCounter.NO_ID": {"executed_lines": [37], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 4, 5, 20, 24, 35, 36], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"IdCounter": {"executed_lines": [15, 16, 18, 22, 37], "summary": {"covered_lines": 5, "num_statements": 9, "percent_covered": 54.54545454545455, "percent_covered_display": "55", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 55.55555555555556, "percent_statements_covered_display": "56", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [17, 31, 32, 33], "excluded_lines": [], "start_line": 4, "executed_branches": [[16, 18]], "missing_branches": [[16, 17]]}, "": {"executed_lines": [1, 4, 5, 20, 24, 35, 36], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\utils\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "src\\supervision\\utils\\conversion.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 11, 13, 16, 27, 28, 29, 30, 40, 43, 48, 54, 64, 65, 66, 67, 69, 70, 71, 72, 76, 79, 89, 90, 91, 92, 93, 94, 95, 102, 105, 110, 116, 121, 127, 140, 141, 142, 143, 144, 145, 148, 159, 160, 163, 166, 177, 178], "summary": {"covered_lines": 55, "num_statements": 68, "percent_covered": 76.19047619047619, "percent_covered_display": "76", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 80.88235294117646, "percent_statements_covered_display": "81", "num_branches": 16, "num_partial_branches": 3, "covered_branches": 9, "missing_branches": 7, "percent_branches_covered": 56.25, "percent_branches_covered_display": "56"}, "missing_lines": [32, 33, 34, 35, 36, 38, 51, 74, 97, 98, 100, 113, 124], "excluded_lines": [], "executed_branches": [[29, 30], [66, 67], [66, 69], [69, 70], [91, 92], [141, 142], [141, 145], [142, 143], [142, 144]], "missing_branches": [[29, 32], [32, 33], [32, 38], [69, 74], [91, 97], [97, 98], [97, 100]], "functions": {"ensure_cv2_image_for_class_method": {"executed_lines": [27, 28, 40], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16, "executed_branches": [], "missing_branches": []}, "ensure_cv2_image_for_class_method.wrapper": {"executed_lines": [29, 30], "summary": {"covered_lines": 2, "num_statements": 8, "percent_covered": 25.0, "percent_covered_display": "25", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 25.0, "percent_statements_covered_display": "25", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 3, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [32, 33, 34, 35, 36, 38], "excluded_lines": [], "start_line": 28, "executed_branches": [[29, 30]], "missing_branches": [[29, 32], [32, 33], [32, 38]]}, "ensure_cv2_image_for_annotation": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [51], "excluded_lines": [], "start_line": 48, "executed_branches": [], "missing_branches": []}, "ensure_cv2_image_for_standalone_function": {"executed_lines": [64, 65, 76], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54, "executed_branches": [], "missing_branches": []}, "ensure_cv2_image_for_standalone_function.wrapper": {"executed_lines": [66, 67, 69, 70, 71, 72], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [74], "excluded_lines": [], "start_line": 65, "executed_branches": [[66, 67], [66, 69], [69, 70]], "missing_branches": [[69, 74]]}, "ensure_pil_image_for_class_method": {"executed_lines": [89, 90, 102], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79, "executed_branches": [], "missing_branches": []}, "ensure_pil_image_for_class_method.wrapper": {"executed_lines": [91, 92, 93, 94, 95], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 3, "percent_branches_covered": 25.0, "percent_branches_covered_display": "25"}, "missing_lines": [97, 98, 100], "excluded_lines": [], "start_line": 90, "executed_branches": [[91, 92]], "missing_branches": [[91, 97], [97, 98], [97, 100]]}, "ensure_pil_image_for_annotation": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [113], "excluded_lines": [], "start_line": 110, "executed_branches": [], "missing_branches": []}, "ensure_cv2_image_for_processing": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [124], "excluded_lines": [], "start_line": 121, "executed_branches": [], "missing_branches": []}, "images_to_cv2": {"executed_lines": [140, 141, 142, 143, 144, 145], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 127, "executed_branches": [[141, 142], [141, 145], [142, 143], [142, 144]], "missing_branches": []}, "pillow_to_cv2": {"executed_lines": [159, 160, 163], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 148, "executed_branches": [], "missing_branches": []}, "cv2_to_pillow": {"executed_lines": [177, 178], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 166, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 11, 13, 16, 43, 48, 54, 79, 105, 110, 116, 121, 127, 148, 166], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 8, 9, 11, 13, 16, 27, 28, 29, 30, 40, 43, 48, 54, 64, 65, 66, 67, 69, 70, 71, 72, 76, 79, 89, 90, 91, 92, 93, 94, 95, 102, 105, 110, 116, 121, 127, 140, 141, 142, 143, 144, 145, 148, 159, 160, 163, 166, 177, 178], "summary": {"covered_lines": 55, "num_statements": 68, "percent_covered": 76.19047619047619, "percent_covered_display": "76", "missing_lines": 13, "excluded_lines": 0, "percent_statements_covered": 80.88235294117646, "percent_statements_covered_display": "81", "num_branches": 16, "num_partial_branches": 3, "covered_branches": 9, "missing_branches": 7, "percent_branches_covered": 56.25, "percent_branches_covered_display": "56"}, "missing_lines": [32, 33, 34, 35, 36, 38, 51, 74, 97, 98, 100, 113, 124], "excluded_lines": [], "start_line": 1, "executed_branches": [[29, 30], [66, 67], [66, 69], [69, 70], [91, 92], [141, 142], [141, 145], [142, 143], [142, 144]], "missing_branches": [[29, 32], [32, 33], [32, 38], [69, 74], [91, 97], [97, 98], [97, 100]]}}}, "src\\supervision\\utils\\file.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 11, 12, 13, 14, 15, 16, 22, 66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 79, 80, 82, 83, 84, 85, 89, 92, 120, 121, 122, 124, 126, 129, 137, 138, 139, 142, 166, 167, 168, 171, 182, 183, 186, 196, 197, 198, 201, 210, 211], "summary": {"covered_lines": 54, "num_statements": 59, "percent_covered": 87.65432098765432, "percent_covered_display": "88", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 91.52542372881356, "percent_statements_covered_display": "92", "num_branches": 22, "num_partial_branches": 3, "covered_branches": 17, "missing_branches": 5, "percent_branches_covered": 77.27272727272727, "percent_branches_covered_display": "77"}, "missing_lines": [17, 18, 19, 81, 87], "excluded_lines": [], "executed_branches": [[13, 14], [13, 15], [15, 16], [69, 70], [72, 73], [72, 77], [78, 79], [78, 89], [80, 82], [82, 78], [82, 83], [83, 82], [83, 84], [121, 122], [121, 124], [138, -129], [138, 139]], "missing_branches": [[15, 17], [17, 18], [17, 19], [69, 87], [80, 81]], "functions": {"NumpyJsonEncoder.default": {"executed_lines": [13, 14, 15, 16], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [17, 18, 19], "excluded_lines": [], "start_line": 12, "executed_branches": [[13, 14], [13, 15], [15, 16]], "missing_branches": [[15, 17], [17, 18], [17, 19]]}, "list_files_with_extensions": {"executed_lines": [66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 79, 80, 82, 83, 84, 85, 89], "summary": {"covered_lines": 17, "num_statements": 19, "percent_covered": 87.09677419354838, "percent_covered_display": "87", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 89.47368421052632, "percent_statements_covered_display": "89", "num_branches": 12, "num_partial_branches": 2, "covered_branches": 10, "missing_branches": 2, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [81, 87], "excluded_lines": [], "start_line": 22, "executed_branches": [[69, 70], [72, 73], [72, 77], [78, 79], [78, 89], [80, 82], [82, 78], [82, 83], [83, 82], [83, 84]], "missing_branches": [[69, 87], [80, 81]]}, "read_txt_file": {"executed_lines": [120, 121, 122, 124, 126], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [[121, 122], [121, 124]], "missing_branches": []}, "save_text_file": {"executed_lines": [137, 138, 139], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 129, "executed_branches": [[138, -129], [138, 139]], "missing_branches": []}, "read_json_file": {"executed_lines": [166, 167, 168], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142, "executed_branches": [], "missing_branches": []}, "save_json_file": {"executed_lines": [182, 183], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 171, "executed_branches": [], "missing_branches": []}, "read_yaml_file": {"executed_lines": [196, 197, 198], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 186, "executed_branches": [], "missing_branches": []}, "save_yaml_file": {"executed_lines": [210, 211], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 201, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 11, 12, 22, 92, 129, 142, 171, 186, 201], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"NumpyJsonEncoder": {"executed_lines": [13, 14, 15, 16], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 53.84615384615385, "percent_covered_display": "54", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [17, 18, 19], "excluded_lines": [], "start_line": 11, "executed_branches": [[13, 14], [13, 15], [15, 16]], "missing_branches": [[15, 17], [17, 18], [17, 19]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 11, 12, 22, 66, 67, 69, 70, 71, 72, 73, 74, 77, 78, 79, 80, 82, 83, 84, 85, 89, 92, 120, 121, 122, 124, 126, 129, 137, 138, 139, 142, 166, 167, 168, 171, 182, 183, 186, 196, 197, 198, 201, 210, 211], "summary": {"covered_lines": 50, "num_statements": 52, "percent_covered": 94.11764705882354, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.15384615384616, "percent_statements_covered_display": "96", "num_branches": 16, "num_partial_branches": 2, "covered_branches": 14, "missing_branches": 2, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [81, 87], "excluded_lines": [], "start_line": 1, "executed_branches": [[69, 70], [72, 73], [72, 77], [78, 79], [78, 89], [80, 82], [82, 78], [82, 83], [83, 82], [83, 84], [121, 122], [121, 124], [138, -129], [138, 139]], "missing_branches": [[69, 87], [80, 81]]}}}, "src\\supervision\\utils\\image.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 26, 28, 30, 33, 34, 77, 78, 80, 81, 83, 84, 94, 95, 135, 136, 139, 140, 141, 142, 145, 146, 193, 194, 195, 196, 197, 198, 199, 206, 209, 210, 255, 256, 257, 260, 261, 262, 263, 264, 265, 275, 278, 283, 317, 318, 319, 321, 322, 324, 327, 328, 329, 330, 332, 333, 334, 335, 337, 348, 352, 355, 356, 403, 404, 434, 462, 463, 468, 469, 471, 472, 473, 481, 482, 521, 531, 551, 560, 565, 706, 713, 721, 728, 739, 756, 767, 816, 860, 879, 918], "summary": {"covered_lines": 108, "num_statements": 245, "percent_covered": 37.15170278637771, "percent_covered_display": "37", "missing_lines": 137, "excluded_lines": 0, "percent_statements_covered": 44.08163265306123, "percent_statements_covered_display": "44", "num_branches": 78, "num_partial_branches": 8, "covered_branches": 12, "missing_branches": 66, "percent_branches_covered": 15.384615384615385, "percent_branches_covered_display": "15"}, "missing_lines": [86, 87, 89, 137, 201, 202, 204, 325, 338, 341, 342, 344, 345, 346, 392, 393, 394, 396, 397, 400, 430, 431, 464, 475, 516, 517, 518, 519, 522, 523, 524, 525, 527, 529, 544, 545, 547, 548, 549, 557, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 668, 669, 670, 673, 674, 675, 676, 678, 679, 682, 683, 684, 701, 702, 703, 707, 708, 709, 710, 716, 717, 718, 731, 732, 736, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 757, 758, 759, 760, 761, 762, 763, 764, 784, 796, 797, 798, 799, 802, 803, 807, 828, 829, 830, 835, 836, 837, 840, 841, 842, 843, 844, 845, 856, 857, 865, 866, 867, 868, 869, 870, 871, 872, 874, 875, 876, 886, 890, 901, 902, 905, 906, 907, 908, 909, 921], "excluded_lines": [], "executed_branches": [[77, 78], [77, 80], [83, 84], [136, 139], [194, 195], [197, 198], [324, 327], [337, 348], [462, 463], [462, 471], [463, 468], [471, 472]], "missing_branches": [[83, 86], [86, 87], [86, 89], [136, 137], [194, 204], [197, 201], [324, 325], [337, 338], [393, 394], [393, 396], [463, 464], [471, 475], [522, 523], [522, 527], [523, 524], [523, 529], [544, 545], [544, 547], [653, 654], [653, 655], [655, 656], [655, 657], [660, 661], [660, 662], [669, 670], [669, 673], [673, 674], [673, 675], [675, 676], [675, 678], [701, 702], [701, 703], [708, 709], [708, 710], [731, 732], [731, 736], [743, 744], [743, 745], [745, 746], [745, 749], [749, 750], [749, 753], [757, 758], [757, 759], [762, 763], [762, 764], [798, 799], [798, 802], [802, 803], [802, 807], [828, 829], [828, 830], [835, 836], [835, 840], [841, 842], [841, 857], [842, 843], [842, 845], [866, 867], [866, 876], [867, 868], [867, 870], [871, 872], [871, 874], [906, 907], [906, 909]], "functions": {"crop_image": {"executed_lines": [77, 78, 80, 81, 83, 84], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 3, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [86, 87, 89], "excluded_lines": [], "start_line": 34, "executed_branches": [[77, 78], [77, 80], [83, 84]], "missing_branches": [[83, 86], [86, 87], [86, 89]]}, "scale_image": {"executed_lines": [135, 136, 139, 140, 141, 142], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 77.77777777777777, "percent_covered_display": "78", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [137], "excluded_lines": [], "start_line": 95, "executed_branches": [[136, 139]], "missing_branches": [[136, 137]]}, "resize_image": {"executed_lines": [193, 194, 195, 196, 197, 198, 199, 206], "summary": {"covered_lines": 8, "num_statements": 11, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 72.72727272727273, "percent_statements_covered_display": "73", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [201, 202, 204], "excluded_lines": [], "start_line": 146, "executed_branches": [[194, 195], [197, 198]], "missing_branches": [[194, 204], [197, 201]]}, "letterbox_image": {"executed_lines": [255, 256, 257, 260, 261, 262, 263, 264, 265, 275], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 210, "executed_branches": [], "missing_branches": []}, "overlay_image": {"executed_lines": [317, 318, 319, 321, 322, 324, 327, 328, 329, 330, 332, 333, 334, 335, 337, 348, 352], "summary": {"covered_lines": 17, "num_statements": 24, "percent_covered": 67.85714285714286, "percent_covered_display": "68", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 70.83333333333333, "percent_statements_covered_display": "71", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [325, 338, 341, 342, 344, 345, 346], "excluded_lines": [], "start_line": 283, "executed_branches": [[324, 327], [337, 348]], "missing_branches": [[324, 325], [337, 338]]}, "tint_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [392, 393, 394, 396, 397, 400], "excluded_lines": [], "start_line": 356, "executed_branches": [], "missing_branches": [[393, 394], [393, 396]]}, "grayscale_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [430, 431], "excluded_lines": [], "start_line": 404, "executed_branches": [], "missing_branches": []}, "get_image_resolution_wh": {"executed_lines": [462, 463, 468, 469, 471, 472, 473], "summary": {"covered_lines": 7, "num_statements": 9, "percent_covered": 73.33333333333333, "percent_covered_display": "73", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 77.77777777777777, "percent_statements_covered_display": "78", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [464, 475], "excluded_lines": [], "start_line": 434, "executed_branches": [[462, 463], [462, 471], [463, 468], [471, 472]], "missing_branches": [[463, 464], [471, 475]]}, "ImageSink.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [516, 517, 518, 519], "excluded_lines": [], "start_line": 482, "executed_branches": [], "missing_branches": []}, "ImageSink.__enter__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 6, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [522, 523, 524, 525, 527, 529], "excluded_lines": [], "start_line": 521, "executed_branches": [], "missing_branches": [[522, 523], [522, 527], [523, 524], [523, 529]]}, "ImageSink.save_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 5, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [544, 545, 547, 548, 549], "excluded_lines": [], "start_line": 531, "executed_branches": [], "missing_branches": [[544, 545], [544, 547]]}, "ImageSink.__exit__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [557], "excluded_lines": [], "start_line": 551, "executed_branches": [], "missing_branches": []}, "create_tiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 25, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 25, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 14, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 668, 669, 670, 673, 674, 675, 676, 678, 679, 682, 683, 684, 701, 702, 703], "excluded_lines": [], "start_line": 565, "executed_branches": [], "missing_branches": [[653, 654], [653, 655], [655, 656], [655, 657], [660, 661], [660, 662], [669, 670], [669, 673], [673, 674], [673, 675], [675, 676], [675, 678], [701, 702], [701, 703]]}, "_negotiate_tiles_format": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [707, 708, 709, 710], "excluded_lines": [], "start_line": 706, "executed_branches": [], "missing_branches": [[708, 709], [708, 710]]}, "_calculate_aggregated_images_shape": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [716, 717, 718], "excluded_lines": [], "start_line": 713, "executed_branches": [], "missing_branches": []}, "_aggregate_images_shape": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [731, 732, 736], "excluded_lines": [], "start_line": 728, "executed_branches": [], "missing_branches": [[731, 732], [731, 736]]}, "_establish_grid_size": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753], "excluded_lines": [], "start_line": 739, "executed_branches": [], "missing_branches": [[743, 744], [743, 745], [745, 746], [745, 749], [749, 750], [749, 753]]}, "_negotiate_grid_size": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [757, 758, 759, 760, 761, 762, 763, 764], "excluded_lines": [], "start_line": 756, "executed_branches": [], "missing_branches": [[757, 758], [757, 759], [762, 763], [762, 764]]}, "_generate_tiles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [784, 796, 797, 798, 799, 802, 803, 807], "excluded_lines": [], "start_line": 767, "executed_branches": [], "missing_branches": [[798, 799], [798, 802], [802, 803], [802, 807]]}, "_draw_texts": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 14, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 14, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 8, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [828, 829, 830, 835, 836, 837, 840, 841, 842, 843, 844, 845, 856, 857], "excluded_lines": [], "start_line": 816, "executed_branches": [], "missing_branches": [[828, 829], [828, 830], [835, 836], [835, 840], [841, 842], [841, 857], [842, 843], [842, 845]]}, "_prepare_default_titles_anchors": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 11, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 11, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [865, 866, 867, 868, 869, 870, 871, 872, 874, 875, 876], "excluded_lines": [], "start_line": 860, "executed_branches": [], "missing_branches": [[866, 867], [866, 876], [867, 868], [867, 870], [871, 872], [871, 874]]}, "_merge_tiles_elements": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 9, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [886, 890, 901, 902, 905, 906, 907, 908, 909], "excluded_lines": [], "start_line": 879, "executed_branches": [], "missing_branches": [[906, 907], [906, 909]]}, "_generate_color_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [921], "excluded_lines": [], "start_line": 918, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 26, 28, 30, 33, 34, 94, 95, 145, 146, 209, 210, 278, 283, 355, 356, 403, 404, 434, 481, 482, 521, 531, 551, 560, 565, 706, 713, 721, 728, 739, 756, 767, 816, 860, 879, 918], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"ImageSink": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [516, 517, 518, 519, 522, 523, 524, 525, 527, 529, 544, 545, 547, 548, 549, 557], "excluded_lines": [], "start_line": 481, "executed_branches": [], "missing_branches": [[522, 523], [522, 527], [523, 524], [523, 529], [544, 545], [544, 547]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 26, 28, 30, 33, 34, 77, 78, 80, 81, 83, 84, 94, 95, 135, 136, 139, 140, 141, 142, 145, 146, 193, 194, 195, 196, 197, 198, 199, 206, 209, 210, 255, 256, 257, 260, 261, 262, 263, 264, 265, 275, 278, 283, 317, 318, 319, 321, 322, 324, 327, 328, 329, 330, 332, 333, 334, 335, 337, 348, 352, 355, 356, 403, 404, 434, 462, 463, 468, 469, 471, 472, 473, 481, 482, 521, 531, 551, 560, 565, 706, 713, 721, 728, 739, 756, 767, 816, 860, 879, 918], "summary": {"covered_lines": 108, "num_statements": 229, "percent_covered": 39.8671096345515, "percent_covered_display": "40", "missing_lines": 121, "excluded_lines": 0, "percent_statements_covered": 47.161572052401745, "percent_statements_covered_display": "47", "num_branches": 72, "num_partial_branches": 8, "covered_branches": 12, "missing_branches": 60, "percent_branches_covered": 16.666666666666668, "percent_branches_covered_display": "17"}, "missing_lines": [86, 87, 89, 137, 201, 202, 204, 325, 338, 341, 342, 344, 345, 346, 392, 393, 394, 396, 397, 400, 430, 431, 464, 475, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 668, 669, 670, 673, 674, 675, 676, 678, 679, 682, 683, 684, 701, 702, 703, 707, 708, 709, 710, 716, 717, 718, 731, 732, 736, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 757, 758, 759, 760, 761, 762, 763, 764, 784, 796, 797, 798, 799, 802, 803, 807, 828, 829, 830, 835, 836, 837, 840, 841, 842, 843, 844, 845, 856, 857, 865, 866, 867, 868, 869, 870, 871, 872, 874, 875, 876, 886, 890, 901, 902, 905, 906, 907, 908, 909, 921], "excluded_lines": [], "start_line": 1, "executed_branches": [[77, 78], [77, 80], [83, 84], [136, 139], [194, 195], [197, 198], [324, 327], [337, 348], [462, 463], [462, 471], [463, 468], [471, 472]], "missing_branches": [[83, 86], [86, 87], [86, 89], [136, 137], [194, 204], [197, 201], [324, 325], [337, 338], [393, 394], [393, 396], [463, 464], [471, 475], [653, 654], [653, 655], [655, 656], [655, 657], [660, 661], [660, 662], [669, 670], [669, 673], [673, 674], [673, 675], [675, 676], [675, 678], [701, 702], [701, 703], [708, 709], [708, 710], [731, 732], [731, 736], [743, 744], [743, 745], [745, 746], [745, 749], [749, 750], [749, 753], [757, 758], [757, 759], [762, 763], [762, 764], [798, 799], [798, 802], [802, 803], [802, 807], [828, 829], [828, 830], [835, 836], [835, 840], [841, 842], [841, 857], [842, 843], [842, 845], [866, 867], [866, 876], [867, 868], [867, 870], [871, 872], [871, 874], [906, 907], [906, 909]]}}}, "src\\supervision\\utils\\internal.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 18, 21, 32, 35, 37, 40, 43, 50, 53, 130, 133, 145, 150, 152, 164, 166, 169, 191, 192, 194, 200, 201, 206, 208], "summary": {"covered_lines": 32, "num_statements": 47, "percent_covered": 64.40677966101696, "percent_covered_display": "64", "missing_lines": 15, "excluded_lines": 1, "percent_statements_covered": 68.08510638297872, "percent_statements_covered_display": "68", "num_branches": 12, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 6, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [38, 102, 103, 104, 105, 106, 107, 108, 110, 112, 121, 123, 125, 127, 165], "excluded_lines": [134], "executed_branches": [[37, 40], [164, 166], [191, 192], [191, 194], [200, 201], [200, 208]], "missing_branches": [[37, 38], [105, 106], [105, 123], [106, 107], [106, 110], [164, 165]], "functions": {"format_warning": {"executed_lines": [32], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "warn_deprecated": {"executed_lines": [50], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43, "executed_branches": [], "missing_branches": []}, "deprecated_parameter": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 3, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [102, 103, 127], "excluded_lines": [], "start_line": 53, "executed_branches": [], "missing_branches": []}, "deprecated_parameter.decorator": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [104, 125], "excluded_lines": [], "start_line": 102, "executed_branches": [], "missing_branches": []}, "deprecated_parameter.decorator.wrapper": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [105, 106, 107, 108, 110, 112, 121, 123], "excluded_lines": [], "start_line": 104, "executed_branches": [], "missing_branches": [[105, 106], [105, 123], [106, 107], [106, 110]]}, "classproperty.__init__": {"executed_lines": [150], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 145, "executed_branches": [], "missing_branches": []}, "classproperty.__get__": {"executed_lines": [164, 166], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [165], "excluded_lines": [], "start_line": 152, "executed_branches": [[164, 166]], "missing_branches": [[164, 165]]}, "get_instance_variables": {"executed_lines": [191, 192, 194, 200, 201, 206, 208], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 169, "executed_branches": [[191, 192], [191, 194], [200, 201], [200, 208]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 18, 21, 35, 37, 40, 43, 53, 130, 133, 145, 152, 169], "summary": {"covered_lines": 20, "num_statements": 21, "percent_covered": 91.30434782608695, "percent_covered_display": "91", "missing_lines": 1, "excluded_lines": 1, "percent_statements_covered": 95.23809523809524, "percent_statements_covered_display": "95", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [38], "excluded_lines": [134], "start_line": 1, "executed_branches": [[37, 40]], "missing_branches": [[37, 38]]}}, "classes": {"SupervisionWarnings": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11, "executed_branches": [], "missing_branches": []}, "classproperty": {"executed_lines": [150, 164, 166], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [165], "excluded_lines": [], "start_line": 133, "executed_branches": [[164, 166]], "missing_branches": [[164, 165]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 11, 18, 21, 32, 35, 37, 40, 43, 50, 53, 130, 133, 145, 152, 169, 191, 192, 194, 200, 201, 206, 208], "summary": {"covered_lines": 29, "num_statements": 43, "percent_covered": 64.15094339622641, "percent_covered_display": "64", "missing_lines": 14, "excluded_lines": 1, "percent_statements_covered": 67.44186046511628, "percent_statements_covered_display": "67", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 5, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [38, 102, 103, 104, 105, 106, 107, 108, 110, 112, 121, 123, 125, 127], "excluded_lines": [134], "start_line": 1, "executed_branches": [[37, 40], [191, 192], [191, 194], [200, 201], [200, 208]], "missing_branches": [[37, 38], [105, 106], [105, 123], [106, 107], [106, 110]]}}}, "src\\supervision\\utils\\iterables.py": {"executed_lines": [1, 2, 4, 7, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 71, 72, 73, 76, 96, 97, 98, 99, 100, 102, 103], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[36, 37], [36, 41], [37, 38], [37, 40], [41, -7], [41, 42], [98, 99], [98, 103], [99, 100], [99, 102]], "missing_branches": [], "functions": {"create_batches": {"executed_lines": [34, 35, 36, 37, 38, 39, 40, 41, 42], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 7, "executed_branches": [[36, 37], [36, 41], [37, 38], [37, 40], [41, -7], [41, 42]], "missing_branches": []}, "fill": {"executed_lines": [71, 72, 73], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45, "executed_branches": [], "missing_branches": []}, "find_duplicates": {"executed_lines": [96, 97, 98, 99, 100, 102, 103], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 76, "executed_branches": [[98, 99], [98, 103], [99, 100], [99, 102]], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 7, 45, 76], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 7, 34, 35, 36, 37, 38, 39, 40, 41, 42, 45, 71, 72, 73, 76, 96, 97, 98, 99, 100, 102, 103], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 10, "num_partial_branches": 0, "covered_branches": 10, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[36, 37], [36, 41], [37, 38], [37, 40], [41, -7], [41, 42], [98, 99], [98, 103], [99, 100], [99, 102]], "missing_branches": []}}}, "src\\supervision\\utils\\logger.py": {"executed_lines": [1, 3, 4, 5, 8, 38, 39, 41, 42, 44, 45, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[38, 39], [38, 41], [44, 45], [44, 63]], "missing_branches": [], "functions": {"_get_logger": {"executed_lines": [38, 39, 41, 42, 44, 45, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8, "executed_branches": [[38, 39], [38, 41], [44, 45], [44, 63]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 8], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 8, 38, 39, 41, 42, 44, 45, 50, 51, 52, 53, 55, 56, 57, 59, 60, 61, 63], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[38, 39], [38, 41], [44, 45], [44, 63]], "missing_branches": []}}}, "src\\supervision\\utils\\notebook.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 11, 50], "summary": {"covered_lines": 8, "num_statements": 32, "percent_covered": 16.0, "percent_covered_display": "16", "missing_lines": 24, "excluded_lines": 2, "percent_statements_covered": 25.0, "percent_statements_covered_display": "25", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 18, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [36, 37, 39, 41, 42, 44, 46, 47, 92, 94, 95, 96, 98, 99, 104, 106, 107, 108, 109, 111, 113, 114, 116, 117], "excluded_lines": [14, 57], "executed_branches": [], "missing_branches": [[36, 37], [36, 39], [41, 42], [41, 44], [94, 95], [94, 98], [95, 94], [95, 96], [98, 99], [98, 104], [106, 107], [106, 117], [107, 108], [107, 116], [108, 109], [108, 111], [113, 114], [113, 116]], "functions": {"plot_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 8, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 8, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 4, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [36, 37, 39, 41, 42, 44, 46, 47], "excluded_lines": [14], "start_line": 11, "executed_branches": [], "missing_branches": [[36, 37], [36, 39], [41, 42], [41, 44]]}, "plot_images_grid": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 16, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 16, "excluded_lines": 1, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 14, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [92, 94, 95, 96, 98, 99, 104, 106, 107, 108, 109, 111, 113, 114, 116, 117], "excluded_lines": [57], "start_line": 50, "executed_branches": [], "missing_branches": [[94, 95], [94, 98], [95, 94], [95, 96], [98, 99], [98, 104], [106, 107], [106, 117], [107, 108], [107, 116], [108, 109], [108, 111], [113, 114], [113, 116]]}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 11, 50], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8, 11, 50], "summary": {"covered_lines": 8, "num_statements": 32, "percent_covered": 16.0, "percent_covered_display": "16", "missing_lines": 24, "excluded_lines": 2, "percent_statements_covered": 25.0, "percent_statements_covered_display": "25", "num_branches": 18, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 18, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [36, 37, 39, 41, 42, 44, 46, 47, 92, 94, 95, 96, 98, 99, 104, 106, 107, 108, 109, 111, 113, 114, 116, 117], "excluded_lines": [14, 57], "start_line": 1, "executed_branches": [], "missing_branches": [[36, 37], [36, 39], [41, 42], [41, 44], [94, 95], [94, 98], [95, 94], [95, 96], [98, 99], [98, 104], [106, 107], [106, 117], [107, 108], [107, 116], [108, 109], [108, 111], [113, 114], [113, 116]]}}}, "src\\supervision\\utils\\video.py": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 22, 25, 26, 53, 54, 55, 56, 58, 59, 60, 61, 64, 65, 66, 67, 68, 69, 71, 72, 73, 76, 99, 100, 101, 102, 103, 105, 106, 107, 111, 117, 119, 127, 128, 130, 136, 137, 140, 147, 148, 149, 153, 155, 156, 157, 161, 162, 188, 189, 190, 196, 197, 198, 199, 203, 204, 207, 210, 211, 213, 214, 216, 217, 219, 225, 226, 228, 231, 265, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 279, 280, 283, 284, 297, 298, 299, 300, 301, 302, 303, 304, 305, 307, 310, 314, 315, 316, 317, 318, 320, 321, 325, 326, 327, 329, 330, 331, 332, 333, 334, 336, 337, 338, 341, 342, 343, 344, 345, 346, 351, 352, 353, 354, 355, 357, 358, 364, 366, 367, 368, 369, 371, 372, 373, 375, 376, 382, 383, 384, 386, 387, 388, 389, 390, 392, 393, 394, 395, 396, 397, 398, 399, 401, 402, 403, 405, 406, 407, 413, 414, 415, 416, 418, 420, 421, 424, 496, 507, 510, 515, 537, 538, 550, 556], "summary": {"covered_lines": 191, "num_statements": 217, "percent_covered": 83.76383763837639, "percent_covered_display": "84", "missing_lines": 26, "excluded_lines": 1, "percent_statements_covered": 88.0184331797235, "percent_statements_covered_display": "88", "num_branches": 54, "num_partial_branches": 10, "covered_branches": 36, "missing_branches": 18, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [62, 108, 109, 110, 212, 215, 220, 221, 222, 223, 224, 278, 339, 340, 347, 348, 349, 350, 359, 535, 545, 546, 547, 548, 554, 560], "excluded_lines": [238], "executed_branches": [[61, 64], [127, 128], [136, 137], [148, 149], [148, 155], [188, 189], [188, 197], [203, 204], [211, 213], [214, 216], [219, 225], [225, 226], [225, 228], [271, 272], [271, 273], [273, 274], [275, 276], [275, 279], [277, 275], [325, 326], [325, 327], [332, 333], [332, 334], [341, 342], [341, 351], [345, 342], [345, 346], [354, -336], [354, 355], [358, 364], [367, 368], [367, 369], [388, 389], [388, 392], [420, -401], [420, 421]], "missing_branches": [[61, 62], [127, -119], [136, -130], [203, -140], [211, 212], [214, 215], [219, 220], [220, 221], [220, 228], [222, 223], [222, 224], [273, 275], [277, 278], [348, 349], [348, 350], [358, 359], [545, 546], [545, 547]], "functions": {"VideoInfo.from_video_path": {"executed_lines": [60, 61, 64, 65, 66, 67, 68, 69], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [62], "excluded_lines": [], "start_line": 59, "executed_branches": [[61, 64]], "missing_branches": [[61, 62]]}, "VideoInfo.resolution_wh": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72, "executed_branches": [], "missing_branches": []}, "VideoSink.__init__": {"executed_lines": [100, 101, 102, 103], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99, "executed_branches": [], "missing_branches": []}, "VideoSink.__enter__": {"executed_lines": [106, 107, 111, 117], "summary": {"covered_lines": 4, "num_statements": 7, "percent_covered": 57.142857142857146, "percent_covered_display": "57", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 57.142857142857146, "percent_statements_covered_display": "57", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [108, 109, 110], "excluded_lines": [], "start_line": 105, "executed_branches": [], "missing_branches": []}, "VideoSink.write_frame": {"executed_lines": [127, 128], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 119, "executed_branches": [[127, 128]], "missing_branches": [[127, -119]]}, "VideoSink.__exit__": {"executed_lines": [136, 137], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 130, "executed_branches": [[136, 137]], "missing_branches": [[136, -130]]}, "_mux_audio": {"executed_lines": [147, 148, 149, 153, 155, 156, 157, 161, 162, 188, 189, 190, 196, 197, 198, 199, 203, 204], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 95.83333333333333, "percent_covered_display": "96", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [], "excluded_lines": [], "start_line": 140, "executed_branches": [[148, 149], [148, 155], [188, 189], [188, 197], [203, 204]], "missing_branches": [[203, -140]]}, "_validate_and_setup_video": {"executed_lines": [210, 211, 213, 214, 216, 217, 219, 225, 226, 228], "summary": {"covered_lines": 10, "num_statements": 17, "percent_covered": 51.724137931034484, "percent_covered_display": "52", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 58.8235294117647, "percent_statements_covered_display": "59", "num_branches": 12, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 7, "percent_branches_covered": 41.666666666666664, "percent_branches_covered_display": "42"}, "missing_lines": [212, 215, 220, 221, 222, 223, 224], "excluded_lines": [], "start_line": 207, "executed_branches": [[211, 213], [214, 216], [219, 225], [225, 226], [225, 228]], "missing_branches": [[211, 212], [214, 215], [219, 220], [220, 221], [220, 228], [222, 223], [222, 224]]}, "get_video_frames_generator": {"executed_lines": [265, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 279, 280], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 86.36363636363636, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 1, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 8, "num_partial_branches": 2, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [278], "excluded_lines": [238], "start_line": 231, "executed_branches": [[271, 272], [271, 273], [273, 274], [275, 276], [275, 279], [277, 275]], "missing_branches": [[273, 275], [277, 278]]}, "_VideoProcessor.__init__": {"executed_lines": [297, 298, 299, 300, 301, 302, 303, 304, 305, 307, 310, 314, 315, 316, 317, 318], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 284, "executed_branches": [], "missing_branches": []}, "_VideoProcessor._reader_thread": {"executed_lines": [321, 325, 326, 327], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 320, "executed_branches": [[325, 326], [325, 327]], "missing_branches": []}, "_VideoProcessor._writer_thread": {"executed_lines": [330, 331, 332, 333, 334], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 329, "executed_branches": [[332, 333], [332, 334]], "missing_branches": []}, "_VideoProcessor._drain_and_cleanup": {"executed_lines": [337, 338, 341, 342, 343, 344, 345, 346, 351, 352, 353, 354, 355], "summary": {"covered_lines": 13, "num_statements": 19, "percent_covered": 70.37037037037037, "percent_covered_display": "70", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 68.42105263157895, "percent_statements_covered_display": "68", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 2, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [339, 340, 347, 348, 349, 350], "excluded_lines": [], "start_line": 336, "executed_branches": [[341, 342], [341, 351], [345, 342], [345, 346], [354, -336], [354, 355]], "missing_branches": [[348, 349], [348, 350]]}, "_VideoProcessor._mux_audio_if_needed": {"executed_lines": [358, 364], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 60.0, "percent_covered_display": "60", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [359], "excluded_lines": [], "start_line": 357, "executed_branches": [[358, 364]], "missing_branches": [[358, 359]]}, "_VideoProcessor._total_frames": {"executed_lines": [367, 368, 369], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 366, "executed_branches": [[367, 368], [367, 369]], "missing_branches": []}, "_VideoProcessor._start_workers": {"executed_lines": [372, 373], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 371, "executed_branches": [], "missing_branches": []}, "_VideoProcessor._setup_progress_bar": {"executed_lines": [376], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 375, "executed_branches": [], "missing_branches": []}, "_VideoProcessor._process_frames": {"executed_lines": [383, 384, 386, 387, 388, 389, 390, 392, 393, 394, 395, 396, 397, 398, 399], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 382, "executed_branches": [[388, 389], [388, 392]], "missing_branches": []}, "_VideoProcessor.run": {"executed_lines": [402, 403, 405, 406, 407, 413, 414, 415, 416, 418, 420, 421], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 401, "executed_branches": [[420, -401], [420, 421]], "missing_branches": []}, "process_video": {"executed_lines": [496, 507], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 424, "executed_branches": [], "missing_branches": []}, "FPSMonitor.__init__": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [535], "excluded_lines": [], "start_line": 515, "executed_branches": [], "missing_branches": []}, "FPSMonitor.fps": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 4, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [545, 546, 547, 548], "excluded_lines": [], "start_line": 538, "executed_branches": [], "missing_branches": [[545, 546], [545, 547]]}, "FPSMonitor.tick": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [554], "excluded_lines": [], "start_line": 550, "executed_branches": [], "missing_branches": []}, "FPSMonitor.reset": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [560], "excluded_lines": [], "start_line": 556, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 22, 25, 26, 53, 54, 55, 56, 58, 59, 71, 72, 76, 99, 105, 119, 130, 140, 207, 231, 283, 284, 320, 329, 336, 357, 366, 371, 375, 382, 401, 424, 510, 515, 537, 538, 550, 556], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"VideoInfo": {"executed_lines": [60, 61, 64, 65, 66, 67, 68, 69, 73], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [62], "excluded_lines": [], "start_line": 26, "executed_branches": [[61, 64]], "missing_branches": [[61, 62]]}, "VideoSink": {"executed_lines": [100, 101, 102, 103, 106, 107, 111, 117, 127, 128, 136, 137], "summary": {"covered_lines": 12, "num_statements": 15, "percent_covered": 73.6842105263158, "percent_covered_display": "74", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 4, "num_partial_branches": 2, "covered_branches": 2, "missing_branches": 2, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [108, 109, 110], "excluded_lines": [], "start_line": 76, "executed_branches": [[127, 128], [136, 137]], "missing_branches": [[127, -119], [136, -130]]}, "_VideoProcessor": {"executed_lines": [297, 298, 299, 300, 301, 302, 303, 304, 305, 307, 310, 314, 315, 316, 317, 318, 321, 325, 326, 327, 330, 331, 332, 333, 334, 337, 338, 341, 342, 343, 344, 345, 346, 351, 352, 353, 354, 355, 358, 364, 367, 368, 369, 372, 373, 376, 383, 384, 386, 387, 388, 389, 390, 392, 393, 394, 395, 396, 397, 398, 399, 402, 403, 405, 406, 407, 413, 414, 415, 416, 418, 420, 421], "summary": {"covered_lines": 73, "num_statements": 80, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 91.25, "percent_statements_covered_display": "91", "num_branches": 20, "num_partial_branches": 1, "covered_branches": 17, "missing_branches": 3, "percent_branches_covered": 85.0, "percent_branches_covered_display": "85"}, "missing_lines": [339, 340, 347, 348, 349, 350, 359], "excluded_lines": [], "start_line": 283, "executed_branches": [[325, 326], [325, 327], [332, 333], [332, 334], [341, 342], [341, 351], [345, 342], [345, 346], [354, -336], [354, 355], [358, 364], [367, 368], [367, 369], [388, 389], [388, 392], [420, -401], [420, 421]], "missing_branches": [[348, 349], [348, 350], [358, 359]]}, "FPSMonitor": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 7, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 7, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 2, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [535, 545, 546, 547, 548, 554, 560], "excluded_lines": [], "start_line": 510, "executed_branches": [], "missing_branches": [[545, 546], [545, 547]]}, "": {"executed_lines": [1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 20, 22, 25, 26, 53, 54, 55, 56, 58, 59, 71, 72, 76, 99, 105, 119, 130, 140, 147, 148, 149, 153, 155, 156, 157, 161, 162, 188, 189, 190, 196, 197, 198, 199, 203, 204, 207, 210, 211, 213, 214, 216, 217, 219, 225, 226, 228, 231, 265, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 279, 280, 283, 284, 320, 329, 336, 357, 366, 371, 375, 382, 401, 424, 496, 507, 510, 515, 537, 538, 550, 556], "summary": {"covered_lines": 97, "num_statements": 105, "percent_covered": 86.25954198473282, "percent_covered_display": "86", "missing_lines": 8, "excluded_lines": 1, "percent_statements_covered": 92.38095238095238, "percent_statements_covered_display": "92", "num_branches": 26, "num_partial_branches": 6, "covered_branches": 16, "missing_branches": 10, "percent_branches_covered": 61.53846153846154, "percent_branches_covered_display": "62"}, "missing_lines": [212, 215, 220, 221, 222, 223, 224, 278], "excluded_lines": [238], "start_line": 1, "executed_branches": [[148, 149], [148, 155], [188, 189], [188, 197], [203, 204], [211, 213], [214, 216], [219, 225], [225, 226], [225, 228], [271, 272], [271, 273], [273, 274], [275, 276], [275, 279], [277, 275]], "missing_branches": [[203, -140], [211, 212], [214, 215], [219, 220], [220, 221], [220, 228], [222, 223], [222, 224], [273, 275], [277, 278]]}}}, "src\\supervision\\validators\\__init__.py": {"executed_lines": [1, 3, 4, 6, 7, 10, 18, 19, 20, 21, 22, 28, 33, 37, 38, 39, 43, 44, 45, 46, 48, 49, 50, 52, 55, 60, 61, 75, 80, 84, 85, 86, 87, 90, 97, 102, 106, 108, 109, 110, 113, 120, 125, 129, 131, 133, 134, 139, 144, 151, 156, 160, 165, 169, 170, 171, 172, 175, 182, 187, 191, 192, 193, 194, 196, 197, 199, 207, 212, 216, 217, 218, 220, 227, 232, 236, 241, 242, 243, 244, 249, 253, 259, 267, 268, 269, 270, 271, 272, 273, 276, 281, 292, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 312, 317, 323, 328, 334, 335, 342, 343, 350, 351, 354, 357, 362], "summary": {"covered_lines": 116, "num_statements": 146, "percent_covered": 76.47058823529412, "percent_covered_display": "76", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 79.45205479452055, "percent_statements_covered_display": "79", "num_branches": 58, "num_partial_branches": 18, "covered_branches": 40, "missing_branches": 18, "percent_branches_covered": 68.96551724137932, "percent_branches_covered_display": "69"}, "missing_lines": [34, 56, 81, 91, 103, 114, 126, 135, 140, 145, 157, 166, 176, 188, 195, 198, 200, 204, 213, 221, 233, 245, 250, 254, 289, 320, 331, 336, 344, 363], "excluded_lines": [], "executed_branches": [[21, -10], [21, 22], [38, 39], [38, 43], [43, 44], [43, 48], [44, 45], [44, 46], [55, 60], [60, -37], [60, 61], [90, -84], [113, -106], [133, -129], [133, 134], [134, 139], [139, 144], [144, -129], [175, -169], [192, -191], [192, 193], [193, 194], [193, 196], [194, 192], [196, 197], [197, 199], [199, 192], [220, -216], [241, 242], [241, 243], [244, 249], [249, 253], [253, -236], [305, 306], [305, 307], [308, 309], [335, 342], [343, 350], [350, 351], [350, 354]], "missing_branches": [[55, 56], [90, 91], [113, 114], [134, 135], [139, 140], [144, 145], [175, 176], [194, 195], [196, 204], [197, 198], [199, 200], [220, 221], [244, 245], [249, 250], [253, 254], [308, -292], [335, 336], [343, 344]], "functions": {"_validate_xyxy": {"executed_lines": [18, 19, 20, 21, 22], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [[21, -10], [21, 22]], "missing_branches": []}, "validate_xyxy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [34], "excluded_lines": [], "start_line": 33, "executed_branches": [], "missing_branches": []}, "_validate_mask": {"executed_lines": [38, 39, 43, 44, 45, 46, 48, 49, 50, 52, 55, 60, 61], "summary": {"covered_lines": 13, "num_statements": 14, "percent_covered": 91.66666666666667, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 92.85714285714286, "percent_statements_covered_display": "93", "num_branches": 10, "num_partial_branches": 1, "covered_branches": 9, "missing_branches": 1, "percent_branches_covered": 90.0, "percent_branches_covered_display": "90"}, "missing_lines": [56], "excluded_lines": [], "start_line": 37, "executed_branches": [[38, 39], [38, 43], [43, 44], [43, 48], [44, 45], [44, 46], [55, 60], [60, -37], [60, 61]], "missing_branches": [[55, 56]]}, "validate_mask": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [81], "excluded_lines": [], "start_line": 80, "executed_branches": [], "missing_branches": []}, "_validate_class_id": {"executed_lines": [85, 86, 87, 90], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [91], "excluded_lines": [], "start_line": 84, "executed_branches": [[90, -84]], "missing_branches": [[90, 91]]}, "validate_class_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [103], "excluded_lines": [], "start_line": 102, "executed_branches": [], "missing_branches": []}, "_validate_confidence": {"executed_lines": [108, 109, 110, 113], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [114], "excluded_lines": [], "start_line": 106, "executed_branches": [[113, -106]], "missing_branches": [[113, 114]]}, "validate_confidence": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [126], "excluded_lines": [], "start_line": 125, "executed_branches": [], "missing_branches": []}, "_validate_keypoint_confidence": {"executed_lines": [131, 133, 134, 139, 144], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 62.5, "percent_covered_display": "62", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62", "num_branches": 8, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 3, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [135, 140, 145], "excluded_lines": [], "start_line": 129, "executed_branches": [[133, -129], [133, 134], [134, 139], [139, 144], [144, -129]], "missing_branches": [[134, 135], [139, 140], [144, 145]]}, "validate_key_point_confidence": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [157], "excluded_lines": [], "start_line": 156, "executed_branches": [], "missing_branches": []}, "validate_keypoint_confidence": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [166], "excluded_lines": [], "start_line": 165, "executed_branches": [], "missing_branches": []}, "_validate_tracker_id": {"executed_lines": [170, 171, 172, 175], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [176], "excluded_lines": [], "start_line": 169, "executed_branches": [[175, -169]], "missing_branches": [[175, 176]]}, "validate_tracker_id": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [188], "excluded_lines": [], "start_line": 187, "executed_branches": [], "missing_branches": []}, "_validate_data": {"executed_lines": [192, 193, 194, 196, 197, 199], "summary": {"covered_lines": 6, "num_statements": 10, "percent_covered": 63.63636363636363, "percent_covered_display": "64", "missing_lines": 4, "excluded_lines": 0, "percent_statements_covered": 60.0, "percent_statements_covered_display": "60", "num_branches": 12, "num_partial_branches": 4, "covered_branches": 8, "missing_branches": 4, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [195, 198, 200, 204], "excluded_lines": [], "start_line": 191, "executed_branches": [[192, -191], [192, 193], [193, 194], [193, 196], [194, 192], [196, 197], [197, 199], [199, 192]], "missing_branches": [[194, 195], [196, 204], [197, 198], [199, 200]]}, "validate_data": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [213], "excluded_lines": [], "start_line": 212, "executed_branches": [], "missing_branches": []}, "_validate_xy": {"executed_lines": [217, 218, 220], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [221], "excluded_lines": [], "start_line": 216, "executed_branches": [[220, -216]], "missing_branches": [[220, 221]]}, "validate_xy": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [233], "excluded_lines": [], "start_line": 232, "executed_branches": [], "missing_branches": []}, "_validate_visible": {"executed_lines": [241, 242, 243, 244, 249, 253], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 64.70588235294117, "percent_covered_display": "65", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 8, "num_partial_branches": 3, "covered_branches": 5, "missing_branches": 3, "percent_branches_covered": 62.5, "percent_branches_covered_display": "62"}, "missing_lines": [245, 250, 254], "excluded_lines": [], "start_line": 236, "executed_branches": [[241, 242], [241, 243], [244, 249], [249, 253], [253, -236]], "missing_branches": [[244, 245], [249, 250], [253, 254]]}, "_validate_detections_fields": {"executed_lines": [267, 268, 269, 270, 271, 272, 273], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 259, "executed_branches": [], "missing_branches": []}, "validate_detections_fields": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [289], "excluded_lines": [], "start_line": 281, "executed_branches": [], "missing_branches": []}, "_validate_keypoints_fields": {"executed_lines": [300, 301, 302, 303, 304, 305, 306, 307, 308, 309], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "start_line": 292, "executed_branches": [[305, 306], [305, 307], [308, 309]], "missing_branches": [[308, -292]]}, "validate_key_points_fields": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [320], "excluded_lines": [], "start_line": 317, "executed_branches": [], "missing_branches": []}, "validate_keypoints_fields": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [331], "excluded_lines": [], "start_line": 328, "executed_branches": [], "missing_branches": []}, "_validate_resolution": {"executed_lines": [335, 342, 343, 350, 351, 354], "summary": {"covered_lines": 6, "num_statements": 8, "percent_covered": 71.42857142857143, "percent_covered_display": "71", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [336, 344], "excluded_lines": [], "start_line": 334, "executed_branches": [[335, 342], [343, 350], [350, 351], [350, 354]], "missing_branches": [[335, 336], [343, 344]]}, "validate_resolution": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [363], "excluded_lines": [], "start_line": 362, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 10, 28, 33, 37, 75, 80, 84, 97, 102, 106, 120, 125, 129, 151, 156, 160, 165, 169, 182, 187, 191, 207, 212, 216, 227, 232, 236, 259, 276, 281, 292, 312, 317, 323, 328, 334, 357, 362], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 10, 18, 19, 20, 21, 22, 28, 33, 37, 38, 39, 43, 44, 45, 46, 48, 49, 50, 52, 55, 60, 61, 75, 80, 84, 85, 86, 87, 90, 97, 102, 106, 108, 109, 110, 113, 120, 125, 129, 131, 133, 134, 139, 144, 151, 156, 160, 165, 169, 170, 171, 172, 175, 182, 187, 191, 192, 193, 194, 196, 197, 199, 207, 212, 216, 217, 218, 220, 227, 232, 236, 241, 242, 243, 244, 249, 253, 259, 267, 268, 269, 270, 271, 272, 273, 276, 281, 292, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 312, 317, 323, 328, 334, 335, 342, 343, 350, 351, 354, 357, 362], "summary": {"covered_lines": 116, "num_statements": 146, "percent_covered": 76.47058823529412, "percent_covered_display": "76", "missing_lines": 30, "excluded_lines": 0, "percent_statements_covered": 79.45205479452055, "percent_statements_covered_display": "79", "num_branches": 58, "num_partial_branches": 18, "covered_branches": 40, "missing_branches": 18, "percent_branches_covered": 68.96551724137932, "percent_branches_covered_display": "69"}, "missing_lines": [34, 56, 81, 91, 103, 114, 126, 135, 140, 145, 157, 166, 176, 188, 195, 198, 200, 204, 213, 221, 233, 245, 250, 254, 289, 320, 331, 336, 344, 363], "excluded_lines": [], "start_line": 1, "executed_branches": [[21, -10], [21, 22], [38, 39], [38, 43], [43, 44], [43, 48], [44, 45], [44, 46], [55, 60], [60, -37], [60, 61], [90, -84], [113, -106], [133, -129], [133, 134], [134, 139], [139, 144], [144, -129], [175, -169], [192, -191], [192, 193], [193, 194], [193, 196], [194, 192], [196, 197], [197, 199], [199, 192], [220, -216], [241, 242], [241, 243], [244, 249], [249, 253], [253, -236], [305, 306], [305, 307], [308, 309], [335, 342], [343, 350], [350, 351], [350, 354]], "missing_branches": [[55, 56], [90, 91], [113, 114], [134, 135], [139, 140], [144, 145], [175, 176], [194, 195], [196, 204], [197, 198], [199, 200], [220, 221], [244, 245], [249, 250], [253, 254], [308, -292], [335, 336], [343, 344]]}}}, "tests\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\annotators\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\annotators\\test_core.py": {"executed_lines": [5, 7, 8, 10, 35, 36, 37, 38, 39, 40, 43, 44, 46, 49, 50, 52, 53, 54, 57, 58, 60, 61, 62, 63, 64, 67, 104, 107, 108, 109, 110, 111, 114, 122, 129, 130, 131, 132, 134, 142, 143, 146, 147, 149, 157, 161, 164, 165, 167, 175, 182, 184, 188, 193, 196, 199, 201, 202, 203, 204, 206, 208, 209, 210, 211, 214, 217, 219, 220, 221, 222, 224, 226, 227, 228, 229, 231, 233, 236, 239, 240, 242, 244, 247, 250, 252, 255, 258, 261, 264, 267, 269, 270, 271, 272, 274, 276, 277, 278, 279, 281, 283, 286, 289, 290, 293, 296, 298, 299, 300, 301, 303, 305, 306, 309, 310, 313, 316, 318, 319, 320, 321, 323, 325, 326, 327, 328, 330, 332, 335, 341, 342, 344, 346, 349, 352, 354, 360, 363, 366, 368, 370, 371, 372, 375, 376, 379, 382, 384, 385, 386, 387, 389, 391, 392, 393, 394, 395, 398, 401, 404, 405, 407, 409, 410, 411, 412, 414, 415, 416, 420, 421, 422, 425, 429, 430, 432, 434, 441, 442, 443, 445, 447, 448, 449, 451, 452, 453, 456, 459, 463, 464, 465, 468, 471, 484, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 498, 499, 500, 504, 507, 511, 512, 514, 516, 517, 518, 521, 522, 523, 525, 526, 530, 531, 533, 536, 539, 543, 544, 545, 546, 547, 548, 550, 552, 553, 554, 555, 557, 561, 562, 563, 564, 565, 567, 571, 572, 573, 574, 575, 576, 579, 582, 584, 585, 586, 587, 589, 591, 592, 595, 596, 599, 602, 604, 605, 606, 607, 609, 611, 612, 618, 619, 622, 625, 627, 628, 629, 630, 632, 634, 635, 638, 639, 642, 645, 647, 648, 649, 650, 652, 654, 655, 661, 662, 665, 668, 670, 671, 672, 673, 675, 677, 678, 679, 682, 685, 688, 690, 691, 692, 693, 695, 697, 698, 699, 702, 705, 708, 710, 711, 712, 713, 715, 717, 718, 719, 720, 722, 723, 725, 726, 728, 730, 731, 732, 733, 736, 739, 741, 742, 743, 744, 746, 748, 749, 750, 751, 753, 760, 762, 763, 764, 765, 767, 773, 775, 776, 777, 778, 780, 785, 786, 787, 788, 789, 791, 792, 794, 795, 797, 799, 800, 801, 802, 805, 808, 810, 811, 812, 813, 815, 817, 818, 821, 822, 825, 828, 830, 831, 832, 833, 835, 837, 838, 841, 842, 845, 848, 850, 851, 852, 853, 855, 857, 860, 861, 862, 865, 868, 870, 871, 872, 873, 875, 877, 878, 879, 880, 883, 886, 888, 889, 890, 891, 893, 895, 896, 897, 898, 899, 901, 903, 904, 905, 907, 908, 909, 911, 912, 913, 916, 919, 922, 924, 925, 926, 927, 930, 932, 934, 935, 936, 937, 938, 941, 944, 947, 954, 959, 960, 961, 962, 963, 965, 972, 973, 974, 975, 976, 977, 984, 987, 990, 992, 997, 1005, 1006, 1007, 1008, 1009, 1010, 1015, 1016, 1018, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1038, 1041, 1044, 1046, 1052, 1057, 1058, 1059, 1061, 1066, 1071, 1072, 1073, 1074, 1075], "summary": {"covered_lines": 509, "num_statements": 509, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 22, "num_partial_branches": 0, "covered_branches": 22, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[61, 62], [61, 64], [62, 61], [62, 63], [108, -67], [108, 109], [491, 492], [491, 495], [961, 962], [961, 963], [976, 977], [976, 990], [1007, 1008], [1007, 1016], [1008, 1007], [1008, 1009], [1030, 1031], [1030, 1044], [1031, 1030], [1031, 1032], [1073, 1074], [1073, 1075]], "missing_branches": [], "functions": {"test_image": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 44, "executed_branches": [], "missing_branches": []}, "test_mask": {"executed_lines": [52, 53, 54], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50, "executed_branches": [], "missing_branches": []}, "gradient_image": {"executed_lines": [60, 61, 62, 63, 64], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58, "executed_branches": [[61, 62], [61, 64], [62, 61], [62, 63]], "missing_branches": []}, "test_hex_color_support_across_annotators": {"executed_lines": [107, 108, 109, 110, 111], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 104, "executed_branches": [[108, -67], [108, 109]], "missing_branches": []}, "TestBoxAnnotator.test_annotate_with_no_detections": {"executed_lines": [129, 130, 131, 132], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 122, "executed_branches": [], "missing_branches": []}, "TestBoxAnnotator.test_annotate_with_single_detection": {"executed_lines": [142, 143, 146, 147], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 134, "executed_branches": [], "missing_branches": []}, "TestBoxAnnotator.test_annotate_with_multiple_detections": {"executed_lines": [157, 161, 164, 165], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149, "executed_branches": [], "missing_branches": []}, "TestBoxAnnotator.test_annotate_with_numpy_color_lookup": {"executed_lines": [175, 182, 184, 188, 193], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 167, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxAnnotator.test_annotate_with_no_detections": {"executed_lines": [201, 202, 203, 204], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 199, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxAnnotator.test_annotate_without_oriented_boxes": {"executed_lines": [208, 209, 210, 211], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 206, "executed_branches": [], "missing_branches": []}, "TestMaskAnnotator.test_annotate_with_no_detections": {"executed_lines": [219, 220, 221, 222], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 217, "executed_branches": [], "missing_branches": []}, "TestMaskAnnotator.test_annotate_without_masks": {"executed_lines": [226, 227, 228, 229], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 224, "executed_branches": [], "missing_branches": []}, "TestMaskAnnotator.test_annotate_with_single_mask": {"executed_lines": [233, 236, 239, 240], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 231, "executed_branches": [], "missing_branches": []}, "TestMaskAnnotator.test_annotate_uint8_mask_matches_bool_mask": {"executed_lines": [244, 247, 250, 252, 255, 258, 261], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 242, "executed_branches": [], "missing_branches": []}, "TestPolygonAnnotator.test_annotate_with_no_detections": {"executed_lines": [269, 270, 271, 272], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 267, "executed_branches": [], "missing_branches": []}, "TestPolygonAnnotator.test_annotate_without_masks": {"executed_lines": [276, 277, 278, 279], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 274, "executed_branches": [], "missing_branches": []}, "TestPolygonAnnotator.test_annotate_with_single_mask": {"executed_lines": [283, 286, 289, 290], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 281, "executed_branches": [], "missing_branches": []}, "TestColorAnnotator.test_annotate_with_no_detections": {"executed_lines": [298, 299, 300, 301], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 296, "executed_branches": [], "missing_branches": []}, "TestColorAnnotator.test_annotate_with_single_detection": {"executed_lines": [305, 306, 309, 310], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 303, "executed_branches": [], "missing_branches": []}, "TestHaloAnnotator.test_annotate_with_no_detections": {"executed_lines": [318, 319, 320, 321], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 316, "executed_branches": [], "missing_branches": []}, "TestHaloAnnotator.test_annotate_without_masks": {"executed_lines": [325, 326, 327, 328], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 323, "executed_branches": [], "missing_branches": []}, "TestHaloAnnotator.test_annotate_with_single_mask": {"executed_lines": [332, 335, 341, 342], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 330, "executed_branches": [], "missing_branches": []}, "TestHaloAnnotator.test_annotate_uint8_mask_matches_bool_mask": {"executed_lines": [346, 349, 352, 354, 360, 363, 366], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 344, "executed_branches": [], "missing_branches": []}, "TestHaloAnnotator.test_annotate_with_all_false_mask_preserves_scene": {"executed_lines": [370, 371, 372, 375, 376], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 368, "executed_branches": [], "missing_branches": []}, "TestPaintMasksByArea.test_paint_masks_by_area_is_noop_without_masks": {"executed_lines": [384, 385, 386, 387], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 382, "executed_branches": [], "missing_branches": []}, "TestPaintMasksByArea.test_union_accumulation_dense": {"executed_lines": [391, 392, 393, 394, 395, 398, 401, 404, 405], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 389, "executed_branches": [], "missing_branches": []}, "TestPaintMasksByArea.test_union_accumulation_compact": {"executed_lines": [409, 410, 411, 412, 414, 415, 416, 420, 421, 422, 425, 429, 430, 432], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 407, "executed_branches": [], "missing_branches": []}, "TestPaintMasksByArea.test_compact_mask_drops_pixels_outside_bbox": {"executed_lines": [441, 442, 443, 445, 447, 448, 449, 451, 452, 453, 456, 459, 463, 464, 465], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 434, "executed_branches": [], "missing_branches": []}, "TestCompactMaskParity.test_annotator_compact_mask_matches_dense_mask": {"executed_lines": [486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 498, 499, 500, 504, 507, 511, 512], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 484, "executed_branches": [[491, 492], [491, 495]], "missing_branches": []}, "TestCompactMaskParity.test_annotator_compact_mask_handles_edge_clipping": {"executed_lines": [516, 517, 518, 521, 522, 523, 525, 526, 530, 531, 533], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 514, "executed_branches": [], "missing_branches": []}, "TestHeatMapAnnotator.test_annotate_with_no_detections_does_not_warn": {"executed_lines": [543, 544, 545, 546, 547, 548], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 539, "executed_branches": [], "missing_branches": []}, "TestHeatMapAnnotator.test_annotate_with_single_detection": {"executed_lines": [552, 553, 554, 555], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 550, "executed_branches": [], "missing_branches": []}, "TestHeatMapAnnotator.test_annotate_state_preserved_after_empty_call": {"executed_lines": [561, 562, 563, 564, 565], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 557, "executed_branches": [], "missing_branches": []}, "TestHeatMapAnnotator.test_annotate_empty_after_real_does_not_warn": {"executed_lines": [571, 572, 573, 574, 575, 576], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 567, "executed_branches": [], "missing_branches": []}, "TestEllipseAnnotator.test_annotate_with_no_detections": {"executed_lines": [584, 585, 586, 587], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 582, "executed_branches": [], "missing_branches": []}, "TestEllipseAnnotator.test_annotate_with_single_detection": {"executed_lines": [591, 592, 595, 596], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 589, "executed_branches": [], "missing_branches": []}, "TestBoxCornerAnnotator.test_annotate_with_no_detections": {"executed_lines": [604, 605, 606, 607], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 602, "executed_branches": [], "missing_branches": []}, "TestBoxCornerAnnotator.test_annotate_with_single_detection": {"executed_lines": [611, 612, 618, 619], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 609, "executed_branches": [], "missing_branches": []}, "TestCircleAnnotator.test_annotate_with_no_detections": {"executed_lines": [627, 628, 629, 630], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 625, "executed_branches": [], "missing_branches": []}, "TestCircleAnnotator.test_annotate_with_single_detection": {"executed_lines": [634, 635, 638, 639], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 632, "executed_branches": [], "missing_branches": []}, "TestDotAnnotator.test_annotate_with_no_detections": {"executed_lines": [647, 648, 649, 650], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 645, "executed_branches": [], "missing_branches": []}, "TestDotAnnotator.test_annotate_with_single_detection": {"executed_lines": [654, 655, 661, 662], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 652, "executed_branches": [], "missing_branches": []}, "TestLabelAnnotator.test_annotate_with_no_detections": {"executed_lines": [670, 671, 672, 673], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 668, "executed_branches": [], "missing_branches": []}, "TestLabelAnnotator.test_annotate_with_single_detection": {"executed_lines": [677, 678, 679, 682], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 675, "executed_branches": [], "missing_branches": []}, "TestRichLabelAnnotator.test_annotate_with_no_detections": {"executed_lines": [690, 691, 692, 693], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 688, "executed_branches": [], "missing_branches": []}, "TestRichLabelAnnotator.test_annotate_with_single_detection": {"executed_lines": [697, 698, 699, 702], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 695, "executed_branches": [], "missing_branches": []}, "TestBlurAnnotator.test_annotate_with_no_detections": {"executed_lines": [710, 711, 712, 713], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 708, "executed_branches": [], "missing_branches": []}, "TestBlurAnnotator.test_annotate_with_single_detection": {"executed_lines": [717, 718, 719, 720], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 715, "executed_branches": [], "missing_branches": []}, "TestBlurAnnotator.test_invalid_kernel_size_raises": {"executed_lines": [725, 726], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 723, "executed_branches": [], "missing_branches": []}, "TestBlurAnnotator.test_annotate_zero_area_bbox_is_skipped": {"executed_lines": [730, 731, 732, 733], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 728, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_annotate_with_no_detections": {"executed_lines": [741, 742, 743, 744], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 739, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_annotate_with_single_detection": {"executed_lines": [748, 749, 750, 751], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 746, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_annotate_bbox_smaller_than_pixel_size_does_not_raise": {"executed_lines": [760, 762, 763, 764, 765], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 753, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_annotate_grayscale_image_does_not_raise": {"executed_lines": [773, 775, 776, 777, 778], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 767, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_annotate_grayscale_image_small_roi_does_not_raise": {"executed_lines": [785, 786, 787, 788, 789], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 780, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_invalid_pixel_size_raises": {"executed_lines": [794, 795], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 792, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator.test_annotate_zero_area_bbox_is_skipped": {"executed_lines": [799, 800, 801, 802], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 797, "executed_branches": [], "missing_branches": []}, "TestTriangleAnnotator.test_annotate_with_no_detections": {"executed_lines": [810, 811, 812, 813], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 808, "executed_branches": [], "missing_branches": []}, "TestTriangleAnnotator.test_annotate_with_single_detection": {"executed_lines": [817, 818, 821, 822], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 815, "executed_branches": [], "missing_branches": []}, "TestRoundBoxAnnotator.test_annotate_with_no_detections": {"executed_lines": [830, 831, 832, 833], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 828, "executed_branches": [], "missing_branches": []}, "TestRoundBoxAnnotator.test_annotate_with_single_detection": {"executed_lines": [837, 838, 841, 842], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 835, "executed_branches": [], "missing_branches": []}, "TestPercentageBarAnnotator.test_annotate_with_no_detections": {"executed_lines": [850, 851, 852, 853], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 848, "executed_branches": [], "missing_branches": []}, "TestPercentageBarAnnotator.test_annotate_with_single_detection": {"executed_lines": [857, 860, 861, 862], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 855, "executed_branches": [], "missing_branches": []}, "TestCropAnnotator.test_annotate_with_no_detections": {"executed_lines": [870, 871, 872, 873], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 868, "executed_branches": [], "missing_branches": []}, "TestCropAnnotator.test_annotate_with_single_detection": {"executed_lines": [877, 878, 879, 880], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 875, "executed_branches": [], "missing_branches": []}, "TestBackgroundOverlayAnnotator.test_annotate_with_no_detections": {"executed_lines": [888, 889, 890, 891], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 886, "executed_branches": [], "missing_branches": []}, "TestBackgroundOverlayAnnotator.test_annotate_with_single_detection": {"executed_lines": [895, 896, 897, 898, 899], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 893, "executed_branches": [], "missing_branches": []}, "TestBackgroundOverlayAnnotator.test_annotate_uint8_mask_matches_bool_mask": {"executed_lines": [903, 904, 905, 907, 908, 909, 911, 912, 913, 916], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 901, "executed_branches": [], "missing_branches": []}, "TestComparisonAnnotator.test_annotate_with_no_detections": {"executed_lines": [924, 925, 926, 927, 930], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 922, "executed_branches": [], "missing_branches": []}, "TestComparisonAnnotator.test_annotate_with_single_detection_each": {"executed_lines": [934, 935, 936, 937, 938, 941], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 932, "executed_branches": [], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary.test_stationary_tracker_does_not_crash_spline_fit": {"executed_lines": [954, 959, 960, 961, 962, 963], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 947, "executed_branches": [[961, 962], [961, 963]], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary.test_smooth_trace_still_renders_for_moving_tracker": {"executed_lines": [972, 973, 974, 975, 976, 977, 984, 987, 990], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 965, "executed_branches": [[976, 977], [976, 990]], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary.test_smooth_does_not_crash_for_unique_point_counts": {"executed_lines": [1005, 1006, 1007, 1008, 1009, 1010, 1015, 1016], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 997, "executed_branches": [[1007, 1008], [1007, 1016], [1008, 1007], [1008, 1009]], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary.test_smooth_fallback_matches_raw_when_fewer_than_four_unique_points": {"executed_lines": [1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1038, 1041, 1044], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1018, "executed_branches": [[1030, 1031], [1030, 1044], [1031, 1030], [1031, 1032]], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary.test_smooth_true_single_frame_does_not_crash": {"executed_lines": [1052, 1057, 1058, 1059], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1046, "executed_branches": [], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary.test_smooth_false_stationary_tracker_does_not_crash": {"executed_lines": [1066, 1071, 1072, 1073, 1074, 1075], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1061, "executed_branches": [[1073, 1074], [1073, 1075]], "missing_branches": []}, "": {"executed_lines": [5, 7, 8, 10, 35, 36, 37, 38, 39, 40, 43, 44, 49, 50, 57, 58, 67, 104, 114, 122, 134, 149, 167, 196, 199, 206, 214, 217, 224, 231, 242, 264, 267, 274, 281, 293, 296, 303, 313, 316, 323, 330, 344, 368, 379, 382, 389, 407, 434, 468, 471, 484, 514, 536, 539, 550, 557, 567, 579, 582, 589, 599, 602, 609, 622, 625, 632, 642, 645, 652, 665, 668, 675, 685, 688, 695, 705, 708, 715, 722, 723, 728, 736, 739, 746, 753, 767, 780, 791, 792, 797, 805, 808, 815, 825, 828, 835, 845, 848, 855, 865, 868, 875, 883, 886, 893, 901, 919, 922, 932, 944, 947, 965, 992, 997, 1018, 1046, 1061], "summary": {"covered_lines": 118, "num_statements": 118, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestBoxAnnotator": {"executed_lines": [129, 130, 131, 132, 142, 143, 146, 147, 157, 161, 164, 165, 175, 182, 184, 188, 193], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 114, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxAnnotator": {"executed_lines": [201, 202, 203, 204, 208, 209, 210, 211], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 196, "executed_branches": [], "missing_branches": []}, "TestMaskAnnotator": {"executed_lines": [219, 220, 221, 222, 226, 227, 228, 229, 233, 236, 239, 240, 244, 247, 250, 252, 255, 258, 261], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 214, "executed_branches": [], "missing_branches": []}, "TestPolygonAnnotator": {"executed_lines": [269, 270, 271, 272, 276, 277, 278, 279, 283, 286, 289, 290], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 264, "executed_branches": [], "missing_branches": []}, "TestColorAnnotator": {"executed_lines": [298, 299, 300, 301, 305, 306, 309, 310], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 293, "executed_branches": [], "missing_branches": []}, "TestHaloAnnotator": {"executed_lines": [318, 319, 320, 321, 325, 326, 327, 328, 332, 335, 341, 342, 346, 349, 352, 354, 360, 363, 366, 370, 371, 372, 375, 376], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 313, "executed_branches": [], "missing_branches": []}, "TestPaintMasksByArea": {"executed_lines": [384, 385, 386, 387, 391, 392, 393, 394, 395, 398, 401, 404, 405, 409, 410, 411, 412, 414, 415, 416, 420, 421, 422, 425, 429, 430, 432, 441, 442, 443, 445, 447, 448, 449, 451, 452, 453, 456, 459, 463, 464, 465], "summary": {"covered_lines": 42, "num_statements": 42, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 379, "executed_branches": [], "missing_branches": []}, "TestCompactMaskParity": {"executed_lines": [486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 498, 499, 500, 504, 507, 511, 512, 516, 517, 518, 521, 522, 523, 525, 526, 530, 531, 533], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 468, "executed_branches": [[491, 492], [491, 495]], "missing_branches": []}, "TestHeatMapAnnotator": {"executed_lines": [543, 544, 545, 546, 547, 548, 552, 553, 554, 555, 561, 562, 563, 564, 565, 571, 572, 573, 574, 575, 576], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 536, "executed_branches": [], "missing_branches": []}, "TestEllipseAnnotator": {"executed_lines": [584, 585, 586, 587, 591, 592, 595, 596], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 579, "executed_branches": [], "missing_branches": []}, "TestBoxCornerAnnotator": {"executed_lines": [604, 605, 606, 607, 611, 612, 618, 619], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 599, "executed_branches": [], "missing_branches": []}, "TestCircleAnnotator": {"executed_lines": [627, 628, 629, 630, 634, 635, 638, 639], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 622, "executed_branches": [], "missing_branches": []}, "TestDotAnnotator": {"executed_lines": [647, 648, 649, 650, 654, 655, 661, 662], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 642, "executed_branches": [], "missing_branches": []}, "TestLabelAnnotator": {"executed_lines": [670, 671, 672, 673, 677, 678, 679, 682], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 665, "executed_branches": [], "missing_branches": []}, "TestRichLabelAnnotator": {"executed_lines": [690, 691, 692, 693, 697, 698, 699, 702], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 685, "executed_branches": [], "missing_branches": []}, "TestBlurAnnotator": {"executed_lines": [710, 711, 712, 713, 717, 718, 719, 720, 725, 726, 730, 731, 732, 733], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 705, "executed_branches": [], "missing_branches": []}, "TestPixelateAnnotator": {"executed_lines": [741, 742, 743, 744, 748, 749, 750, 751, 760, 762, 763, 764, 765, 773, 775, 776, 777, 778, 785, 786, 787, 788, 789, 794, 795, 799, 800, 801, 802], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 736, "executed_branches": [], "missing_branches": []}, "TestTriangleAnnotator": {"executed_lines": [810, 811, 812, 813, 817, 818, 821, 822], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 805, "executed_branches": [], "missing_branches": []}, "TestRoundBoxAnnotator": {"executed_lines": [830, 831, 832, 833, 837, 838, 841, 842], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 825, "executed_branches": [], "missing_branches": []}, "TestPercentageBarAnnotator": {"executed_lines": [850, 851, 852, 853, 857, 860, 861, 862], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 845, "executed_branches": [], "missing_branches": []}, "TestCropAnnotator": {"executed_lines": [870, 871, 872, 873, 877, 878, 879, 880], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 865, "executed_branches": [], "missing_branches": []}, "TestBackgroundOverlayAnnotator": {"executed_lines": [888, 889, 890, 891, 895, 896, 897, 898, 899, 903, 904, 905, 907, 908, 909, 911, 912, 913, 916], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 883, "executed_branches": [], "missing_branches": []}, "TestComparisonAnnotator": {"executed_lines": [924, 925, 926, 927, 930, 934, 935, 936, 937, 938, 941], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 919, "executed_branches": [], "missing_branches": []}, "TestTraceAnnotatorSmoothStationary": {"executed_lines": [954, 959, 960, 961, 962, 963, 972, 973, 974, 975, 976, 977, 984, 987, 990, 1005, 1006, 1007, 1008, 1009, 1010, 1015, 1016, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1038, 1041, 1044, 1052, 1057, 1058, 1059, 1066, 1071, 1072, 1073, 1074, 1075], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 14, "num_partial_branches": 0, "covered_branches": 14, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 944, "executed_branches": [[961, 962], [961, 963], [976, 977], [976, 990], [1007, 1008], [1007, 1016], [1008, 1007], [1008, 1009], [1030, 1031], [1030, 1044], [1031, 1030], [1031, 1032], [1073, 1074], [1073, 1075]], "missing_branches": []}, "": {"executed_lines": [5, 7, 8, 10, 35, 36, 37, 38, 39, 40, 43, 44, 46, 49, 50, 52, 53, 54, 57, 58, 60, 61, 62, 63, 64, 67, 104, 107, 108, 109, 110, 111, 114, 122, 134, 149, 167, 196, 199, 206, 214, 217, 224, 231, 242, 264, 267, 274, 281, 293, 296, 303, 313, 316, 323, 330, 344, 368, 379, 382, 389, 407, 434, 468, 471, 484, 514, 536, 539, 550, 557, 567, 579, 582, 589, 599, 602, 609, 622, 625, 632, 642, 645, 652, 665, 668, 675, 685, 688, 695, 705, 708, 715, 722, 723, 728, 736, 739, 746, 753, 767, 780, 791, 792, 797, 805, 808, 815, 825, 828, 835, 845, 848, 855, 865, 868, 875, 883, 886, 893, 901, 919, 922, 932, 944, 947, 965, 992, 997, 1018, 1046, 1061], "summary": {"covered_lines": 132, "num_statements": 132, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[61, 62], [61, 64], [62, 61], [62, 63], [108, -67], [108, 109]], "missing_branches": []}}}, "tests\\annotators\\test_docs.py": {"executed_lines": [3, 4, 5, 7, 9, 10, 11, 13, 15, 38, 45, 46, 48, 49, 51, 52, 58, 59, 64, 70, 72, 73, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 88, 95, 96, 97, 100, 108, 110, 114, 115, 118, 124, 125, 127, 129, 130, 131, 132, 133], "summary": {"covered_lines": 50, "num_statements": 56, "percent_covered": 82.05128205128206, "percent_covered_display": "82", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 89.28571428571429, "percent_statements_covered_display": "89", "num_branches": 22, "num_partial_branches": 4, "covered_branches": 14, "missing_branches": 8, "percent_branches_covered": 63.63636363636363, "percent_branches_covered_display": "64"}, "missing_lines": [53, 60, 65, 135, 136, 144], "excluded_lines": [], "executed_branches": [[10, 11], [10, 13], [52, 58], [59, 64], [64, 70], [75, 76], [75, 85], [76, 75], [76, 77], [80, 81], [80, 83], [83, 84], [129, -118], [129, 130]], "missing_branches": [[52, 53], [59, 60], [64, 65], [83, 75], [135, 129], [135, 136], [136, 135], [136, 144]], "functions": {"_extract_annotator_tab_groups": {"executed_lines": [45, 46, 48, 49, 51, 52, 58, 59, 64, 70, 72, 73, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85], "summary": {"covered_lines": 22, "num_statements": 25, "percent_covered": 82.05128205128206, "percent_covered_display": "82", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 88.0, "percent_statements_covered_display": "88", "num_branches": 14, "num_partial_branches": 4, "covered_branches": 10, "missing_branches": 4, "percent_branches_covered": 71.42857142857143, "percent_branches_covered_display": "71"}, "missing_lines": [53, 60, 65], "excluded_lines": [], "start_line": 38, "executed_branches": [[52, 58], [59, 64], [64, 70], [75, 76], [75, 85], [76, 75], [76, 77], [80, 81], [80, 83], [83, 84]], "missing_branches": [[52, 53], [59, 60], [64, 65], [83, 75]]}, "test_all_expected_annotators_have_tab_entries": {"executed_lines": [95, 96, 97, 100], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88, "executed_branches": [], "missing_branches": []}, "test_annotator_example_tab_groups_stay_within_material_limit": {"executed_lines": [110, 114, 115], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 108, "executed_branches": [], "missing_branches": []}, "test_annotator_code_examples_have_no_tuple_assignment": {"executed_lines": [124, 125, 127, 129, 130, 131, 132, 133], "summary": {"covered_lines": 8, "num_statements": 11, "percent_covered": 58.8235294117647, "percent_covered_display": "59", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 72.72727272727273, "percent_statements_covered_display": "73", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 4, "percent_branches_covered": 33.333333333333336, "percent_branches_covered_display": "33"}, "missing_lines": [135, 136, 144], "excluded_lines": [], "start_line": 118, "executed_branches": [[129, -118], [129, 130]], "missing_branches": [[135, 129], [135, 136], [136, 135], [136, 144]]}, "": {"executed_lines": [3, 4, 5, 7, 9, 10, 11, 13, 15, 38, 88, 108, 118], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[10, 11], [10, 13]], "missing_branches": []}}, "classes": {"": {"executed_lines": [3, 4, 5, 7, 9, 10, 11, 13, 15, 38, 45, 46, 48, 49, 51, 52, 58, 59, 64, 70, 72, 73, 75, 76, 77, 78, 80, 81, 82, 83, 84, 85, 88, 95, 96, 97, 100, 108, 110, 114, 115, 118, 124, 125, 127, 129, 130, 131, 132, 133], "summary": {"covered_lines": 50, "num_statements": 56, "percent_covered": 82.05128205128206, "percent_covered_display": "82", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 89.28571428571429, "percent_statements_covered_display": "89", "num_branches": 22, "num_partial_branches": 4, "covered_branches": 14, "missing_branches": 8, "percent_branches_covered": 63.63636363636363, "percent_branches_covered_display": "64"}, "missing_lines": [53, 60, 65, 135, 136, 144], "excluded_lines": [], "start_line": 1, "executed_branches": [[10, 11], [10, 13], [52, 58], [59, 64], [64, 70], [75, 76], [75, 85], [76, 75], [76, 77], [80, 81], [80, 83], [83, 84], [129, -118], [129, 130]], "missing_branches": [[52, 53], [59, 60], [64, 65], [83, 75], [135, 129], [135, 136], [136, 135], [136, 144]]}}}, "tests\\annotators\\test_utils.py": {"executed_lines": [1, 3, 5, 6, 8, 16, 17, 20, 104, 111, 112, 117, 120, 173, 179, 180, 181, 184, 195, 198, 201, 202, 203, 204, 207, 216, 217, 220, 229, 230, 231, 234, 247, 248], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_resolve_color_idx": {"executed_lines": [111, 112, 117], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 104, "executed_branches": [], "missing_branches": []}, "test_wrap_text": {"executed_lines": [179, 180, 181], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 173, "executed_branches": [], "missing_branches": []}, "test_hex_to_rgba_valid": {"executed_lines": [198], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 195, "executed_branches": [], "missing_branches": []}, "test_hex_to_rgba_invalid": {"executed_lines": [203, 204], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 202, "executed_branches": [], "missing_branches": []}, "test_rgba_to_hex": {"executed_lines": [217], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 216, "executed_branches": [], "missing_branches": []}, "test_rgba_to_hex_invalid": {"executed_lines": [230, 231], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 229, "executed_branches": [], "missing_branches": []}, "test_is_valid_hex": {"executed_lines": [248], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 247, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 16, 17, 20, 104, 120, 173, 184, 195, 201, 202, 207, 216, 220, 229, 234, 247], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 8, 16, 17, 20, 104, 111, 112, 117, 120, 173, 179, 180, 181, 184, 195, 198, 201, 202, 203, 204, 207, 216, 217, 220, 229, 230, 231, 234, 247, 248], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\assets\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\assets\\test_downloader.py": {"executed_lines": [1, 3, 5, 6, 9, 10, 12, 13, 15, 19, 21, 23, 24, 26, 30, 32, 34, 35, 38, 39, 40, 41, 42, 44, 45, 46, 47, 49, 50, 51, 55, 56, 60, 61, 62, 63, 64, 66, 67, 68, 69, 70, 71, 72, 73, 84, 86, 87, 88, 89, 90, 92, 95, 97, 98, 99, 100, 101, 102, 104, 105, 107, 109, 110, 112, 113, 115, 116, 118, 120, 121, 123, 124, 126, 127, 128, 129, 130, 131, 132, 133, 144, 146, 147, 148, 149, 150, 152, 153, 155, 156, 157, 159, 160, 161, 162, 163, 164, 165, 166, 177, 179, 180, 181, 182, 183, 185, 186, 188, 189, 190], "summary": {"covered_lines": 111, "num_statements": 111, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestMD5HashMatching.test_file_exists_matching_hash": {"executed_lines": [12, 13, 15, 19], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "TestMD5HashMatching.test_file_exists_not_matching_hash": {"executed_lines": [23, 24, 26, 30], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "TestMD5HashMatching.test_file_not_exists": {"executed_lines": [34, 35], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_already_exists_and_valid": {"executed_lines": [44, 45, 46, 47], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_already_exists_but_corrupted": {"executed_lines": [60, 61, 62, 63, 64], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_download_new_file": {"executed_lines": [84, 86, 87, 88, 89, 90, 92, 95, 97, 98, 99, 100, 101, 102], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_invalid_asset": {"executed_lines": [107, 109, 110, 112, 113], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 105, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_invalid_asset_when_file_exists": {"executed_lines": [118, 120, 121, 123, 124], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 116, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_with_video_enum": {"executed_lines": [144, 146, 147, 148, 149, 150, 152, 153, 155, 156, 157], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets.test_with_image_enum": {"executed_lines": [177, 179, 180, 181, 182, 183, 185, 186, 188, 189, 190], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 166, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 9, 10, 21, 32, 38, 39, 40, 41, 42, 49, 50, 51, 55, 56, 66, 67, 68, 69, 70, 71, 72, 73, 104, 105, 115, 116, 126, 127, 128, 129, 130, 131, 132, 133, 159, 160, 161, 162, 163, 164, 165, 166], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestMD5HashMatching": {"executed_lines": [12, 13, 15, 19, 23, 24, 26, 30, 34, 35], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9, "executed_branches": [], "missing_branches": []}, "TestDownloadAssets": {"executed_lines": [44, 45, 46, 47, 60, 61, 62, 63, 64, 84, 86, 87, 88, 89, 90, 92, 95, 97, 98, 99, 100, 101, 102, 107, 109, 110, 112, 113, 118, 120, 121, 123, 124, 144, 146, 147, 148, 149, 150, 152, 153, 155, 156, 157, 177, 179, 180, 181, 182, 183, 185, 186, 188, 189, 190], "summary": {"covered_lines": 55, "num_statements": 55, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 9, 10, 21, 32, 38, 39, 40, 41, 42, 49, 50, 51, 55, 56, 66, 67, 68, 69, 70, 71, 72, 73, 104, 105, 115, 116, 126, 127, 128, 129, 130, 131, 132, 133, 159, 160, 161, 162, 163, 164, 165, 166], "summary": {"covered_lines": 46, "num_statements": 46, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\assets\\test_list.py": {"executed_lines": [1, 10, 12, 24, 27, 29, 33, 36, 38, 39, 40, 43, 45, 46, 47, 50, 52, 55, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 97.05882352941177, "percent_covered_display": "97", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[60, -58], [60, 61], [62, 63], [62, 64], [64, 65]], "missing_branches": [[64, 66]], "functions": {"test_video_assets_list": {"executed_lines": [12, 24], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "test_image_assets_list": {"executed_lines": [29, 33], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27, "executed_branches": [], "missing_branches": []}, "test_video_assets_values": {"executed_lines": [38, 39, 40], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "test_image_assets_values": {"executed_lines": [45, 46, 47], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43, "executed_branches": [], "missing_branches": []}, "test_media_assets_dict_keys": {"executed_lines": [52, 55], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50, "executed_branches": [], "missing_branches": []}, "test_media_assets_dict_values": {"executed_lines": [60, 61, 62, 63, 64, 65, 66, 67, 68], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 93.33333333333333, "percent_covered_display": "93", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [], "excluded_lines": [], "start_line": 58, "executed_branches": [[60, -58], [60, 61], [62, 63], [62, 64], [64, 65]], "missing_branches": [[64, 66]]}, "": {"executed_lines": [1, 10, 27, 36, 43, 50, 58], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 10, 12, 24, 27, 29, 33, 36, 38, 39, 40, 43, 45, 46, 47, 50, 52, 55, 58, 60, 61, 62, 63, 64, 65, 66, 67, 68], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 97.05882352941177, "percent_covered_display": "97", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[60, -58], [60, 61], [62, 63], [62, 64], [64, 65]], "missing_branches": [[64, 66]]}}}, "tests\\classification\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\classification\\test_core.py": {"executed_lines": [1, 3, 5, 6, 8, 11, 12, 13, 15, 16, 18, 19, 21, 22, 24, 25, 28, 68, 75, 76, 80, 81, 84, 85, 87, 88, 89, 92, 93, 95, 96, 97], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"_MockTensor.__init__": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "_MockTensor.softmax": {"executed_lines": [16], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15, "executed_branches": [], "missing_branches": []}, "_MockTensor.cpu": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18, "executed_branches": [], "missing_branches": []}, "_MockTensor.detach": {"executed_lines": [22], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "_MockTensor.numpy": {"executed_lines": [25], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24, "executed_branches": [], "missing_branches": []}, "test_top_k": {"executed_lines": [75, 76, 80, 81], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68, "executed_branches": [], "missing_branches": []}, "test_from_clip_empty_output_dtypes": {"executed_lines": [85, 87, 88, 89], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 84, "executed_branches": [], "missing_branches": []}, "test_from_timm_empty_output_dtypes": {"executed_lines": [93, 95, 96, 97], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 11, 12, 15, 18, 21, 24, 28, 68, 84, 92], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"_MockTensor": {"executed_lines": [13, 16, 19, 22, 25], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 11, 12, 15, 18, 21, 24, 28, 68, 75, 76, 80, 81, 84, 85, 87, 88, 89, 92, 93, 95, 96, 97], "summary": {"covered_lines": 27, "num_statements": 27, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\conftest.py": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 13, 16, 17, 18, 67, 68, 69], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"scene": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "sample_key_points": {"executed_lines": [18], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17, "executed_branches": [], "missing_branches": []}, "empty_key_points": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 16, 17, 67, 68], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 7, 8, 11, 12, 13, 16, 17, 18, 67, 68, 69], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\dataset\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\dataset\\formats\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\dataset\\formats\\test_coco.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 25, 34, 35, 36, 47, 49, 50, 51, 52, 55, 56, 57, 110, 111, 112, 132, 172, 175, 176, 177, 180, 188, 191, 192, 193, 194, 197, 248, 251, 252, 253, 256, 760, 768, 769, 775, 778, 824, 830, 831, 834, 837, 952, 959, 960, 965, 968, 969, 986, 987, 994, 995, 996, 999, 1012, 1026, 1028, 1029, 1037, 1044, 1048, 1052, 1053, 1054, 1055, 1056, 1057, 1060, 1062, 1063, 1068, 1070, 1073, 1075, 1081, 1087, 1088, 1089, 1090, 1093, 1097, 1103, 1109, 1110, 1111, 1112, 1115, 1117, 1118, 1120, 1126, 1132, 1133, 1134, 1137, 1139, 1140, 1142, 1149, 1155, 1156, 1159, 1161, 1166, 1172, 1173, 1174, 1177, 1180, 1181, 1182, 1184, 1188, 1195, 1196, 1198, 1199, 1200, 1201, 1202, 1204, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1219, 1220, 1223, 1226, 1227, 1228, 1230, 1235, 1241, 1242, 1243, 1244, 1246, 1247, 1250, 1254, 1259, 1260, 1261, 1263, 1268, 1270, 1271, 1277, 1285, 1290, 1291, 1292, 1294, 1306, 1308, 1309, 1315, 1317, 1318, 1319, 1321, 1333, 1335, 1336, 1342, 1346, 1347, 1348, 1349, 1351, 1356, 1358, 1359, 1365, 1367, 1368, 1369, 1370, 1372, 1377, 1379, 1383, 1384, 1387, 1390, 1391, 1392, 1394, 1408, 1410, 1416, 1417, 1418, 1419, 1420, 1421, 1424, 1425, 1426, 1460, 1463, 1464, 1471, 1472, 1473, 1475, 1479, 1485, 1486, 1487, 1488, 1504, 1506, 1507, 1508, 1510, 1530, 1532, 1537, 1538, 1539, 1545, 1553, 1557, 1559, 1562, 1564, 1569, 1575, 1578, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1595, 1596, 1597, 1601, 1602, 1605, 1606, 1607, 1608, 1611, 1615, 1616, 1617, 1618, 1619, 1625, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1642, 1647, 1652, 1653, 1654, 1655, 1656, 1657, 1660, 1661, 1662, 1664, 1668, 1669, 1670, 1672, 1673, 1676, 1677, 1678, 1680, 1687, 1688, 1689, 1690, 1691, 1694, 1697, 1698, 1699, 1701, 1702, 1703, 1705, 1706, 1711, 1717, 1718, 1719, 1720, 1721, 1722, 1724, 1727, 1731, 1732, 1735, 1738, 1739, 1741, 1748, 1749, 1750, 1751, 1752, 1755, 1758, 1759, 1764, 1765, 1768, 1771, 1772, 1774, 1781, 1782, 1783, 1784, 1785, 1790, 1793, 1794, 1796, 1800, 1801, 1802, 1803, 1804, 1810, 1813, 1814, 1815, 1816, 1818, 1843, 1844, 1846, 1851, 1852, 1853, 1854, 1860, 1868, 1872, 1873, 1875, 1876, 1887, 1889, 1894, 1895, 1905, 1907, 1908, 1910, 1921, 1922, 1924, 1925, 1926, 1928, 1932, 1933, 1934, 1940, 1945, 1955, 1956, 1965, 1968, 1969, 1970, 1972, 1978, 1981, 1982, 1984, 1985, 1988, 2007, 2021, 2022, 2024, 2025, 2028, 2029, 2041, 2047, 2048, 2050, 2051, 2054, 2055, 2056, 2057, 2060, 2064, 2069, 2074, 2076, 2079, 2082, 2083, 2086, 2088, 2089, 2090, 2092, 2097, 2100, 2101, 2102, 2103, 2104], "summary": {"covered_lines": 441, "num_statements": 441, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[34, 35], [34, 36], [50, 51], [50, 52], [1587, 1588], [1587, 1597], [1616, -1578], [1616, 1617], [1634, 1635], [1634, 1647], [1719, 1720], [1719, 1724]], "missing_branches": [], "functions": {"mock_coco_annotation": {"executed_lines": [34, 35, 36], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25, "executed_branches": [[34, 35], [34, 36]], "missing_branches": []}, "_empty_raw_segs": {"executed_lines": [49, 50, 51, 52], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47, "executed_branches": [[50, 51], [50, 52]], "missing_branches": []}, "coco_data_with_and_without_segmentation": {"executed_lines": [57], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56, "executed_branches": [], "missing_branches": []}, "coco_data_with_unannotated_image": {"executed_lines": [112], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 111, "executed_branches": [], "missing_branches": []}, "test_coco_categories_to_classes": {"executed_lines": [175, 176, 177], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 172, "executed_branches": [], "missing_branches": []}, "test_classes_to_coco_categories_and_back_to_classes": {"executed_lines": [191, 192, 193, 194], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 188, "executed_branches": [], "missing_branches": []}, "test_group_coco_annotations_by_image_id": {"executed_lines": [251, 252, 253], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 248, "executed_branches": [], "missing_branches": []}, "test_coco_annotations_to_detections": {"executed_lines": [768, 769, 775], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 760, "executed_branches": [], "missing_branches": []}, "test_build_coco_class_index_mapping": {"executed_lines": [830, 831, 834], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 824, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations": {"executed_lines": [959, 960, 965], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 952, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_handles_empty_approximated_polygons": {"executed_lines": [969, 986, 987, 994, 995, 996], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 968, "executed_branches": [], "missing_branches": []}, "_make_iscrowd0_detections": {"executed_lines": [1028, 1029], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1026, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_segmentation_count": {"executed_lines": [1048, 1052, 1053, 1054, 1055, 1056, 1057], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1044, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_round_trip_disjoint_mask": {"executed_lines": [1062, 1063, 1068, 1070], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1060, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_preserves_area_from_data": {"executed_lines": [1075, 1081, 1087, 1088, 1089, 1090], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1073, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_preserves_iscrowd_from_data_when_no_mask": {"executed_lines": [1097, 1103, 1109, 1110, 1111, 1112], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1093, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_iscrowd_is_int_when_mask_provided": {"executed_lines": [1117, 1118, 1120, 1126, 1132, 1133, 1134], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1115, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_data_area_overrides_bbox_with_mask": {"executed_lines": [1139, 1140, 1142, 1149, 1155, 1156], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1137, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_fallback_area_when_no_data": {"executed_lines": [1161, 1166, 1172, 1173, 1174], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1159, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_infers_masks_from_segmentation_field": {"executed_lines": [1180, 1181, 1182, 1184, 1188, 1195, 1196, 1198, 1199, 1200, 1201, 1202, 1204, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1219, 1220], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1177, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_force_masks_with_no_annotations": {"executed_lines": [1226, 1227, 1228, 1230, 1235, 1241, 1242, 1243, 1244, 1246, 1247], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1223, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_rejects_file_name_resolving_to_images_directory": {"executed_lines": [1259, 1260, 1261, 1263, 1268, 1270, 1271], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1254, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_rejects_file_name_outside_images_directory": {"executed_lines": [1290, 1291, 1292, 1294, 1306, 1308, 1309], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1285, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_rejects_absolute_file_name": {"executed_lines": [1317, 1318, 1319, 1321, 1333, 1335, 1336], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1315, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_rejects_file_name_resolving_to_directory": {"executed_lines": [1346, 1347, 1348, 1349, 1351, 1356, 1358, 1359], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1342, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_accepts_valid_nested_file_name": {"executed_lines": [1367, 1368, 1369, 1370, 1372, 1377, 1379, 1383, 1384], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1365, "executed_branches": [], "missing_branches": []}, "test_load_coco_annotations_force_masks_handles_missing_segmentation": {"executed_lines": [1390, 1391, 1392, 1394, 1408, 1410, 1416, 1417, 1418, 1419, 1420, 1421], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1387, "executed_branches": [], "missing_branches": []}, "coco_data_with_multi_segment_segmentation": {"executed_lines": [1426], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1425, "executed_branches": [], "missing_branches": []}, "TestFromCocoMasks.test_multi_segment_masks_merged": {"executed_lines": [1471, 1472, 1473, 1475, 1479, 1485, 1486, 1487, 1488], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1464, "executed_branches": [], "missing_branches": []}, "TestFromCocoMasks.test_multi_segment_masks_uneven_length_no_value_error": {"executed_lines": [1506, 1507, 1508, 1510, 1530, 1532, 1537, 1538, 1539], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1504, "executed_branches": [], "missing_branches": []}, "test_classes_to_coco_categories_ids_start_at_one": {"executed_lines": [1557, 1559], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1553, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_category_id_is_one_indexed": {"executed_lines": [1564, 1569, 1575], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1562, "executed_branches": [], "missing_branches": []}, "test_coco_round_trip_preserves_class_ids_and_writes_one_indexed_categories": {"executed_lines": [1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1595, 1596, 1597, 1601, 1602, 1605, 1606, 1607, 1608, 1611, 1615, 1616, 1617, 1618, 1619], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1578, "executed_branches": [[1587, 1588], [1587, 1597], [1616, -1578], [1616, 1617]], "missing_branches": []}, "_tiny_detection_dataset": {"executed_lines": [1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1642, 1647], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1625, "executed_branches": [[1634, 1635], [1634, 1647]], "missing_branches": []}, "_read_ids": {"executed_lines": [1653, 1654, 1655, 1656, 1657], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1652, "executed_branches": [], "missing_branches": []}, "test_save_coco_annotations_defaults_start_at_one": {"executed_lines": [1661, 1662, 1664, 1668, 1669, 1670, 1672, 1673], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1660, "executed_branches": [], "missing_branches": []}, "test_save_coco_annotations_respects_starting_ids": {"executed_lines": [1677, 1678, 1680, 1687, 1688, 1689, 1690, 1691], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1676, "executed_branches": [], "missing_branches": []}, "test_as_coco_chains_ids_across_splits_without_collision": {"executed_lines": [1697, 1698, 1699, 1701, 1702, 1703, 1705, 1706, 1711, 1717, 1718, 1719, 1720, 1721, 1722, 1724, 1727, 1731, 1732], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1694, "executed_branches": [[1719, 1720], [1719, 1724]], "missing_branches": []}, "test_save_coco_annotations_empty_dataset_returns_starting_ids": {"executed_lines": [1738, 1739, 1741, 1748, 1749, 1750, 1751, 1752], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1735, "executed_branches": [], "missing_branches": []}, "test_as_coco_without_annotations_path_returns_starting_ids": {"executed_lines": [1758, 1759, 1764, 1765], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1755, "executed_branches": [], "missing_branches": []}, "test_save_coco_annotations_annotation_image_id_references_correct_image": {"executed_lines": [1771, 1772, 1774, 1781, 1782, 1783, 1784, 1785], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1768, "executed_branches": [], "missing_branches": []}, "test_save_coco_annotations_zero_annotation_images": {"executed_lines": [1793, 1794, 1796, 1800, 1801, 1802, 1803, 1804], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1790, "executed_branches": [], "missing_branches": []}, "test_from_coco_loads_legacy_zero_indexed_category_ids": {"executed_lines": [1813, 1814, 1815, 1816, 1818, 1843, 1844, 1846, 1851, 1852, 1853, 1854], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1810, "executed_branches": [], "missing_branches": []}, "test_save_coco_annotations_rejects_zero_starting_ids": {"executed_lines": [1872, 1873, 1875, 1876], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1868, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_raises_when_class_id_is_none": {"executed_lines": [1889, 1894, 1895], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1887, "executed_branches": [], "missing_branches": []}, "test_coco_round_trip_multi_class_single_image": {"executed_lines": [1907, 1908, 1910, 1921, 1922, 1924, 1925, 1926, 1928, 1932, 1933, 1934], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1905, "executed_branches": [], "missing_branches": []}, "_coco_annotation_with_segmentation": {"executed_lines": [1945], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1940, "executed_branches": [], "missing_branches": []}, "_single_image_coco_data": {"executed_lines": [1956], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1955, "executed_branches": [], "missing_branches": []}, "test_detections_to_coco_annotations_exports_all_polygons": {"executed_lines": [1968, 1969, 1970, 1972, 1978, 1981, 1982, 1984, 1985], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1965, "executed_branches": [], "missing_branches": []}, "test_coco_polygon_segmentation_survives_roundtrip": {"executed_lines": [2021, 2022, 2024, 2025, 2028, 2029, 2041, 2047, 2048, 2050, 2051, 2054, 2055, 2056, 2057], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2007, "executed_branches": [], "missing_branches": []}, "test_coco_raw_segmentation_preserved_when_masks_not_decoded": {"executed_lines": [2064, 2069, 2074, 2076, 2079, 2082, 2083], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2060, "executed_branches": [], "missing_branches": []}, "test_coco_iscrowd_mask_exports_as_rle": {"executed_lines": [2088, 2089, 2090, 2092, 2097, 2100, 2101, 2102, 2103, 2104], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 2086, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 25, 47, 55, 56, 110, 111, 132, 172, 180, 188, 197, 248, 256, 760, 778, 824, 837, 952, 968, 999, 1012, 1026, 1037, 1044, 1060, 1073, 1093, 1115, 1137, 1159, 1177, 1223, 1250, 1254, 1277, 1285, 1315, 1342, 1365, 1387, 1424, 1425, 1460, 1463, 1464, 1504, 1545, 1553, 1562, 1578, 1625, 1652, 1660, 1676, 1694, 1735, 1755, 1768, 1790, 1810, 1860, 1868, 1887, 1905, 1940, 1955, 1965, 1988, 2007, 2060, 2086], "summary": {"covered_lines": 80, "num_statements": 80, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestFromCocoMasks": {"executed_lines": [1471, 1472, 1473, 1475, 1479, 1485, 1486, 1487, 1488, 1506, 1507, 1508, 1510, 1530, 1532, 1537, 1538, 1539], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1460, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 9, 11, 12, 25, 34, 35, 36, 47, 49, 50, 51, 52, 55, 56, 57, 110, 111, 112, 132, 172, 175, 176, 177, 180, 188, 191, 192, 193, 194, 197, 248, 251, 252, 253, 256, 760, 768, 769, 775, 778, 824, 830, 831, 834, 837, 952, 959, 960, 965, 968, 969, 986, 987, 994, 995, 996, 999, 1012, 1026, 1028, 1029, 1037, 1044, 1048, 1052, 1053, 1054, 1055, 1056, 1057, 1060, 1062, 1063, 1068, 1070, 1073, 1075, 1081, 1087, 1088, 1089, 1090, 1093, 1097, 1103, 1109, 1110, 1111, 1112, 1115, 1117, 1118, 1120, 1126, 1132, 1133, 1134, 1137, 1139, 1140, 1142, 1149, 1155, 1156, 1159, 1161, 1166, 1172, 1173, 1174, 1177, 1180, 1181, 1182, 1184, 1188, 1195, 1196, 1198, 1199, 1200, 1201, 1202, 1204, 1207, 1208, 1209, 1210, 1212, 1213, 1214, 1215, 1219, 1220, 1223, 1226, 1227, 1228, 1230, 1235, 1241, 1242, 1243, 1244, 1246, 1247, 1250, 1254, 1259, 1260, 1261, 1263, 1268, 1270, 1271, 1277, 1285, 1290, 1291, 1292, 1294, 1306, 1308, 1309, 1315, 1317, 1318, 1319, 1321, 1333, 1335, 1336, 1342, 1346, 1347, 1348, 1349, 1351, 1356, 1358, 1359, 1365, 1367, 1368, 1369, 1370, 1372, 1377, 1379, 1383, 1384, 1387, 1390, 1391, 1392, 1394, 1408, 1410, 1416, 1417, 1418, 1419, 1420, 1421, 1424, 1425, 1426, 1460, 1463, 1464, 1504, 1545, 1553, 1557, 1559, 1562, 1564, 1569, 1575, 1578, 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1595, 1596, 1597, 1601, 1602, 1605, 1606, 1607, 1608, 1611, 1615, 1616, 1617, 1618, 1619, 1625, 1631, 1632, 1633, 1634, 1635, 1636, 1637, 1638, 1642, 1647, 1652, 1653, 1654, 1655, 1656, 1657, 1660, 1661, 1662, 1664, 1668, 1669, 1670, 1672, 1673, 1676, 1677, 1678, 1680, 1687, 1688, 1689, 1690, 1691, 1694, 1697, 1698, 1699, 1701, 1702, 1703, 1705, 1706, 1711, 1717, 1718, 1719, 1720, 1721, 1722, 1724, 1727, 1731, 1732, 1735, 1738, 1739, 1741, 1748, 1749, 1750, 1751, 1752, 1755, 1758, 1759, 1764, 1765, 1768, 1771, 1772, 1774, 1781, 1782, 1783, 1784, 1785, 1790, 1793, 1794, 1796, 1800, 1801, 1802, 1803, 1804, 1810, 1813, 1814, 1815, 1816, 1818, 1843, 1844, 1846, 1851, 1852, 1853, 1854, 1860, 1868, 1872, 1873, 1875, 1876, 1887, 1889, 1894, 1895, 1905, 1907, 1908, 1910, 1921, 1922, 1924, 1925, 1926, 1928, 1932, 1933, 1934, 1940, 1945, 1955, 1956, 1965, 1968, 1969, 1970, 1972, 1978, 1981, 1982, 1984, 1985, 1988, 2007, 2021, 2022, 2024, 2025, 2028, 2029, 2041, 2047, 2048, 2050, 2051, 2054, 2055, 2056, 2057, 2060, 2064, 2069, 2074, 2076, 2079, 2082, 2083, 2086, 2088, 2089, 2090, 2092, 2097, 2100, 2101, 2102, 2103, 2104], "summary": {"covered_lines": 423, "num_statements": 423, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[34, 35], [34, 36], [50, 51], [50, 52], [1587, 1588], [1587, 1597], [1616, -1578], [1616, 1617], [1634, 1635], [1634, 1647], [1719, 1720], [1719, 1724]], "missing_branches": []}}}, "tests\\dataset\\formats\\test_pascal_voc.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 15, 18, 19, 27, 28, 31, 34, 64, 71, 72, 73, 76, 78, 79, 81, 83, 84, 89, 91, 92, 94, 96, 101, 103, 104, 106, 109, 113, 114, 117, 131, 136, 137, 138, 141, 147, 152, 160, 161, 169, 222, 225, 226, 227, 228, 231, 232, 235, 236, 243, 244, 245, 246], "summary": {"covered_lines": 59, "num_statements": 61, "percent_covered": 94.02985074626865, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.72131147540983, "percent_statements_covered_display": "97", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [25, 29], "excluded_lines": [], "executed_branches": [[19, 27], [27, 28], [27, 31], [28, 27]], "missing_branches": [[19, 25], [28, 29]], "functions": {"are_xml_elements_equal": {"executed_lines": [19, 27, 28, 31], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [25, 29], "excluded_lines": [], "start_line": 18, "executed_branches": [[19, 27], [27, 28], [27, 31], [28, 27]], "missing_branches": [[19, 25], [28, 29]]}, "test_object_to_pascal_voc": {"executed_lines": [71, 72, 73], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64, "executed_branches": [], "missing_branches": []}, "test_object_to_pascal_voc_does_not_mutate_inputs": {"executed_lines": [78, 79, 81, 83, 84], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 76, "executed_branches": [], "missing_branches": []}, "test_object_to_pascal_voc_does_not_mutate_view_input": {"executed_lines": [91, 92, 94, 96], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 89, "executed_branches": [], "missing_branches": []}, "test_detections_to_pascal_voc_does_not_mutate_detections": {"executed_lines": [103, 104, 106, 109, 113, 114], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 101, "executed_branches": [], "missing_branches": []}, "test_parse_polygon_points": {"executed_lines": [136, 137, 138], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 131, "executed_branches": [], "missing_branches": []}, "test_detections_from_xml_obj": {"executed_lines": [225, 226, 227, 228], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 222, "executed_branches": [], "missing_branches": []}, "test_detections_from_xml_obj_mixed_polygon_and_bbox_masks_aligned": {"executed_lines": [235, 236, 243, 244, 245, 246], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 232, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 15, 18, 34, 64, 76, 89, 101, 117, 131, 141, 147, 152, 160, 161, 169, 222, 231, 232], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 9, 15, 18, 19, 27, 28, 31, 34, 64, 71, 72, 73, 76, 78, 79, 81, 83, 84, 89, 91, 92, 94, 96, 101, 103, 104, 106, 109, 113, 114, 117, 131, 136, 137, 138, 141, 147, 152, 160, 161, 169, 222, 225, 226, 227, 228, 231, 232, 235, 236, 243, 244, 245, 246], "summary": {"covered_lines": 59, "num_statements": 61, "percent_covered": 94.02985074626865, "percent_covered_display": "94", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 96.72131147540983, "percent_statements_covered_display": "97", "num_branches": 6, "num_partial_branches": 2, "covered_branches": 4, "missing_branches": 2, "percent_branches_covered": 66.66666666666667, "percent_branches_covered_display": "67"}, "missing_lines": [25, 29], "excluded_lines": [], "start_line": 1, "executed_branches": [[19, 27], [27, 28], [27, 31], [28, 27]], "missing_branches": [[19, 25], [28, 29]]}}}, "tests\\dataset\\formats\\test_yolo.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 12, 21, 24, 25, 26, 27, 28, 32, 35, 36, 37, 40, 66, 69, 70, 71, 74, 198, 205, 206, 209, 210, 211, 216, 229, 232, 233, 234, 237, 268, 275, 276, 277, 278, 281, 336, 344, 345, 348, 351, 352, 357, 358, 363, 386, 393, 394, 395, 396, 397, 398, 399, 401, 408, 409, 412, 418, 420, 422, 425, 429, 433, 434, 435, 436, 437, 442, 443, 447, 448, 449, 450, 453, 454, 456, 457, 459, 460, 462, 471, 475, 477, 484, 485, 486, 487, 488, 491, 495, 499, 505, 507, 508, 512, 513, 516, 520, 521, 523, 524, 525, 526, 527, 529, 530, 536, 538, 541, 547, 551, 552, 553, 556, 557, 564, 566, 570, 571, 576, 578, 581, 584, 586, 593, 601, 605, 606, 607, 608, 611, 612, 613, 620, 622, 626, 632, 636, 637, 642, 649, 653, 654, 655, 656, 657, 658, 659, 661, 668, 669, 675, 676, 681, 683, 684, 685, 686, 688, 689, 690, 692, 699, 700, 706, 712, 713, 714, 721, 725, 726, 727, 728, 729, 730, 731, 733, 735, 742, 743, 749, 750, 751], "summary": {"covered_lines": 190, "num_statements": 190, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[606, 607], [606, 611]], "missing_branches": [], "functions": {"_mock_simple_mask": {"executed_lines": [25, 26, 27, 28], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24, "executed_branches": [], "missing_branches": []}, "_arrays_almost_equal": {"executed_lines": [35, 36, 37], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32, "executed_branches": [], "missing_branches": []}, "test_with_mask": {"executed_lines": [69, 70, 71], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 66, "executed_branches": [], "missing_branches": []}, "test_yolo_annotations_to_detections": {"executed_lines": [205, 206, 209, 210, 211], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 198, "executed_branches": [], "missing_branches": []}, "test_image_name_to_annotation_name": {"executed_lines": [232, 233, 234], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 229, "executed_branches": [], "missing_branches": []}, "test_extract_class_names_sorts_numeric_string_keys": {"executed_lines": [275, 276, 277, 278], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 268, "executed_branches": [], "missing_branches": []}, "test_object_to_yolo": {"executed_lines": [344, 345, 348], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 336, "executed_branches": [], "missing_branches": []}, "test_detections_to_yolo_annotations_raises_for_non_integer_class_id": {"executed_lines": [352, 357, 358], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 351, "executed_branches": [], "missing_branches": []}, "test_load_yolo_annotations_mask_behaviour": {"executed_lines": [393, 394, 395, 396, 397, 398, 399, 401, 408, 409], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 386, "executed_branches": [], "missing_branches": []}, "test_polygons_to_masks_multiple_polygons_shape": {"executed_lines": [418, 420, 422, 425, 429, 433, 434, 435, 436, 437], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 412, "executed_branches": [], "missing_branches": []}, "yolo_mask_round_trip_sample": {"executed_lines": [447, 448, 449, 450, 453, 454, 456, 457, 459, 460, 462], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 443, "executed_branches": [], "missing_branches": []}, "test_yolo_polygon_mask_precision_no_coord_drift_loads_mask": {"executed_lines": [475, 477, 484, 485, 486, 487, 488], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 471, "executed_branches": [], "missing_branches": []}, "test_yolo_polygon_mask_precision_no_coord_drift_round_trip_iou": {"executed_lines": [495, 499, 505, 507, 508, 512, 513, 516, 520, 521, 523, 524, 525, 526, 527, 529, 530], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 491, "executed_branches": [], "missing_branches": []}, "test_detections_to_yolo_annotations_obb_emits_nine_tokens": {"executed_lines": [538, 541, 547, 551, 552, 553, 556, 557], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 536, "executed_branches": [], "missing_branches": []}, "test_detections_to_yolo_annotations_obb_raises_without_corners": {"executed_lines": [566, 570, 571], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 564, "executed_branches": [], "missing_branches": []}, "test_detections_to_yolo_annotations_obb_empty_emits_no_lines": {"executed_lines": [578, 581], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 576, "executed_branches": [], "missing_branches": []}, "test_detections_to_yolo_annotations_obb_multiple_detections": {"executed_lines": [586, 593, 601, 605, 606, 607, 608, 611, 612, 613], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 584, "executed_branches": [[606, 607], [606, 611]], "missing_branches": []}, "test_detections_to_yolo_annotations_obb_data_ignored_when_is_obb_false": {"executed_lines": [622, 626, 632, 636, 637], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 620, "executed_branches": [], "missing_branches": []}, "test_dataset_as_yolo_obb_output_token_count": {"executed_lines": [653, 654, 655, 656, 657, 658, 659, 661, 668, 669, 675, 676], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 649, "executed_branches": [], "missing_branches": []}, "test_dataset_as_yolo_obb_round_trip_corner_accuracy": {"executed_lines": [683, 684, 685, 686, 688, 689, 690, 692, 699, 700, 706, 712, 713, 714], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 681, "executed_branches": [], "missing_branches": []}, "test_dataset_as_yolo_obb_round_trip_with_background_image": {"executed_lines": [725, 726, 727, 728, 729, 730, 731, 733, 735, 742, 743, 749, 750, 751], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 721, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 12, 21, 24, 32, 40, 66, 74, 198, 216, 229, 237, 268, 281, 336, 351, 363, 386, 412, 442, 443, 471, 491, 536, 564, 576, 584, 620, 642, 649, 681, 721], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 8, 10, 11, 12, 21, 24, 25, 26, 27, 28, 32, 35, 36, 37, 40, 66, 69, 70, 71, 74, 198, 205, 206, 209, 210, 211, 216, 229, 232, 233, 234, 237, 268, 275, 276, 277, 278, 281, 336, 344, 345, 348, 351, 352, 357, 358, 363, 386, 393, 394, 395, 396, 397, 398, 399, 401, 408, 409, 412, 418, 420, 422, 425, 429, 433, 434, 435, 436, 437, 442, 443, 447, 448, 449, 450, 453, 454, 456, 457, 459, 460, 462, 471, 475, 477, 484, 485, 486, 487, 488, 491, 495, 499, 505, 507, 508, 512, 513, 516, 520, 521, 523, 524, 525, 526, 527, 529, 530, 536, 538, 541, 547, 551, 552, 553, 556, 557, 564, 566, 570, 571, 576, 578, 581, 584, 586, 593, 601, 605, 606, 607, 608, 611, 612, 613, 620, 622, 626, 632, 636, 637, 642, 649, 653, 654, 655, 656, 657, 658, 659, 661, 668, 669, 675, 676, 681, 683, 684, 685, 686, 688, 689, 690, 692, 699, 700, 706, 712, 713, 714, 721, 725, 726, 727, 728, 729, 730, 731, 733, 735, 742, 743, 749, 750, 751], "summary": {"covered_lines": 190, "num_statements": 190, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[606, 607], [606, 611]], "missing_branches": []}}}, "tests\\dataset\\test_core.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 14, 178, 190, 191, 192, 195, 198, 200, 210, 211, 212, 217, 219, 224, 225, 226, 228, 230, 235, 237, 239, 246, 253, 257, 258, 259, 263, 264, 265, 269, 271, 274, 280, 281, 282, 283, 284], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 97.95918367346938, "percent_covered_display": "98", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[280, -269], [280, 281], [281, 282]], "missing_branches": [[281, 280]], "functions": {"test_dataset_merge": {"executed_lines": [190, 191, 192], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 178, "executed_branches": [], "missing_branches": []}, "TestClassNamePopulation.test_class_name_populated_on_init": {"executed_lines": [200, 210, 211, 212], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 198, "executed_branches": [], "missing_branches": []}, "TestClassNamePopulation.test_class_name_with_empty_annotations": {"executed_lines": [219, 224, 225, 226], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 217, "executed_branches": [], "missing_branches": []}, "TestClassNamePopulation.test_class_name_with_empty_classes": {"executed_lines": [230, 235], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 228, "executed_branches": [], "missing_branches": []}, "TestClassNamePopulation.test_class_name_after_merge": {"executed_lines": [239, 246, 253, 257, 258, 259, 263, 264, 265], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 237, "executed_branches": [], "missing_branches": []}, "TestClassNamePopulation.test_class_name_from_yolo": {"executed_lines": [271, 274, 280, 281, 282, 283, 284], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 90.9090909090909, "percent_covered_display": "91", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "start_line": 269, "executed_branches": [[280, -269], [280, 281], [281, 282]], "missing_branches": [[281, 280]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 14, 178, 195, 198, 217, 228, 237, 269], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestClassNamePopulation": {"executed_lines": [200, 210, 211, 212, 219, 224, 225, 226, 230, 235, 239, 246, 253, 257, 258, 259, 263, 264, 265, 271, 274, 280, 281, 282, 283, 284], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 96.66666666666667, "percent_covered_display": "97", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [], "excluded_lines": [], "start_line": 195, "executed_branches": [[280, -269], [280, 281], [281, 282]], "missing_branches": [[281, 280]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 14, 178, 190, 191, 192, 195, 198, 217, 228, 237, 269], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\dataset\\test_utils.py": {"executed_lines": [1, 3, 4, 6, 8, 9, 15, 17, 20, 74, 82, 83, 89, 92, 118, 121, 122, 123, 126, 163, 169, 170, 173, 176, 223, 229, 230, 233], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_train_test_split": {"executed_lines": [82, 83, 89], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74, "executed_branches": [], "missing_branches": []}, "test_merge_class_maps": {"executed_lines": [121, 122, 123], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 118, "executed_branches": [], "missing_branches": []}, "test_build_class_index_mapping": {"executed_lines": [169, 170, 173], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 163, "executed_branches": [], "missing_branches": []}, "test_map_detections_class_id": {"executed_lines": [229, 230, 233], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 223, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 8, 9, 15, 17, 20, 74, 92, 118, 126, 163, 176, 223], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 8, 9, 15, 17, 20, 74, 82, 83, 89, 92, 118, 121, 122, 123, 126, 163, 169, 170, 173, 176, 223, 229, 230, 233], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\test_compact_mask.py": {"executed_lines": [3, 5, 7, 8, 10, 14, 20, 28, 30, 31, 32, 33, 36, 45, 64, 68, 69, 70, 71, 73, 74, 75, 76, 80, 89, 91, 92, 94, 113, 117, 119, 128, 130, 133, 141, 149, 150, 151, 152, 153, 154, 156, 158, 159, 160, 162, 163, 165, 168, 178, 179, 180, 181, 182, 184, 185, 186, 187, 188, 190, 191, 192, 193, 194, 199, 201, 202, 203, 204, 205, 207, 208, 209, 210, 212, 213, 214, 216, 217, 218, 219, 220, 222, 223, 224, 225, 226, 227, 229, 231, 232, 233, 234, 236, 237, 238, 239, 240, 243, 251, 252, 253, 254, 256, 257, 258, 259, 261, 262, 268, 270, 271, 272, 274, 275, 276, 277, 278, 280, 281, 283, 284, 290, 293, 301, 302, 303, 304, 305, 306, 308, 309, 310, 313, 320, 321, 322, 323, 324, 326, 327, 328, 330, 331, 332, 333, 334, 335, 338, 347, 348, 349, 350, 351, 352, 354, 355, 356, 357, 361, 362, 363, 369, 370, 372, 373, 375, 376, 377, 379, 380, 386, 392, 393, 396, 403, 404, 405, 406, 407, 408, 410, 411, 412, 413, 414, 415, 416, 417, 419, 420, 421, 422, 423, 426, 435, 437, 438, 439, 440, 441, 443, 444, 445, 446, 447, 448, 449, 451, 453, 454, 455, 456, 457, 458, 459, 461, 462, 468, 469, 470, 472, 473, 474, 475, 476, 478, 479, 480, 481, 482, 483, 485, 486, 487, 488, 490, 492, 493, 494, 495, 496, 498, 499, 500, 506, 508, 510, 511, 512, 513, 514, 516, 517, 518, 524, 526, 528, 529, 530, 533, 534, 537, 539, 542, 543, 545, 547, 549, 550, 551, 553, 554, 555, 557, 558, 559, 561, 563, 569, 570, 571, 573, 575, 576, 577, 580, 581, 582, 584, 585, 586, 589, 596, 598, 599, 600, 602, 603, 605, 607, 608, 610, 612, 614, 615, 616, 618, 619, 621, 623, 625, 626, 627, 628, 630, 631, 633, 635, 637, 643, 644, 647, 655, 680, 684, 685, 686, 688, 689, 690, 693, 700, 734, 738, 739, 740, 742, 743, 744, 745, 753, 767, 781, 782, 783, 784, 785, 786, 787, 789, 790, 791, 793, 794, 797, 804, 805, 806, 807, 808, 809, 810, 819, 820, 822, 823, 824, 825, 826, 827, 829, 830, 832, 833, 834, 835, 836, 837, 844, 847, 848, 849, 850, 851, 852, 854, 855, 863, 864, 866, 867, 868, 869, 870, 873, 876, 877, 878, 879, 880, 881, 883, 885, 886, 888, 889, 891, 892, 893, 899, 900, 902, 903, 904, 905, 907, 908, 912, 913, 914, 921, 924, 925, 926, 928, 929, 930, 931, 934, 935, 937, 938, 944, 953, 954, 956, 957, 958, 959, 960, 962, 963, 964, 966, 967, 969, 971, 972, 973, 975, 982, 985, 987, 989, 990, 991, 992, 994, 996, 998, 999, 1000, 1001, 1003, 1005, 1007, 1008, 1009, 1010, 1012, 1013, 1015, 1020, 1021, 1022, 1023, 1024, 1025, 1027, 1028, 1029, 1032, 1033, 1034, 1040, 1048, 1053, 1054, 1055, 1059, 1062, 1069, 1092, 1100, 1101, 1102, 1103, 1104, 1106, 1108, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1119, 1121, 1122, 1123, 1124, 1126, 1128, 1129, 1130, 1131, 1132, 1134, 1136, 1137, 1138, 1140, 1142, 1143, 1145, 1154, 1156, 1157, 1158, 1159, 1161, 1162, 1164, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1176, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1187, 1189, 1190, 1191, 1192, 1194, 1196, 1197, 1198, 1199, 1200, 1202, 1203, 1205, 1207, 1208, 1209, 1210, 1211, 1212, 1214, 1215, 1217, 1218, 1223, 1224, 1225, 1231, 1239, 1241, 1243, 1252, 1253, 1254, 1255, 1257, 1259, 1261, 1263, 1270, 1271, 1272, 1274, 1277, 1279, 1281, 1283, 1285, 1294, 1295, 1296, 1298, 1301, 1303, 1305, 1307, 1309, 1310, 1311, 1312, 1313, 1314, 1316, 1319, 1321, 1330, 1334, 1336, 1337, 1338, 1339, 1340, 1342, 1351, 1355, 1357, 1358, 1359, 1360, 1361, 1363, 1365, 1367, 1369, 1370, 1371, 1372, 1373, 1375, 1378, 1380, 1381, 1383, 1385, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1395, 1396, 1398, 1403, 1404, 1410, 1419, 1423, 1425, 1427, 1428, 1429, 1430, 1431, 1433, 1438, 1440, 1449, 1453, 1455, 1457, 1458, 1459, 1460, 1461, 1463, 1468, 1470, 1477, 1484, 1486, 1487, 1488, 1489, 1491, 1492, 1494, 1496, 1498, 1499, 1500, 1501, 1502, 1504, 1506, 1507, 1508, 1510, 1516, 1518, 1522, 1524, 1526, 1527, 1528, 1529, 1530, 1535, 1536, 1537, 1540, 1541, 1544, 1547, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1558, 1559, 1561, 1562, 1564, 1565, 1567, 1569, 1570, 1571, 1572, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1582, 1583, 1585, 1586, 1587, 1590, 1591], "summary": {"covered_lines": 752, "num_statements": 752, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 32, "num_partial_branches": 0, "covered_branches": 32, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[68, 69], [68, 73], [193, 194], [193, 199], [602, 603], [602, 605], [782, 783], [782, 793], [789, 790], [789, 791], [836, -829], [836, 837], [885, 886], [885, 888], [972, 973], [972, 975], [1028, 1029], [1028, 1032], [1131, -1119], [1131, 1132], [1181, -1164], [1181, 1182], [1217, -1202], [1217, 1218], [1491, 1492], [1491, 1494], [1552, 1553], [1552, 1555], [1564, -1547], [1564, 1565], [1576, 1577], [1576, 1579]], "missing_branches": [], "functions": {"_make_cm": {"executed_lines": [30, 31, 32, 33], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28, "executed_branches": [], "missing_branches": []}, "TestRleHelpers.test_encode_decode_round_trip": {"executed_lines": [68, 69, 70, 71, 73, 74, 75, 76], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64, "executed_branches": [[68, 69], [68, 73]], "missing_branches": []}, "TestRleHelpers.test_area_matches_numpy_sum": {"executed_lines": [91, 92], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 89, "executed_branches": [], "missing_branches": []}, "TestRleHelpers.test_encode_matches_coco_f_order": {"executed_lines": [117], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 113, "executed_branches": [], "missing_branches": []}, "TestRleHelpers.test_encode_agrees_with_mask_to_rle": {"executed_lines": [130], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 128, "executed_branches": [], "missing_branches": []}, "TestFromDenseToDense.test_round_trip": {"executed_lines": [150, 151, 152, 153, 154], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 149, "executed_branches": [], "missing_branches": []}, "TestFromDenseToDense.test_round_trip_with_mask_to_xyxy": {"executed_lines": [158, 159, 160, 162, 163, 165], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 156, "executed_branches": [], "missing_branches": []}, "TestGetItem.test_int_returns_2d_dense": {"executed_lines": [179, 180, 181, 182, 184, 185, 186, 187, 188], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 178, "executed_branches": [], "missing_branches": []}, "TestGetItem.test_list_returns_compact_mask": {"executed_lines": [191, 192, 193, 194, 199, 201, 202, 203, 204, 205], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 190, "executed_branches": [[193, 194], [193, 199]], "missing_branches": []}, "TestGetItem.test_slice_returns_compact_mask": {"executed_lines": [208, 209, 210, 212, 213, 214], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 207, "executed_branches": [], "missing_branches": []}, "TestGetItem.test_bool_ndarray": {"executed_lines": [217, 218, 219, 220, 222, 223, 224, 225, 226, 227], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 216, "executed_branches": [], "missing_branches": []}, "TestGetItem.test_bool_list": {"executed_lines": [231, 232, 233, 234, 236, 237, 238, 239, 240], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 229, "executed_branches": [], "missing_branches": []}, "TestProperties.test_len": {"executed_lines": [252, 253, 254], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 251, "executed_branches": [], "missing_branches": []}, "TestProperties.test_shape": {"executed_lines": [257, 258, 259], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 256, "executed_branches": [], "missing_branches": []}, "TestProperties.test_shape_empty": {"executed_lines": [262, 268], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 261, "executed_branches": [], "missing_branches": []}, "TestProperties.test_dtype": {"executed_lines": [271, 272], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 270, "executed_branches": [], "missing_branches": []}, "TestProperties.test_area_matches_dense": {"executed_lines": [275, 276, 277, 278, 280, 281], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 274, "executed_branches": [], "missing_branches": []}, "TestProperties.test_area_empty": {"executed_lines": [284, 290], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 283, "executed_branches": [], "missing_branches": []}, "TestCrop.test_returns_crop_shape": {"executed_lines": [302, 303, 304, 305, 306, 308, 309, 310], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 301, "executed_branches": [], "missing_branches": []}, "TestArrayProtocol.test_array_protocol": {"executed_lines": [321, 322, 323, 324, 326, 327, 328], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 320, "executed_branches": [], "missing_branches": []}, "TestArrayProtocol.test_dtype_cast": {"executed_lines": [331, 332, 333, 334, 335], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 330, "executed_branches": [], "missing_branches": []}, "TestMerge.test_merge": {"executed_lines": [348, 349, 350, 351, 352, 354, 355, 356, 357], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 347, "executed_branches": [], "missing_branches": []}, "TestMerge.test_merge_with_empty": {"executed_lines": [362, 363, 369, 370, 372, 373], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 361, "executed_branches": [], "missing_branches": []}, "TestMerge.test_merge_empty_list_raises": {"executed_lines": [376, 377], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 375, "executed_branches": [], "missing_branches": []}, "TestMerge.test_merge_mismatched_image_shape_raises": {"executed_lines": [380, 386, 392, 393], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 379, "executed_branches": [], "missing_branches": []}, "TestEquality.test_eq_identical": {"executed_lines": [404, 405, 406, 407, 408], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 403, "executed_branches": [], "missing_branches": []}, "TestEquality.test_eq_different": {"executed_lines": [411, 412, 413, 414, 415, 416, 417], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 410, "executed_branches": [], "missing_branches": []}, "TestEquality.test_eq_with_dense_array": {"executed_lines": [420, 421, 422, 423], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 419, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_zero_area_mask_clipped_to_1x1": {"executed_lines": [437, 438, 439, 440, 441], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 435, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_mask_at_image_boundary": {"executed_lines": [444, 445, 446, 447, 448, 449], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 443, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_xyxy_beyond_image_clipped": {"executed_lines": [453, 454, 455, 456, 457, 458, 459], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 451, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_empty_compact_mask_to_dense": {"executed_lines": [462, 468, 469, 470], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 461, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_sum_axis_1_2_equals_area": {"executed_lines": [473, 474, 475, 476], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 472, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_with_offset": {"executed_lines": [479, 480, 481, 482, 483, 485, 486, 487, 488], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 478, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_with_offset_clips_partial_overlap_like_move_masks": {"executed_lines": [492, 493, 494, 495, 496, 498, 499, 500, 506], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 490, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_with_offset_clips_full_outside_like_move_masks": {"executed_lines": [510, 511, 512, 513, 514, 516, 517, 518, 524], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 508, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_repack_tightens_loose_bbox": {"executed_lines": [528, 529, 530, 533, 534, 537, 539, 542, 543, 545], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 526, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_repack_preserves_all_false_mask": {"executed_lines": [549, 550, 551, 553, 554, 555, 557, 558, 559], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 547, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_repack_empty_collection": {"executed_lines": [563, 569, 570, 571], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 561, "executed_branches": [], "missing_branches": []}, "TestEdgeCases.test_repack_already_tight": {"executed_lines": [575, 576, 577, 580, 581, 582, 584, 585, 586], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 573, "executed_branches": [], "missing_branches": []}, "TestCalculateMasksCentroidsCompact.test_centroids_compact_matches_dense": {"executed_lines": [598, 599, 600, 602, 603, 605, 607, 608, 610], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 596, "executed_branches": [[602, 603], [602, 605]], "missing_branches": []}, "TestCalculateMasksCentroidsCompact.test_centroids_empty_mask": {"executed_lines": [614, 615, 616, 618, 619, 621], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 612, "executed_branches": [], "missing_branches": []}, "TestCalculateMasksCentroidsCompact.test_centroids_empty_mask_with_tight_bbox": {"executed_lines": [625, 626, 627, 628, 630, 631, 633], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 623, "executed_branches": [], "missing_branches": []}, "TestCalculateMasksCentroidsCompact.test_centroids_zero_masks_returns_empty": {"executed_lines": [637, 643, 644], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 635, "executed_branches": [], "missing_branches": []}, "TestContainsHolesCompact.test_contains_holes_compact_roundtrip": {"executed_lines": [684, 685, 686, 688, 689, 690], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 680, "executed_branches": [], "missing_branches": []}, "TestContainsMultipleSegmentsCompact.test_contains_multiple_segments_compact_roundtrip": {"executed_lines": [738, 739, 740, 742, 743, 744, 745], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 734, "executed_branches": [], "missing_branches": []}, "_random_masks_and_xyxy": {"executed_lines": [781, 782, 783, 784, 785, 786, 787, 789, 790, 791, 793, 794], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 767, "executed_branches": [[782, 783], [782, 793], [789, 790], [789, 791]], "missing_branches": []}, "TestCompactMaskRoundtripRandom.test_parity_seed": {"executed_lines": [806, 807, 808, 809, 810], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 805, "executed_branches": [], "missing_branches": []}, "TestCompactMaskRoundtripRandom.test_shape_and_len": {"executed_lines": [822, 823, 824, 825, 826, 827], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 820, "executed_branches": [], "missing_branches": []}, "TestCompactMaskRoundtripRandom.test_individual_mask_access": {"executed_lines": [832, 833, 834, 835, 836, 837], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 830, "executed_branches": [[836, -829], [836, 837]], "missing_branches": []}, "TestCompactMaskAreaRandom.test_parity_seed": {"executed_lines": [849, 850, 851, 852, 854, 855], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 848, "executed_branches": [], "missing_branches": []}, "TestCompactMaskAreaRandom.test_sum_axis_matches_area": {"executed_lines": [866, 867, 868, 869, 870], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 864, "executed_branches": [], "missing_branches": []}, "TestCompactMaskFilterRandom.test_parity_seed": {"executed_lines": [878, 879, 880, 881, 883, 885, 886, 888, 889, 891, 892, 893], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 877, "executed_branches": [[885, 886], [885, 888]], "missing_branches": []}, "TestCompactMaskFilterRandom.test_list_index": {"executed_lines": [902, 903, 904, 905, 907, 908, 912, 913, 914], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 900, "executed_branches": [], "missing_branches": []}, "TestCompactMaskWithOffsetRandom.test_parity_seed": {"executed_lines": [926, 928, 929, 930, 931, 934, 935, 937, 938, 944], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 925, "executed_branches": [], "missing_branches": []}, "TestCompactMaskWithOffsetRandom.test_offset_into_larger_canvas": {"executed_lines": [956, 957, 958, 959, 960, 962, 963, 964, 966, 967, 969, 971, 972, 973, 975], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 954, "executed_branches": [[972, 973], [972, 975]], "missing_branches": []}, "TestRleSplitCols.test_all_true_2x2": {"executed_lines": [987, 989, 990, 991, 992], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 985, "executed_branches": [], "missing_branches": []}, "TestRleSplitCols.test_all_false_3x3": {"executed_lines": [996, 998, 999, 1000, 1001], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 994, "executed_branches": [], "missing_branches": []}, "TestRleSplitCols.test_mixed_2x2": {"executed_lines": [1005, 1007, 1008, 1009, 1010], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1003, "executed_branches": [], "missing_branches": []}, "TestRleSplitCols.test_round_trip_random": {"executed_lines": [1015, 1020, 1021, 1022, 1023, 1024, 1025, 1027, 1028, 1029, 1032, 1033, 1034], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1013, "executed_branches": [[1028, 1029], [1028, 1032]], "missing_branches": []}, "TestRleSplitCols.test_join_true_true_junction_no_zero_run": {"executed_lines": [1048, 1053, 1054, 1055, 1059], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1040, "executed_branches": [], "missing_branches": []}, "TestCompactMaskResize.test_scale_shape_and_offsets": {"executed_lines": [1100, 1101, 1102, 1103, 1104, 1106, 1108, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1092, "executed_branches": [], "missing_branches": []}, "TestCompactMaskResize.test_identity_preserves_rle": {"executed_lines": [1121, 1122, 1123, 1124, 1126, 1128, 1129, 1130, 1131, 1132], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1119, "executed_branches": [[1131, -1119], [1131, 1132]], "missing_branches": []}, "TestCompactMaskResize.test_empty_n0": {"executed_lines": [1136, 1137, 1138, 1140, 1142, 1143], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1134, "executed_branches": [], "missing_branches": []}, "TestCompactMaskResize.test_invalid_dimensions_raises": {"executed_lines": [1156, 1157, 1158, 1159, 1161, 1162], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1154, "executed_branches": [], "missing_branches": []}, "TestCompactMaskResize.test_multi_mask_each_scales_independently": {"executed_lines": [1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1176, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1164, "executed_branches": [[1181, -1164], [1181, 1182]], "missing_branches": []}, "TestCompactMaskResize.test_zero_extent_extreme_downscale": {"executed_lines": [1189, 1190, 1191, 1192, 1194, 1196, 1197, 1198, 1199, 1200], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1187, "executed_branches": [], "missing_branches": []}, "TestCompactMaskResize.test_dense_parity_roundtrip": {"executed_lines": [1205, 1207, 1208, 1209, 1210, 1211, 1212, 1214, 1215, 1217, 1218, 1223, 1224, 1225], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1203, "executed_branches": [[1217, -1202], [1217, 1218]], "missing_branches": []}, "TestRleResize.test_identity_4x4": {"executed_lines": [1241, 1243, 1252, 1253, 1254, 1255], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1239, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_2x_upscale": {"executed_lines": [1259, 1261, 1263, 1270, 1271, 1272, 1274, 1277], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1257, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_2x_downscale": {"executed_lines": [1281, 1283, 1285, 1294, 1295, 1296, 1298, 1301], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1279, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_non_square_scale": {"executed_lines": [1305, 1307, 1309, 1310, 1311, 1312, 1313, 1314, 1316, 1319], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1303, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_all_false": {"executed_lines": [1334, 1336, 1337, 1338, 1339, 1340], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1330, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_all_true": {"executed_lines": [1355, 1357, 1358, 1359, 1360, 1361], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1351, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_single_pixel_true_upscale": {"executed_lines": [1365, 1367, 1369, 1370, 1371, 1372, 1373, 1375, 1378], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1363, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_roundtrip_parity_with_cv2": {"executed_lines": [1383, 1385, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1395, 1396, 1398, 1403, 1404], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1381, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_tall_and_wide_crops": {"executed_lines": [1423, 1425, 1427, 1428, 1429, 1430, 1431, 1433, 1438], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1419, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_prime_sized_crops": {"executed_lines": [1453, 1455, 1457, 1458, 1459, 1460, 1461, 1463, 1468], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1449, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_large_scale_ratio": {"executed_lines": [1484, 1486, 1487, 1488, 1489, 1491, 1492, 1494], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1477, "executed_branches": [[1491, 1492], [1491, 1494]], "missing_branches": []}, "TestRleResize.test_resize_dispatch_uses_l3_for_sparse": {"executed_lines": [1498, 1499, 1500, 1501, 1502, 1504, 1506, 1507, 1508], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1496, "executed_branches": [], "missing_branches": []}, "TestRleResize.test_resize_dispatch_uses_cv2_for_dense": {"executed_lines": [1516, 1518, 1522, 1524, 1526, 1527, 1528, 1529, 1530, 1535, 1536, 1537, 1540, 1541], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1510, "executed_branches": [], "missing_branches": []}, "TestResizeParallelPath.test_parallel_resize_correctness": {"executed_lines": [1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1558, 1559, 1561, 1562, 1564, 1565], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1547, "executed_branches": [[1552, 1553], [1552, 1555], [1564, -1547], [1564, 1565]], "missing_branches": []}, "TestResizeParallelPath.test_parallel_matches_sequential": {"executed_lines": [1569, 1570, 1571, 1572, 1574, 1582, 1583, 1585, 1586, 1587, 1590, 1591], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1567, "executed_branches": [], "missing_branches": []}, "TestResizeParallelPath.test_parallel_matches_sequential._make_masks": {"executed_lines": [1575, 1576, 1577, 1578, 1579, 1580], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1574, "executed_branches": [[1576, 1577], [1576, 1579]], "missing_branches": []}, "": {"executed_lines": [3, 5, 7, 8, 10, 14, 20, 28, 36, 45, 64, 80, 89, 94, 113, 119, 128, 133, 141, 149, 156, 168, 178, 190, 207, 216, 229, 243, 251, 256, 261, 270, 274, 283, 293, 301, 313, 320, 330, 338, 347, 361, 375, 379, 396, 403, 410, 419, 426, 435, 443, 451, 461, 472, 478, 490, 508, 526, 547, 561, 573, 589, 596, 612, 623, 635, 647, 655, 680, 693, 700, 734, 753, 767, 797, 804, 805, 819, 820, 829, 830, 844, 847, 848, 863, 864, 873, 876, 877, 899, 900, 921, 924, 925, 953, 954, 982, 985, 994, 1003, 1012, 1013, 1040, 1062, 1069, 1092, 1119, 1134, 1145, 1154, 1164, 1187, 1202, 1203, 1231, 1239, 1257, 1279, 1303, 1321, 1330, 1342, 1351, 1363, 1380, 1381, 1410, 1419, 1440, 1449, 1470, 1477, 1496, 1510, 1544, 1547, 1567], "summary": {"covered_lines": 137, "num_statements": 137, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestRleHelpers": {"executed_lines": [68, 69, 70, 71, 73, 74, 75, 76, 91, 92, 117, 130], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [[68, 69], [68, 73]], "missing_branches": []}, "TestFromDenseToDense": {"executed_lines": [150, 151, 152, 153, 154, 158, 159, 160, 162, 163, 165], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133, "executed_branches": [], "missing_branches": []}, "TestGetItem": {"executed_lines": [179, 180, 181, 182, 184, 185, 186, 187, 188, 191, 192, 193, 194, 199, 201, 202, 203, 204, 205, 208, 209, 210, 212, 213, 214, 217, 218, 219, 220, 222, 223, 224, 225, 226, 227, 231, 232, 233, 234, 236, 237, 238, 239, 240], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 168, "executed_branches": [[193, 194], [193, 199]], "missing_branches": []}, "TestProperties": {"executed_lines": [252, 253, 254, 257, 258, 259, 262, 268, 271, 272, 275, 276, 277, 278, 280, 281, 284, 290], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 243, "executed_branches": [], "missing_branches": []}, "TestCrop": {"executed_lines": [302, 303, 304, 305, 306, 308, 309, 310], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 293, "executed_branches": [], "missing_branches": []}, "TestArrayProtocol": {"executed_lines": [321, 322, 323, 324, 326, 327, 328, 331, 332, 333, 334, 335], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 313, "executed_branches": [], "missing_branches": []}, "TestMerge": {"executed_lines": [348, 349, 350, 351, 352, 354, 355, 356, 357, 362, 363, 369, 370, 372, 373, 376, 377, 380, 386, 392, 393], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 338, "executed_branches": [], "missing_branches": []}, "TestEquality": {"executed_lines": [404, 405, 406, 407, 408, 411, 412, 413, 414, 415, 416, 417, 420, 421, 422, 423], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 396, "executed_branches": [], "missing_branches": []}, "TestEdgeCases": {"executed_lines": [437, 438, 439, 440, 441, 444, 445, 446, 447, 448, 449, 453, 454, 455, 456, 457, 458, 459, 462, 468, 469, 470, 473, 474, 475, 476, 479, 480, 481, 482, 483, 485, 486, 487, 488, 492, 493, 494, 495, 496, 498, 499, 500, 506, 510, 511, 512, 513, 514, 516, 517, 518, 524, 528, 529, 530, 533, 534, 537, 539, 542, 543, 545, 549, 550, 551, 553, 554, 555, 557, 558, 559, 563, 569, 570, 571, 575, 576, 577, 580, 581, 582, 584, 585, 586], "summary": {"covered_lines": 85, "num_statements": 85, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 426, "executed_branches": [], "missing_branches": []}, "TestCalculateMasksCentroidsCompact": {"executed_lines": [598, 599, 600, 602, 603, 605, 607, 608, 610, 614, 615, 616, 618, 619, 621, 625, 626, 627, 628, 630, 631, 633, 637, 643, 644], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 589, "executed_branches": [[602, 603], [602, 605]], "missing_branches": []}, "TestContainsHolesCompact": {"executed_lines": [684, 685, 686, 688, 689, 690], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 647, "executed_branches": [], "missing_branches": []}, "TestContainsMultipleSegmentsCompact": {"executed_lines": [738, 739, 740, 742, 743, 744, 745], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 693, "executed_branches": [], "missing_branches": []}, "TestCompactMaskRoundtripRandom": {"executed_lines": [806, 807, 808, 809, 810, 822, 823, 824, 825, 826, 827, 832, 833, 834, 835, 836, 837], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 797, "executed_branches": [[836, -829], [836, 837]], "missing_branches": []}, "TestCompactMaskAreaRandom": {"executed_lines": [849, 850, 851, 852, 854, 855, 866, 867, 868, 869, 870], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 844, "executed_branches": [], "missing_branches": []}, "TestCompactMaskFilterRandom": {"executed_lines": [878, 879, 880, 881, 883, 885, 886, 888, 889, 891, 892, 893, 902, 903, 904, 905, 907, 908, 912, 913, 914], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 873, "executed_branches": [[885, 886], [885, 888]], "missing_branches": []}, "TestCompactMaskWithOffsetRandom": {"executed_lines": [926, 928, 929, 930, 931, 934, 935, 937, 938, 944, 956, 957, 958, 959, 960, 962, 963, 964, 966, 967, 969, 971, 972, 973, 975], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 921, "executed_branches": [[972, 973], [972, 975]], "missing_branches": []}, "TestRleSplitCols": {"executed_lines": [987, 989, 990, 991, 992, 996, 998, 999, 1000, 1001, 1005, 1007, 1008, 1009, 1010, 1015, 1020, 1021, 1022, 1023, 1024, 1025, 1027, 1028, 1029, 1032, 1033, 1034, 1048, 1053, 1054, 1055, 1059], "summary": {"covered_lines": 33, "num_statements": 33, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 982, "executed_branches": [[1028, 1029], [1028, 1032]], "missing_branches": []}, "TestCompactMaskResize": {"executed_lines": [1100, 1101, 1102, 1103, 1104, 1106, 1108, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, 1121, 1122, 1123, 1124, 1126, 1128, 1129, 1130, 1131, 1132, 1136, 1137, 1138, 1140, 1142, 1143, 1156, 1157, 1158, 1159, 1161, 1162, 1166, 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1176, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1189, 1190, 1191, 1192, 1194, 1196, 1197, 1198, 1199, 1200, 1205, 1207, 1208, 1209, 1210, 1211, 1212, 1214, 1215, 1217, 1218, 1223, 1224, 1225], "summary": {"covered_lines": 79, "num_statements": 79, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1062, "executed_branches": [[1131, -1119], [1131, 1132], [1181, -1164], [1181, 1182], [1217, -1202], [1217, 1218]], "missing_branches": []}, "TestRleResize": {"executed_lines": [1241, 1243, 1252, 1253, 1254, 1255, 1259, 1261, 1263, 1270, 1271, 1272, 1274, 1277, 1281, 1283, 1285, 1294, 1295, 1296, 1298, 1301, 1305, 1307, 1309, 1310, 1311, 1312, 1313, 1314, 1316, 1319, 1334, 1336, 1337, 1338, 1339, 1340, 1355, 1357, 1358, 1359, 1360, 1361, 1365, 1367, 1369, 1370, 1371, 1372, 1373, 1375, 1378, 1383, 1385, 1387, 1388, 1389, 1390, 1391, 1393, 1394, 1395, 1396, 1398, 1403, 1404, 1423, 1425, 1427, 1428, 1429, 1430, 1431, 1433, 1438, 1453, 1455, 1457, 1458, 1459, 1460, 1461, 1463, 1468, 1484, 1486, 1487, 1488, 1489, 1491, 1492, 1494, 1498, 1499, 1500, 1501, 1502, 1504, 1506, 1507, 1508, 1516, 1518, 1522, 1524, 1526, 1527, 1528, 1529, 1530, 1535, 1536, 1537, 1540, 1541], "summary": {"covered_lines": 116, "num_statements": 116, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1231, "executed_branches": [[1491, 1492], [1491, 1494]], "missing_branches": []}, "TestResizeParallelPath": {"executed_lines": [1549, 1550, 1551, 1552, 1553, 1554, 1555, 1556, 1558, 1559, 1561, 1562, 1564, 1565, 1569, 1570, 1571, 1572, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1582, 1583, 1585, 1586, 1587, 1590, 1591], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1544, "executed_branches": [[1552, 1553], [1552, 1555], [1564, -1547], [1564, 1565], [1576, 1577], [1576, 1579]], "missing_branches": []}, "": {"executed_lines": [3, 5, 7, 8, 10, 14, 20, 28, 30, 31, 32, 33, 36, 45, 64, 80, 89, 94, 113, 119, 128, 133, 141, 149, 156, 168, 178, 190, 207, 216, 229, 243, 251, 256, 261, 270, 274, 283, 293, 301, 313, 320, 330, 338, 347, 361, 375, 379, 396, 403, 410, 419, 426, 435, 443, 451, 461, 472, 478, 490, 508, 526, 547, 561, 573, 589, 596, 612, 623, 635, 647, 655, 680, 693, 700, 734, 753, 767, 781, 782, 783, 784, 785, 786, 787, 789, 790, 791, 793, 794, 797, 804, 805, 819, 820, 829, 830, 844, 847, 848, 863, 864, 873, 876, 877, 899, 900, 921, 924, 925, 953, 954, 982, 985, 994, 1003, 1012, 1013, 1040, 1062, 1069, 1092, 1119, 1134, 1145, 1154, 1164, 1187, 1202, 1203, 1231, 1239, 1257, 1279, 1303, 1321, 1330, 1342, 1351, 1363, 1380, 1381, 1410, 1419, 1440, 1449, 1470, 1477, 1496, 1510, 1544, 1547, 1567], "summary": {"covered_lines": 153, "num_statements": 153, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[782, 783], [782, 793], [789, 790], [789, 791]], "missing_branches": []}}}, "tests\\detection\\test_compact_mask_integration.py": {"executed_lines": [3, 5, 7, 8, 10, 11, 12, 15, 17, 20, 28, 29, 30, 31, 32, 38, 41, 49, 50, 51, 52, 53, 55, 56, 57, 58, 59, 60, 61, 64, 71, 72, 74, 75, 76, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 94, 102, 103, 104, 105, 106, 107, 108, 109, 110, 113, 120, 121, 122, 123, 124, 130, 133, 140, 141, 142, 143, 146, 156, 157, 158, 160, 161, 162, 163, 164, 171, 172, 173, 174, 175, 177, 179, 180, 181, 182, 183, 190, 191, 192, 194, 195, 197, 198, 199, 200, 201, 202, 209, 210, 211, 212, 213, 220, 221, 222, 225, 234, 235, 236, 237, 244, 245, 247, 248, 250, 256, 257, 259, 260, 261, 262, 263, 265, 266, 268, 269, 271, 272, 274], "summary": {"covered_lines": 133, "num_statements": 133, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[105, -102], [105, 106]], "missing_branches": [], "functions": {"_full_xyxy": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 15, "executed_branches": [], "missing_branches": []}, "_make_compact_detections": {"executed_lines": [28, 29, 30, 31, 32, 38], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20, "executed_branches": [], "missing_branches": []}, "TestConstruction.test_detections_construction_with_compact_mask": {"executed_lines": [50, 51, 52, 53], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49, "executed_branches": [], "missing_branches": []}, "TestConstruction.test_detections_compact_mask_validation_mismatch": {"executed_lines": [56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 55, "executed_branches": [], "missing_branches": []}, "TestFiltering.test_int_wraps_to_compact_mask": {"executed_lines": [72, 74, 75, 76], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 71, "executed_branches": [], "missing_branches": []}, "TestFiltering.test_slice_preserves_compact_mask": {"executed_lines": [79, 80, 81, 82, 83], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 78, "executed_branches": [], "missing_branches": []}, "TestFiltering.test_bool_array_preserves_compact_mask": {"executed_lines": [86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 85, "executed_branches": [], "missing_branches": []}, "TestIteration.test_iter_yields_2d_dense": {"executed_lines": [103, 104, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 102, "executed_branches": [[105, -102], [105, 106]], "missing_branches": []}, "TestEquality.test_compact_vs_dense": {"executed_lines": [121, 122, 123, 124, 130], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 120, "executed_branches": [], "missing_branches": []}, "TestArea.test_compact_matches_dense": {"executed_lines": [141, 142, 143], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 140, "executed_branches": [], "missing_branches": []}, "TestMerge.test_all_compact": {"executed_lines": [157, 158, 160, 161, 162, 163, 164, 171, 172, 173, 174, 175], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 156, "executed_branches": [], "missing_branches": []}, "TestMerge.test_mixed_compact_and_dense": {"executed_lines": [179, 180, 181, 182, 183, 190, 191, 192], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 177, "executed_branches": [], "missing_branches": []}, "TestMerge.test_inner_pair_with_compact": {"executed_lines": [195, 197, 198, 199, 200, 201, 202, 209, 210, 211, 212, 213, 220, 221, 222], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 194, "executed_branches": [], "missing_branches": []}, "TestAnnotators.test_mask_annotator": {"executed_lines": [235, 236, 237, 244, 245, 247, 248, 250], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 234, "executed_branches": [], "missing_branches": []}, "TestAnnotators.test_polygon_annotator": {"executed_lines": [257, 259, 260, 261, 262, 263, 265, 266, 268, 269, 271, 272, 274], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 256, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [3, 5, 7, 8, 10, 11, 12, 15, 20, 41, 49, 55, 64, 71, 78, 85, 94, 102, 113, 120, 133, 140, 146, 156, 177, 194, 225, 234, 256], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestConstruction": {"executed_lines": [50, 51, 52, 53, 56, 57, 58, 59, 60, 61], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "TestFiltering": {"executed_lines": [72, 74, 75, 76, 79, 80, 81, 82, 83, 86, 87, 88, 89, 90, 91], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64, "executed_branches": [], "missing_branches": []}, "TestIteration": {"executed_lines": [103, 104, 105, 106, 107, 108, 109, 110], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94, "executed_branches": [[105, -102], [105, 106]], "missing_branches": []}, "TestEquality": {"executed_lines": [121, 122, 123, 124, 130], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 113, "executed_branches": [], "missing_branches": []}, "TestArea": {"executed_lines": [141, 142, 143], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133, "executed_branches": [], "missing_branches": []}, "TestMerge": {"executed_lines": [157, 158, 160, 161, 162, 163, 164, 171, 172, 173, 174, 175, 179, 180, 181, 182, 183, 190, 191, 192, 195, 197, 198, 199, 200, 201, 202, 209, 210, 211, 212, 213, 220, 221, 222], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 146, "executed_branches": [], "missing_branches": []}, "TestAnnotators": {"executed_lines": [235, 236, 237, 244, 245, 247, 248, 250, 257, 259, 260, 261, 262, 263, 265, 266, 268, 269, 271, 272, 274], "summary": {"covered_lines": 21, "num_statements": 21, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 225, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [3, 5, 7, 8, 10, 11, 12, 15, 17, 20, 28, 29, 30, 31, 32, 38, 41, 49, 55, 64, 71, 78, 85, 94, 102, 113, 120, 133, 140, 146, 156, 177, 194, 225, 234, 256], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\test_compact_mask_iou.py": {"executed_lines": [11, 13, 14, 16, 17, 30, 32, 33, 34, 37, 40, 42, 44, 45, 48, 54, 57, 65, 67, 68, 69, 71, 72, 74, 75, 77, 78, 79, 81, 83, 84, 85, 86, 88, 89, 91, 92, 94, 96, 97, 98, 99, 101, 102, 104, 105, 107, 108, 110, 112, 113, 114, 115, 117, 118, 120, 121, 123, 125, 127, 130, 131, 133, 134, 136, 137, 139, 141, 142, 144, 146, 147, 148, 149, 151, 152, 154, 155, 157, 159, 161, 162, 163, 165, 166, 168, 169, 170, 172, 174, 175, 181, 182, 184, 185, 187, 188, 190, 192, 193, 194, 196, 197, 199, 200, 202, 203, 204, 207, 216, 217, 218, 219, 220, 222, 223, 225, 226, 228, 230, 232, 233, 234, 235, 237, 239, 240, 241, 244, 252, 255, 256, 257, 258, 259, 261, 262, 266, 268, 269, 271, 273, 280, 281, 283, 284, 286, 287, 288, 290, 291, 293, 295, 297, 298, 299, 300, 301, 303, 304, 305, 307, 308, 310, 312, 313, 314, 316, 317, 318, 319, 321, 322, 323, 326, 333, 335, 336, 337, 338, 339, 341, 342, 343, 345, 346, 348, 349, 351, 353, 355, 356, 357, 358, 359, 361, 362, 363, 365, 366, 367, 369, 371, 372, 373, 374, 376, 377, 378, 380, 381, 382, 390, 404, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 425, 432, 433, 434, 435, 436, 438, 439, 441, 442, 444, 445, 447, 450, 457, 458, 460, 461, 462, 464, 465, 467, 474, 475, 477, 479, 480, 481, 483, 484, 486, 487, 489, 490, 492, 493, 495], "summary": {"covered_lines": 262, "num_statements": 262, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[196, 197], [196, 199], [413, 414], [413, 422], [419, 420], [419, 421]], "missing_branches": [], "functions": {"_cm_from_masks": {"executed_lines": [32, 33, 34, 37], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 30, "executed_branches": [], "missing_branches": []}, "_cm_tight": {"executed_lines": [42, 44, 45], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 40, "executed_branches": [], "missing_branches": []}, "_dense_iou": {"executed_lines": [54], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 48, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_no_overlap_gives_zero": {"executed_lines": [67, 68, 69, 71, 72, 74, 75, 77, 78, 79], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 65, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_identical_masks_give_one": {"executed_lines": [83, 84, 85, 86, 88, 89, 91, 92], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 81, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_matches_dense_random": {"executed_lines": [96, 97, 98, 99, 101, 102, 104, 105, 107, 108], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_matches_dense_with_tight_bboxes": {"executed_lines": [112, 113, 114, 115, 117, 118, 120, 121, 123], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_partial_overlap": {"executed_lines": [127, 130, 131, 133, 134, 136, 137, 139, 141, 142], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 125, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_ios_metric": {"executed_lines": [146, 147, 148, 149, 151, 152, 154, 155, 157], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 144, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_all_false_masks": {"executed_lines": [161, 162, 163, 165, 166, 168, 169, 170], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 159, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_empty_inputs": {"executed_lines": [174, 175, 181, 182, 184, 185, 187, 188], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 172, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouBatch.test_n_by_n_pairwise": {"executed_lines": [192, 193, 194, 196, 197, 199, 200, 202, 203, 204], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 190, "executed_branches": [[196, 197], [196, 199]], "missing_branches": []}, "TestMaskIouBatchDispatch.test_both_compact_dispatches_to_rle": {"executed_lines": [217, 218, 219, 220, 222, 223, 225, 226, 228], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 216, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatchDispatch.test_mixed_compact_and_dense": {"executed_lines": [232, 233, 234, 235, 237, 239, 240, 241], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 230, "executed_branches": [], "missing_branches": []}, "TestNmsWithCompactMask.test_nms_compact_matches_dense": {"executed_lines": [255, 256, 257, 258, 259, 261, 262, 266, 268, 269, 271], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 252, "executed_branches": [], "missing_branches": []}, "TestNmsWithCompactMask.test_nms_compact_matches_dense_borderline": {"executed_lines": [280, 281, 283, 284, 286, 287, 288, 290, 291, 293], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 273, "executed_branches": [], "missing_branches": []}, "TestNmsWithCompactMask.test_nms_compact_no_suppression": {"executed_lines": [297, 298, 299, 300, 301, 303, 304, 305, 307, 308], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 295, "executed_branches": [], "missing_branches": []}, "TestNmsWithCompactMask.test_nms_compact_full_suppression": {"executed_lines": [312, 313, 314, 316, 317, 318, 319, 321, 322, 323], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 310, "executed_branches": [], "missing_branches": []}, "TestNmmWithCompactMask.test_nmm_compact_matches_dense": {"executed_lines": [335, 336, 337, 338, 339, 341, 342, 343, 345, 346, 348, 351], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 333, "executed_branches": [], "missing_branches": []}, "TestNmmWithCompactMask.test_nmm_compact_matches_dense.normalise": {"executed_lines": [349], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 348, "executed_branches": [], "missing_branches": []}, "TestNmmWithCompactMask.test_nmm_no_merge": {"executed_lines": [355, 356, 357, 358, 359, 361, 362, 363, 365, 366, 367], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 353, "executed_branches": [], "missing_branches": []}, "TestNmmWithCompactMask.test_nmm_full_merge": {"executed_lines": [371, 372, 373, 374, 376, 377, 378, 380, 381, 382], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 369, "executed_branches": [], "missing_branches": []}, "_random_masks": {"executed_lines": [412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 404, "executed_branches": [[413, 414], [413, 422], [419, 420], [419, 421]], "missing_branches": []}, "TestCompactMaskIouRandom.test_parity_seed": {"executed_lines": [434, 435, 436, 438, 439, 441, 442, 444, 445, 447, 450], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 433, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouRandom.test_self_iou_diagonal": {"executed_lines": [460, 461, 462, 464, 465, 467], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 458, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouRandom.test_tight_bbox_parity": {"executed_lines": [477, 479, 480, 481, 483, 484, 486, 487, 489, 490, 492, 493, 495], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 475, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [11, 13, 14, 16, 17, 30, 40, 48, 57, 65, 81, 94, 110, 125, 144, 159, 172, 190, 207, 216, 230, 244, 252, 273, 295, 310, 326, 333, 353, 369, 390, 404, 425, 432, 433, 457, 458, 474, 475], "summary": {"covered_lines": 39, "num_statements": 39, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestCompactMaskIouBatch": {"executed_lines": [67, 68, 69, 71, 72, 74, 75, 77, 78, 79, 83, 84, 85, 86, 88, 89, 91, 92, 96, 97, 98, 99, 101, 102, 104, 105, 107, 108, 112, 113, 114, 115, 117, 118, 120, 121, 123, 127, 130, 131, 133, 134, 136, 137, 139, 141, 142, 146, 147, 148, 149, 151, 152, 154, 155, 157, 161, 162, 163, 165, 166, 168, 169, 170, 174, 175, 181, 182, 184, 185, 187, 188, 192, 193, 194, 196, 197, 199, 200, 202, 203, 204], "summary": {"covered_lines": 82, "num_statements": 82, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57, "executed_branches": [[196, 197], [196, 199]], "missing_branches": []}, "TestMaskIouBatchDispatch": {"executed_lines": [217, 218, 219, 220, 222, 223, 225, 226, 228, 232, 233, 234, 235, 237, 239, 240, 241], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 207, "executed_branches": [], "missing_branches": []}, "TestNmsWithCompactMask": {"executed_lines": [255, 256, 257, 258, 259, 261, 262, 266, 268, 269, 271, 280, 281, 283, 284, 286, 287, 288, 290, 291, 293, 297, 298, 299, 300, 301, 303, 304, 305, 307, 308, 312, 313, 314, 316, 317, 318, 319, 321, 322, 323], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 244, "executed_branches": [], "missing_branches": []}, "TestNmmWithCompactMask": {"executed_lines": [335, 336, 337, 338, 339, 341, 342, 343, 345, 346, 348, 349, 351, 355, 356, 357, 358, 359, 361, 362, 363, 365, 366, 367, 371, 372, 373, 374, 376, 377, 378, 380, 381, 382], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 326, "executed_branches": [], "missing_branches": []}, "TestCompactMaskIouRandom": {"executed_lines": [434, 435, 436, 438, 439, 441, 442, 444, 445, 447, 450, 460, 461, 462, 464, 465, 467, 477, 479, 480, 481, 483, 484, 486, 487, 489, 490, 492, 493, 495], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 425, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [11, 13, 14, 16, 17, 30, 32, 33, 34, 37, 40, 42, 44, 45, 48, 54, 57, 65, 81, 94, 110, 125, 144, 159, 172, 190, 207, 216, 230, 244, 252, 273, 295, 310, 326, 333, 353, 369, 390, 404, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 425, 432, 433, 457, 458, 474, 475], "summary": {"covered_lines": 58, "num_statements": 58, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[413, 414], [413, 422], [419, 420], [419, 421]], "missing_branches": []}}}, "tests\\detection\\test_core.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 22, 37, 45, 46, 47, 58, 69, 88, 99, 102, 110, 120, 126, 131, 135, 142, 143, 144, 145, 146, 150, 155, 156, 160, 166, 299, 310, 311, 312, 315, 579, 584, 585, 586, 589, 660, 666, 667, 668, 671, 716, 719, 722, 880, 886, 887, 888, 891, 941, 943, 946, 948, 949, 963, 964, 967, 968, 971, 974, 975, 976, 979, 980, 983, 986, 987, 988, 990, 991, 992, 995, 998, 999, 1000, 1001, 1004, 1007, 1011, 1012, 1013, 1021, 1024, 1031, 1035, 1036, 1037, 1039, 1041, 1043, 1050, 1052, 1058, 1060, 1063, 1066, 1125, 1129, 1130, 1131, 1132, 1134, 1137, 1140, 1445, 1451, 1452, 1453, 1454, 1455, 1459, 1460, 1461, 1463, 1464, 1465, 1467, 1468, 1469, 1471, 1472, 1473, 1474, 1475, 1476, 1479, 1482, 1655, 1668, 1669, 1673, 1680, 1687, 1688, 1690, 1691, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1710, 1712, 1713, 1714, 1716, 1721, 1736, 1737, 1739, 1740, 1741, 1743, 1745, 1759, 1761, 1763, 1764, 1766, 1768, 1775, 1777, 1780, 1783, 1792, 1796, 1797, 1799, 1801, 1803, 1808, 1809, 1811, 1814, 1815, 1816, 1817, 1824, 1826, 1829, 1835, 1837, 1840, 1841, 1843, 1845, 1849, 1854, 1856, 1858, 1865, 1867, 1868, 1874, 1875, 1877, 1885, 1889, 1890, 1891, 1892, 1893, 1898, 1899, 1900, 1906], "summary": {"covered_lines": 220, "num_statements": 220, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 24, "num_partial_branches": 0, "covered_branches": 24, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[975, 976], [975, 979], [1131, 1132], [1131, 1134], [1454, 1455], [1454, 1459], [1460, 1461], [1460, 1463], [1464, 1465], [1464, 1467], [1468, 1469], [1468, 1471], [1472, 1473], [1472, 1474], [1474, -1140], [1474, 1475], [1668, 1669], [1668, 1687], [1700, 1701], [1700, 1702], [1889, 1890], [1889, 1892], [1892, 1893], [1892, 1898]], "missing_branches": [], "functions": {"test_detections_bool_mask_types_do_not_warn": {"executed_lines": [144, 145, 146, 150], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 143, "executed_branches": [], "missing_branches": []}, "test_detections_non_bool_mask_warns_with_migration_path": {"executed_lines": [156, 160], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 155, "executed_branches": [], "missing_branches": []}, "test_getitem": {"executed_lines": [310, 311, 312], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 299, "executed_branches": [], "missing_branches": []}, "test_merge": {"executed_lines": [584, 585, 586], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 579, "executed_branches": [], "missing_branches": []}, "test_get_anchor_coordinates": {"executed_lines": [666, 667, 668], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 660, "executed_branches": [], "missing_branches": []}, "test_equal": {"executed_lines": [719], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 716, "executed_branches": [], "missing_branches": []}, "test_merge_inner_detection_object_pair": {"executed_lines": [886, 887, 888], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 880, "executed_branches": [], "missing_branches": []}, "test_is_empty": {"executed_lines": [943], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 941, "executed_branches": [], "missing_branches": []}, "test_from_inference_empty_class_name_dtype_matches_non_empty": {"executed_lines": [948, 949, 963, 964, 967, 968, 971, 974, 975, 976, 979, 980], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 946, "executed_branches": [[975, 976], [975, 979]], "missing_branches": []}, "test_from_inference_sdk_dict_path_empty_preserves_class_name_dtype": {"executed_lines": [986, 987, 990, 991, 992], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 983, "executed_branches": [], "missing_branches": []}, "test_from_inference_sdk_dict_path_empty_preserves_class_name_dtype._FakeSdkResult.dict": {"executed_lines": [988], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 987, "executed_branches": [], "missing_branches": []}, "_rotated_rect": {"executed_lines": [998, 999, 1000, 1001, 1004], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 995, "executed_branches": [], "missing_branches": []}, "_make_obb_detections": {"executed_lines": [1011, 1012, 1013], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1007, "executed_branches": [], "missing_branches": []}, "TestDetectionsObbDispatch.test_uses_obb_iou_when_oriented_box_coordinates_present": {"executed_lines": [1035, 1036, 1037, 1039, 1041], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1031, "executed_branches": [], "missing_branches": []}, "TestDetectionsObbDispatch.test_falls_back_without_obb_data": {"executed_lines": [1052, 1058, 1060], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1050, "executed_branches": [], "missing_branches": []}, "TestMergeObbCorners.test_merge": {"executed_lines": [1129, 1130, 1131, 1132, 1134], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1125, "executed_branches": [[1131, 1132], [1131, 1134]], "missing_branches": []}, "TestMergeDetectionGroup.test_merge": {"executed_lines": [1451, 1452, 1453, 1454, 1455, 1459, 1460, 1461, 1463, 1464, 1465, 1467, 1468, 1469, 1471, 1472, 1473, 1474, 1475, 1476], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1445, "executed_branches": [[1454, 1455], [1454, 1459], [1460, 1461], [1460, 1463], [1464, 1465], [1464, 1467], [1468, 1469], [1468, 1471], [1472, 1473], [1472, 1474], [1474, -1140], [1474, 1475]], "missing_branches": []}, "TestDetectionsWithNMM.test_obb_nmm_merge": {"executed_lines": [1668, 1669, 1673, 1680, 1687, 1688, 1690, 1691, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1655, "executed_branches": [[1668, 1669], [1668, 1687], [1700, 1701], [1700, 1702]], "missing_branches": []}, "TestDetectionsWithNMM.test_obb_nmm_matches_aabb_for_axis_aligned": {"executed_lines": [1712, 1713, 1714, 1716, 1721, 1736, 1737, 1739, 1740, 1741], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1710, "executed_branches": [], "missing_branches": []}, "TestDetectionsWithNMM.test_staircase_obb_merge_within_union": {"executed_lines": [1745, 1759, 1761, 1763, 1764], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1743, "executed_branches": [], "missing_branches": []}, "TestDetectionsWithNMM.test_obb_nmm_empty_detections": {"executed_lines": [1768, 1775, 1777], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1766, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_uses_oriented_box_corners_when_present": {"executed_lines": [1796, 1797, 1799], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1792, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_falls_back_to_box_area_without_obb_data": {"executed_lines": [1803, 1808, 1809], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1801, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_mask_takes_precedence_over_oriented_box": {"executed_lines": [1814, 1815, 1816, 1817, 1824], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1811, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_empty_detections_with_obb_data_returns_empty_array": {"executed_lines": [1829, 1835], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1826, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_degenerate_oriented_box_has_zero_area": {"executed_lines": [1840, 1841, 1843], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1837, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_handles_batched_oriented_boxes": {"executed_lines": [1849, 1854, 1856], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1845, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_raises_on_malformed_obb_coordinates_shape": {"executed_lines": [1867, 1868, 1874, 1875], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1865, "executed_branches": [], "missing_branches": []}, "TestDetectionsArea.test_area_return_dtype_per_branch": {"executed_lines": [1889, 1890, 1891, 1892, 1893, 1898, 1899, 1900, 1906], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1885, "executed_branches": [[1889, 1890], [1889, 1892], [1892, 1893], [1892, 1898]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 22, 37, 45, 46, 47, 58, 69, 88, 99, 102, 110, 120, 126, 131, 135, 142, 143, 155, 166, 299, 315, 579, 589, 660, 671, 716, 722, 880, 891, 941, 946, 983, 995, 1007, 1021, 1024, 1031, 1043, 1050, 1063, 1066, 1125, 1137, 1140, 1445, 1479, 1482, 1655, 1710, 1743, 1766, 1780, 1783, 1792, 1801, 1811, 1826, 1837, 1845, 1858, 1865, 1877, 1885], "summary": {"covered_lines": 75, "num_statements": 75, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"test_from_inference_sdk_dict_path_empty_preserves_class_name_dtype._FakeSdkResult": {"executed_lines": [988], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 986, "executed_branches": [], "missing_branches": []}, "TestDetectionsObbDispatch": {"executed_lines": [1035, 1036, 1037, 1039, 1041, 1052, 1058, 1060], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1021, "executed_branches": [], "missing_branches": []}, "TestMergeObbCorners": {"executed_lines": [1129, 1130, 1131, 1132, 1134], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1063, "executed_branches": [[1131, 1132], [1131, 1134]], "missing_branches": []}, "TestMergeDetectionGroup": {"executed_lines": [1451, 1452, 1453, 1454, 1455, 1459, 1460, 1461, 1463, 1464, 1465, 1467, 1468, 1469, 1471, 1472, 1473, 1474, 1475, 1476], "summary": {"covered_lines": 20, "num_statements": 20, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1137, "executed_branches": [[1454, 1455], [1454, 1459], [1460, 1461], [1460, 1463], [1464, 1465], [1464, 1467], [1468, 1469], [1468, 1471], [1472, 1473], [1472, 1474], [1474, -1140], [1474, 1475]], "missing_branches": []}, "TestDetectionsWithNMM": {"executed_lines": [1668, 1669, 1673, 1680, 1687, 1688, 1690, 1691, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, 1712, 1713, 1714, 1716, 1721, 1736, 1737, 1739, 1740, 1741, 1745, 1759, 1761, 1763, 1764, 1768, 1775, 1777], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1479, "executed_branches": [[1668, 1669], [1668, 1687], [1700, 1701], [1700, 1702]], "missing_branches": []}, "TestDetectionsArea": {"executed_lines": [1796, 1797, 1799, 1803, 1808, 1809, 1814, 1815, 1816, 1817, 1824, 1829, 1835, 1840, 1841, 1843, 1849, 1854, 1856, 1867, 1868, 1874, 1875, 1889, 1890, 1891, 1892, 1893, 1898, 1899, 1900, 1906], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1780, "executed_branches": [[1889, 1890], [1889, 1892], [1892, 1893], [1892, 1898]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 16, 17, 18, 19, 20, 22, 37, 45, 46, 47, 58, 69, 88, 99, 102, 110, 120, 126, 131, 135, 142, 143, 144, 145, 146, 150, 155, 156, 160, 166, 299, 310, 311, 312, 315, 579, 584, 585, 586, 589, 660, 666, 667, 668, 671, 716, 719, 722, 880, 886, 887, 888, 891, 941, 943, 946, 948, 949, 963, 964, 967, 968, 971, 974, 975, 976, 979, 980, 983, 986, 987, 990, 991, 992, 995, 998, 999, 1000, 1001, 1004, 1007, 1011, 1012, 1013, 1021, 1024, 1031, 1043, 1050, 1063, 1066, 1125, 1137, 1140, 1445, 1479, 1482, 1655, 1710, 1743, 1766, 1780, 1783, 1792, 1801, 1811, 1826, 1837, 1845, 1858, 1865, 1877, 1885], "summary": {"covered_lines": 120, "num_statements": 120, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[975, 976], [975, 979]], "missing_branches": []}}}, "tests\\detection\\test_csv.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 11, 12, 15, 293, 301, 302, 303, 305, 306, 307, 309, 311, 314, 501, 509, 510, 511, 512, 513, 515, 518, 519, 520, 521, 522, 526, 529, 540, 541], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[302, 303], [302, 305], [306, 307], [306, 309], [521, 522], [521, 526]], "missing_branches": [], "functions": {"test_csv_sink": {"executed_lines": [301, 302, 303, 305, 306, 307, 309, 311], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 293, "executed_branches": [[302, 303], [302, 305], [306, 307], [306, 309]], "missing_branches": []}, "test_csv_sink_manual": {"executed_lines": [509, 510, 511, 512, 513, 515], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 501, "executed_branches": [], "missing_branches": []}, "assert_csv_equal": {"executed_lines": [519, 520, 521, 522, 526], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 518, "executed_branches": [[521, 522], [521, 526]], "missing_branches": []}, "test_csv_sink_slice_value": {"executed_lines": [541], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 540, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 11, 12, 15, 293, 314, 501, 518, 529, 540], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 11, 12, 15, 293, 301, 302, 303, 305, 306, 307, 309, 311, 314, 501, 509, 510, 511, 512, 513, 515, 518, 519, 520, 521, 522, 526, 529, 540, 541], "summary": {"covered_lines": 36, "num_statements": 36, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[302, 303], [302, 305], [306, 307], [306, 309], [521, 522], [521, 526]], "missing_branches": []}}}, "tests\\detection\\test_from_adapters.py": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 18, 19, 26, 28, 30, 31, 32, 33, 36, 37, 38, 39, 40, 42, 43, 45, 47, 48, 49, 50, 52, 53, 54, 57, 60, 62, 63, 65, 68, 70, 72, 73, 74, 77, 94, 100, 105, 107, 109, 110, 111, 112, 113], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[110, -77], [110, 111]], "missing_branches": [], "functions": {"test_from_yolov5_maps_columns_correctly": {"executed_lines": [19, 26, 28, 30, 31, 32, 33], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18, "executed_branches": [], "missing_branches": []}, "test_from_ultralytics_boxes_branch_maps_fields_and_class_names": {"executed_lines": [37, 38, 39, 40, 42, 43, 45, 47, 48, 49, 50, 52, 53, 54], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "test_from_ultralytics_segmentation_only_branch_uses_masks_and_arange": {"executed_lines": [60, 62, 63, 65, 68, 70, 72, 73, 74], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 57, "executed_branches": [], "missing_branches": []}, "test_from_yolo_nas_handles_empty_and_non_empty": {"executed_lines": [100, 105, 107, 109, 110, 111, 112, 113], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94, "executed_branches": [[110, -77], [110, 111]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 18, 36, 57, 77, 94], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 8, 9, 18, 19, 26, 28, 30, 31, 32, 33, 36, 37, 38, 39, 40, 42, 43, 45, 47, 48, 49, 50, 52, 53, 54, 57, 60, 62, 63, 65, 68, 70, 72, 73, 74, 77, 94, 100, 105, 107, 109, 110, 111, 112, 113], "summary": {"covered_lines": 50, "num_statements": 50, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[110, -77], [110, 111]], "missing_branches": []}}}, "tests\\detection\\test_from_sam.py": {"executed_lines": [1, 3, 5, 6, 8, 10, 42, 68, 83, 99, 116, 121, 123, 124, 125, 127, 130, 202, 209, 213, 214, 215, 218, 219, 220, 223], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[124, 125], [124, 127]], "missing_branches": [], "functions": {"test_from_sam": {"executed_lines": [121, 123, 124, 125, 127], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 116, "executed_branches": [[124, 125], [124, 127]], "missing_branches": []}, "test_from_sam3": {"executed_lines": [209, 213, 214, 215], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 202, "executed_branches": [], "missing_branches": []}, "test_from_sam3_invalid_resolution": {"executed_lines": [219, 220, 223], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 218, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 10, 42, 68, 83, 99, 116, 130, 202, 218], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 8, 10, 42, 68, 83, 99, 116, 121, 123, 124, 125, 127, 130, 202, 209, 213, 214, 215, 218, 219, 220, 223], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[124, 125], [124, 127]], "missing_branches": []}}}, "tests\\detection\\test_inference_slicer_compact.py": {"executed_lines": [9, 11, 13, 14, 15, 18, 20, 21, 22, 23, 24, 25, 33, 45, 47, 48, 55, 56, 60, 62, 63, 70, 71, 72, 74, 76, 78, 86, 95, 96, 98, 100, 101, 104, 105, 107, 108, 110, 116, 118, 120, 122, 124, 125, 127, 135, 137, 138, 142, 145, 146, 147, 153, 154, 161, 162], "summary": {"covered_lines": 56, "num_statements": 56, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"_fake_seg_callback": {"executed_lines": [20, 21, 22, 23, 24, 25], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_compact_masks_flag_converts_dense_to_compact": {"executed_lines": [47, 48, 55, 56], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_compact_masks_false_keeps_dense": {"executed_lines": [62, 63, 70, 71, 72], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_compact_and_dense_pipelines_give_same_masks": {"executed_lines": [76, 78, 86, 95, 96, 98, 100, 101, 104, 107, 108, 110], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 74, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_compact_and_dense_pipelines_give_same_masks._sort_key": {"executed_lines": [105], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 104, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_nms_with_overlapping_tiles_uses_rle_iou": {"executed_lines": [118, 120, 122, 127, 135, 137, 138], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 116, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_nms_with_overlapping_tiles_uses_rle_iou.counting_callback": {"executed_lines": [124, 125], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 122, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_no_mask_callback_unaffected": {"executed_lines": [145, 153, 154, 161, 162], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142, "executed_branches": [], "missing_branches": []}, "TestInferenceSlicerCompactMasks.test_no_mask_callback_unaffected.box_only_callback": {"executed_lines": [146, 147], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 145, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [9, 11, 13, 14, 15, 18, 33, 45, 60, 74, 116, 142], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestInferenceSlicerCompactMasks": {"executed_lines": [47, 48, 55, 56, 62, 63, 70, 71, 72, 76, 78, 86, 95, 96, 98, 100, 101, 104, 105, 107, 108, 110, 118, 120, 122, 124, 125, 127, 135, 137, 138, 145, 146, 147, 153, 154, 161, 162], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [9, 11, 13, 14, 15, 18, 20, 21, 22, 23, 24, 25, 33, 45, 60, 74, 116, 142], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\test_json.py": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 11, 14, 377, 385, 386, 387, 389, 390, 391, 393, 395, 398, 408, 412, 413, 418, 419, 420, 421, 422, 425, 427, 428, 432, 433, 434, 435, 436, 439, 441, 442, 445, 446, 447, 448, 452], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[386, 387], [386, 389], [390, 391], [390, 393]], "missing_branches": [], "functions": {"test_json_sink": {"executed_lines": [385, 386, 387, 389, 390, 391, 393, 395], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 377, "executed_branches": [[386, 387], [386, 389], [390, 391], [390, 393]], "missing_branches": []}, "test_json_sink_serializes_numpy_scalar_custom_data": {"executed_lines": [412, 413, 418, 419, 420, 421, 422], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 408, "executed_branches": [], "missing_branches": []}, "test_json_sink_serializes_nested_numpy_array_custom_data": {"executed_lines": [427, 428, 432, 433, 434, 435, 436], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 425, "executed_branches": [], "missing_branches": []}, "test_json_default_raises_for_unserializable_type": {"executed_lines": [441, 442], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 439, "executed_branches": [], "missing_branches": []}, "assert_json_equal": {"executed_lines": [446, 447, 448, 452], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 445, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 11, 14, 377, 398, 408, 425, 439, 445], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 8, 10, 11, 14, 377, 385, 386, 387, 389, 390, 391, 393, 395, 398, 408, 412, 413, 418, 419, 420, 421, 422, 425, 427, 428, 432, 433, 434, 435, 436, 439, 441, 442, 445, 446, 447, 448, 452], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[386, 387], [386, 389], [390, 391], [390, 393]], "missing_branches": []}}}, "tests\\detection\\test_line_counter.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 14, 69, 74, 75, 76, 79, 237, 243, 245, 246, 247, 248, 252, 253, 254, 256, 259, 264, 404, 411, 415, 416, 417, 418, 422, 423, 424, 426, 429, 434, 482, 490, 491, 494, 495, 496, 497, 501, 502, 503, 505, 506, 509, 597, 605, 612, 613, 614, 615, 619, 620, 621, 623, 626, 631, 770, 781, 782, 788, 789, 790, 791, 792, 793, 797, 798, 799, 800, 801, 803, 804, 805, 806, 809, 864, 871, 873, 876, 879, 881, 882, 885, 886, 892, 894, 895, 896, 897, 898, 899, 901, 902, 905, 907, 913, 920, 921, 923, 924, 925, 926], "summary": {"covered_lines": 109, "num_statements": 109, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[247, 248], [247, 256], [417, 418], [417, 426], [496, 497], [496, 505], [614, 615], [614, 623], [792, 793], [792, 803], [873, 876], [873, 881]], "missing_branches": [], "functions": {"test_calculate_region_of_interest_limits": {"executed_lines": [74, 75, 76], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69, "executed_branches": [], "missing_branches": []}, "test_line_zone_one_detection_default_anchors": {"executed_lines": [243, 245, 246, 247, 248, 252, 253, 254, 256, 259], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 237, "executed_branches": [[247, 248], [247, 256]], "missing_branches": []}, "test_line_zone_one_detection": {"executed_lines": [411, 415, 416, 417, 418, 422, 423, 424, 426, 429], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 404, "executed_branches": [[417, 418], [417, 426]], "missing_branches": []}, "test_line_zone_multiple_detections": {"executed_lines": [490, 491, 494, 495, 496, 497, 501, 502, 503, 505, 506], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 482, "executed_branches": [[496, 497], [496, 505]], "missing_branches": []}, "test_line_zone_one_detection_long_horizon": {"executed_lines": [605, 612, 613, 614, 615, 619, 620, 621, 623, 626], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 597, "executed_branches": [[614, 615], [614, 623]], "missing_branches": []}, "test_line_zone_long_horizon_disappearing_detections": {"executed_lines": [781, 782, 788, 789, 790, 791, 792, 793, 797, 798, 799, 800, 801, 803, 804, 805, 806], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 770, "executed_branches": [[792, 793], [792, 803]], "missing_branches": []}, "test_line_zone_tracker_id_reuse_with_different_classes": {"executed_lines": [871, 873, 876, 879, 881, 882], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 864, "executed_branches": [[873, 876], [873, 881]], "missing_branches": []}, "test_line_zone_annotator_multiclass_supports_none_class_id": {"executed_lines": [886, 892, 894, 895, 896, 897, 898, 899, 901, 902], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 885, "executed_branches": [], "missing_branches": []}, "test_line_zone_annotator_uses_custom_text_configuration": {"executed_lines": [907, 913, 920, 921, 923, 924, 925, 926], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 905, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 14, 69, 79, 237, 264, 404, 434, 482, 509, 597, 631, 770, 809, 864, 885, 905], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 14, 69, 74, 75, 76, 79, 237, 243, 245, 246, 247, 248, 252, 253, 254, 256, 259, 264, 404, 411, 415, 416, 417, 418, 422, 423, 424, 426, 429, 434, 482, 490, 491, 494, 495, 496, 497, 501, 502, 503, 505, 506, 509, 597, 605, 612, 613, 614, 615, 619, 620, 621, 623, 626, 631, 770, 781, 782, 788, 789, 790, 791, 792, 793, 797, 798, 799, 800, 801, 803, 804, 805, 806, 809, 864, 871, 873, 876, 879, 881, 882, 885, 886, 892, 894, 895, 896, 897, 898, 899, 901, 902, 905, 907, 913, 920, 921, 923, 924, 925, 926], "summary": {"covered_lines": 109, "num_statements": 109, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 12, "num_partial_branches": 0, "covered_branches": 12, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[247, 248], [247, 256], [417, 418], [417, 426], [496, 497], [496, 505], [614, 615], [614, 623], [792, 793], [792, 803], [873, 876], [873, 881]], "missing_branches": []}}}, "tests\\detection\\test_polygon_zone_annotator.py": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 10, 16, 24, 54, 59, 60], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_polygon_zone_annotator": {"executed_lines": [59, 60], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 10, 16, 24, 54], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 6, 7, 8, 9, 10, 16, 24, 54, 59, 60], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\test_polygonzone.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 24, 28, 31, 32, 43, 44, 45, 48, 49, 98, 105, 106, 107, 108, 110, 122, 125, 128, 133, 137, 140, 142, 144, 149, 153, 154, 156, 158, 159, 161, 165, 166], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestPolygonZoneInit.test_empty_anchors_raises": {"executed_lines": [44, 45], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 43, "executed_branches": [], "missing_branches": []}, "TestPolygonZoneTrigger.test_anchor_configurations": {"executed_lines": [105, 106, 107, 108], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 98, "executed_branches": [], "missing_branches": []}, "TestPolygonZoneTrigger.test_straddling_detection_assigned_to_one_zone": {"executed_lines": [122, 125, 128, 133, 137, 140], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110, "executed_branches": [], "missing_branches": []}, "TestPolygonZoneTrigger.test_out_of_bounds_anchor_excluded": {"executed_lines": [144, 149, 153, 154], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142, "executed_branches": [], "missing_branches": []}, "TestPolygonZoneTrigger.test_anchor_on_polygon_boundary_included": {"executed_lines": [158, 159, 161, 165, 166], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 156, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 24, 28, 31, 32, 43, 48, 49, 98, 110, 142, 156], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestPolygonZoneInit": {"executed_lines": [44, 45], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31, "executed_branches": [], "missing_branches": []}, "TestPolygonZoneTrigger": {"executed_lines": [105, 106, 107, 108, 122, 125, 128, 133, 137, 140, 144, 149, 153, 154, 158, 159, 161, 165, 166], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 48, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 24, 28, 31, 32, 43, 48, 49, 98, 110, 142, 156], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\test_vlm.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 22, 200, 207, 208, 211, 212, 213, 216, 410, 418, 419, 425, 426, 427, 428, 431, 565, 572, 573, 576, 577, 578, 579, 582, 679, 685, 686, 690, 691, 694, 921, 929, 930, 931, 932, 933, 935, 936, 937, 939, 940, 941, 943, 946, 1149, 1157, 1158, 1168, 1171, 1172, 1174, 1175, 1177, 1178, 1180, 1181, 1183, 1184, 1185, 1187, 1188, 1190, 1191, 1192, 1195, 1271, 1278, 1279, 1286, 1289, 1291, 1292, 1294, 1295, 1296, 1302, 1304, 1310, 1314, 1315, 1316, 1317, 1318, 1319, 1322, 1324, 1333, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1349, 1364, 1366, 1367, 1368, 1370, 1372], "summary": {"covered_lines": 110, "num_statements": 112, "percent_covered": 94.8529411764706, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 98.21428571428571, "percent_statements_covered_display": "98", "num_branches": 24, "num_partial_branches": 5, "covered_branches": 19, "missing_branches": 5, "percent_branches_covered": 79.16666666666667, "percent_branches_covered_display": "79"}, "missing_lines": [1169, 1287], "excluded_lines": [], "executed_branches": [[425, 426], [576, 577], [690, 691], [932, 933], [932, 935], [936, 937], [936, 939], [940, 941], [940, 943], [1168, 1171], [1180, 1181], [1180, 1183], [1187, 1188], [1187, 1190], [1286, 1289], [1291, 1292], [1291, 1294], [1367, 1368], [1367, 1370]], "missing_branches": [[425, -216], [576, -431], [690, -582], [1168, 1169], [1286, 1287]], "functions": {"test_from_paligemma": {"executed_lines": [207, 208, 211, 212, 213], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 200, "executed_branches": [], "missing_branches": []}, "test_from_qwen_2_5_vl": {"executed_lines": [418, 419, 425, 426, 427, 428], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 410, "executed_branches": [[425, 426]], "missing_branches": [[425, -216]]}, "test_from_google_gemini": {"executed_lines": [572, 573, 576, 577, 578, 579], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 565, "executed_branches": [[576, 577]], "missing_branches": [[576, -431]]}, "test_from_moondream": {"executed_lines": [685, 686, 690, 691], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 679, "executed_branches": [[690, 691]], "missing_branches": [[690, -582]]}, "test_florence_2": {"executed_lines": [929, 930, 931, 932, 933, 935, 936, 937, 939, 940, 941, 943], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 921, "executed_branches": [[932, 933], [932, 935], [936, 937], [936, 939], [940, 941], [940, 943]], "missing_branches": []}, "test_from_google_gemini_2_5": {"executed_lines": [1157, 1158, 1168, 1171, 1172, 1174, 1175, 1177, 1178, 1180, 1181, 1183, 1184, 1185, 1187, 1188, 1190, 1191, 1192], "summary": {"covered_lines": 19, "num_statements": 20, "percent_covered": 92.3076923076923, "percent_covered_display": "92", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.0, "percent_statements_covered_display": "95", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1169], "excluded_lines": [], "start_line": 1149, "executed_branches": [[1168, 1171], [1180, 1181], [1180, 1183], [1187, 1188], [1187, 1190]], "missing_branches": [[1168, 1169]]}, "test_from_deepseek_vl_2": {"executed_lines": [1278, 1279, 1286, 1289, 1291, 1292, 1294, 1295, 1296], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [1287], "excluded_lines": [], "start_line": 1271, "executed_branches": [[1286, 1289], [1291, 1292], [1291, 1294]], "missing_branches": [[1286, 1287]]}, "test_from_google_gemini_2_5_malformed_mask_keeps_confidence_aligned": {"executed_lines": [1304, 1310, 1314, 1315, 1316, 1317, 1318, 1319], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1302, "executed_branches": [], "missing_branches": []}, "test_from_google_gemini_2_5_filters_classes_and_keeps_arrays_aligned": {"executed_lines": [1324, 1333, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1322, "executed_branches": [], "missing_branches": []}, "test_vlm_parsers_degrade_on_malformed_json": {"executed_lines": [1366, 1367, 1368, 1370, 1372], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1364, "executed_branches": [[1367, 1368], [1367, 1370]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 22, 200, 216, 410, 431, 565, 582, 679, 694, 921, 946, 1149, 1195, 1271, 1302, 1322, 1349, 1364], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 22, 200, 207, 208, 211, 212, 213, 216, 410, 418, 419, 425, 426, 427, 428, 431, 565, 572, 573, 576, 577, 578, 579, 582, 679, 685, 686, 690, 691, 694, 921, 929, 930, 931, 932, 933, 935, 936, 937, 939, 940, 941, 943, 946, 1149, 1157, 1158, 1168, 1171, 1172, 1174, 1175, 1177, 1178, 1180, 1181, 1183, 1184, 1185, 1187, 1188, 1190, 1191, 1192, 1195, 1271, 1278, 1279, 1286, 1289, 1291, 1292, 1294, 1295, 1296, 1302, 1304, 1310, 1314, 1315, 1316, 1317, 1318, 1319, 1322, 1324, 1333, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1349, 1364, 1366, 1367, 1368, 1370, 1372], "summary": {"covered_lines": 110, "num_statements": 112, "percent_covered": 94.8529411764706, "percent_covered_display": "95", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 98.21428571428571, "percent_statements_covered_display": "98", "num_branches": 24, "num_partial_branches": 5, "covered_branches": 19, "missing_branches": 5, "percent_branches_covered": 79.16666666666667, "percent_branches_covered_display": "79"}, "missing_lines": [1169, 1287], "excluded_lines": [], "start_line": 1, "executed_branches": [[425, 426], [576, 577], [690, 691], [932, 933], [932, 935], [936, 937], [936, 939], [940, 941], [940, 943], [1168, 1171], [1180, 1181], [1180, 1183], [1187, 1188], [1187, 1190], [1286, 1289], [1291, 1292], [1291, 1294], [1367, 1368], [1367, 1370]], "missing_branches": [[425, -216], [576, -431], [690, -582], [1168, 1169], [1286, 1287]]}}}, "tests\\detection\\tools\\test_inference_slicer.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 16, 17, 26, 29, 32, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 55, 56, 59, 222, 228, 234, 239, 243, 245, 251, 252, 254, 255, 258, 262, 263, 269, 270, 272, 273, 274, 276, 282, 285, 289, 290, 296, 297, 299, 300, 301, 303, 309, 312, 316, 319, 325, 326, 330, 331, 334, 338, 339, 346, 347, 354, 355, 356, 358, 364, 367, 371, 373, 379, 380, 382, 383, 384, 386, 392, 395, 399, 400, 406, 407, 409, 410, 411, 412, 414, 420, 423, 426, 427, 428, 429, 431, 434, 435, 436, 437, 440, 441, 443, 454, 455, 462, 463, 465, 466, 467, 470, 473, 474, 475, 476, 479, 482, 486, 497, 498, 499, 505, 512, 513, 520, 521, 530, 532], "summary": {"covered_lines": 134, "num_statements": 139, "percent_covered": 95.74468085106383, "percent_covered_display": "96", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 96.40287769784173, "percent_statements_covered_display": "96", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [20, 21, 23, 30, 438], "excluded_lines": [], "executed_branches": [[437, 440]], "missing_branches": [[437, 438]], "functions": {"mock_callback": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 2, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [20, 23], "excluded_lines": [], "start_line": 17, "executed_branches": [], "missing_branches": []}, "mock_callback.callback": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [21], "excluded_lines": [], "start_line": 20, "executed_branches": [], "missing_branches": []}, "test_inference_slicer_configuration_properties": {"executed_lines": [29, 32, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 55, 56], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 26, "executed_branches": [], "missing_branches": []}, "test_inference_slicer_configuration_properties.callback": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [30], "excluded_lines": [], "start_line": 29, "executed_branches": [], "missing_branches": []}, "test_generate_offset": {"executed_lines": [228, 234], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 222, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_when_detections_outside_slice_bounds": {"executed_lines": [243, 251, 252, 254, 255], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 239, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_when_detections_outside_slice_bounds.out_of_bounds_callback": {"executed_lines": [245], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 243, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_only_once_for_out_of_bounds_detections": {"executed_lines": [262, 269, 270, 272, 273, 274, 276, 282], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 258, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_only_once_for_out_of_bounds_detections.out_of_bounds_callback": {"executed_lines": [263], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 262, "executed_branches": [], "missing_branches": []}, "test_run_callback_no_warning_when_detections_inside_slice_bounds": {"executed_lines": [289, 296, 297, 299, 300, 301, 303, 309], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 285, "executed_branches": [], "missing_branches": []}, "test_run_callback_no_warning_when_detections_inside_slice_bounds.in_bounds_callback": {"executed_lines": [290], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 289, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_when_detections_have_negative_coordinates": {"executed_lines": [316, 325, 326, 330, 331], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 312, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_when_detections_have_negative_coordinates.negative_coords_callback": {"executed_lines": [319], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 316, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_only_once_with_multiple_threads": {"executed_lines": [338, 346, 347, 354, 355, 356, 358, 364], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 334, "executed_branches": [], "missing_branches": []}, "test_run_callback_warns_only_once_with_multiple_threads.out_of_bounds_callback": {"executed_lines": [339], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 338, "executed_branches": [], "missing_branches": []}, "test_run_callback_no_warning_for_detection_exactly_at_slice_boundary": {"executed_lines": [371, 379, 380, 382, 383, 384, 386, 392], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 367, "executed_branches": [], "missing_branches": []}, "test_run_callback_no_warning_for_detection_exactly_at_slice_boundary.at_boundary_callback": {"executed_lines": [373], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 371, "executed_branches": [], "missing_branches": []}, "test_run_callback_does_not_rewarn_on_second_call": {"executed_lines": [399, 406, 407, 409, 410, 411, 412, 414, 420], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 395, "executed_branches": [], "missing_branches": []}, "test_run_callback_does_not_rewarn_on_second_call.out_of_bounds_callback": {"executed_lines": [400], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 399, "executed_branches": [], "missing_branches": []}, "test_obb_callbacks_run_sequentially_even_with_multiple_workers": {"executed_lines": [426, 427, 428, 429, 431, 454, 455, 462, 463, 465, 466, 467], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 423, "executed_branches": [], "missing_branches": []}, "test_obb_callbacks_run_sequentially_even_with_multiple_workers.obb_callback": {"executed_lines": [434, 435, 436, 437, 440, 441, 443], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [438], "excluded_lines": [], "start_line": 431, "executed_branches": [[437, 440]], "missing_branches": [[437, 438]]}, "_rotated_rect": {"executed_lines": [473, 474, 475, 476, 479], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 470, "executed_branches": [], "missing_branches": []}, "test_inference_slicer_keeps_crossed_obb_detections": {"executed_lines": [497, 498, 499, 505, 512, 520, 521, 530, 532], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 486, "executed_branches": [], "missing_branches": []}, "test_inference_slicer_keeps_crossed_obb_detections.callback": {"executed_lines": [513], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 512, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 16, 17, 26, 59, 222, 239, 258, 285, 312, 334, 367, 395, 423, 470, 482, 486], "summary": {"covered_lines": 26, "num_statements": 26, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 16, 17, 26, 29, 32, 43, 44, 45, 46, 47, 48, 49, 50, 52, 53, 55, 56, 59, 222, 228, 234, 239, 243, 245, 251, 252, 254, 255, 258, 262, 263, 269, 270, 272, 273, 274, 276, 282, 285, 289, 290, 296, 297, 299, 300, 301, 303, 309, 312, 316, 319, 325, 326, 330, 331, 334, 338, 339, 346, 347, 354, 355, 356, 358, 364, 367, 371, 373, 379, 380, 382, 383, 384, 386, 392, 395, 399, 400, 406, 407, 409, 410, 411, 412, 414, 420, 423, 426, 427, 428, 429, 431, 434, 435, 436, 437, 440, 441, 443, 454, 455, 462, 463, 465, 466, 467, 470, 473, 474, 475, 476, 479, 482, 486, 497, 498, 499, 505, 512, 513, 520, 521, 530, 532], "summary": {"covered_lines": 134, "num_statements": 139, "percent_covered": 95.74468085106383, "percent_covered_display": "96", "missing_lines": 5, "excluded_lines": 0, "percent_statements_covered": 96.40287769784173, "percent_statements_covered_display": "96", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [20, 21, 23, 30, 438], "excluded_lines": [], "start_line": 1, "executed_branches": [[437, 440]], "missing_branches": [[437, 438]]}}}, "tests\\detection\\tools\\test_smoother.py": {"executed_lines": [3, 5, 6, 7, 9, 10, 11, 14, 15, 38, 45, 46, 53, 61, 62, 63, 65, 66, 68, 70, 71, 78, 85, 86, 88, 90, 91, 96, 97, 99, 101, 103, 104, 111, 118, 126, 127, 128], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[62, 63], [62, 65]], "missing_branches": [], "functions": {"TestDetectionsSmoother.test_smoother_confidence_scenarios": {"executed_lines": [45, 46, 53, 61, 62, 63, 65, 66], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 38, "executed_branches": [[62, 63], [62, 65]], "missing_branches": []}, "TestDetectionsSmoother.test_smoother_multi_track_mixed_confidence_does_not_crash": {"executed_lines": [70, 71, 78, 85, 86], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68, "executed_branches": [], "missing_branches": []}, "TestDetectionsSmoother.test_smoother_tracker_id_none_warns_and_returns_unchanged": {"executed_lines": [90, 91, 96, 97, 99], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 88, "executed_branches": [], "missing_branches": []}, "TestDetectionsSmoother.test_smoother_window_full_averages_all_frames": {"executed_lines": [103, 104, 111, 118, 126, 127, 128], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 101, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [3, 5, 6, 7, 9, 10, 11, 14, 15, 38, 68, 88, 101], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestDetectionsSmoother": {"executed_lines": [45, 46, 53, 61, 62, 63, 65, 66, 70, 71, 78, 85, 86, 90, 91, 96, 97, 99, 103, 104, 111, 118, 126, 127, 128], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14, "executed_branches": [[62, 63], [62, 65]], "missing_branches": []}, "": {"executed_lines": [3, 5, 6, 7, 9, 10, 11, 14, 15, 38, 68, 88, 101], "summary": {"covered_lines": 13, "num_statements": 13, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\utils\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\utils\\test_boxes.py": {"executed_lines": [1, 3, 5, 6, 8, 17, 52, 57, 58, 61, 96, 102, 103, 104, 107, 142, 148, 149, 150, 153, 222, 229, 230, 235, 238, 269, 271, 272], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_clip_boxes": {"executed_lines": [57, 58], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52, "executed_branches": [], "missing_branches": []}, "test_move_boxes": {"executed_lines": [102, 103, 104], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 96, "executed_branches": [], "missing_branches": []}, "test_scale_boxes": {"executed_lines": [148, 149, 150], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 142, "executed_branches": [], "missing_branches": []}, "test_denormalize_boxes": {"executed_lines": [229, 230, 235], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 222, "executed_branches": [], "missing_branches": []}, "test_xyxyxyxy_to_xyxy": {"executed_lines": [271, 272], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 269, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 17, 52, 61, 96, 107, 142, 153, 222, 238, 269], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 8, 17, 52, 57, 58, 61, 96, 102, 103, 104, 107, 142, 148, 149, 150, 153, 222, 229, 230, 235, 238, 269, 271, 272], "summary": {"covered_lines": 28, "num_statements": 28, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\utils\\test_converters.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 28, 46, 47, 48, 51, 69, 70, 71, 74, 120, 121, 122, 125, 143, 144, 145, 148, 312, 313, 314, 315, 316, 319, 321, 322, 323, 324, 325, 331, 334, 335, 375, 379, 381, 382, 383, 385, 386, 388, 389, 390, 392, 393, 395, 396, 399, 469, 475, 476, 477, 480, 582, 588, 589, 590, 593, 594, 602, 603, 604, 612, 625, 627, 635, 645, 647, 650, 657, 659, 660, 663, 673, 675, 678, 691, 693, 701, 713, 715, 718, 729, 731, 734, 743, 745, 753, 789, 793, 796, 850, 857, 858, 861, 877, 879, 880, 881, 882], "summary": {"covered_lines": 104, "num_statements": 104, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[322, 323], [322, 331], [324, 322], [324, 325]], "missing_branches": [], "functions": {"test_xywh_to_xyxy": {"executed_lines": [47, 48], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 46, "executed_branches": [], "missing_branches": []}, "test_xyxy_to_xywh": {"executed_lines": [70, 71], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69, "executed_branches": [], "missing_branches": []}, "test_xyxy_to_xcycarh": {"executed_lines": [121, 122], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 120, "executed_branches": [], "missing_branches": []}, "test_xcycwh_to_xyxy": {"executed_lines": [144, 145], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 143, "executed_branches": [], "missing_branches": []}, "test_xyxy_to_mask": {"executed_lines": [313, 314, 315, 316], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 312, "executed_branches": [], "missing_branches": []}, "_mask_to_xyxy_reference": {"executed_lines": [321, 322, 323, 324, 325, 331], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 319, "executed_branches": [[322, 323], [322, 331], [324, 322], [324, 325]], "missing_branches": []}, "TestMaskToXyxy.test_mask_to_xyxy_known_values": {"executed_lines": [379, 381, 382, 383], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 375, "executed_branches": [], "missing_branches": []}, "TestMaskToXyxy.test_mask_to_xyxy_matches_reference": {"executed_lines": [388, 389, 390, 392, 393, 395, 396], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 386, "executed_branches": [], "missing_branches": []}, "test_mask_to_rle": {"executed_lines": [475, 476, 477], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 469, "executed_branches": [], "missing_branches": []}, "test_rle_to_mask": {"executed_lines": [588, 589, 590], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 582, "executed_branches": [], "missing_branches": []}, "test_mask_rle_compressed_round_trip": {"executed_lines": [594, 602, 603, 604], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 593, "executed_branches": [], "missing_branches": []}, "test_is_compressed_rle": {"executed_lines": [627], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 625, "executed_branches": [], "missing_branches": []}, "test_base48_decode": {"executed_lines": [647], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 645, "executed_branches": [], "missing_branches": []}, "test_base48_decode_malformed": {"executed_lines": [659, 660], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 657, "executed_branches": [], "missing_branches": []}, "test_base48_encode": {"executed_lines": [675], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 673, "executed_branches": [], "missing_branches": []}, "test_base48_round_trip": {"executed_lines": [693], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 691, "executed_branches": [], "missing_branches": []}, "test_delta_decode": {"executed_lines": [715], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 713, "executed_branches": [], "missing_branches": []}, "test_delta_encode": {"executed_lines": [731], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 729, "executed_branches": [], "missing_branches": []}, "test_delta_round_trip": {"executed_lines": [745], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 743, "executed_branches": [], "missing_branches": []}, "test_mask_to_rle_counts": {"executed_lines": [793], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 789, "executed_branches": [], "missing_branches": []}, "test_rle_counts_to_mask": {"executed_lines": [857, 858], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 850, "executed_branches": [], "missing_branches": []}, "test_mask_rle_counts_round_trip": {"executed_lines": [879, 880, 881, 882], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 877, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 28, 46, 51, 69, 74, 120, 125, 143, 148, 312, 319, 334, 335, 375, 385, 386, 399, 469, 480, 582, 593, 612, 625, 635, 645, 650, 657, 663, 673, 678, 691, 701, 713, 718, 729, 734, 743, 753, 789, 796, 850, 861, 877], "summary": {"covered_lines": 49, "num_statements": 49, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestMaskToXyxy": {"executed_lines": [379, 381, 382, 383, 388, 389, 390, 392, 393, 395, 396], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 334, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 28, 46, 47, 48, 51, 69, 70, 71, 74, 120, 121, 122, 125, 143, 144, 145, 148, 312, 313, 314, 315, 316, 319, 321, 322, 323, 324, 325, 331, 334, 335, 375, 385, 386, 399, 469, 475, 476, 477, 480, 582, 588, 589, 590, 593, 594, 602, 603, 604, 612, 625, 627, 635, 645, 647, 650, 657, 659, 660, 663, 673, 675, 678, 691, 693, 701, 713, 715, 718, 729, 731, 734, 743, 745, 753, 789, 793, 796, 850, 857, 858, 861, 877, 879, 880, 881, 882], "summary": {"covered_lines": 93, "num_statements": 93, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[322, 323], [322, 331], [324, 322], [324, 325]], "missing_branches": []}}}, "tests\\detection\\utils\\test_internal.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 17, 18, 20, 21, 23, 24, 25, 28, 454, 461, 462, 463, 464, 465, 466, 469, 472, 473, 474, 477, 488, 675, 680, 681, 682, 685, 686, 687, 691, 696, 850, 856, 857, 858, 859, 860, 864, 869, 1032, 1033, 1034, 1035, 1037, 1038, 1039, 1040, 1042], "summary": {"covered_lines": 54, "num_statements": 57, "percent_covered": 92.20779220779221, "percent_covered_display": "92", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 94.73684210526316, "percent_statements_covered_display": "95", "num_branches": 20, "num_partial_branches": 3, "covered_branches": 17, "missing_branches": 3, "percent_branches_covered": 85.0, "percent_branches_covered_display": "85"}, "missing_lines": [483, 683, 1036], "excluded_lines": [], "executed_branches": [[472, -28], [472, 473], [473, 474], [682, 685], [685, -488], [685, 686], [686, 687], [686, 691], [858, -696], [858, 859], [859, 860], [859, 864], [1035, 1037], [1037, -869], [1037, 1038], [1039, 1040], [1039, 1042]], "missing_branches": [[473, 483], [682, 683], [1035, 1036]], "functions": {"test_process_roboflow_result": {"executed_lines": [461, 462, 463, 464, 465, 466, 469, 472, 473, 474, 477], "summary": {"covered_lines": 11, "num_statements": 12, "percent_covered": 87.5, "percent_covered_display": "88", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 91.66666666666667, "percent_statements_covered_display": "92", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [483], "excluded_lines": [], "start_line": 454, "executed_branches": [[472, -28], [472, 473], [473, 474]], "missing_branches": [[473, 483]]}, "test_merge_data": {"executed_lines": [680, 681, 682, 685, 686, 687, 691], "summary": {"covered_lines": 7, "num_statements": 8, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 87.5, "percent_statements_covered_display": "88", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [683], "excluded_lines": [], "start_line": 675, "executed_branches": [[682, 685], [685, -488], [685, 686], [686, 687], [686, 691]], "missing_branches": [[682, 683]]}, "test_get_data_item": {"executed_lines": [856, 857, 858, 859, 860, 864], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 850, "executed_branches": [[858, -696], [858, 859], [859, 860], [859, 864]], "missing_branches": []}, "test_merge_metadata": {"executed_lines": [1033, 1034, 1035, 1037, 1038, 1039, 1040, 1042], "summary": {"covered_lines": 8, "num_statements": 9, "percent_covered": 86.66666666666667, "percent_covered_display": "87", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 88.88888888888889, "percent_statements_covered_display": "89", "num_branches": 6, "num_partial_branches": 1, "covered_branches": 5, "missing_branches": 1, "percent_branches_covered": 83.33333333333333, "percent_branches_covered_display": "83"}, "missing_lines": [1036], "excluded_lines": [], "start_line": 1032, "executed_branches": [[1035, 1037], [1037, -869], [1037, 1038], [1039, 1040], [1039, 1042]], "missing_branches": [[1035, 1036]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 17, 18, 20, 21, 23, 24, 25, 28, 454, 488, 675, 696, 850, 869, 1032], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 17, 18, 20, 21, 23, 24, 25, 28, 454, 461, 462, 463, 464, 465, 466, 469, 472, 473, 474, 477, 488, 675, 680, 681, 682, 685, 686, 687, 691, 696, 850, 856, 857, 858, 859, 860, 864, 869, 1032, 1033, 1034, 1035, 1037, 1038, 1039, 1040, 1042], "summary": {"covered_lines": 54, "num_statements": 57, "percent_covered": 92.20779220779221, "percent_covered_display": "92", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 94.73684210526316, "percent_statements_covered_display": "95", "num_branches": 20, "num_partial_branches": 3, "covered_branches": 17, "missing_branches": 3, "percent_branches_covered": 85.0, "percent_branches_covered_display": "85"}, "missing_lines": [483, 683, 1036], "excluded_lines": [], "start_line": 1, "executed_branches": [[472, -28], [472, 473], [473, 474], [682, 685], [685, -488], [685, 686], [686, 687], [686, 691], [858, -696], [858, 859], [859, 860], [859, 864], [1035, 1037], [1037, -869], [1037, 1038], [1039, 1040], [1039, 1042]], "missing_branches": [[473, 483], [682, 683], [1035, 1036]]}}}, "tests\\detection\\utils\\test_iou_and_nms.py": {"executed_lines": [1, 3, 5, 6, 8, 21, 24, 28, 29, 30, 31, 34, 37, 39, 50, 163, 169, 170, 174, 177, 269, 275, 276, 279, 282, 474, 481, 482, 485, 488, 654, 661, 662, 665, 666, 667, 670, 822, 829, 830, 835, 838, 1093, 1100, 1101, 1107, 1108, 1109, 1117, 1130, 1134, 1139, 1140, 1142, 1147, 1153, 1154, 1155, 1163, 1170, 1180, 1181, 1183, 1184, 1186, 1187, 1188, 1189, 1192, 1195, 1203, 1211, 1212, 1213, 1215, 1220, 1221, 1222, 1223, 1225, 1228, 1229, 1231, 1232, 1235, 1236, 1238, 1240, 1241, 1243, 1246, 1248, 1250, 1251, 1253, 1255, 1257, 1272, 1276, 1278, 1279, 1280, 1282, 1288, 1289, 1291, 1293, 1295, 1297, 1299, 1300, 1302, 1325, 1337, 1338, 1340, 1348, 1350, 1351, 1353, 1355, 1356, 1357, 1359, 1367, 1371, 1372, 1374, 1375, 1378, 1381, 1385, 1386, 1387, 1388, 1396, 1397, 1399, 1402, 1404, 1411, 1415, 1416, 1417, 1418, 1426, 1428, 1431, 1433, 1436, 1437, 1438, 1439, 1443, 1445, 1446, 1448, 1452, 1453, 1455, 1456, 1458, 1459, 1460, 1462, 1468, 1470, 1477, 1482, 1483, 1484, 1485, 1493, 1494, 1496, 1502, 1504, 1511, 1515, 1516, 1517, 1518, 1526, 1533, 1536, 1539, 1541, 1542, 1544, 1548, 1550, 1552, 1553, 1554, 1556, 1560, 1562, 1565, 1566, 1567, 1568, 1569, 1578, 1582, 1583, 1586, 1592, 1593, 1594, 1595, 1596, 1598, 1599, 1607, 1610, 1617, 1625, 1634, 1635, 1636, 1638, 1640, 1641, 1643, 1645, 1646, 1647, 1649, 1650, 1652, 1655, 1658, 1660, 1662, 1663, 1664, 1665, 1667, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1677, 1679, 1680, 1681, 1682, 1684, 1685, 1686, 1689, 1690, 1693, 1694, 1698, 1702, 1703, 1704, 1705, 1706, 1707, 1711, 1715, 1716, 1717, 1719, 1721, 1722, 1724, 1725, 1726, 1727, 1729, 1730, 1731, 1733, 1735, 1736, 1738, 1739, 1740, 1741], "summary": {"covered_lines": 285, "num_statements": 285, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[1279, -1257], [1279, 1280], [1595, 1596], [1595, 1598]], "missing_branches": [], "functions": {"_rotated_rect": {"executed_lines": [28, 29, 30, 31, 34], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 24, "executed_branches": [], "missing_branches": []}, "_aabb_of": {"executed_lines": [39], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 37, "executed_branches": [], "missing_branches": []}, "test_group_overlapping_boxes": {"executed_lines": [169, 170, 174], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 163, "executed_branches": [], "missing_branches": []}, "test_box_non_max_suppression": {"executed_lines": [275, 276, 279], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 269, "executed_branches": [], "missing_branches": []}, "test_mask_non_max_suppression": {"executed_lines": [481, 482, 485], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 474, "executed_branches": [], "missing_branches": []}, "test_mask_non_max_merge": {"executed_lines": [661, 662, 665, 666, 667], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 654, "executed_branches": [], "missing_branches": []}, "test_box_iou": {"executed_lines": [829, 830, 835], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 822, "executed_branches": [], "missing_branches": []}, "test_box_iou_batch": {"executed_lines": [1100, 1101, 1107, 1108, 1109], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1093, "executed_branches": [], "missing_branches": []}, "test_box_iou_batch_symmetric_large": {"executed_lines": [1139, 1140, 1142, 1147, 1153, 1154, 1155], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1134, "executed_branches": [], "missing_branches": []}, "test_oriented_box_iou_batch_is_invariant_to_non_square_scaling": {"executed_lines": [1180, 1181, 1183, 1184, 1186, 1187, 1188, 1189], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1170, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_is_invariant_to_canvas_transforms": {"executed_lines": [1211, 1212, 1213, 1215, 1220, 1221, 1222, 1223], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1203, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_supports_overlap_metric": {"executed_lines": [1228, 1229, 1231, 1232, 1235, 1236], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1225, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_half_overlap_matches_analytic_value": {"executed_lines": [1240, 1241, 1243, 1246], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1238, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_disjoint_boxes_score_zero": {"executed_lines": [1250, 1251, 1253, 1255], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1248, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_self_comparison_is_symmetric_with_unit_diagonal": {"executed_lines": [1276, 1278, 1279, 1280], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1272, "executed_branches": [[1279, -1257], [1279, 1280]], "missing_branches": []}, "TestOrientedBoxIouBatch.test_envelope_overlap_without_polygon_overlap_scores_zero": {"executed_lines": [1288, 1289, 1291, 1293], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1282, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_rejects_unsupported_overlap_metric": {"executed_lines": [1297, 1299, 1300], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1295, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_degenerate_boxes_score_zero": {"executed_lines": [1337, 1338], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1325, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_empty_input_returns_correct_shape": {"executed_lines": [1350, 1351, 1353, 1355, 1356, 1357], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1348, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxIouBatch.test_invalid_shape_raises_value_error": {"executed_lines": [1371, 1372, 1374, 1375], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1367, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_keeps_x_pattern": {"executed_lines": [1385, 1386, 1387, 1388, 1396, 1397, 1399, 1402], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1381, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_suppression_is_class_aware": {"executed_lines": [1415, 1416, 1417, 1418, 1426, 1428, 1431], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1411, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_length_mismatch_raises": {"executed_lines": [1436, 1437, 1438, 1439], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1433, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_empty_predictions": {"executed_lines": [1445, 1446, 1448, 1452, 1453], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1443, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_keeps_single_prediction": {"executed_lines": [1458, 1459, 1460, 1462, 1468], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1456, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_threshold_extremes": {"executed_lines": [1482, 1483, 1484, 1485, 1493, 1494, 1496, 1502], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1477, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression.test_overlap_metric_determines_suppression": {"executed_lines": [1515, 1516, 1517, 1518, 1526, 1533], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1511, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxMerge.test_empty_predictions_returns_empty_groups": {"executed_lines": [1541, 1542, 1544, 1548], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1539, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxMerge.test_single_prediction_returns_singleton_group": {"executed_lines": [1552, 1553, 1554, 1556, 1560], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1550, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxMerge.test_groups_overlapping_oriented_boxes": {"executed_lines": [1565, 1566, 1567, 1568, 1569, 1578, 1582, 1583], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1562, "executed_branches": [], "missing_branches": []}, "_naive_mask_iou": {"executed_lines": [1592, 1593, 1594, 1595, 1596, 1598, 1599], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1586, "executed_branches": [[1595, 1596], [1595, 1598]], "missing_branches": []}, "TestMaskIouBatch.test_matches_naive_reference_on_random_masks": {"executed_lines": [1634, 1635, 1636, 1638, 1640, 1641], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1625, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_chunking_matches_single_pass": {"executed_lines": [1645, 1646, 1647, 1649, 1650, 1652, 1655, 1658], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1643, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_mismatched_spatial_shape_raises": {"executed_lines": [1662, 1663, 1664, 1665], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1660, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_invalid_ndim_raises": {"executed_lines": [1669, 1670, 1671, 1672, 1673, 1674, 1675], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1667, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_identical_disjoint_and_empty": {"executed_lines": [1679, 1680, 1681, 1682, 1684, 1685, 1686, 1689, 1690, 1693, 1694], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1677, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_matmul_emits_no_runtime_warnings": {"executed_lines": [1702, 1703, 1704, 1705, 1706, 1707], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1698, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_float64_promotion_for_large_float32_masks": {"executed_lines": [1715, 1716, 1717], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1711, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_compact_mask_mixed_input_gives_same_result": {"executed_lines": [1721, 1722, 1724, 1725, 1726, 1727, 1729, 1730, 1731], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1719, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch.test_detection_exceeds_limit_warns_and_completes": {"executed_lines": [1735, 1736, 1738, 1739, 1740, 1741], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1733, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 21, 24, 37, 50, 163, 177, 269, 282, 474, 488, 654, 670, 822, 838, 1093, 1117, 1130, 1134, 1163, 1170, 1192, 1195, 1203, 1225, 1238, 1248, 1257, 1272, 1282, 1295, 1302, 1325, 1340, 1348, 1359, 1367, 1378, 1381, 1404, 1411, 1433, 1443, 1455, 1456, 1470, 1477, 1504, 1511, 1536, 1539, 1550, 1562, 1586, 1607, 1610, 1617, 1625, 1643, 1660, 1667, 1677, 1698, 1711, 1719, 1733], "summary": {"covered_lines": 70, "num_statements": 70, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestOrientedBoxIouBatch": {"executed_lines": [1211, 1212, 1213, 1215, 1220, 1221, 1222, 1223, 1228, 1229, 1231, 1232, 1235, 1236, 1240, 1241, 1243, 1246, 1250, 1251, 1253, 1255, 1276, 1278, 1279, 1280, 1288, 1289, 1291, 1293, 1297, 1299, 1300, 1337, 1338, 1350, 1351, 1353, 1355, 1356, 1357, 1371, 1372, 1374, 1375], "summary": {"covered_lines": 45, "num_statements": 45, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1192, "executed_branches": [[1279, -1257], [1279, 1280]], "missing_branches": []}, "TestOrientedBoxNonMaxSuppression": {"executed_lines": [1385, 1386, 1387, 1388, 1396, 1397, 1399, 1402, 1415, 1416, 1417, 1418, 1426, 1428, 1431, 1436, 1437, 1438, 1439, 1445, 1446, 1448, 1452, 1453, 1458, 1459, 1460, 1462, 1468, 1482, 1483, 1484, 1485, 1493, 1494, 1496, 1502, 1515, 1516, 1517, 1518, 1526, 1533], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1378, "executed_branches": [], "missing_branches": []}, "TestOrientedBoxNonMaxMerge": {"executed_lines": [1541, 1542, 1544, 1548, 1552, 1553, 1554, 1556, 1560, 1565, 1566, 1567, 1568, 1569, 1578, 1582, 1583], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1536, "executed_branches": [], "missing_branches": []}, "TestMaskIouBatch": {"executed_lines": [1634, 1635, 1636, 1638, 1640, 1641, 1645, 1646, 1647, 1649, 1650, 1652, 1655, 1658, 1662, 1663, 1664, 1665, 1669, 1670, 1671, 1672, 1673, 1674, 1675, 1679, 1680, 1681, 1682, 1684, 1685, 1686, 1689, 1690, 1693, 1694, 1702, 1703, 1704, 1705, 1706, 1707, 1715, 1716, 1717, 1721, 1722, 1724, 1725, 1726, 1727, 1729, 1730, 1731, 1735, 1736, 1738, 1739, 1740, 1741], "summary": {"covered_lines": 60, "num_statements": 60, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1607, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 21, 24, 28, 29, 30, 31, 34, 37, 39, 50, 163, 169, 170, 174, 177, 269, 275, 276, 279, 282, 474, 481, 482, 485, 488, 654, 661, 662, 665, 666, 667, 670, 822, 829, 830, 835, 838, 1093, 1100, 1101, 1107, 1108, 1109, 1117, 1130, 1134, 1139, 1140, 1142, 1147, 1153, 1154, 1155, 1163, 1170, 1180, 1181, 1183, 1184, 1186, 1187, 1188, 1189, 1192, 1195, 1203, 1225, 1238, 1248, 1257, 1272, 1282, 1295, 1302, 1325, 1340, 1348, 1359, 1367, 1378, 1381, 1404, 1411, 1433, 1443, 1455, 1456, 1470, 1477, 1504, 1511, 1536, 1539, 1550, 1562, 1586, 1592, 1593, 1594, 1595, 1596, 1598, 1599, 1607, 1610, 1617, 1625, 1643, 1660, 1667, 1677, 1698, 1711, 1719, 1733], "summary": {"covered_lines": 120, "num_statements": 120, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[1595, 1596], [1595, 1598]], "missing_branches": []}}}, "tests\\detection\\utils\\test_masks.py": {"executed_lines": [1, 3, 5, 6, 7, 9, 18, 268, 275, 276, 277, 280, 361, 366, 367, 368, 371, 418, 421, 422, 423, 426, 495, 501, 502, 503, 506, 719, 728, 729, 736], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_move_masks": {"executed_lines": [275, 276, 277], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 268, "executed_branches": [], "missing_branches": []}, "test_calculate_masks_centroids": {"executed_lines": [366, 367, 368], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 361, "executed_branches": [], "missing_branches": []}, "test_contains_holes": {"executed_lines": [421, 422, 423], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 418, "executed_branches": [], "missing_branches": []}, "test_contains_multiple_segments": {"executed_lines": [501, 502, 503], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 495, "executed_branches": [], "missing_branches": []}, "test_filter_segments_by_distance_sweep": {"executed_lines": [728, 729, 736], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 719, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 7, 9, 18, 268, 280, 361, 371, 418, 426, 495, 506, 719], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 6, 7, 9, 18, 268, 275, 276, 277, 280, 361, 366, 367, 368, 371, 418, 421, 422, 423, 426, 495, 501, 502, 503, 506, 719, 728, 729, 736], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\detection\\utils\\test_polygons.py": {"executed_lines": [1, 3, 5, 6, 8, 14, 92, 99, 100, 103, 104, 105, 108, 109, 110, 115, 116, 117, 118, 126, 127, 129, 131, 132, 133, 134, 135, 137, 139, 141, 143, 145, 154, 156, 157, 158, 160, 167, 169, 170, 171], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[104, -14], [104, 105], [134, -116], [134, 135]], "missing_branches": [], "functions": {"test_filter_polygons_by_area": {"executed_lines": [99, 100, 103, 104, 105], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [[104, -14], [104, 105]], "missing_branches": []}, "_regular_polygon": {"executed_lines": [109, 110], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 108, "executed_branches": [], "missing_branches": []}, "TestApproximatePolygon.test_within_budget_and_valid": {"executed_lines": [126, 127, 129, 131, 132, 133, 134, 135], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 118, "executed_branches": [[134, -116], [134, 135]], "missing_branches": []}, "TestApproximatePolygon.test_zero_percentage_keeps_polygon": {"executed_lines": [139, 141, 143], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 137, "executed_branches": [], "missing_branches": []}, "TestApproximatePolygon.test_raises_on_out_of_range_percentage": {"executed_lines": [156, 157, 158], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 154, "executed_branches": [], "missing_branches": []}, "TestApproximatePolygon.test_raises_on_non_positive_epsilon_step": {"executed_lines": [169, 170, 171], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 167, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 14, 92, 108, 115, 116, 117, 118, 137, 145, 154, 160, 167], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestApproximatePolygon": {"executed_lines": [126, 127, 129, 131, 132, 133, 134, 135, 139, 141, 143, 156, 157, 158, 169, 170, 171], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 115, "executed_branches": [[134, -116], [134, 135]], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 6, 8, 14, 92, 99, 100, 103, 104, 105, 108, 109, 110, 115, 116, 117, 118, 137, 145, 154, 160, 167], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[104, -14], [104, 105]], "missing_branches": []}}}, "tests\\detection\\utils\\test_vlms.py": {"executed_lines": [1, 3, 6, 63, 64, 70, 106, 109], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_edit_distance": {"executed_lines": [64], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 63, "executed_branches": [], "missing_branches": []}, "test_fuzzy_match_index": {"executed_lines": [109], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 106, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 6, 63, 70, 106], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 6, 63, 64, 70, 106, 109], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\draw\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\draw\\test_color.py": {"executed_lines": [1, 3, 5, 7, 10, 58, 70, 71, 72, 75, 91, 101, 102, 103, 106, 139, 144, 145, 146, 149, 182, 187, 188, 189, 192, 214, 219, 220, 221, 224, 246, 251, 252, 253, 256, 264, 269, 270, 271, 274, 282, 287, 288, 289, 292, 302, 303, 306, 315, 316, 317], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_color_from_hex": {"executed_lines": [70, 71, 72], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 58, "executed_branches": [], "missing_branches": []}, "test_color_as_hex": {"executed_lines": [101, 102, 103], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 91, "executed_branches": [], "missing_branches": []}, "test_color_from_rgb_tuple": {"executed_lines": [144, 145, 146], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 139, "executed_branches": [], "missing_branches": []}, "test_color_from_bgr_tuple": {"executed_lines": [187, 188, 189], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 182, "executed_branches": [], "missing_branches": []}, "test_color_from_rgba_tuple": {"executed_lines": [219, 220, 221], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 214, "executed_branches": [], "missing_branches": []}, "test_color_from_bgra_tuple": {"executed_lines": [251, 252, 253], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 246, "executed_branches": [], "missing_branches": []}, "test_color_as_rgba": {"executed_lines": [269, 270, 271], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 264, "executed_branches": [], "missing_branches": []}, "test_color_as_bgra": {"executed_lines": [287, 288, 289], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 282, "executed_branches": [], "missing_branches": []}, "test_color_repr": {"executed_lines": [303], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 302, "executed_branches": [], "missing_branches": []}, "test_color_hash": {"executed_lines": [316, 317], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 315, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 5, 7, 10, 58, 75, 91, 106, 139, 149, 182, 192, 214, 224, 246, 256, 264, 274, 282, 292, 302, 306, 315], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 5, 7, 10, 58, 70, 71, 72, 75, 91, 101, 102, 103, 106, 139, 144, 145, 146, 149, 182, 187, 188, 189, 192, 214, 219, 220, 221, 224, 246, 251, 252, 253, 256, 264, 269, 270, 271, 274, 282, 287, 288, 289, 292, 302, 303, 306, 315, 316, 317], "summary": {"covered_lines": 51, "num_statements": 51, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\geometry\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\geometry\\test_core.py": {"executed_lines": [1, 3, 6, 29, 39, 40, 43, 64, 72, 73], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_vector_cross_product": {"executed_lines": [39, 40], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29, "executed_branches": [], "missing_branches": []}, "test_vector_magnitude": {"executed_lines": [72, 73], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 6, 29, 43, 64], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 6, 29, 39, 40, 43, 64, 72, 73], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\geometry\\test_utils.py": {"executed_lines": [1, 2, 4, 5, 8, 29, 30, 31, 32, 34, 37, 50, 59, 60], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"generate_test_polygon": {"executed_lines": [29, 30, 31, 32, 34], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8, "executed_branches": [], "missing_branches": []}, "test_get_polygon_center": {"executed_lines": [59, 60], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 37, 50], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 8, 29, 30, 31, 32, 34, 37, 50, 59, 60], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\helpers.py": {"executed_lines": [9, 11, 13, 15, 16, 19, 62, 63, 65, 79, 125, 126, 128, 144, 178, 180, 181, 183, 184, 185, 187, 188, 189, 190, 192, 194, 197, 215, 218, 231, 234, 235, 236, 239, 245, 248, 251, 252, 254, 255, 257, 258, 260, 264, 267, 268, 271, 274, 281, 282, 283, 284, 287, 290, 291, 292, 293, 294, 295, 297, 298, 301, 304, 305, 306, 307, 310, 313, 314, 317, 320, 321, 322, 323, 326, 329, 330, 331, 334, 335, 336, 337, 338, 341, 342, 343, 346, 347, 355, 356, 357, 360, 403, 405, 407, 408, 410, 412, 413, 414, 415, 416, 418, 419, 420, 422, 424, 425, 426, 429, 430, 431, 433, 434, 436, 437, 438, 439, 442, 443, 445, 448, 451, 452, 453, 456, 457, 458, 460, 471, 492, 498, 499, 500, 502, 503, 505, 506, 507, 509, 512, 513, 514, 515, 518, 519, 520, 521, 525, 526, 527, 528, 530], "summary": {"covered_lines": 153, "num_statements": 155, "percent_covered": 98.26589595375722, "percent_covered_display": "98", "missing_lines": 2, "excluded_lines": 1, "percent_statements_covered": 98.70967741935483, "percent_statements_covered_display": "99", "num_branches": 18, "num_partial_branches": 1, "covered_branches": 17, "missing_branches": 1, "percent_branches_covered": 94.44444444444444, "percent_branches_covered_display": "94"}, "missing_lines": [261, 494], "excluded_lines": [198], "executed_branches": [[183, 184], [183, 194], [322, -320], [322, 323], [407, 408], [407, 410], [422, 424], [422, 456], [433, 434], [433, 451], [492, 498], [502, 503], [502, 530], [503, 505], [503, 509], [509, 512], [509, 525]], "missing_branches": [[492, 494]], "functions": {"_create_detections": {"executed_lines": [62, 65], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19, "executed_branches": [], "missing_branches": []}, "_create_detections.convert_data": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62, "executed_branches": [], "missing_branches": []}, "_create_key_points": {"executed_lines": [125, 128], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 79, "executed_branches": [], "missing_branches": []}, "_create_key_points.convert_data": {"executed_lines": [126], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 125, "executed_branches": [], "missing_branches": []}, "_generate_random_boxes": {"executed_lines": [178, 180, 181, 183, 184, 185, 187, 188, 189, 190, 192, 194], "summary": {"covered_lines": 12, "num_statements": 12, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 144, "executed_branches": [[183, 184], [183, 194]], "missing_branches": []}, "assert_almost_equal": {"executed_lines": [215], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 1, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [198], "start_line": 197, "executed_branches": [], "missing_branches": []}, "assert_image_mostly_same": {"executed_lines": [231, 234, 235, 236, 239, 245], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 218, "executed_branches": [], "missing_branches": []}, "_FakeTensor.__init__": {"executed_lines": [252], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 251, "executed_branches": [], "missing_branches": []}, "_FakeTensor.cpu": {"executed_lines": [255], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 254, "executed_branches": [], "missing_branches": []}, "_FakeTensor.numpy": {"executed_lines": [258], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 257, "executed_branches": [], "missing_branches": []}, "_FakeTensor.int": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [261], "excluded_lines": [], "start_line": 260, "executed_branches": [], "missing_branches": []}, "_FakeYOLOv5Results.__init__": {"executed_lines": [268], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 267, "executed_branches": [], "missing_branches": []}, "_FakeUltralyticsBoxes.__init__": {"executed_lines": [281, 282, 283, 284], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 274, "executed_branches": [], "missing_branches": []}, "_FakeUltralyticsResults.__init__": {"executed_lines": [291, 292, 293, 294, 295], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 290, "executed_branches": [], "missing_branches": []}, "_FakeUltralyticsResults.__len__": {"executed_lines": [298], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 297, "executed_branches": [], "missing_branches": []}, "_FakeYoloNasPrediction.__init__": {"executed_lines": [305, 306, 307], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 304, "executed_branches": [], "missing_branches": []}, "_FakeYoloNasResults.__init__": {"executed_lines": [314], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 313, "executed_branches": [], "missing_branches": []}, "_FakeYoloNasKeyPoint.__init__": {"executed_lines": [321, 322, 323], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 320, "executed_branches": [[322, -320], [322, 323]], "missing_branches": []}, "_FakeYoloNasKeyPointResults.__init__": {"executed_lines": [330, 331], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 329, "executed_branches": [], "missing_branches": []}, "_FakeMediapipeLandmark.__init__": {"executed_lines": [336, 337, 338], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 335, "executed_branches": [], "missing_branches": []}, "_FakeMediapipePose.__init__": {"executed_lines": [343], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 342, "executed_branches": [], "missing_branches": []}, "_FakeMediapipeResults.__init__": {"executed_lines": [355, 356, 357], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 347, "executed_branches": [], "missing_branches": []}, "create_yolo_dataset": {"executed_lines": [403, 405, 407, 408, 410, 412, 413, 414, 415, 416, 418, 419, 420, 422, 424, 425, 426, 429, 430, 431, 433, 434, 436, 437, 438, 439, 442, 443, 445, 448, 451, 452, 453, 456, 457, 458, 460], "summary": {"covered_lines": 37, "num_statements": 37, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 6, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 360, "executed_branches": [[407, 408], [407, 410], [422, 424], [422, 456], [433, 434], [433, 451]], "missing_branches": []}, "create_predictions_with_class_iou_tests": {"executed_lines": [492, 498, 499, 500, 502, 503, 505, 506, 507, 509, 512, 513, 514, 515, 518, 519, 520, 521, 525, 526, 527, 528, 530], "summary": {"covered_lines": 23, "num_statements": 24, "percent_covered": 93.75, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 95.83333333333333, "percent_statements_covered_display": "96", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [494], "excluded_lines": [], "start_line": 471, "executed_branches": [[492, 498], [502, 503], [502, 530], [503, 505], [503, 509], [509, 512], [509, 525]], "missing_branches": [[492, 494]]}, "": {"executed_lines": [9, 11, 13, 15, 16, 19, 79, 144, 197, 218, 248, 251, 254, 257, 260, 264, 267, 271, 274, 287, 290, 297, 301, 304, 310, 313, 317, 320, 326, 329, 334, 335, 341, 342, 346, 347, 360, 471], "summary": {"covered_lines": 38, "num_statements": 38, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"_FakeTensor": {"executed_lines": [252, 255, 258], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [261], "excluded_lines": [], "start_line": 248, "executed_branches": [], "missing_branches": []}, "_FakeYOLOv5Results": {"executed_lines": [268], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 264, "executed_branches": [], "missing_branches": []}, "_FakeUltralyticsBoxes": {"executed_lines": [281, 282, 283, 284], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 271, "executed_branches": [], "missing_branches": []}, "_FakeUltralyticsResults": {"executed_lines": [291, 292, 293, 294, 295, 298], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 287, "executed_branches": [], "missing_branches": []}, "_FakeYoloNasPrediction": {"executed_lines": [305, 306, 307], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 301, "executed_branches": [], "missing_branches": []}, "_FakeYoloNasResults": {"executed_lines": [314], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 310, "executed_branches": [], "missing_branches": []}, "_FakeYoloNasKeyPoint": {"executed_lines": [321, 322, 323], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 317, "executed_branches": [[322, -320], [322, 323]], "missing_branches": []}, "_FakeYoloNasKeyPointResults": {"executed_lines": [330, 331], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 326, "executed_branches": [], "missing_branches": []}, "_FakeMediapipeLandmark": {"executed_lines": [336, 337, 338], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 334, "executed_branches": [], "missing_branches": []}, "_FakeMediapipePose": {"executed_lines": [343], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 341, "executed_branches": [], "missing_branches": []}, "_FakeMediapipeResults": {"executed_lines": [355, 356, 357], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 346, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [9, 11, 13, 15, 16, 19, 62, 63, 65, 79, 125, 126, 128, 144, 178, 180, 181, 183, 184, 185, 187, 188, 189, 190, 192, 194, 197, 215, 218, 231, 234, 235, 236, 239, 245, 248, 251, 254, 257, 260, 264, 267, 271, 274, 287, 290, 297, 301, 304, 310, 313, 317, 320, 326, 329, 334, 335, 341, 342, 346, 347, 360, 403, 405, 407, 408, 410, 412, 413, 414, 415, 416, 418, 419, 420, 422, 424, 425, 426, 429, 430, 431, 433, 434, 436, 437, 438, 439, 442, 443, 445, 448, 451, 452, 453, 456, 457, 458, 460, 471, 492, 498, 499, 500, 502, 503, 505, 506, 507, 509, 512, 513, 514, 515, 518, 519, 520, 521, 525, 526, 527, 528, 530], "summary": {"covered_lines": 123, "num_statements": 124, "percent_covered": 98.57142857142857, "percent_covered_display": "99", "missing_lines": 1, "excluded_lines": 1, "percent_statements_covered": 99.19354838709677, "percent_statements_covered_display": "99", "num_branches": 16, "num_partial_branches": 1, "covered_branches": 15, "missing_branches": 1, "percent_branches_covered": 93.75, "percent_branches_covered_display": "94"}, "missing_lines": [494], "excluded_lines": [198], "start_line": 1, "executed_branches": [[183, 184], [183, 194], [407, 408], [407, 410], [422, 424], [422, 456], [433, 434], [433, 451], [492, 498], [502, 503], [502, 530], [503, 505], [503, 509], [509, 512], [509, 525]], "missing_branches": [[492, 494]]}}}, "tests\\key_points\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\key_points\\test_annotators.py": {"executed_lines": [1, 2, 4, 5, 8, 16, 23, 24, 27, 31, 39, 40, 41, 42, 45, 49, 56, 57, 60, 62, 64, 68, 69, 70, 72, 74, 78, 79, 80, 82, 84, 87, 88, 89, 92, 100, 107, 108, 111, 115, 123, 124, 125, 128, 132, 139, 140, 143, 145, 147, 151, 152, 153, 155, 157, 161, 162, 163, 165, 173, 178, 179, 181, 184, 190, 195, 199, 200, 201, 203, 206, 208, 209, 211, 216, 217, 219, 221, 226, 228, 229, 231, 236, 237, 239, 240, 242, 244, 245, 250, 255, 257, 260, 264, 265, 267, 269, 270, 274, 276, 278, 279, 281, 290, 292, 293, 296, 299, 300, 304, 305, 306, 308, 313, 315, 316, 318, 319, 320, 322, 324, 325, 326, 331, 336, 338, 341, 345, 346, 349, 352, 353, 357, 358, 359, 361, 365, 367, 368, 370, 371, 372, 374, 376, 377, 378, 383, 388, 390, 393, 397, 398, 401, 402, 428, 431, 432, 434, 467, 468, 469, 471, 488, 489, 490, 492, 502, 503, 504], "summary": {"covered_lines": 169, "num_statements": 169, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestVertexAnnotator.test_annotate_with_default_parameters": {"executed_lines": [23, 24, 27], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16, "executed_branches": [], "missing_branches": []}, "TestVertexAnnotator.test_annotate_with_custom_color_and_radius": {"executed_lines": [39, 40, 41, 42, 45], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31, "executed_branches": [], "missing_branches": []}, "TestVertexAnnotator.test_annotate_empty_key_points": {"executed_lines": [56, 57, 60], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 49, "executed_branches": [], "missing_branches": []}, "TestVertexAnnotator.test_visible_false_skips_vertex": {"executed_lines": [64, 68, 69, 70], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62, "executed_branches": [], "missing_branches": []}, "TestVertexAnnotator.test_visible_true_draws_vertex": {"executed_lines": [74, 78, 79, 80], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72, "executed_branches": [], "missing_branches": []}, "TestVertexAnnotator.test_visible_none_draws_all": {"executed_lines": [84, 87, 88, 89], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 82, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator.test_annotate_with_default_parameters": {"executed_lines": [107, 108, 111], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 100, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator.test_annotate_with_custom_edges": {"executed_lines": [123, 124, 125, 128], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 115, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator.test_annotate_empty_key_points": {"executed_lines": [139, 140, 143], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 132, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator.test_visible_false_skips_edge": {"executed_lines": [147, 151, 152, 153], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 145, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator.test_visible_true_draws_edge": {"executed_lines": [157, 161, 162, 163], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 155, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator.test_annotate_no_edges_found": {"executed_lines": [173, 178, 179, 181], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 165, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_annotate_with_covariance_data": {"executed_lines": [195, 199, 200, 201, 203, 206, 208, 209], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 190, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_annotate_empty_key_points": {"executed_lines": [216, 217, 219], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 211, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_annotate_missing_covariance_data_raises": {"executed_lines": [226, 228, 229], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 221, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_annotate_invalid_covariance_shape_raises": {"executed_lines": [236, 237, 239, 240], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 231, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_visible_false_skips_keypoint": {"executed_lines": [244, 245, 250, 255, 257, 260, 264, 265], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 242, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_max_axis_caps_large_eigenvalue": {"executed_lines": [269, 270, 274, 276, 278, 279], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 267, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator.test_constructor_raises_on_invalid_params": {"executed_lines": [292, 293], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 290, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseOutlineAnnotator.test_annotate_draws_outlines": {"executed_lines": [300, 304, 305, 306, 308, 313, 315, 316], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 299, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseOutlineAnnotator.test_annotate_empty_key_points": {"executed_lines": [319, 320, 322], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 318, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseOutlineAnnotator.test_visible_false_skips_keypoint": {"executed_lines": [325, 326, 331, 336, 338, 341, 345, 346], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 324, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseHaloAnnotator.test_annotate_draws_halo": {"executed_lines": [353, 357, 358, 359, 361, 365, 367, 368], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 352, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseHaloAnnotator.test_annotate_empty_key_points": {"executed_lines": [371, 372, 374], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 370, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseHaloAnnotator.test_visible_false_skips_keypoint": {"executed_lines": [377, 378, 383, 388, 390, 393, 397, 398], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 376, "executed_branches": [], "missing_branches": []}, "TestVertexLabelAnnotator.test_resolve_labels_returns_expected": {"executed_lines": [431, 432], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 428, "executed_branches": [], "missing_branches": []}, "TestVertexLabelAnnotator.test_resolve_labels_raises": {"executed_lines": [468, 469], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 467, "executed_branches": [], "missing_branches": []}, "TestVertexLabelAnnotator.test_resolve_color_list_returns_expected": {"executed_lines": [489, 490], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 488, "executed_branches": [], "missing_branches": []}, "TestVertexLabelAnnotator.test_resolve_color_list_wrong_length_raises": {"executed_lines": [503, 504], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 502, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 16, 31, 49, 62, 72, 82, 92, 100, 115, 132, 145, 155, 165, 184, 190, 211, 221, 231, 242, 267, 281, 290, 296, 299, 318, 324, 349, 352, 370, 376, 401, 402, 428, 434, 467, 471, 488, 492, 502], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestVertexAnnotator": {"executed_lines": [23, 24, 27, 39, 40, 41, 42, 45, 56, 57, 60, 64, 68, 69, 70, 74, 78, 79, 80, 84, 87, 88, 89], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8, "executed_branches": [], "missing_branches": []}, "TestEdgeAnnotator": {"executed_lines": [107, 108, 111, 123, 124, 125, 128, 139, 140, 143, 147, 151, 152, 153, 157, 161, 162, 163, 173, 178, 179, 181], "summary": {"covered_lines": 22, "num_statements": 22, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseAnnotator": {"executed_lines": [195, 199, 200, 201, 203, 206, 208, 209, 216, 217, 219, 226, 228, 229, 236, 237, 239, 240, 244, 245, 250, 255, 257, 260, 264, 265, 269, 270, 274, 276, 278, 279, 292, 293], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 184, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseOutlineAnnotator": {"executed_lines": [300, 304, 305, 306, 308, 313, 315, 316, 319, 320, 322, 325, 326, 331, 336, 338, 341, 345, 346], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 296, "executed_branches": [], "missing_branches": []}, "TestVertexEllipseHaloAnnotator": {"executed_lines": [353, 357, 358, 359, 361, 365, 367, 368, 371, 372, 374, 377, 378, 383, 388, 390, 393, 397, 398], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 349, "executed_branches": [], "missing_branches": []}, "TestVertexLabelAnnotator": {"executed_lines": [431, 432, 468, 469, 489, 490, 503, 504], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 401, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 8, 16, 31, 49, 62, 72, 82, 92, 100, 115, 132, 145, 155, 165, 184, 190, 211, 221, 231, 242, 267, 281, 290, 296, 299, 318, 324, 349, 352, 370, 376, 401, 402, 428, 434, 467, 471, 488, 492, 502], "summary": {"covered_lines": 44, "num_statements": 44, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\key_points\\test_core.py": {"executed_lines": [1, 3, 4, 6, 7, 16, 31, 371, 372, 373, 374, 377, 393, 508, 510, 511, 514, 517, 518, 523, 525, 526, 531, 532, 533, 535, 536, 546, 547, 548, 550, 551, 557, 558, 559, 561, 562, 568, 569, 570, 572, 573, 582, 583, 584, 585, 589, 590, 594, 595, 597, 598, 603, 608, 613, 614, 616, 617, 621, 626, 629, 631, 632, 633, 634, 637, 639, 640, 642, 647, 650, 652, 658, 659, 660, 662, 663, 666, 691, 695, 696, 697, 698, 699, 702, 704, 705, 706, 709, 711, 717, 719, 722, 724, 731, 733, 736, 738, 744, 746, 749, 751, 757, 759, 760, 763, 765, 771, 774, 775, 778, 780, 785, 786, 787, 788, 791, 793, 799, 800, 801, 802, 803, 804, 805, 806, 809, 811, 816, 817, 820, 861, 863, 864, 867, 869, 872, 875, 876, 879, 905, 907, 908, 911, 913, 916, 919, 922, 948, 950, 951, 954, 991, 993, 996, 999, 1002, 1004, 1006, 1007, 1009, 1010, 1012, 1013, 1015, 1028, 1032, 1033, 1034, 1036, 1037, 1039, 1041, 1043, 1044, 1046, 1047, 1048, 1050, 1051, 1053, 1055, 1057, 1059, 1060, 1061, 1063, 1065, 1067, 1069, 1070, 1072, 1074, 1075, 1077, 1078, 1082, 1087, 1396, 1398, 1399, 1402, 1437, 1439, 1440], "summary": {"covered_lines": 205, "num_statements": 205, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[800, 801], [800, 806], [816, -809], [816, 817]], "missing_branches": [], "functions": {"test_key_points_getitem": {"executed_lines": [372, 373, 374], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 371, "executed_branches": [], "missing_branches": []}, "test_key_points_getitem_detection_level": {"executed_lines": [510, 511], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 508, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_defaults_to_none": {"executed_lines": [518, 523], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 517, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_set_from_confidence_threshold": {"executed_lines": [526, 531, 532, 533], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 525, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_preserved_on_skeleton_filter": {"executed_lines": [536, 546, 547, 548], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 535, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_preserved_on_int_index": {"executed_lines": [551, 557, 558, 559], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 550, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_preserved_on_anchor_slice": {"executed_lines": [562, 568, 569, 570], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 561, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_preserved_on_2d_bool_mask": {"executed_lines": [573, 582, 583, 584, 585], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 572, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_visible_none_stays_none_on_filter": {"executed_lines": [590, 594, 595], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 589, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_equality_with_visible": {"executed_lines": [598, 603, 608, 613, 614], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 597, "executed_branches": [], "missing_branches": []}, "TestKeyPointsVisible.test_equality_visible_none_vs_set": {"executed_lines": [617, 621, 626], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 616, "executed_branches": [], "missing_branches": []}, "test_key_points_empty": {"executed_lines": [631, 632, 633, 634], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 629, "executed_branches": [], "missing_branches": []}, "test_key_points_is_empty": {"executed_lines": [639, 640, 642, 647], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 637, "executed_branches": [], "missing_branches": []}, "test_key_points_setitem": {"executed_lines": [652, 658, 659, 660, 662, 663], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 650, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections": {"executed_lines": [695, 696, 697, 698, 699], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 691, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_empty": {"executed_lines": [704, 705, 706], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 702, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_ignores_missing_keypoints": {"executed_lines": [711, 717, 719], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 709, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_uses_detection_confidence": {"executed_lines": [724, 731, 733], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 722, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_selected_keypoint_indices": {"executed_lines": [738, 744, 746], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 736, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_confidence_over_selected_indices": {"executed_lines": [751, 757, 759, 760], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 749, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_mixed_valid_invalid_batch": {"executed_lines": [765, 771, 774, 775], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 763, "executed_branches": [], "missing_branches": []}, "test_key_points_as_detections_with_data": {"executed_lines": [780, 785, 786, 787, 788], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 778, "executed_branches": [], "missing_branches": []}, "test_key_points_iteration": {"executed_lines": [793, 799, 800, 801, 802, 803, 804, 805, 806], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 791, "executed_branches": [[800, 801], [800, 806]], "missing_branches": []}, "test_key_points_iteration_no_confidence": {"executed_lines": [811, 816, 817], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 809, "executed_branches": [[816, -809], [816, 817]], "missing_branches": []}, "test_key_points_equality": {"executed_lines": [863, 864], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 861, "executed_branches": [], "missing_branches": []}, "test_key_points_equality_with_data": {"executed_lines": [869, 872, 875, 876], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 867, "executed_branches": [], "missing_branches": []}, "test_from_inference_input": {"executed_lines": [907, 908], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 905, "executed_branches": [], "missing_branches": []}, "test_from_inference_invalid_input": {"executed_lines": [913, 916, 919], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 911, "executed_branches": [], "missing_branches": []}, "test_from_yolo_nas_input": {"executed_lines": [950, 951], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 948, "executed_branches": [], "missing_branches": []}, "test_from_mediapipe_input": {"executed_lines": [993, 996], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 991, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor.test_constructor_accepts_and_warns_on_deprecated_confidence_kwarg": {"executed_lines": [1004, 1006, 1007, 1009, 1010, 1012, 1013], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1002, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor.test_constructor_rejects_both_confidence_and_keypoint_confidence": {"executed_lines": [1032, 1033, 1034, 1036, 1037], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1028, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor.test_constructor_normal_keypoint_confidence_path": {"executed_lines": [1041, 1043, 1044, 1046, 1047, 1048, 1050, 1051], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1039, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor.test_constructor_confidence_none_does_not_warn": {"executed_lines": [1055, 1057, 1059, 1060, 1061, 1063], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1053, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor.test_constructor_data_none_defaults_to_empty_dict": {"executed_lines": [1067, 1069, 1070], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1065, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor.test_keypoints_init_covers_all_dataclass_fields": {"executed_lines": [1074, 1075, 1077, 1078, 1082], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1072, "executed_branches": [], "missing_branches": []}, "test_with_nms": {"executed_lines": [1398, 1399], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1396, "executed_branches": [], "missing_branches": []}, "test_with_nms_raises": {"executed_lines": [1439, 1440], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1437, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 16, 31, 371, 377, 393, 508, 514, 517, 525, 535, 550, 561, 572, 589, 597, 616, 629, 637, 650, 666, 691, 702, 709, 722, 736, 749, 763, 778, 791, 809, 820, 861, 867, 879, 905, 911, 922, 948, 954, 991, 999, 1002, 1015, 1028, 1039, 1053, 1065, 1072, 1087, 1396, 1402, 1437], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestKeyPointsVisible": {"executed_lines": [518, 523, 526, 531, 532, 533, 536, 546, 547, 548, 551, 557, 558, 559, 562, 568, 569, 570, 573, 582, 583, 584, 585, 590, 594, 595, 598, 603, 608, 613, 614, 617, 621, 626], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 514, "executed_branches": [], "missing_branches": []}, "TestDeprecatedConfidenceConstructor": {"executed_lines": [1004, 1006, 1007, 1009, 1010, 1012, 1013, 1032, 1033, 1034, 1036, 1037, 1041, 1043, 1044, 1046, 1047, 1048, 1050, 1051, 1055, 1057, 1059, 1060, 1061, 1063, 1067, 1069, 1070, 1074, 1075, 1077, 1078, 1082], "summary": {"covered_lines": 34, "num_statements": 34, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 999, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 16, 31, 371, 372, 373, 374, 377, 393, 508, 510, 511, 514, 517, 525, 535, 550, 561, 572, 589, 597, 616, 629, 631, 632, 633, 634, 637, 639, 640, 642, 647, 650, 652, 658, 659, 660, 662, 663, 666, 691, 695, 696, 697, 698, 699, 702, 704, 705, 706, 709, 711, 717, 719, 722, 724, 731, 733, 736, 738, 744, 746, 749, 751, 757, 759, 760, 763, 765, 771, 774, 775, 778, 780, 785, 786, 787, 788, 791, 793, 799, 800, 801, 802, 803, 804, 805, 806, 809, 811, 816, 817, 820, 861, 863, 864, 867, 869, 872, 875, 876, 879, 905, 907, 908, 911, 913, 916, 919, 922, 948, 950, 951, 954, 991, 993, 996, 999, 1002, 1015, 1028, 1039, 1053, 1065, 1072, 1087, 1396, 1398, 1399, 1402, 1437, 1439, 1440], "summary": {"covered_lines": 137, "num_statements": 137, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[800, 801], [800, 806], [816, -809], [816, 817]], "missing_branches": []}}}, "tests\\key_points\\test_skeletons.py": {"executed_lines": [1, 8, 9, 11, 12, 13, 17, 20, 23, 24, 25, 27, 30, 34, 35, 36, 37, 39, 41, 43, 44, 45, 47, 49, 50, 51, 53, 56, 59, 60], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[11, -9], [11, 12], [35, 36], [35, 39], [50, 51], [50, 56], [59, -47], [59, 60]], "missing_branches": [], "functions": {"TestSkeletons.test_skeleton_enum_values": {"executed_lines": [11, 12, 13], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9, "executed_branches": [[11, -9], [11, 12]], "missing_branches": []}, "TestSkeletons.test_skeletons_by_vertex_count": {"executed_lines": [20, 23, 24, 25], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 17, "executed_branches": [], "missing_branches": []}, "TestSkeletons.test_skeletons_by_edge_count": {"executed_lines": [30, 34, 35, 36, 37, 39], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27, "executed_branches": [[35, 36], [35, 39]], "missing_branches": []}, "TestSkeletons.test_unique_vertices_calculation": {"executed_lines": [43, 44, 45], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "TestSkeletons.test_skeletons_by_vertex_count_mapping_behaviour": {"executed_lines": [49, 50, 51, 53, 56, 59, 60], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47, "executed_branches": [[50, 51], [50, 56], [59, -47], [59, 60]], "missing_branches": []}, "": {"executed_lines": [1, 8, 9, 17, 27, 41, 47], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestSkeletons": {"executed_lines": [11, 12, 13, 20, 23, 24, 25, 30, 34, 35, 36, 37, 39, 43, 44, 45, 49, 50, 51, 53, 56, 59, 60], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 8, "executed_branches": [[11, -9], [11, 12], [35, 36], [35, 39], [50, 51], [50, 56], [59, -47], [59, 60]], "missing_branches": []}, "": {"executed_lines": [1, 8, 9, 17, 27, 41, 47], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\conftest.py": {"executed_lines": [1, 3, 4, 6, 9, 10, 11, 18, 19, 20, 26, 27, 28, 35, 36, 37, 44, 45, 46, 52, 53, 54, 66, 67, 82, 83, 96, 97, 98, 105, 106, 107, 113, 114, 115, 128, 129, 130, 137, 138, 139, 145, 163, 165, 168, 178, 179, 194, 202, 203, 219], "summary": {"covered_lines": 51, "num_statements": 54, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [68, 84, 166], "excluded_lines": [], "executed_branches": [[165, 168]], "missing_branches": [[165, 166]], "functions": {"detections_50_50": {"executed_lines": [11], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "targets_50_50": {"executed_lines": [20], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 19, "executed_branches": [], "missing_branches": []}, "dummy_prediction": {"executed_lines": [28], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27, "executed_branches": [], "missing_branches": []}, "predictions_no_overlap": {"executed_lines": [37], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "targets_no_overlap": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45, "executed_branches": [], "missing_branches": []}, "targets_two_objects_class_0": {"executed_lines": [54], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 53, "executed_branches": [], "missing_branches": []}, "predictions_multiple_classes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [68], "excluded_lines": [], "start_line": 67, "executed_branches": [], "missing_branches": []}, "targets_multiple_classes": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [84], "excluded_lines": [], "start_line": 83, "executed_branches": [], "missing_branches": []}, "predictions_iou_064": {"executed_lines": [98], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 97, "executed_branches": [], "missing_branches": []}, "targets_iou_064": {"executed_lines": [107], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 106, "executed_branches": [], "missing_branches": []}, "predictions_confidence_ranking": {"executed_lines": [115], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 114, "executed_branches": [], "missing_branches": []}, "prediction_class_1": {"executed_lines": [130], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 129, "executed_branches": [], "missing_branches": []}, "target_class_1": {"executed_lines": [139], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 138, "executed_branches": [], "missing_branches": []}, "_yolo_dataset_factory": {"executed_lines": [163, 165, 168], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [166], "excluded_lines": [], "start_line": 145, "executed_branches": [[165, 168]], "missing_branches": [[165, 166]]}, "yolo_dataset_structure": {"executed_lines": [194], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 179, "executed_branches": [], "missing_branches": []}, "yolo_dataset_two_classes": {"executed_lines": [219], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 203, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 9, 10, 18, 19, 26, 27, 35, 36, 44, 45, 52, 53, 66, 67, 82, 83, 96, 97, 105, 106, 113, 114, 128, 129, 137, 138, 145, 178, 179, 202, 203], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 9, 10, 11, 18, 19, 20, 26, 27, 28, 35, 36, 37, 44, 45, 46, 52, 53, 54, 66, 67, 82, 83, 96, 97, 98, 105, 106, 107, 113, 114, 115, 128, 129, 130, 137, 138, 139, 145, 163, 165, 168, 178, 179, 194, 202, 203, 219], "summary": {"covered_lines": 51, "num_statements": 54, "percent_covered": 92.85714285714286, "percent_covered_display": "93", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 94.44444444444444, "percent_statements_covered_display": "94", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [68, 84, 166], "excluded_lines": [], "start_line": 1, "executed_branches": [[165, 168]], "missing_branches": [[165, 166]]}}}, "tests\\metrics\\test_detection.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 18, 25, 26, 45, 46, 54, 55, 65, 74, 75, 77, 92, 108, 113, 119, 130, 142, 151, 152, 153, 154, 155, 157, 158, 159, 160, 161, 162, 164, 165, 166, 167, 168, 169, 170, 172, 173, 177, 181, 185, 364, 379, 380, 385, 387, 505, 515, 516, 524, 525, 527, 549, 559, 560, 568, 569, 571, 581, 587, 588, 590, 592, 621, 635, 636, 639, 641, 1097, 1107, 1108, 1118, 1120, 1130, 1131, 1134, 1141, 1145, 1152, 1156, 1161, 1164, 1169, 1170, 1172, 1173, 1174, 1179, 1188, 1189, 1194, 1195, 1197, 1202, 1203, 1207, 1213, 1243, 1247, 1248, 1250, 1258, 1262, 1265, 1272, 1281, 1288, 1289, 1293, 1294, 1304, 1312, 1313, 1316, 1324, 1330, 1331, 1333, 1347, 1348, 1349, 1350, 1353, 1363, 1374, 1375, 1380, 1387, 1397, 1404, 1405, 1406, 1409, 1416, 1417, 1419, 1445, 1449, 1456, 1458, 1475, 1477, 1478, 1480, 1482, 1485, 1502, 1519, 1527, 1528, 1529, 1531, 1533, 1534, 1544, 1546, 1548, 1554], "summary": {"covered_lines": 166, "num_statements": 166, "percent_covered": 99.42528735632185, "percent_covered_display": "99", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[153, 154], [159, 160], [159, 162], [166, 167], [166, 170], [1172, 1173], [1172, 1179]], "missing_branches": [[153, 155]], "functions": {"_call_confusion_matrix_from_detections_masks": {"executed_lines": [26], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 25, "executed_branches": [], "missing_branches": []}, "_call_confusion_matrix_from_tensors_masks": {"executed_lines": [46], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45, "executed_branches": [], "missing_branches": []}, "_call_confusion_matrix_evaluate_detection_batch_masks": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.create_empty_conf_matrix": {"executed_lines": [153, 154, 155], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 1, "covered_branches": 1, "missing_branches": 1, "percent_branches_covered": 50.0, "percent_branches_covered_display": "50"}, "missing_lines": [], "excluded_lines": [], "start_line": 152, "executed_branches": [[153, 154]], "missing_branches": [[153, 155]]}, "TestDetectionMetrics.update_ideal_conf_matrix": {"executed_lines": [159, 160, 161, 162], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 158, "executed_branches": [[159, 160], [159, 162]], "missing_branches": []}, "TestDetectionMetrics.worsen_ideal_conf_matrix": {"executed_lines": [166, 167, 168, 169, 170], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 165, "executed_branches": [[166, 167], [166, 170]], "missing_branches": []}, "TestDetectionMetrics.test_detections_to_tensor": {"executed_lines": [379, 380, 385], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 364, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_from_tensors": {"executed_lines": [515, 516, 524, 525], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 505, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_evaluate_detection_batch": {"executed_lines": [559, 560, 568, 569], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 549, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_drop_extra_matches": {"executed_lines": [587, 588, 590], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 581, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_compute_average_precision": {"executed_lines": [635, 636, 639], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 621, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix": {"executed_lines": [1107, 1108, 1118], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1097, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_on_yolo_dataset": {"executed_lines": [1130, 1131, 1134, 1141, 1145, 1152, 1156, 1161, 1164, 1169, 1170, 1172, 1173, 1174, 1179, 1188, 1189, 1194, 1195, 1197, 1202, 1203, 1207], "summary": {"covered_lines": 23, "num_statements": 23, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1120, "executed_branches": [[1172, 1173], [1172, 1179]], "missing_branches": []}, "TestDetectionMetrics.test_validate_input_tensors_obb": {"executed_lines": [1247, 1248], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1243, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_obb": {"executed_lines": [1258, 1262, 1265, 1272, 1281, 1288, 1289, 1293, 1294, 1304, 1312, 1313, 1316, 1324, 1330, 1331], "summary": {"covered_lines": 16, "num_statements": 16, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1250, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_obb_regression_1760": {"executed_lines": [1347, 1348, 1349, 1350, 1353, 1363, 1374, 1375, 1380, 1387, 1397, 1404, 1405, 1406, 1409, 1416, 1417], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1333, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_from_tensors_obb": {"executed_lines": [1449, 1456], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1445, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_masks_rejection": {"executed_lines": [1477, 1478], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1475, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_multiclass_obb": {"executed_lines": [1482, 1485, 1502, 1519, 1527, 1528, 1529], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1480, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_metric_target_persistence_from_detections": {"executed_lines": [1533, 1534, 1544], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1531, "executed_branches": [], "missing_branches": []}, "TestDetectionMetrics.test_confusion_matrix_metric_target_persistence_from_tensors": {"executed_lines": [1548, 1554], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1546, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 18, 25, 45, 54, 65, 74, 75, 77, 92, 108, 113, 119, 130, 142, 151, 152, 157, 158, 164, 165, 172, 173, 177, 181, 185, 364, 387, 505, 527, 549, 571, 581, 592, 621, 641, 1097, 1120, 1213, 1243, 1250, 1333, 1419, 1445, 1458, 1475, 1480, 1531, 1546], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestDetectionMetrics": {"executed_lines": [153, 154, 155, 159, 160, 161, 162, 166, 167, 168, 169, 170, 379, 380, 385, 515, 516, 524, 525, 559, 560, 568, 569, 587, 588, 590, 635, 636, 639, 1107, 1108, 1118, 1130, 1131, 1134, 1141, 1145, 1152, 1156, 1161, 1164, 1169, 1170, 1172, 1173, 1174, 1179, 1188, 1189, 1194, 1195, 1197, 1202, 1203, 1207, 1247, 1248, 1258, 1262, 1265, 1272, 1281, 1288, 1289, 1293, 1294, 1304, 1312, 1313, 1316, 1324, 1330, 1331, 1347, 1348, 1349, 1350, 1353, 1363, 1374, 1375, 1380, 1387, 1397, 1404, 1405, 1406, 1409, 1416, 1417, 1449, 1456, 1477, 1478, 1482, 1485, 1502, 1519, 1527, 1528, 1529, 1533, 1534, 1544, 1548, 1554], "summary": {"covered_lines": 106, "num_statements": 106, "percent_covered": 99.12280701754386, "percent_covered_display": "99", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 1, "covered_branches": 7, "missing_branches": 1, "percent_branches_covered": 87.5, "percent_branches_covered_display": "88"}, "missing_lines": [], "excluded_lines": [], "start_line": 65, "executed_branches": [[153, 154], [159, 160], [159, 162], [166, 167], [166, 170], [1172, 1173], [1172, 1179]], "missing_branches": [[153, 155]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 18, 25, 26, 45, 46, 54, 55, 65, 74, 75, 77, 92, 108, 113, 119, 130, 142, 151, 152, 157, 158, 164, 165, 172, 173, 177, 181, 185, 364, 387, 505, 527, 549, 571, 581, 592, 621, 641, 1097, 1120, 1213, 1243, 1250, 1333, 1419, 1445, 1458, 1475, 1480, 1531, 1546], "summary": {"covered_lines": 60, "num_statements": 60, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\test_f1_score.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 12, 13, 26, 27, 28, 39, 41, 42, 43, 44, 45, 47, 49, 53, 54, 56, 58, 67, 77, 78, 80, 81, 82, 84, 86, 89, 92, 93, 96, 97, 98, 100, 102, 103, 110, 111, 112, 113, 115, 117, 118, 124, 125, 127, 129, 131, 132, 138, 139, 141, 143, 145, 146, 152, 153, 155, 157, 162, 166, 172, 173, 179, 180, 182, 198, 201, 208, 213, 214, 219, 221, 223, 229, 230, 233, 235, 239, 240, 246, 247, 248, 250, 254, 255, 261, 262, 263, 265, 269, 270, 277, 278, 279, 280, 281, 283, 285, 286, 291, 292, 294, 296, 297, 303, 304, 306, 310, 311, 316, 317, 319, 321, 324, 325, 327, 331, 333, 334, 337, 338, 340, 344, 345, 350, 351, 353, 357, 358, 363, 364, 366, 370, 371, 376, 377], "summary": {"covered_lines": 143, "num_statements": 143, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestF1Score.predictions_multiple_classes": {"executed_lines": [13], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "TestF1Score.targets_multiple_classes": {"executed_lines": [28], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 27, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_initialization_default": {"executed_lines": [41, 42, 43, 44, 45], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_initialization_custom": {"executed_lines": [49, 53, 54], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 47, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_size_specific_results_are_grouped_compatibly": {"executed_lines": [58, 67, 77, 78, 80, 81, 82], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_reset": {"executed_lines": [86, 89, 92, 93, 96, 97, 98], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 84, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_perfect_match": {"executed_lines": [102, 103, 110, 111, 112, 113], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 100, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_no_overlap": {"executed_lines": [117, 118, 124, 125], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 115, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_empty_predictions": {"executed_lines": [129, 131, 132, 138, 139], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 127, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_empty_targets": {"executed_lines": [143, 145, 146, 152, 153], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 141, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_false_positives_on_background_image_counted": {"executed_lines": [157, 162, 166, 172, 173, 179, 180], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 155, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_false_positives_of_absent_class_counted": {"executed_lines": [201, 208, 213, 214, 219], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 198, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_false_positives_on_background_image_weighted_returns_zero": {"executed_lines": [223, 229, 230, 233], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 221, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_single_class_mixed_results": {"executed_lines": [239, 240, 246, 247, 248], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 235, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_precision_recall_imbalance": {"executed_lines": [254, 255, 261, 262, 263], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 250, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_multiple_classes": {"executed_lines": [269, 270, 277, 278, 279, 280, 281], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 265, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_different_iou_thresholds": {"executed_lines": [285, 286, 291, 292], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 283, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_confidence_ranking": {"executed_lines": [296, 297, 303, 304], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 294, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_list_inputs": {"executed_lines": [310, 311, 316, 317], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 306, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_mismatched_list_lengths": {"executed_lines": [321, 324, 325], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 319, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_averaging_methods": {"executed_lines": [333, 334, 337, 338], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 331, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_macro_averaging": {"executed_lines": [344, 345, 350, 351], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 340, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_micro_averaging": {"executed_lines": [357, 358, 363, 364], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 353, "executed_branches": [], "missing_branches": []}, "TestF1Score.test_weighted_averaging": {"executed_lines": [370, 371, 376, 377], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 366, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 12, 26, 27, 39, 47, 56, 84, 100, 115, 127, 141, 155, 182, 198, 221, 235, 250, 265, 283, 294, 306, 319, 327, 331, 340, 353, 366], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestF1Score": {"executed_lines": [13, 28, 41, 42, 43, 44, 45, 49, 53, 54, 58, 67, 77, 78, 80, 81, 82, 86, 89, 92, 93, 96, 97, 98, 102, 103, 110, 111, 112, 113, 117, 118, 124, 125, 129, 131, 132, 138, 139, 143, 145, 146, 152, 153, 157, 162, 166, 172, 173, 179, 180, 201, 208, 213, 214, 219, 223, 229, 230, 233, 239, 240, 246, 247, 248, 254, 255, 261, 262, 263, 269, 270, 277, 278, 279, 280, 281, 285, 286, 291, 292, 296, 297, 303, 304, 310, 311, 316, 317, 321, 324, 325, 333, 334, 337, 338, 344, 345, 350, 351, 357, 358, 363, 364, 370, 371, 376, 377], "summary": {"covered_lines": 108, "num_statements": 108, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 12, 26, 27, 39, 47, 56, 84, 100, 115, 127, 141, 155, 182, 198, 221, 235, 250, 265, 283, 294, 306, 319, 327, 331, 340, 353, 366], "summary": {"covered_lines": 35, "num_statements": 35, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\test_mean_average_precision.py": {"executed_lines": [1, 3, 4, 5, 6, 12, 13, 15, 23, 33, 34, 35, 37, 39, 41, 43, 44, 45, 50, 53, 62, 63, 64, 69, 78, 82, 88, 94, 97, 98, 102, 104, 106, 107, 108, 109, 114, 117, 125, 130, 138, 146, 156, 157, 158, 159, 160, 168, 171, 179, 184, 187, 197, 198, 199, 200, 201, 206, 209, 217, 223, 226, 236, 237, 238, 239, 240, 245, 248, 256, 260, 271, 284, 285, 286, 287, 288, 295, 298, 311, 312, 313, 315, 322, 327, 331, 334, 339, 341, 342, 343, 344, 345, 352, 354, 355, 356], "summary": {"covered_lines": 97, "num_statements": 118, "percent_covered": 82.5, "percent_covered_display": "82", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 82.20338983050847, "percent_statements_covered_display": "82", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [48, 67, 100, 112, 163, 164, 204, 243, 291, 293, 318, 319, 320, 348, 350, 359, 360, 361, 364, 365, 366], "excluded_lines": [], "executed_branches": [[312, 313], [312, 315]], "missing_branches": [], "functions": {"TestMeanAveragePrecision.test_result_preserves_size_specific_accessors": {"executed_lines": [15, 23, 33, 34, 35, 37, 39], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_single_perfect_detection": {"executed_lines": [43, 44, 45], "summary": {"covered_lines": 3, "num_statements": 4, "percent_covered": 75.0, "percent_covered_display": "75", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 75.0, "percent_statements_covered_display": "75", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [48], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_multiple_perfect_detections": {"executed_lines": [53, 62, 63, 64], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [67], "excluded_lines": [], "start_line": 50, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_perfect_non_square_oriented_boxes_get_full_map": {"executed_lines": [78, 82, 88, 94, 97, 98], "summary": {"covered_lines": 6, "num_statements": 7, "percent_covered": 85.71428571428571, "percent_covered_display": "86", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 85.71428571428571, "percent_statements_covered_display": "86", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [100], "excluded_lines": [], "start_line": 69, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_batch_updates_perfect_detections": {"executed_lines": [104, 106, 107, 108, 109], "summary": {"covered_lines": 5, "num_statements": 6, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [112], "excluded_lines": [], "start_line": 102, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_scenario_1_success_case_imperfect_match": {"executed_lines": [117, 125, 130, 138, 146, 156, 157, 158, 159, 160], "summary": {"covered_lines": 10, "num_statements": 12, "percent_covered": 83.33333333333333, "percent_covered_display": "83", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 83.33333333333333, "percent_statements_covered_display": "83", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [163, 164], "excluded_lines": [], "start_line": 114, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_scenario_2_missed_detection": {"executed_lines": [171, 179, 184, 187, 197, 198, 199, 200, 201], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [204], "excluded_lines": [], "start_line": 168, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_scenario_3_false_positive": {"executed_lines": [209, 217, 223, 226, 236, 237, 238, 239, 240], "summary": {"covered_lines": 9, "num_statements": 10, "percent_covered": 90.0, "percent_covered_display": "90", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 90.0, "percent_statements_covered_display": "90", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [243], "excluded_lines": [], "start_line": 206, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_scenario_4_no_data": {"executed_lines": [248, 256, 260, 271, 284, 285, 286, 287, 288], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [291, 293], "excluded_lines": [], "start_line": 245, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_scenario_5_only_one_class_present": {"executed_lines": [298, 311, 312, 313, 315], "summary": {"covered_lines": 5, "num_statements": 8, "percent_covered": 70.0, "percent_covered_display": "70", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 62.5, "percent_statements_covered_display": "62", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [318, 319, 320], "excluded_lines": [], "start_line": 295, "executed_branches": [[312, 313], [312, 315]], "missing_branches": []}, "TestMeanAveragePrecision.test_mixed_classes_with_missing_detections": {"executed_lines": [327, 331, 334, 339, 341, 342, 343, 344, 345], "summary": {"covered_lines": 9, "num_statements": 11, "percent_covered": 81.81818181818181, "percent_covered_display": "82", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 81.81818181818181, "percent_statements_covered_display": "82", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [348, 350], "excluded_lines": [], "start_line": 322, "executed_branches": [], "missing_branches": []}, "TestMeanAveragePrecision.test_empty_predictions_and_targets": {"executed_lines": [354, 355, 356], "summary": {"covered_lines": 3, "num_statements": 9, "percent_covered": 33.333333333333336, "percent_covered_display": "33", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 33.333333333333336, "percent_statements_covered_display": "33", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [359, 360, 361, 364, 365, 366], "excluded_lines": [], "start_line": 352, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 12, 13, 41, 50, 69, 102, 114, 168, 206, 245, 295, 322, 352], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestMeanAveragePrecision": {"executed_lines": [15, 23, 33, 34, 35, 37, 39, 43, 44, 45, 53, 62, 63, 64, 78, 82, 88, 94, 97, 98, 104, 106, 107, 108, 109, 117, 125, 130, 138, 146, 156, 157, 158, 159, 160, 171, 179, 184, 187, 197, 198, 199, 200, 201, 209, 217, 223, 226, 236, 237, 238, 239, 240, 248, 256, 260, 271, 284, 285, 286, 287, 288, 298, 311, 312, 313, 315, 327, 331, 334, 339, 341, 342, 343, 344, 345, 354, 355, 356], "summary": {"covered_lines": 79, "num_statements": 100, "percent_covered": 79.41176470588235, "percent_covered_display": "79", "missing_lines": 21, "excluded_lines": 0, "percent_statements_covered": 79.0, "percent_statements_covered_display": "79", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [48, 67, 100, 112, 163, 164, 204, 243, 291, 293, 318, 319, 320, 348, 350, 359, 360, 361, 364, 365, 366], "excluded_lines": [], "start_line": 12, "executed_branches": [[312, 313], [312, 315]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 12, 13, 41, 50, 69, 102, 114, 168, 206, 245, 295, 322, 352], "summary": {"covered_lines": 18, "num_statements": 18, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\test_mean_average_precision_area.py": {"executed_lines": [1, 3, 4, 6, 7, 10, 13, 45, 49, 53, 59, 60, 63, 64, 65, 70, 99, 101, 108, 110, 115, 117, 118, 120, 121, 123, 128, 129], "summary": {"covered_lines": 28, "num_statements": 37, "percent_covered": 65.11627906976744, "percent_covered_display": "65", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 75.67567567567568, "percent_statements_covered_display": "76", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [72, 73, 77, 81, 82, 86, 90, 91, 95], "excluded_lines": [], "executed_branches": [], "missing_branches": [[72, 73], [72, 77], [81, 82], [81, 86], [90, 91], [90, 95]], "functions": {"TestMeanAveragePrecisionArea.test_area_calculation_and_size_specific_map": {"executed_lines": [49, 53, 59, 60, 63, 64, 65, 70], "summary": {"covered_lines": 8, "num_statements": 17, "percent_covered": 34.78260869565217, "percent_covered_display": "35", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 47.05882352941177, "percent_statements_covered_display": "47", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [72, 73, 77, 81, 82, 86, 90, 91, 95], "excluded_lines": [], "start_line": 45, "executed_branches": [], "missing_branches": [[72, 73], [72, 77], [81, 82], [81, 86], [90, 91], [90, 95]]}, "TestMeanAveragePrecisionArea.test_area_preserved_from_data": {"executed_lines": [101, 108, 110, 115, 117, 118, 120, 121, 123, 128, 129], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 10, 13, 45, 99], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestMeanAveragePrecisionArea": {"executed_lines": [49, 53, 59, 60, 63, 64, 65, 70, 101, 108, 110, 115, 117, 118, 120, 121, 123, 128, 129], "summary": {"covered_lines": 19, "num_statements": 28, "percent_covered": 55.88235294117647, "percent_covered_display": "56", "missing_lines": 9, "excluded_lines": 0, "percent_statements_covered": 67.85714285714286, "percent_statements_covered_display": "68", "num_branches": 6, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 6, "percent_branches_covered": 0.0, "percent_branches_covered_display": "0"}, "missing_lines": [72, 73, 77, 81, 82, 86, 90, 91, 95], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": [[72, 73], [72, 77], [81, 82], [81, 86], [90, 91], [90, 95]]}, "": {"executed_lines": [1, 3, 4, 6, 7, 10, 13, 45, 99], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\test_mean_average_recall.py": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 17, 147, 148, 157, 286, 287, 299, 310, 323, 326, 327, 339, 349, 360, 363, 365, 373, 383, 384, 385, 387, 388, 391, 393, 398, 399, 400, 403, 404, 407, 412, 413, 422, 423, 425, 426, 427, 430, 432, 435, 464, 466, 467, 468, 471, 472, 473, 477, 478, 479, 483, 490, 514, 516, 517, 518, 521, 522, 526, 527, 531, 537, 551, 553, 554, 557, 563, 564, 567, 568, 570, 571, 574, 575, 577, 578, 581, 582, 584, 595, 596, 597, 600, 603, 604, 605, 608, 609, 612, 616], "summary": {"covered_lines": 97, "num_statements": 98, "percent_covered": 98.03921568627452, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.9795918367347, "percent_statements_covered_display": "99", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [592], "excluded_lines": [], "executed_branches": [[570, 571], [570, 595], [574, 575]], "missing_branches": [[574, 592]], "functions": {"complex_scenario_targets": {"executed_lines": [17], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "complex_scenario_predictions": {"executed_lines": [157], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 148, "executed_branches": [], "missing_branches": []}, "two_class_two_image_detections": {"executed_lines": [299, 310, 323], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 287, "executed_branches": [], "missing_branches": []}, "three_class_single_image_detections": {"executed_lines": [339, 349, 360], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 327, "executed_branches": [], "missing_branches": []}, "test_mean_average_recall_result_preserves_size_subresults": {"executed_lines": [365, 373, 383, 384, 385, 387, 388], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 363, "executed_branches": [], "missing_branches": []}, "test_single_perfect_detection": {"executed_lines": [393, 398, 399, 400, 403, 404], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 391, "executed_branches": [], "missing_branches": []}, "test_complex_integration_scenario": {"executed_lines": [412, 422, 423, 425, 426, 427, 430, 432], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 407, "executed_branches": [], "missing_branches": []}, "test_complex_integration_scenario.mock_detections_list": {"executed_lines": [413], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 412, "executed_branches": [], "missing_branches": []}, "test_mar_at_k_limits_per_image_not_per_class": {"executed_lines": [464, 466, 467, 468, 471, 472, 473, 477, 478, 479, 483], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 435, "executed_branches": [], "missing_branches": []}, "test_three_class_single_image_scenario": {"executed_lines": [514, 516, 517, 518, 521, 522, 526, 527, 531], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 490, "executed_branches": [], "missing_branches": []}, "test_dataset_split_integration": {"executed_lines": [551, 553, 554, 557, 563, 564, 567, 568, 570, 571, 574, 575, 577, 578, 581, 582, 584, 595, 596, 597, 600, 603, 604, 605, 608, 609, 612, 616], "summary": {"covered_lines": 28, "num_statements": 29, "percent_covered": 93.93939393939394, "percent_covered_display": "94", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.55172413793103, "percent_statements_covered_display": "97", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [592], "excluded_lines": [], "start_line": 537, "executed_branches": [[570, 571], [570, 595], [574, 575]], "missing_branches": [[574, 592]]}, "": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 147, 148, 286, 287, 326, 327, 363, 391, 407, 435, 490, 537], "summary": {"covered_lines": 19, "num_statements": 19, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 17, 147, 148, 157, 286, 287, 299, 310, 323, 326, 327, 339, 349, 360, 363, 365, 373, 383, 384, 385, 387, 388, 391, 393, 398, 399, 400, 403, 404, 407, 412, 413, 422, 423, 425, 426, 427, 430, 432, 435, 464, 466, 467, 468, 471, 472, 473, 477, 478, 479, 483, 490, 514, 516, 517, 518, 521, 522, 526, 527, 531, 537, 551, 553, 554, 557, 563, 564, 567, 568, 570, 571, 574, 575, 577, 578, 581, 582, 584, 595, 596, 597, 600, 603, 604, 605, 608, 609, 612, 616], "summary": {"covered_lines": 97, "num_statements": 98, "percent_covered": 98.03921568627452, "percent_covered_display": "98", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 98.9795918367347, "percent_statements_covered_display": "99", "num_branches": 4, "num_partial_branches": 1, "covered_branches": 3, "missing_branches": 1, "percent_branches_covered": 75.0, "percent_branches_covered_display": "75"}, "missing_lines": [592], "excluded_lines": [], "start_line": 1, "executed_branches": [[570, 571], [570, 595], [574, 575]], "missing_branches": [[574, 592]]}}}, "tests\\metrics\\test_oriented_bounding_box_metrics.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 19, 27, 36, 41, 42, 44, 45, 47, 50, 57, 58, 60, 61], "summary": {"covered_lines": 25, "num_statements": 26, "percent_covered": 96.15384615384616, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.15384615384616, "percent_statements_covered_display": "96", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [63], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"_non_square_obb_detections": {"executed_lines": [15, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 14, "executed_branches": [], "missing_branches": []}, "test_perfect_non_square_oriented_boxes_score_as_perfect": {"executed_lines": [41, 42, 44, 45, 47], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "test_mean_average_precision_accepts_obb_metric_target": {"executed_lines": [57, 58, 60, 61], "summary": {"covered_lines": 4, "num_statements": 5, "percent_covered": 80.0, "percent_covered_display": "80", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 80.0, "percent_statements_covered_display": "80", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [63], "excluded_lines": [], "start_line": 50, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 14, 27, 36, 50], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 19, 27, 36, 41, 42, 44, 45, 47, 50, 57, 58, 60, 61], "summary": {"covered_lines": 25, "num_statements": 26, "percent_covered": 96.15384615384616, "percent_covered_display": "96", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 96.15384615384616, "percent_statements_covered_display": "96", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [63], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\test_precision.py": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 12, 20, 30, 31, 32, 34, 36, 38, 39, 40, 53, 54, 55, 67, 69, 70, 71, 72, 73, 75, 77, 81, 82, 84, 86, 89, 92, 93, 96, 97, 98, 100, 102, 103, 108, 109, 110, 111, 113, 115, 116, 120, 121, 123, 125, 127, 128, 131, 132, 134, 136, 138, 139, 143, 144, 146, 148, 153, 157, 163, 164, 170, 171, 173, 189, 192, 199, 204, 205, 210, 212, 214, 220, 221, 224, 226, 228, 229, 233, 234, 236, 240, 241, 249, 250, 251, 252, 253, 255, 257, 258, 262, 263, 265, 267, 268, 272, 274, 278, 279, 284, 285, 287, 289, 292, 293, 295, 299, 301, 302, 305, 306], "summary": {"covered_lines": 119, "num_statements": 119, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestPrecision.test_result_preserves_size_specific_accessors": {"executed_lines": [12, 20, 30, 31, 32, 34, 36], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "TestPrecision.predictions_multiple_classes": {"executed_lines": [40], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39, "executed_branches": [], "missing_branches": []}, "TestPrecision.targets_multiple_classes": {"executed_lines": [55], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 54, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_initialization_default": {"executed_lines": [69, 70, 71, 72, 73], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 67, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_initialization_custom": {"executed_lines": [77, 81, 82], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_reset": {"executed_lines": [86, 89, 92, 93, 96, 97, 98], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 84, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_perfect_match": {"executed_lines": [102, 103, 108, 109, 110, 111], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 100, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_no_overlap": {"executed_lines": [115, 116, 120, 121], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 113, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_empty_predictions": {"executed_lines": [125, 127, 128, 131, 132], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 123, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_empty_targets": {"executed_lines": [136, 138, 139, 143, 144], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 134, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_false_positives_on_background_image_counted": {"executed_lines": [148, 153, 157, 163, 164, 170, 171], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 146, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_false_positives_of_absent_class_counted": {"executed_lines": [192, 199, 204, 205, 210], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 189, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_false_positives_on_background_image_weighted_returns_zero": {"executed_lines": [214, 220, 221, 224], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 212, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_single_class": {"executed_lines": [228, 229, 233, 234], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 226, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_multiple_classes": {"executed_lines": [240, 241, 249, 250, 251, 252, 253], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 236, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_different_iou_thresholds": {"executed_lines": [257, 258, 262, 263], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 255, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_confidence_ranking": {"executed_lines": [267, 268, 272], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 265, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_list_inputs": {"executed_lines": [278, 279, 284, 285], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 274, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_mismatched_list_lengths": {"executed_lines": [289, 292, 293], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 287, "executed_branches": [], "missing_branches": []}, "TestPrecision.test_averaging_methods": {"executed_lines": [301, 302, 305, 306], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 299, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 38, 39, 53, 54, 67, 75, 84, 100, 113, 123, 134, 146, 173, 189, 212, 226, 236, 255, 265, 274, 287, 295, 299], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestPrecision": {"executed_lines": [12, 20, 30, 31, 32, 34, 36, 40, 55, 69, 70, 71, 72, 73, 77, 81, 82, 86, 89, 92, 93, 96, 97, 98, 102, 103, 108, 109, 110, 111, 115, 116, 120, 121, 125, 127, 128, 131, 132, 136, 138, 139, 143, 144, 148, 153, 157, 163, 164, 170, 171, 192, 199, 204, 205, 210, 214, 220, 221, 224, 228, 229, 233, 234, 240, 241, 249, 250, 251, 252, 253, 257, 258, 262, 263, 267, 268, 272, 278, 279, 284, 285, 289, 292, 293, 301, 302, 305, 306], "summary": {"covered_lines": 89, "num_statements": 89, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 9, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 9, 10, 38, 39, 53, 54, 67, 75, 84, 100, 113, 123, 134, 146, 173, 189, 212, 226, 236, 255, 265, 274, 287, 295, 299], "summary": {"covered_lines": 30, "num_statements": 30, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\metrics\\test_recall.py": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 13, 22, 32, 33, 34, 36, 38, 39, 41, 42, 43, 55, 56, 57, 69, 71, 72, 73, 74, 75, 77, 79, 83, 84, 86, 88, 91, 94, 95, 98, 99, 100, 102, 104, 105, 109, 110, 111, 112, 114, 116, 117, 121, 122, 124, 126, 128, 129, 132, 133, 135, 137, 139, 140, 143, 144, 146, 150, 151, 155, 156, 158, 162, 163, 170, 171, 172, 173, 174, 175, 177, 179, 180, 184, 185, 187, 189, 190, 194, 196, 200, 201, 205, 207, 211, 212, 217, 218, 220, 222, 225, 226, 228, 232, 234, 235, 238, 239, 241, 247, 259, 271, 272, 275], "summary": {"covered_lines": 112, "num_statements": 112, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestRecall.test_result_preserves_size_specific_accessors": {"executed_lines": [13, 22, 32, 33, 34, 36, 38, 39], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11, "executed_branches": [], "missing_branches": []}, "TestRecall.predictions_multiple_classes": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42, "executed_branches": [], "missing_branches": []}, "TestRecall.targets_multiple_classes": {"executed_lines": [57], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 56, "executed_branches": [], "missing_branches": []}, "TestRecall.test_initialization_default": {"executed_lines": [71, 72, 73, 74, 75], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 69, "executed_branches": [], "missing_branches": []}, "TestRecall.test_initialization_custom": {"executed_lines": [79, 83, 84], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 77, "executed_branches": [], "missing_branches": []}, "TestRecall.test_reset": {"executed_lines": [88, 91, 94, 95, 98, 99, 100], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 86, "executed_branches": [], "missing_branches": []}, "TestRecall.test_perfect_match": {"executed_lines": [104, 105, 109, 110, 111, 112], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 102, "executed_branches": [], "missing_branches": []}, "TestRecall.test_no_overlap": {"executed_lines": [116, 117, 121, 122], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 114, "executed_branches": [], "missing_branches": []}, "TestRecall.test_empty_predictions": {"executed_lines": [126, 128, 129, 132, 133], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 124, "executed_branches": [], "missing_branches": []}, "TestRecall.test_empty_targets": {"executed_lines": [137, 139, 140, 143, 144], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 135, "executed_branches": [], "missing_branches": []}, "TestRecall.test_single_class_missed_detections": {"executed_lines": [150, 151, 155, 156], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 146, "executed_branches": [], "missing_branches": []}, "TestRecall.test_multiple_classes": {"executed_lines": [162, 163, 170, 171, 172, 173, 174, 175], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 158, "executed_branches": [], "missing_branches": []}, "TestRecall.test_different_iou_thresholds": {"executed_lines": [179, 180, 184, 185], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 177, "executed_branches": [], "missing_branches": []}, "TestRecall.test_confidence_ranking": {"executed_lines": [189, 190, 194], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 187, "executed_branches": [], "missing_branches": []}, "TestRecall.test_multiple_predictions_one_target": {"executed_lines": [200, 201, 205], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 196, "executed_branches": [], "missing_branches": []}, "TestRecall.test_list_inputs": {"executed_lines": [211, 212, 217, 218], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 207, "executed_branches": [], "missing_branches": []}, "TestRecall.test_mismatched_list_lengths": {"executed_lines": [222, 225, 226], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 220, "executed_branches": [], "missing_branches": []}, "TestRecall.test_averaging_methods": {"executed_lines": [234, 235, 238, 239], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 232, "executed_branches": [], "missing_branches": []}, "TestRecall.test_macro_averaging": {"executed_lines": [247, 259, 271, 272, 275], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 241, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 41, 42, 55, 56, 69, 77, 86, 102, 114, 124, 135, 146, 158, 177, 187, 196, 207, 220, 228, 232, 241], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestRecall": {"executed_lines": [13, 22, 32, 33, 34, 36, 38, 39, 43, 57, 71, 72, 73, 74, 75, 79, 83, 84, 88, 91, 94, 95, 98, 99, 100, 104, 105, 109, 110, 111, 112, 116, 117, 121, 122, 126, 128, 129, 132, 133, 137, 139, 140, 143, 144, 150, 151, 155, 156, 162, 163, 170, 171, 172, 173, 174, 175, 179, 180, 184, 185, 189, 190, 194, 200, 201, 205, 211, 212, 217, 218, 222, 225, 226, 234, 235, 238, 239, 247, 259, 271, 272, 275], "summary": {"covered_lines": 83, "num_statements": 83, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 5, 6, 7, 10, 11, 41, 42, 55, 56, 69, 77, 86, 102, 114, 124, 135, 146, 158, 177, 187, 196, 207, 220, 228, 232, 241], "summary": {"covered_lines": 29, "num_statements": 29, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\test_validate_deprecations.py": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 33, 34, 41, 97, 98, 99, 102, 103, 104, 105, 106, 114, 116, 119], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"_detections": {"executed_lines": [34], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33, "executed_branches": [], "missing_branches": []}, "test_validate_public_shims_warn": {"executed_lines": [98, 99], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 97, "executed_branches": [], "missing_branches": []}, "test_private_validation_paths_do_not_warn": {"executed_lines": [103, 104, 105, 106, 114, 116, 119], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 102, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 33, 41, 97, 102], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 6, 7, 9, 10, 11, 12, 13, 14, 33, 34, 41, 97, 98, 99, 102, 103, 104, 105, 106, 114, 116, 119], "summary": {"covered_lines": 25, "num_statements": 25, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\tracker\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\tracker\\test_byte_tracker.py": {"executed_lines": [1, 2, 4, 7, 32, 36, 37, 41, 42, 43, 51, 59, 61], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 81.25, "percent_statements_covered_display": "81", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [38, 62, 63], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_byte_tracker": {"executed_lines": [36, 37], "summary": {"covered_lines": 2, "num_statements": 3, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [38], "excluded_lines": [], "start_line": 32, "executed_branches": [], "missing_branches": []}, "test_byte_tracker_does_not_skip_external_ids_for_short_lived_tracks": {"executed_lines": [42, 51, 59, 61], "summary": {"covered_lines": 4, "num_statements": 6, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 2, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [62, 63], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "test_byte_tracker_does_not_skip_external_ids_for_short_lived_tracks.detections_from_boxes": {"executed_lines": [43], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 42, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 7, 32, 41], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 7, 32, 36, 37, 41, 42, 43, 51, 59, 61], "summary": {"covered_lines": 13, "num_statements": 16, "percent_covered": 81.25, "percent_covered_display": "81", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 81.25, "percent_statements_covered_display": "81", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [38, 62, 63], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\utils\\__init__.py": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 0, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\utils\\conftest.py": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 14, 17, 18, 19, 22, 23, 27, 28, 32, 33, 37, 38, 42, 43, 47, 48, 52, 53, 57, 58, 62, 63, 67, 68, 72, 73, 77, 78, 82, 83, 87, 88, 94, 95], "summary": {"covered_lines": 43, "num_statements": 58, "percent_covered": 74.13793103448276, "percent_covered_display": "74", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 74.13793103448276, "percent_statements_covered_display": "74", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [24, 29, 34, 39, 44, 49, 54, 59, 64, 69, 74, 79, 84, 89, 96], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"empty_cv2_image": {"executed_lines": [14], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13, "executed_branches": [], "missing_branches": []}, "empty_pillow_image": {"executed_lines": [19], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18, "executed_branches": [], "missing_branches": []}, "all_images": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [24], "excluded_lines": [], "start_line": 23, "executed_branches": [], "missing_branches": []}, "one_image": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [29], "excluded_lines": [], "start_line": 28, "executed_branches": [], "missing_branches": []}, "two_images": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [34], "excluded_lines": [], "start_line": 33, "executed_branches": [], "missing_branches": []}, "three_images": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [39], "excluded_lines": [], "start_line": 38, "executed_branches": [], "missing_branches": []}, "four_images": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [44], "excluded_lines": [], "start_line": 43, "executed_branches": [], "missing_branches": []}, "all_images_tile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [49], "excluded_lines": [], "start_line": 48, "executed_branches": [], "missing_branches": []}, "all_images_tile_and_custom_colors": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [54], "excluded_lines": [], "start_line": 53, "executed_branches": [], "missing_branches": []}, "all_images_tile_and_custom_grid": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [59], "excluded_lines": [], "start_line": 58, "executed_branches": [], "missing_branches": []}, "four_images_tile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [64], "excluded_lines": [], "start_line": 63, "executed_branches": [], "missing_branches": []}, "single_image_tile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [69], "excluded_lines": [], "start_line": 68, "executed_branches": [], "missing_branches": []}, "single_image_tile_enforced_grid": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [74], "excluded_lines": [], "start_line": 73, "executed_branches": [], "missing_branches": []}, "three_images_tile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [79], "excluded_lines": [], "start_line": 78, "executed_branches": [], "missing_branches": []}, "two_images_tile": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [84], "excluded_lines": [], "start_line": 83, "executed_branches": [], "missing_branches": []}, "all_images_tile_and_custom_colors_and_titles": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [89], "excluded_lines": [], "start_line": 88, "executed_branches": [], "missing_branches": []}, "all_images_tile_and_titles_with_custom_configs": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [96], "excluded_lines": [], "start_line": 95, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 17, 18, 22, 23, 27, 28, 32, 33, 37, 38, 42, 43, 47, 48, 52, 53, 57, 58, 62, 63, 67, 68, 72, 73, 77, 78, 82, 83, 87, 88, 94, 95], "summary": {"covered_lines": 41, "num_statements": 41, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 6, 8, 9, 12, 13, 14, 17, 18, 19, 22, 23, 27, 28, 32, 33, 37, 38, 42, 43, 47, 48, 52, 53, 57, 58, 62, 63, 67, 68, 72, 73, 77, 78, 82, 83, 87, 88, 94, 95], "summary": {"covered_lines": 43, "num_statements": 58, "percent_covered": 74.13793103448276, "percent_covered_display": "74", "missing_lines": 15, "excluded_lines": 0, "percent_statements_covered": 74.13793103448276, "percent_statements_covered_display": "74", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [24, 29, 34, 39, 44, 49, 54, 59, 64, 69, 74, 79, 84, 89, 96], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\utils\\test_conversion.py": {"executed_lines": [1, 2, 4, 12, 16, 17, 19, 20, 25, 28, 31, 34, 37, 44, 45, 51, 55, 56, 58, 59, 64, 67, 70, 73, 76, 83, 86, 90, 93, 94, 99, 103, 106, 111, 113, 116, 119, 123, 126, 129, 130, 131, 136, 141, 144, 147, 148, 149, 154, 159, 162, 165, 166, 169], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[130, -119], [130, 131], [148, -136], [148, 149]], "missing_branches": [], "functions": {"test_ensure_cv2_image_for_processing_when_pillow_image_submitted": {"executed_lines": [16, 17, 19, 20, 37, 44, 45], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "test_ensure_cv2_image_for_processing_when_pillow_image_submitted.my_custom_processing_function": {"executed_lines": [25, 28, 31, 34], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 20, "executed_branches": [], "missing_branches": []}, "test_ensure_cv2_image_for_processing_when_cv2_image_submitted": {"executed_lines": [55, 56, 58, 59, 76, 83], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51, "executed_branches": [], "missing_branches": []}, "test_ensure_cv2_image_for_processing_when_cv2_image_submitted.my_custom_processing_function": {"executed_lines": [64, 67, 70, 73], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 59, "executed_branches": [], "missing_branches": []}, "test_cv2_to_pillow": {"executed_lines": [90, 93, 94], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 86, "executed_branches": [], "missing_branches": []}, "test_pillow_to_cv2": {"executed_lines": [103, 106], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 99, "executed_branches": [], "missing_branches": []}, "test_images_to_cv2_when_empty_input_provided": {"executed_lines": [113, 116], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 111, "executed_branches": [], "missing_branches": []}, "test_images_to_cv2_when_only_cv2_images_provided": {"executed_lines": [123, 126, 129, 130, 131], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 119, "executed_branches": [[130, -119], [130, 131]], "missing_branches": []}, "test_images_to_cv2_when_only_pillow_images_provided": {"executed_lines": [141, 144, 147, 148, 149], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 136, "executed_branches": [[148, -136], [148, 149]], "missing_branches": []}, "test_images_to_cv2_when_mixed_input_provided": {"executed_lines": [159, 162, 165, 166, 169], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 154, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 4, 12, 51, 86, 99, 111, 119, 136, 154], "summary": {"covered_lines": 11, "num_statements": 11, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 4, 12, 16, 17, 19, 20, 25, 28, 31, 34, 37, 44, 45, 51, 55, 56, 58, 59, 64, 67, 70, 73, 76, 83, 86, 90, 93, 94, 99, 103, 106, 111, 113, 116, 119, 123, 126, 129, 130, 131, 136, 141, 144, 147, 148, 149, 154, 159, 162, 165, 166, 169], "summary": {"covered_lines": 54, "num_statements": 54, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 4, "num_partial_branches": 0, "covered_branches": 4, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[130, -119], [130, 131], [148, -136], [148, 149]], "missing_branches": []}}}, "tests\\utils\\test_file.py": {"executed_lines": [1, 3, 4, 5, 7, 9, 11, 16, 22, 30, 31, 32, 33, 34, 35, 36, 37, 39, 41, 42, 43, 46, 62, 68, 69, 70, 73, 94, 101, 102, 104, 106], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[101, 102], [101, 104]], "missing_branches": [], "functions": {"setup_and_teardown_files": {"executed_lines": [32, 33, 34, 35, 36, 37, 39, 41, 42, 43], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31, "executed_branches": [], "missing_branches": []}, "test_read_txt_file": {"executed_lines": [68, 69, 70], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62, "executed_branches": [], "missing_branches": []}, "test_list_files_with_extensions_normalization": {"executed_lines": [101, 102, 104, 106], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 94, "executed_branches": [[101, 102], [101, 104]], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 9, 11, 16, 22, 30, 31, 46, 62, 73, 94], "summary": {"covered_lines": 15, "num_statements": 15, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 4, 5, 7, 9, 11, 16, 22, 30, 31, 32, 33, 34, 35, 36, 37, 39, 41, 42, 43, 46, 62, 68, 69, 70, 73, 94, 101, 102, 104, 106], "summary": {"covered_lines": 32, "num_statements": 32, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[101, 102], [101, 104]], "missing_branches": []}}}, "tests\\utils\\test_image.py": {"executed_lines": [1, 2, 3, 5, 13, 15, 16, 19, 26, 31, 33, 34, 37, 44, 45, 46, 51, 53, 54, 64, 69, 75, 76, 77, 86, 88, 89, 92, 95, 96, 97, 100, 103, 104, 105, 106, 107, 110, 112, 113, 125, 130, 134, 135, 140, 169, 170, 171, 172, 173, 174, 176, 177, 180, 193, 194, 195], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[171, 172], [171, 176]], "missing_branches": [], "functions": {"test_resize_image_for_opencv_image": {"executed_lines": [15, 16, 19, 26], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13, "executed_branches": [], "missing_branches": []}, "test_resize_image_for_pillow_image": {"executed_lines": [33, 34, 37, 44, 45, 46], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 31, "executed_branches": [], "missing_branches": []}, "test_letterbox_image_for_opencv_image": {"executed_lines": [53, 54, 64, 69], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 51, "executed_branches": [], "missing_branches": []}, "test_letterbox_image_for_grayscale_opencv_image": {"executed_lines": [76, 77, 86, 88, 89], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75, "executed_branches": [], "missing_branches": []}, "test_letterbox_image_for_rgba_opencv_image": {"executed_lines": [95, 96, 97, 100, 103, 104, 105, 106, 107], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 92, "executed_branches": [], "missing_branches": []}, "test_letterbox_image_for_pillow_image": {"executed_lines": [112, 113, 125, 130, 134, 135], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 110, "executed_branches": [], "missing_branches": []}, "test_crop_image": {"executed_lines": [170, 171, 172, 173, 174, 176, 177], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 169, "executed_branches": [[171, 172], [171, 176]], "missing_branches": []}, "test_get_image_resolution_wh": {"executed_lines": [194, 195], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 193, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 5, 13, 31, 51, 75, 92, 110, 140, 169, 180, 193], "summary": {"covered_lines": 14, "num_statements": 14, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 13, 15, 16, 19, 26, 31, 33, 34, 37, 44, 45, 46, 51, 53, 54, 64, 69, 75, 76, 77, 86, 88, 89, 92, 95, 96, 97, 100, 103, 104, 105, 106, 107, 110, 112, 113, 125, 130, 134, 135, 140, 169, 170, 171, 172, 173, 174, 176, 177, 180, 193, 194, 195], "summary": {"covered_lines": 57, "num_statements": 57, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[171, 172], [171, 176]], "missing_branches": []}}}, "tests\\utils\\test_internal.py": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 12, 13, 14, 15, 16, 18, 21, 24, 27, 28, 29, 31, 32, 33, 35, 36, 37, 40, 41, 42, 43, 44, 46, 47, 48, 50, 51, 52, 54, 57, 60, 63, 64, 65, 67, 68, 69, 71, 72, 73, 76, 189, 195, 196, 199], "summary": {"covered_lines": 52, "num_statements": 58, "percent_covered": 89.65517241379311, "percent_covered_display": "90", "missing_lines": 6, "excluded_lines": 0, "percent_statements_covered": 89.65517241379311, "percent_statements_covered_display": "90", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [19, 22, 25, 55, 58, 61], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"MockClass.__init__": {"executed_lines": [14, 15, 16], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 13, "executed_branches": [], "missing_branches": []}, "MockClass.public_method": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [19], "excluded_lines": [], "start_line": 18, "executed_branches": [], "missing_branches": []}, "MockClass._protected_method": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [22], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "MockClass.__private_method": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [25], "excluded_lines": [], "start_line": 24, "executed_branches": [], "missing_branches": []}, "MockClass.public_property": {"executed_lines": [29], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28, "executed_branches": [], "missing_branches": []}, "MockClass._protected_property": {"executed_lines": [33], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 32, "executed_branches": [], "missing_branches": []}, "MockClass.__private_property": {"executed_lines": [37], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 36, "executed_branches": [], "missing_branches": []}, "MockDataclass.public_method": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [55], "excluded_lines": [], "start_line": 54, "executed_branches": [], "missing_branches": []}, "MockDataclass._protected_method": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [58], "excluded_lines": [], "start_line": 57, "executed_branches": [], "missing_branches": []}, "MockDataclass.__private_method": {"executed_lines": [], "summary": {"covered_lines": 0, "num_statements": 1, "percent_covered": 0.0, "percent_covered_display": "0", "missing_lines": 1, "excluded_lines": 0, "percent_statements_covered": 0.0, "percent_statements_covered_display": "0", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [61], "excluded_lines": [], "start_line": 60, "executed_branches": [], "missing_branches": []}, "MockDataclass.public_property": {"executed_lines": [65], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 64, "executed_branches": [], "missing_branches": []}, "MockDataclass._protected_property": {"executed_lines": [69], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 68, "executed_branches": [], "missing_branches": []}, "MockDataclass.__private_property": {"executed_lines": [73], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 72, "executed_branches": [], "missing_branches": []}, "test_get_instance_variables": {"executed_lines": [195, 196, 199], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 189, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 12, 13, 18, 21, 24, 27, 28, 31, 32, 35, 36, 40, 41, 42, 43, 44, 46, 47, 48, 50, 51, 52, 54, 57, 60, 63, 64, 67, 68, 71, 72, 76, 189], "summary": {"covered_lines": 40, "num_statements": 40, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"MockClass": {"executed_lines": [14, 15, 16, 29, 33, 37], "summary": {"covered_lines": 6, "num_statements": 9, "percent_covered": 66.66666666666667, "percent_covered_display": "67", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 66.66666666666667, "percent_statements_covered_display": "67", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [19, 22, 25], "excluded_lines": [], "start_line": 12, "executed_branches": [], "missing_branches": []}, "MockDataclass": {"executed_lines": [65, 69, 73], "summary": {"covered_lines": 3, "num_statements": 6, "percent_covered": 50.0, "percent_covered_display": "50", "missing_lines": 3, "excluded_lines": 0, "percent_statements_covered": 50.0, "percent_statements_covered_display": "50", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [55, 58, 61], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 8, 9, 12, 13, 18, 21, 24, 27, 28, 31, 32, 35, 36, 40, 41, 42, 43, 44, 46, 47, 48, 50, 51, 52, 54, 57, 60, 63, 64, 67, 68, 71, 72, 76, 189, 195, 196, 199], "summary": {"covered_lines": 43, "num_statements": 43, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\utils\\test_iterables.py": {"executed_lines": [1, 3, 6, 21, 22, 23, 26, 41, 42, 43], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"test_create_batches": {"executed_lines": [22, 23], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "test_fill": {"executed_lines": [42, 43], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 41, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 6, 21, 26, 41], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 3, 6, 21, 22, 23, 26, 41, 42, 43], "summary": {"covered_lines": 10, "num_statements": 10, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\utils\\test_logger.py": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 13, 14, 16, 18, 19, 21, 23, 25, 26, 28, 30, 31, 33, 35, 36, 37, 39, 41, 42, 43, 45, 47, 48, 50, 52, 53, 58, 60, 62, 63, 68, 70, 72, 73, 75, 77, 78, 79, 80, 81, 82], "summary": {"covered_lines": 48, "num_statements": 48, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [], "missing_branches": [], "functions": {"TestGetLogger.test_default_name": {"executed_lines": [13, 14], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 11, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_custom_name": {"executed_lines": [18, 19], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 16, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_default_level_is_info": {"executed_lines": [23, 25, 26], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 21, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_explicit_level": {"executed_lines": [30, 31], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 28, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_log_level_env_var": {"executed_lines": [35, 36, 37], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 33, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_log_level_env_var_warning": {"executed_lines": [41, 42, 43], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_two_handlers_configured": {"executed_lines": [47, 48], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 45, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_stdout_handler_present": {"executed_lines": [52, 53, 58], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 50, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_stderr_handler_present": {"executed_lines": [62, 63, 68], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 60, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_no_propagation": {"executed_lines": [72, 73], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 70, "executed_branches": [], "missing_branches": []}, "TestGetLogger.test_idempotent_no_duplicate_handlers": {"executed_lines": [77, 78, 79, 80, 81, 82], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 75, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 16, 21, 28, 33, 39, 45, 50, 60, 70, 75], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"TestGetLogger": {"executed_lines": [13, 14, 18, 19, 23, 25, 26, 30, 31, 35, 36, 37, 41, 42, 43, 47, 48, 52, 53, 58, 62, 63, 68, 72, 73, 77, 78, 79, 80, 81, 82], "summary": {"covered_lines": 31, "num_statements": 31, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 10, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 3, 4, 5, 7, 10, 11, 16, 21, 28, 33, 39, 45, 50, 60, 70, 75], "summary": {"covered_lines": 17, "num_statements": 17, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}}, "tests\\utils\\test_video.py": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 37, 39, 40, 41, 42, 44, 45, 52, 60, 62, 63, 66, 70, 73, 80, 82, 83, 84, 85, 87, 88, 97, 105, 106, 108, 109, 110, 112, 119, 120, 123, 131, 133, 134, 137, 145, 148, 156, 157, 158, 159, 160, 161, 162, 165, 173, 175, 176, 177, 178, 180, 182, 183, 184, 185, 188, 196, 197, 198, 199, 200, 203, 211, 212, 213, 216, 224, 226, 227, 233, 238, 246, 248, 249, 254, 257, 273, 277, 278, 279, 281, 285, 287, 290, 292, 293, 295, 296, 297, 299, 304, 306, 307, 310, 318, 319, 320], "summary": {"covered_lines": 115, "num_statements": 115, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "executed_branches": [[22, 23], [22, 25], [40, 41], [40, 42], [83, 84], [83, 85], [176, 177], [176, 178]], "missing_branches": [], "functions": {"dummy_video_path": {"executed_lines": [19, 20, 21, 22, 23, 24, 25, 26], "summary": {"covered_lines": 8, "num_statements": 8, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 18, "executed_branches": [[22, 23], [22, 25]], "missing_branches": []}, "test_process_video_exception_handling": {"executed_lines": [37, 39, 44, 45], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 29, "executed_branches": [], "missing_branches": []}, "test_process_video_exception_handling.callback_with_exception": {"executed_lines": [40, 41, 42], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 39, "executed_branches": [[40, 41], [40, 42]], "missing_branches": []}, "test_process_video_success": {"executed_lines": [60, 62, 66, 70], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 52, "executed_branches": [], "missing_branches": []}, "test_process_video_success.callback_success": {"executed_lines": [63], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 62, "executed_branches": [], "missing_branches": []}, "test_process_video_exception_with_small_buffer": {"executed_lines": [80, 82, 87, 88], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 73, "executed_branches": [], "missing_branches": []}, "test_process_video_exception_with_small_buffer.callback_with_exception": {"executed_lines": [83, 84, 85], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 82, "executed_branches": [[83, 84], [83, 85]], "missing_branches": []}, "test_process_video_max_frames": {"executed_lines": [105, 106, 108, 112, 119, 120], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 97, "executed_branches": [], "missing_branches": []}, "test_process_video_max_frames.callback": {"executed_lines": [109, 110], "summary": {"covered_lines": 2, "num_statements": 2, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 108, "executed_branches": [], "missing_branches": []}, "test_process_video_custom_params": {"executed_lines": [131, 133, 137, 145], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 123, "executed_branches": [], "missing_branches": []}, "test_process_video_custom_params.callback": {"executed_lines": [134], "summary": {"covered_lines": 1, "num_statements": 1, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 133, "executed_branches": [], "missing_branches": []}, "test_video_info": {"executed_lines": [156, 157, 158, 159, 160, 161, 162], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 148, "executed_branches": [], "missing_branches": []}, "test_video_info_float_fps": {"executed_lines": [173, 175, 180, 182, 183, 184, 185], "summary": {"covered_lines": 7, "num_statements": 7, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 165, "executed_branches": [], "missing_branches": []}, "test_video_info_float_fps.mocked_get": {"executed_lines": [176, 177, 178], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 2, "num_partial_branches": 0, "covered_branches": 2, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 175, "executed_branches": [[176, 177], [176, 178]], "missing_branches": []}, "test_get_video_frames_generator": {"executed_lines": [196, 197, 198, 199, 200], "summary": {"covered_lines": 5, "num_statements": 5, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 188, "executed_branches": [], "missing_branches": []}, "test_get_video_frames_generator_with_stride": {"executed_lines": [211, 212, 213], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 203, "executed_branches": [], "missing_branches": []}, "test_process_video_preserve_audio_calls_mux": {"executed_lines": [224, 226, 227, 233], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 216, "executed_branches": [], "missing_branches": []}, "test_process_video_no_audio_by_default": {"executed_lines": [246, 248, 249, 254], "summary": {"covered_lines": 4, "num_statements": 4, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 238, "executed_branches": [], "missing_branches": []}, "test_mux_audio_file_unchanged_on_failure": {"executed_lines": [277, 278, 279, 281, 285, 287], "summary": {"covered_lines": 6, "num_statements": 6, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 273, "executed_branches": [], "missing_branches": []}, "test_mux_audio_replaces_file_on_success": {"executed_lines": [292, 293, 295, 296, 297, 299, 304, 306, 307], "summary": {"covered_lines": 9, "num_statements": 9, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 290, "executed_branches": [], "missing_branches": []}, "test_get_video_frames_generator_with_start_end": {"executed_lines": [318, 319, 320], "summary": {"covered_lines": 3, "num_statements": 3, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 310, "executed_branches": [], "missing_branches": []}, "": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 17, 18, 29, 52, 73, 97, 123, 148, 165, 188, 203, 216, 238, 257, 273, 290, 310], "summary": {"covered_lines": 24, "num_statements": 24, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 0, "num_partial_branches": 0, "covered_branches": 0, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [], "missing_branches": []}}, "classes": {"": {"executed_lines": [1, 2, 3, 5, 6, 7, 9, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 37, 39, 40, 41, 42, 44, 45, 52, 60, 62, 63, 66, 70, 73, 80, 82, 83, 84, 85, 87, 88, 97, 105, 106, 108, 109, 110, 112, 119, 120, 123, 131, 133, 134, 137, 145, 148, 156, 157, 158, 159, 160, 161, 162, 165, 173, 175, 176, 177, 178, 180, 182, 183, 184, 185, 188, 196, 197, 198, 199, 200, 203, 211, 212, 213, 216, 224, 226, 227, 233, 238, 246, 248, 249, 254, 257, 273, 277, 278, 279, 281, 285, 287, 290, 292, 293, 295, 296, 297, 299, 304, 306, 307, 310, 318, 319, 320], "summary": {"covered_lines": 115, "num_statements": 115, "percent_covered": 100.0, "percent_covered_display": "100", "missing_lines": 0, "excluded_lines": 0, "percent_statements_covered": 100.0, "percent_statements_covered_display": "100", "num_branches": 8, "num_partial_branches": 0, "covered_branches": 8, "missing_branches": 0, "percent_branches_covered": 100.0, "percent_branches_covered_display": "100"}, "missing_lines": [], "excluded_lines": [], "start_line": 1, "executed_branches": [[22, 23], [22, 25], [40, 41], [40, 42], [83, 84], [83, 85], [176, 177], [176, 178]], "missing_branches": []}}}}, "totals": {"covered_lines": 13513, "num_statements": 16345, "percent_covered": 79.29508773694002, "percent_covered_display": "79", "missing_lines": 2832, "excluded_lines": 50, "percent_statements_covered": 82.67360048944632, "percent_statements_covered_display": "83", "num_branches": 3544, "num_partial_branches": 448, "covered_branches": 2258, "missing_branches": 1286, "percent_branches_covered": 63.71331828442438, "percent_branches_covered_display": "64"}} \ No newline at end of file diff --git a/metrics-after-pytest/coverage_depois.xml b/metrics-after-pytest/coverage_depois.xml new file mode 100644 index 0000000000..ab348964f4 --- /dev/null +++ b/metrics-after-pytest/coverage_depois.xml @@ -0,0 +1,17268 @@ + + + + + + C:\Users\ediva\ufc\manutencao\supervision_refactory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/metrics-after-pytest/pytest_depois.html b/metrics-after-pytest/pytest_depois.html new file mode 100644 index 0000000000..0f53ca0e69 --- /dev/null +++ b/metrics-after-pytest/pytest_depois.html @@ -0,0 +1,1094 @@ + + + + + pytest_depois.html + + + + +

pytest_depois.html

+
+
+

Environment

+
+
+ + + + + +
+
+

Summary

+
+
+

2077 tests took 00:01:04.

+

(Un)check the boxes to filter the results.

+
+ +
+
+
+
+ + 18 Failed, + + 2059 Passed, + + 0 Skipped, + + 0 Expected failures, + + 0 Unexpected passes, + + 0 Errors, + + 0 Reruns + + 0 Retried, +
+
+  /  +
+
+
+
+
+
+
+
+ + + + + + + + + +
ResultTestDurationLinks
+
+
+ +
+ + \ No newline at end of file diff --git a/metrics-after-pytest/pytest_depois.xml b/metrics-after-pytest/pytest_depois.xml new file mode 100644 index 0000000000..e921e9976c --- /dev/null +++ b/metrics-after-pytest/pytest_depois.xml @@ -0,0 +1,1718 @@ +self = <tests.metrics.test_mean_average_precision.TestMeanAveragePrecision object at 0x000001C539A56A80> +detections_50_50 = Detections(xyxy=array([[10., 10., 50., 50.]], dtype=float32), mask=None, confidence=array([0.9]), class_id=array([0]), tracker_id=None, data={}, metadata={}) +targets_50_50 = Detections(xyxy=array([[10., 10., 50., 50.]], dtype=float32), mask=None, confidence=None, class_id=array([0]), tracker_id=None, data={}, metadata={}) + + def test_single_perfect_detection(self, detections_50_50, targets_50_50): + """Test that single perfect detection gets 1.0 mAP (not 0.0 due to ID=0 bug)""" + metric = MeanAveragePrecision() + metric.update([detections_50_50], [targets_50_50]) +> result = metric.compute() + ^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision.py:45: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[0.9999999], + [0.9999999], + [0.9999999], + ..., + [0.9999999], + [0.9999999], +...9999], + ..., + [0.9999999], + [0.9999999], + [0.9999999]]], shape=(10, 101, 1), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision.TestMeanAveragePrecision object at 0x000001C539A56C00> + + def test_multiple_perfect_detections(self): + """Test that multiple perfect detections get 1.0 mAP""" + # Multiple perfect detections in one image + detections = Detections( + xyxy=np.array( + [[10, 10, 50, 50], [100, 100, 140, 140], [200, 200, 240, 240]], + dtype=np.float64, + ), + class_id=np.array([0, 0, 0]), + confidence=np.array([0.9, 0.9, 0.9]), + ) + + metric = MeanAveragePrecision() + metric.update([detections], [detections]) +> result = metric.compute() + ^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision.py:64: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[1.], + [1.], + [1.], + ..., + [1.], + [1.], + [1.]], + + [[1.], + ... [1.], + [1.], + ..., + [1.], + [1.], + [1.]]], shape=(10, 101, 1), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision.TestMeanAveragePrecision object at 0x000001C539A56D80> + + def test_perfect_non_square_oriented_boxes_get_full_map(self): + """Smoke test: MeanAveragePrecision accepts non-square OBB inputs without error. + + NOTE: MeanAveragePrecision uses the COCO evaluator path + (box_iou_batch_with_jaccard) and does not route through + oriented_box_iou_batch regardless of metric_target. + This test verifies API acceptance and map50_95=1.0 via + xyxy COCO IoU, not OBB IoU. + """ + obb = np.array( + [[[10, 0], [0, 1], [30, 4], [40, 3]]], + dtype=np.float32, + ) + detections = Detections( + xyxy=np.array([[0, 0, 40, 4]], dtype=np.float64), + class_id=np.array([0]), + confidence=np.array([0.9]), + data={ORIENTED_BOX_COORDINATES: obb}, + ) + targets = Detections( + xyxy=np.array([[0, 0, 40, 4]], dtype=np.float64), + class_id=np.array([0]), + data={ORIENTED_BOX_COORDINATES: obb}, + ) + + metric = MeanAveragePrecision( + metric_target=MetricTarget.ORIENTED_BOUNDING_BOXES + ) + metric.update([detections], [targets]) +> result = metric.compute() + ^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision.py:98: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[0.9999999], + [0.9999999], + [0.9999999], + ..., + [0.9999999], + [0.9999999], +...9999], + ..., + [0.9999999], + [0.9999999], + [0.9999999]]], shape=(10, 101, 1), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision.TestMeanAveragePrecision object at 0x000001C539A56F30> +detections_50_50 = Detections(xyxy=array([[10., 10., 50., 50.]], dtype=float32), mask=None, confidence=array([0.9]), class_id=array([0]), tracker_id=None, data={}, metadata={}) +targets_50_50 = Detections(xyxy=array([[10., 10., 50., 50.]], dtype=float32), mask=None, confidence=None, class_id=array([0]), tracker_id=None, data={}, metadata={}) + + def test_batch_updates_perfect_detections(self, detections_50_50, targets_50_50): + """Test that batch updates with perfect detections get 1.0 mAP""" + metric = MeanAveragePrecision() + # Add 3 batch updates + metric.update([detections_50_50], [targets_50_50]) + metric.update([detections_50_50], [targets_50_50]) + metric.update([detections_50_50], [targets_50_50]) +> result = metric.compute() + ^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision.py:109: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[1.], + [1.], + [1.], + ..., + [1.], + [1.], + [1.]], + + [[1.], + ... [1.], + [1.], + ..., + [1.], + [1.], + [1.]]], shape=(10, 101, 1), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision.TestMeanAveragePrecision object at 0x000001C539A570B0> + + def test_scenario_1_success_case_imperfect_match(self): + """Scenario 1: Success Case with imperfect match""" + # Small object (class 0) - area = 30*30 = 900 < 1024 + small_perfect = Detections( + xyxy=np.array([[10, 10, 40, 40]], dtype=np.float64), + class_id=np.array([0]), + confidence=np.array([0.95]), + data={"area": np.array([900])}, + ) + + # Medium object (class 1) - area = 50*50 = 2500 (between 1024 and 9216) + medium_target = Detections( + xyxy=np.array([[10, 10, 60, 60]], dtype=np.float64), + class_id=np.array([1]), + data={"area": np.array([2500])}, + ) + medium_pred = Detections( + xyxy=np.array([[12, 12, 60, 60]], dtype=np.float64), # Slightly off + class_id=np.array([1]), + confidence=np.array([0.9]), + data={"area": np.array([2304])}, # 48*48 + ) + + # Large objects (classes 0, 1, 2) - area = 100*100 = 10000 > 9216 + large_targets = Detections( + xyxy=np.array( + [[10, 10, 110, 110], [120, 120, 220, 220], [230, 230, 330, 330]], + dtype=np.float64, + ), + class_id=np.array([2, 0, 1]), + data={"area": np.array([10000, 10000, 10000])}, + ) + large_preds = Detections( + xyxy=np.array( + [[10, 10, 110, 110], [120, 120, 220, 220], [230, 230, 330, 330]], + dtype=np.float64, + ), + class_id=np.array([2, 0, 1]), + confidence=np.array([0.9, 0.9, 0.9]), + data={"area": np.array([10000, 10000, 10000])}, + ) + + metric = MeanAveragePrecision() + metric.update([small_perfect], [small_perfect]) + metric.update([medium_pred], [medium_target]) + metric.update([large_preds], [large_targets]) +> result = metric.compute() + ^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision.py:160: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[1. , 1. , 0.9999999], + [1. , 1. , 0.9999999], + [1. , 1. , 0...1. , 0. , 0.9999999], + [1. , 0. , 0.9999999]]], + shape=(10, 101, 3), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision.TestMeanAveragePrecision object at 0x000001C539A57230> + + def test_scenario_2_missed_detection(self): + """Scenario 2: GT Present, No Prediction (Missed Detection)""" + # Small object - area = 30*30 = 900 < 1024 + small_detection = Detections( + xyxy=np.array([[10, 10, 40, 40]], dtype=np.float64), + class_id=np.array([0]), + confidence=np.array([0.95]), + data={"area": np.array([900])}, + ) + + # Medium object - area = 50*50 = 2500 (between 1024 and 9216) - missed + medium_target = Detections( + xyxy=np.array([[10, 10, 60, 60]], dtype=np.float64), + class_id=np.array([1]), + data={"area": np.array([2500])}, + ) + no_medium_pred = Detections.empty() + + # Large objects - area = 100*100 = 10000 > 9216 + large_detections = Detections( + xyxy=np.array( + [[10, 10, 110, 110], [120, 120, 220, 220], [230, 230, 330, 330]], + dtype=np.float64, + ), + class_id=np.array([2, 0, 1]), + confidence=np.array([0.9, 0.9, 0.9]), + data={"area": np.array([10000, 10000, 10000])}, + ) + + metric = MeanAveragePrecision() + metric.update([small_detection], [small_detection]) + metric.update([no_medium_pred], [medium_target]) + metric.update([large_detections], [large_detections]) +> result = metric.compute() + ^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision.py:201: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[1. , 0.9999999, 0.9999999], + [1. , 0.9999999, 0.9999999], + [1. , 0.9999999, 0...1. , 0. , 0.9999999], + [1. , 0. , 0.9999999]]], + shape=(10, 101, 3), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision.TestMeanAveragePrecision object at 0x000001C53999A690> + + def test_scenario_3_false_positive(self): + """Scenario 3: No GT, Prediction Present (False Positive)""" + # Small object - area = 30*30 = 900 < 1024 + small_detection = Detections( + xyxy=np.array([[10, 10, 40, 40]], dtype=np.float64), + class_id=np.array([0]), + confidence=np.array([0.95]), + data={"area": np.array([900])}, + ) + + # Medium object - area = 50*50 = 2500 - false positive (no GT) + medium_pred = Detections( + xyxy=np.array([[12, 12, 62, 62]], dtype=np.float64), + class_id=np.array([1]), + confidence=np.array([0.9]), + data={"area": np.array([2500])}, + ) + no_medium_target = Detections.empty() + + # Large objects - area = 100*100 = 10000 > 9216 + large_detections = Detections( + xyxy=np.array( + [[10, 10, 110, 110], [120, 120, 220, 220], [230, 230, 330, 330]], + dtype=np.float64, + ), + class_id=np.array([2, 0, 1]), + confidence=np.array([0.9, 0.9, 0.9]), + data={"area": np.array([10000, 10000, 10000])}, + ) + + metric = MeanAveragePrecision() + metric.update([small_detection], [small_detection]) + metric.update([medium_pred], [no_medium_target]) + metric.update([large_detections], [large_detections]) +> result = metric.compute() + ^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision.py:240: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[1. , 0.5 , 0.9999999], + [1. , 0.5 , 0.9999999], + [1. , 0.5 , 0...1. , 0.5 , 0.9999999], + [1. , 0.5 , 0.9999999]]], + shape=(10, 101, 3), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision.TestMeanAveragePrecision object at 0x000001C539A571D0> + + def test_scenario_4_no_data(self): + """Scenario 4: No GT, No Prediction (Category has no data)""" + # Small object - area = 30*30 = 900 < 1024 + small_detection = Detections( + xyxy=np.array([[10, 10, 40, 40]], dtype=np.float64), + class_id=np.array([0]), + confidence=np.array([0.95]), + data={"area": np.array([900])}, + ) + + # Medium object - no data at all + no_medium = Detections.empty() + + # Large objects - area = 100*100 = 10000 > 9216 + # only classes 0 and 2 (no class 1) + large_targets = Detections( + xyxy=np.array( + [ + [10, 10, 110, 110], + [120, 120, 220, 220], + ], + dtype=np.float64, + ), + class_id=np.array([2, 0]), + data={"area": np.array([10000, 10000])}, + ) + large_preds = Detections( + xyxy=np.array( + [ + [10, 10, 110, 110], + [120, 120, 220, 220], + ], + dtype=np.float64, + ), + class_id=np.array([2, 0]), + confidence=np.array([0.9, 0.9]), + data={"area": np.array([10000, 10000])}, + ) + + metric = MeanAveragePrecision() + metric.update([small_detection], [small_detection]) + metric.update([no_medium], [no_medium]) + metric.update([large_preds], [large_targets]) +> result = metric.compute() + ^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision.py:288: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[1. , 0.9999999], + [1. , 0.9999999], + [1. , 0.9999999], + ..., + [... , 0.9999999], + [1. , 0.9999999], + [1. , 0.9999999]]], shape=(10, 101, 2), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision.TestMeanAveragePrecision object at 0x000001C539A56C30> + + def test_scenario_5_only_one_class_present(self): + """Scenario 5: Only 1 of 3 Classes Present (Perfect Match)""" + # Only class 0 objects with perfect matches + detections_class_0 = [ + Detections( + xyxy=np.array([[10, 10, 40, 40]], dtype=np.float64), + class_id=np.array([0]), + confidence=np.array([0.95]), + ), + Detections( + xyxy=np.array([[20, 20, 230, 130]], dtype=np.float64), + class_id=np.array([0]), + confidence=np.array([0.9]), + ), + ] + + metric = MeanAveragePrecision() + for det in detections_class_0: + metric.update([det], [det]) + +> result = metric.compute() + ^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision.py:315: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[1.], + [1.], + [1.], + ..., + [1.], + [1.], + [1.]], + + [[1.], + ... [1.], + [1.], + ..., + [1.], + [1.], + [1.]]], shape=(10, 101, 1), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision.TestMeanAveragePrecision object at 0x000001C539A55F40> +detections_50_50 = Detections(xyxy=array([[10., 10., 50., 50.]], dtype=float32), mask=None, confidence=array([0.9]), class_id=array([0]), tracker_id=None, data={}, metadata={}) +targets_50_50 = Detections(xyxy=array([[10., 10., 50., 50.]], dtype=float32), mask=None, confidence=None, class_id=array([0]), tracker_id=None, data={}, metadata={}) + + def test_mixed_classes_with_missing_detections( + self, detections_50_50, targets_50_50 + ): + """Test mixed scenario with some classes having no detections""" + # Class 1: GT exists but no prediction + class_1_target = Detections( + xyxy=np.array([[60, 60, 100, 100]], dtype=np.float64), + class_id=np.array([1]), + ) + class_1_pred = Detections.empty() + + # Class 2: Prediction exists but no GT (false positive) + class_2_pred = Detections( + xyxy=np.array([[110, 110, 150, 150]], dtype=np.float64), + class_id=np.array([2]), + confidence=np.array([0.8]), + ) + class_2_target = Detections.empty() + + metric = MeanAveragePrecision() + metric.update([detections_50_50], [targets_50_50]) + metric.update([class_1_pred], [class_1_target]) + metric.update([class_2_pred], [class_2_target]) +> result = metric.compute() + ^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision.py:345: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[0.9999999, 0. ], + [0.9999999, 0. ], + [0.9999999, 0. ], + ..., + [...99999, 0. ], + [0.9999999, 0. ], + [0.9999999, 0. ]]], shape=(10, 101, 2), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision.TestMeanAveragePrecision object at 0x000001C539A55C10> + + def test_empty_predictions_and_targets(self): + """Test completely empty predictions and targets""" + metric = MeanAveragePrecision() + metric.update([Detections.empty()], [Detections.empty()]) +> result = metric.compute() + ^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision.py:356: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([], shape=(10, 101, 0), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision_area.TestMeanAveragePrecisionArea object at 0x000001C539A576E0> +xyxy = array([[ 10., 10., 40., 40.], + [100., 100., 200., 150.], + [300., 300., 500., 400.]], dtype=float32) +expected_areas = [900.0, 5000.0, 20000.0] +expected_size_maps = {'large': True, 'medium': True, 'small': True} + + @pytest.mark.parametrize( + ("xyxy", "expected_areas", "expected_size_maps"), + [ + ( + np.array( + [ + [10, 10, 40, 40], # Small: 900 + [100, 100, 200, 150], # Medium: 5000 + [300, 300, 500, 400], # Large: 20000 + ], + dtype=np.float32, + ), + [900.0, 5000.0, 20000.0], + {"small": True, "medium": True, "large": True}, + ), + ( + np.array([[0, 0, 10, 10]], dtype=np.float32), # Small: 100 + [100.0], + {"small": True, "medium": False, "large": False}, + ), + ( + np.array([[0, 0, 50, 50]], dtype=np.float32), # Medium: 2500 + [2500.0], + {"small": False, "medium": True, "large": False}, + ), + ( + np.array([[0, 0, 100, 100]], dtype=np.float32), # Large: 10000 + [10000.0], + {"small": False, "medium": False, "large": True}, + ), + ], + ) + def test_area_calculation_and_size_specific_map( + self, xyxy, expected_areas, expected_size_maps + ): + """Test area calculation and size-specific mAP functionality.""" + gt = Detections( + xyxy=xyxy, + class_id=np.arange(len(xyxy)), + ) + pred = Detections( + xyxy=gt.xyxy.copy(), + class_id=gt.class_id.copy(), + confidence=np.full(len(xyxy), 0.9), + ) + + map_metric = MeanAveragePrecision() + map_metric.update([pred], [gt]) + + # Test area calculation + prepared_targets = map_metric._prepare_targets(map_metric._targets_list) + areas = [ann["area"] for ann in prepared_targets["annotations"]] + assert np.allclose(areas, expected_areas), ( + f"Expected {expected_areas}, got {areas}" + ) + + # Test size-specific mAP +> result = map_metric.compute() + ^^^^^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision_area.py:70: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[0.9999999, 0.9999999, 0.9999999], + [0.9999999, 0.9999999, 0.9999999], + [0.9999999, 0.9999999, 0...0.9999999, 0.9999999, 0.9999999], + [0.9999999, 0.9999999, 0.9999999]]], + shape=(10, 101, 3), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision_area.TestMeanAveragePrecisionArea object at 0x000001C539A57920> +xyxy = array([[ 0., 0., 10., 10.]], dtype=float32), expected_areas = [100.0] +expected_size_maps = {'large': False, 'medium': False, 'small': True} + + @pytest.mark.parametrize( + ("xyxy", "expected_areas", "expected_size_maps"), + [ + ( + np.array( + [ + [10, 10, 40, 40], # Small: 900 + [100, 100, 200, 150], # Medium: 5000 + [300, 300, 500, 400], # Large: 20000 + ], + dtype=np.float32, + ), + [900.0, 5000.0, 20000.0], + {"small": True, "medium": True, "large": True}, + ), + ( + np.array([[0, 0, 10, 10]], dtype=np.float32), # Small: 100 + [100.0], + {"small": True, "medium": False, "large": False}, + ), + ( + np.array([[0, 0, 50, 50]], dtype=np.float32), # Medium: 2500 + [2500.0], + {"small": False, "medium": True, "large": False}, + ), + ( + np.array([[0, 0, 100, 100]], dtype=np.float32), # Large: 10000 + [10000.0], + {"small": False, "medium": False, "large": True}, + ), + ], + ) + def test_area_calculation_and_size_specific_map( + self, xyxy, expected_areas, expected_size_maps + ): + """Test area calculation and size-specific mAP functionality.""" + gt = Detections( + xyxy=xyxy, + class_id=np.arange(len(xyxy)), + ) + pred = Detections( + xyxy=gt.xyxy.copy(), + class_id=gt.class_id.copy(), + confidence=np.full(len(xyxy), 0.9), + ) + + map_metric = MeanAveragePrecision() + map_metric.update([pred], [gt]) + + # Test area calculation + prepared_targets = map_metric._prepare_targets(map_metric._targets_list) + areas = [ann["area"] for ann in prepared_targets["annotations"]] + assert np.allclose(areas, expected_areas), ( + f"Expected {expected_areas}, got {areas}" + ) + + # Test size-specific mAP +> result = map_metric.compute() + ^^^^^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision_area.py:70: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[0.9999999], + [0.9999999], + [0.9999999], + ..., + [0.9999999], + [0.9999999], +...9999], + ..., + [0.9999999], + [0.9999999], + [0.9999999]]], shape=(10, 101, 1), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision_area.TestMeanAveragePrecisionArea object at 0x000001C539A579E0> +xyxy = array([[ 0., 0., 50., 50.]], dtype=float32), expected_areas = [2500.0] +expected_size_maps = {'large': False, 'medium': True, 'small': False} + + @pytest.mark.parametrize( + ("xyxy", "expected_areas", "expected_size_maps"), + [ + ( + np.array( + [ + [10, 10, 40, 40], # Small: 900 + [100, 100, 200, 150], # Medium: 5000 + [300, 300, 500, 400], # Large: 20000 + ], + dtype=np.float32, + ), + [900.0, 5000.0, 20000.0], + {"small": True, "medium": True, "large": True}, + ), + ( + np.array([[0, 0, 10, 10]], dtype=np.float32), # Small: 100 + [100.0], + {"small": True, "medium": False, "large": False}, + ), + ( + np.array([[0, 0, 50, 50]], dtype=np.float32), # Medium: 2500 + [2500.0], + {"small": False, "medium": True, "large": False}, + ), + ( + np.array([[0, 0, 100, 100]], dtype=np.float32), # Large: 10000 + [10000.0], + {"small": False, "medium": False, "large": True}, + ), + ], + ) + def test_area_calculation_and_size_specific_map( + self, xyxy, expected_areas, expected_size_maps + ): + """Test area calculation and size-specific mAP functionality.""" + gt = Detections( + xyxy=xyxy, + class_id=np.arange(len(xyxy)), + ) + pred = Detections( + xyxy=gt.xyxy.copy(), + class_id=gt.class_id.copy(), + confidence=np.full(len(xyxy), 0.9), + ) + + map_metric = MeanAveragePrecision() + map_metric.update([pred], [gt]) + + # Test area calculation + prepared_targets = map_metric._prepare_targets(map_metric._targets_list) + areas = [ann["area"] for ann in prepared_targets["annotations"]] + assert np.allclose(areas, expected_areas), ( + f"Expected {expected_areas}, got {areas}" + ) + + # Test size-specific mAP +> result = map_metric.compute() + ^^^^^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision_area.py:70: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[0.9999999], + [0.9999999], + [0.9999999], + ..., + [0.9999999], + [0.9999999], +...9999], + ..., + [0.9999999], + [0.9999999], + [0.9999999]]], shape=(10, 101, 1), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrorself = <tests.metrics.test_mean_average_precision_area.TestMeanAveragePrecisionArea object at 0x000001C539A57AA0> +xyxy = array([[ 0., 0., 100., 100.]], dtype=float32), expected_areas = [10000.0] +expected_size_maps = {'large': True, 'medium': False, 'small': False} + + @pytest.mark.parametrize( + ("xyxy", "expected_areas", "expected_size_maps"), + [ + ( + np.array( + [ + [10, 10, 40, 40], # Small: 900 + [100, 100, 200, 150], # Medium: 5000 + [300, 300, 500, 400], # Large: 20000 + ], + dtype=np.float32, + ), + [900.0, 5000.0, 20000.0], + {"small": True, "medium": True, "large": True}, + ), + ( + np.array([[0, 0, 10, 10]], dtype=np.float32), # Small: 100 + [100.0], + {"small": True, "medium": False, "large": False}, + ), + ( + np.array([[0, 0, 50, 50]], dtype=np.float32), # Medium: 2500 + [2500.0], + {"small": False, "medium": True, "large": False}, + ), + ( + np.array([[0, 0, 100, 100]], dtype=np.float32), # Large: 10000 + [10000.0], + {"small": False, "medium": False, "large": True}, + ), + ], + ) + def test_area_calculation_and_size_specific_map( + self, xyxy, expected_areas, expected_size_maps + ): + """Test area calculation and size-specific mAP functionality.""" + gt = Detections( + xyxy=xyxy, + class_id=np.arange(len(xyxy)), + ) + pred = Detections( + xyxy=gt.xyxy.copy(), + class_id=gt.class_id.copy(), + confidence=np.full(len(xyxy), 0.9), + ) + + map_metric = MeanAveragePrecision() + map_metric.update([pred], [gt]) + + # Test area calculation + prepared_targets = map_metric._prepare_targets(map_metric._targets_list) + areas = [ann["area"] for ann in prepared_targets["annotations"]] + assert np.allclose(areas, expected_areas), ( + f"Expected {expected_areas}, got {areas}" + ) + + # Test size-specific mAP +> result = map_metric.compute() + ^^^^^^^^^^^^^^^^^^^^ + +tests\metrics\test_mean_average_precision_area.py:70: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[0.9999999], + [0.9999999], + [0.9999999], + ..., + [0.9999999], + [0.9999999], +...9999], + ..., + [0.9999999], + [0.9999999], + [0.9999999]]], shape=(10, 101, 1), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrordef test_mean_average_precision_accepts_obb_metric_target() -> None: + """Smoke test: MeanAveragePrecision accepts metric_target=ORIENTED_BOUNDING_BOXES. + + NOTE: MeanAveragePrecision uses the COCO evaluator path (box_iou_batch_with_jaccard) + and does not route through oriented_box_iou_batch regardless of metric_target. + This test verifies API acceptance only, not OBB IoU correctness. + """ + predictions = _non_square_obb_detections(confidence=True) + targets = _non_square_obb_detections() + + metric = MeanAveragePrecision(metric_target=MetricTarget.ORIENTED_BOUNDING_BOXES) +> result = metric.update([predictions], [targets]).compute() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +tests\metrics\test_oriented_bounding_box_metrics.py:61: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\metrics\mean_average_precision.py:1655: in compute + cocoEval.evaluate() +src\supervision\metrics\mean_average_precision.py:1400: in evaluate + self._accumulate() +src\supervision\metrics\mean_average_precision.py:1256: in _accumulate + ap_results = self._compute_average_precision_by_size(precision) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\metrics\mean_average_precision.py:1185: in _compute_average_precision_by_size + self._compute_average_precision(average_precision_all_sizes) +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +precision_slice = array([[[0.9999999], + [0.9999999], + [0.9999999], + ..., + [0.9999999], + [0.9999999], +...9999], + ..., + [0.9999999], + [0.9999999], + [0.9999999]]], shape=(10, 101, 1), dtype=float32) + + @staticmethod + def _compute_average_precision( + precision_slice: npt.NDArray[np.float32], + ) -> tuple[npt.NDArray[np.float32], npt.NDArray[np.float32]]: + valid_mask = precision_slice != -1 + valid_precision = np.where(valid_mask, precision_slice, np.float32(0.0)) + + def mean_with_mask( + axis: int | tuple[int, ...], + ) -> npt.NDArray[np.float32]: + sums = valid_precision.sum(axis=axis, dtype=np.float64) + counts = valid_mask.sum(axis=axis) + means = np.divide( + sums, + counts, + out=np.full(sums.shape, -1.0, dtype=np.float64), + where=counts > 0, + ) + return means.astype(np.float32) + + self._state.results = { +> "params": self.params, + ^^^^ + "counts": [ + num_iou_thresholds, + num_recall_thresholds, + num_categories, + num_area_ranges, + num_max_detections, + ], + "date": datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), + "precision": precision, + "recall": recall, + "scores": scores, + } +E NameError: name 'self' is not defined + +src\supervision\metrics\mean_average_precision.py:1157: NameErrordetections = [Detections(xyxy=array([[10, 10, 20, 20], + [30, 30, 40, 40]]), mask=None, confidence=array([1, 1]), class_id=arr...30, 30, 40, 40]]), mask=None, confidence=array([1, 1]), class_id=array([1, 1]), tracker_id=None, data={}, metadata={})] +expected_results = Detections(xyxy=array([[10, 10, 20, 20], + [30, 30, 40, 40]]), mask=None, confidence=array([1, 1]), class_id=array([1, 1]), tracker_id=array([1, 2]), data={}, metadata={}) + + @pytest.mark.parametrize( + ("detections", "expected_results"), + [ + ( + [ + sv.Detections( + xyxy=np.array([[10, 10, 20, 20], [30, 30, 40, 40]]), + class_id=np.array([1, 1]), + confidence=np.array([1, 1]), + ), + sv.Detections( + xyxy=np.array([[10, 10, 20, 20], [30, 30, 40, 40]]), + class_id=np.array([1, 1]), + confidence=np.array([1, 1]), + ), + ], + sv.Detections( + xyxy=np.array([[10, 10, 20, 20], [30, 30, 40, 40]]), + class_id=np.array([1, 1]), + confidence=np.array([1, 1]), + tracker_id=np.array([1, 2]), + ), + ), + ], + ) + def test_byte_tracker( + detections: list[sv.Detections], + expected_results: sv.Detections, + ) -> None: + byte_tracker = sv.ByteTrack() +> tracked_detections = [byte_tracker.update_with_detections(d) for d in detections] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +tests\tracker\test_byte_tracker.py:37: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\tracker\byte_tracker\core.py:159: in update_with_detections + tracks = self.update_with_tensors(tensors=tensors) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\tracker\byte_tracker\core.py:213: in update_with_tensors + dets, scores_keep, dets_second, scores_second = self._split_by_confidence( +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +self = <supervision.tracker.byte_tracker.core.ByteTrack object at 0x000001C53B23ACF0> +tensors = array([[10, 10, 20, 20, 1], + [30, 30, 40, 40, 1]]) + + def _split_by_confidence( + self, tensors: npt.NDArray[np.float32] + ) -> tuple[ + npt.NDArray[np.float32], + npt.NDArray[np.float32], + npt.NDArray[np.float32], + npt.NDArray[np.float32], + ]: + scores = tensors[:, 4] + bboxes = tensors[:, :4] + + remain_inds = scores > self.config.track_activation_threshold + inds_low = scores > 0.1 + inds_high = scores < self.config.track_activation_threshold + + inds_second = np.logical_and(inds_low, inds_high) + dets_second = bboxes[inds_second] + dets = bboxes[remain_inds] + scores_keep = scores[remain_inds] + scores_second = scores[inds_second] + + if len(dets) > 0: + """Detections""" + detections = [ + STrack( + STrack.tlbr_to_tlwh(tlbr), + score_keep, + self.config.minimum_consecutive_frames, + self.state.resources.internal_id_counter, + self.state.resources.external_id_counter, + ) + for (tlbr, score_keep) in zip(dets, scores_keep) + ] + else: + detections = [] +> inds_high = scores < self.track_activation_threshold + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +E AttributeError: 'ByteTrack' object has no attribute 'track_activation_threshold' + +src\supervision\tracker\byte_tracker\core.py:274: AttributeErrordef test_byte_tracker_does_not_skip_external_ids_for_short_lived_tracks() -> None: + def detections_from_boxes(boxes: list[list[float]]) -> sv.Detections: + return sv.Detections( + xyxy=np.array(boxes, dtype=np.float32), + class_id=np.zeros(len(boxes), dtype=int), + confidence=np.ones(len(boxes), dtype=np.float32), + ) + + # A transient false-positive appears and disappears before becoming confirmed. + # It should not consume an external tracker id. + frames = [ + detections_from_boxes([[0, 0, 10, 10]]), + detections_from_boxes([[0, 0, 10, 10], [100, 100, 110, 110]]), + detections_from_boxes([[0, 0, 10, 10]]), + detections_from_boxes([[0, 0, 10, 10], [200, 200, 210, 210]]), + detections_from_boxes([[0, 0, 10, 10], [200, 200, 210, 210]]), + ] + + byte_tracker = sv.ByteTrack(minimum_consecutive_frames=1) + +> tracked = [byte_tracker.update_with_detections(frame) for frame in frames] + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +tests\tracker\test_byte_tracker.py:61: +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ +src\supervision\tracker\byte_tracker\core.py:159: in update_with_detections + tracks = self.update_with_tensors(tensors=tensors) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +src\supervision\tracker\byte_tracker\core.py:213: in update_with_tensors + dets, scores_keep, dets_second, scores_second = self._split_by_confidence( +_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ + +self = <supervision.tracker.byte_tracker.core.ByteTrack object at 0x000001C53B23BEC0> +tensors = array([[ 0., 0., 10., 10., 1.]], dtype=float32) + + def _split_by_confidence( + self, tensors: npt.NDArray[np.float32] + ) -> tuple[ + npt.NDArray[np.float32], + npt.NDArray[np.float32], + npt.NDArray[np.float32], + npt.NDArray[np.float32], + ]: + scores = tensors[:, 4] + bboxes = tensors[:, :4] + + remain_inds = scores > self.config.track_activation_threshold + inds_low = scores > 0.1 + inds_high = scores < self.config.track_activation_threshold + + inds_second = np.logical_and(inds_low, inds_high) + dets_second = bboxes[inds_second] + dets = bboxes[remain_inds] + scores_keep = scores[remain_inds] + scores_second = scores[inds_second] + + if len(dets) > 0: + """Detections""" + detections = [ + STrack( + STrack.tlbr_to_tlwh(tlbr), + score_keep, + self.config.minimum_consecutive_frames, + self.state.resources.internal_id_counter, + self.state.resources.external_id_counter, + ) + for (tlbr, score_keep) in zip(dets, scores_keep) + ] + else: + detections = [] +> inds_high = scores < self.track_activation_threshold + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +E AttributeError: 'ByteTrack' object has no attribute 'track_activation_threshold' + +src\supervision\tracker\byte_tracker\core.py:274: AttributeError \ No newline at end of file diff --git a/metrics-after-radon/cc_depois.json b/metrics-after-radon/cc_depois.json new file mode 100644 index 0000000000..bf8f4b8e7d --- /dev/null +++ b/metrics-after-radon/cc_depois.json @@ -0,0 +1,18082 @@ +{ + "src\\supervision\\annotators\\base.py": [ + { + "type": "class", + "rank": "A", + "name": "BaseAnnotator", + "endline": 12, + "complexity": 2, + "lineno": 7, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 12, + "complexity": 1, + "classname": "BaseAnnotator", + "lineno": 9, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 12, + "complexity": 1, + "classname": "BaseAnnotator", + "lineno": 9, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\annotators\\core.py": [ + { + "type": "method", + "rank": "C", + "name": "calculate_border_coordinates", + "endline": 2821, + "complexity": 11, + "classname": "PercentageBarAnnotator", + "lineno": 2795, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "calculate_crop_coordinates", + "endline": 3015, + "complexity": 11, + "classname": "CropAnnotator", + "lineno": 2977, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2189, + "complexity": 10, + "classname": "TraceAnnotator", + "lineno": 2090, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2395, + "complexity": 10, + "classname": "PixelateAnnotator", + "lineno": 2323, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_paint_masks_by_area", + "endline": 493, + "complexity": 8, + "lineno": 438, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "PixelateAnnotator", + "endline": 2395, + "complexity": 8, + "lineno": 2304, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2320, + "complexity": 3, + "classname": "PixelateAnnotator", + "lineno": 2309, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2395, + "complexity": 10, + "classname": "PixelateAnnotator", + "lineno": 2323, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 1064, + "complexity": 7, + "classname": "BoxCornerAnnotator", + "lineno": 999, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 1954, + "complexity": 7, + "classname": "IconAnnotator", + "lineno": 1885, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "TraceAnnotator", + "endline": 2189, + "complexity": 7, + "lineno": 2047, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2087, + "complexity": 1, + "classname": "TraceAnnotator", + "lineno": 2058, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2189, + "complexity": 10, + "classname": "TraceAnnotator", + "lineno": 2090, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "_validate_custom_values", + "endline": 2848, + "complexity": 7, + "classname": "PercentageBarAnnotator", + "lineno": 2824, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "CropAnnotator", + "endline": 3015, + "complexity": 7, + "lineno": 2863, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2893, + "complexity": 1, + "classname": "CropAnnotator", + "lineno": 2868, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2974, + "complexity": 6, + "classname": "CropAnnotator", + "lineno": 2896, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "calculate_crop_coordinates", + "endline": 3015, + "complexity": 11, + "classname": "CropAnnotator", + "lineno": 2977, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "_use_obb", + "endline": 3253, + "complexity": 7, + "classname": "ComparisonAnnotator", + "lineno": 3246, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_use_mask", + "endline": 3264, + "complexity": 7, + "classname": "ComparisonAnnotator", + "lineno": 3257, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 434, + "complexity": 6, + "classname": "OrientedBoxAnnotator", + "lineno": 374, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 676, + "complexity": 6, + "classname": "PolygonAnnotator", + "lineno": 612, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 870, + "complexity": 6, + "classname": "HaloAnnotator", + "lineno": 803, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 1267, + "complexity": 6, + "classname": "DotAnnotator", + "lineno": 1195, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_draw_labels", + "endline": 1540, + "complexity": 6, + "classname": "LabelAnnotator", + "lineno": 1460, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "BlurAnnotator", + "endline": 2044, + "complexity": 6, + "lineno": 1970, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1984, + "complexity": 3, + "classname": "BlurAnnotator", + "lineno": 1975, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2044, + "complexity": 6, + "classname": "BlurAnnotator", + "lineno": 1987, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2044, + "complexity": 6, + "classname": "BlurAnnotator", + "lineno": 1987, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2301, + "complexity": 6, + "classname": "HeatMapAnnotator", + "lineno": 2228, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2517, + "complexity": 6, + "classname": "TriangleAnnotator", + "lineno": 2437, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2653, + "complexity": 6, + "classname": "RoundBoxAnnotator", + "lineno": 2553, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "PercentageBarAnnotator", + "endline": 2860, + "complexity": 6, + "lineno": 2656, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2693, + "complexity": 2, + "classname": "PercentageBarAnnotator", + "lineno": 2661, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2792, + "complexity": 6, + "classname": "PercentageBarAnnotator", + "lineno": 2697, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "calculate_border_coordinates", + "endline": 2821, + "complexity": 11, + "classname": "PercentageBarAnnotator", + "lineno": 2795, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_validate_custom_values", + "endline": 2848, + "complexity": 7, + "classname": "PercentageBarAnnotator", + "lineno": 2824, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "validate_custom_values", + "endline": 2860, + "complexity": 1, + "classname": "PercentageBarAnnotator", + "lineno": 2856, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2792, + "complexity": 6, + "classname": "PercentageBarAnnotator", + "lineno": 2697, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2974, + "complexity": 6, + "classname": "CropAnnotator", + "lineno": 2896, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 3102, + "complexity": 6, + "classname": "BackgroundOverlayAnnotator", + "lineno": 3051, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 3243, + "complexity": 6, + "classname": "ComparisonAnnotator", + "lineno": 3166, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "OrientedBoxAnnotator", + "endline": 434, + "complexity": 5, + "lineno": 350, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 371, + "complexity": 1, + "classname": "OrientedBoxAnnotator", + "lineno": 355, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 434, + "complexity": 6, + "classname": "OrientedBoxAnnotator", + "lineno": 374, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "PolygonAnnotator", + "endline": 676, + "complexity": 5, + "lineno": 584, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 609, + "complexity": 1, + "classname": "PolygonAnnotator", + "lineno": 593, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 676, + "complexity": 6, + "classname": "PolygonAnnotator", + "lineno": 612, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "HaloAnnotator", + "endline": 870, + "complexity": 5, + "lineno": 771, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 800, + "complexity": 1, + "classname": "HaloAnnotator", + "lineno": 780, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 870, + "complexity": 6, + "classname": "HaloAnnotator", + "lineno": 803, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "BoxCornerAnnotator", + "endline": 1064, + "complexity": 5, + "lineno": 972, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 996, + "complexity": 1, + "classname": "BoxCornerAnnotator", + "lineno": 977, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 1064, + "complexity": 7, + "classname": "BoxCornerAnnotator", + "lineno": 999, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "DotAnnotator", + "endline": 1267, + "complexity": 5, + "lineno": 1159, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1192, + "complexity": 1, + "classname": "DotAnnotator", + "lineno": 1165, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 1267, + "complexity": 6, + "classname": "DotAnnotator", + "lineno": 1195, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_draw_labels", + "endline": 1835, + "complexity": 5, + "classname": "RichLabelAnnotator", + "lineno": 1774, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "HeatMapAnnotator", + "endline": 2301, + "complexity": 5, + "lineno": 2192, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2225, + "complexity": 1, + "classname": "HeatMapAnnotator", + "lineno": 2199, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2301, + "complexity": 6, + "classname": "HeatMapAnnotator", + "lineno": 2228, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "TriangleAnnotator", + "endline": 2517, + "complexity": 5, + "lineno": 2398, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2434, + "complexity": 1, + "classname": "TriangleAnnotator", + "lineno": 2404, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2517, + "complexity": 6, + "classname": "TriangleAnnotator", + "lineno": 2437, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "RoundBoxAnnotator", + "endline": 2653, + "complexity": 5, + "lineno": 2520, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2550, + "complexity": 2, + "classname": "RoundBoxAnnotator", + "lineno": 2526, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 2653, + "complexity": 6, + "classname": "RoundBoxAnnotator", + "lineno": 2553, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "BackgroundOverlayAnnotator", + "endline": 3102, + "complexity": 5, + "lineno": 3018, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 3048, + "complexity": 1, + "classname": "BackgroundOverlayAnnotator", + "lineno": 3033, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 3102, + "complexity": 6, + "classname": "BackgroundOverlayAnnotator", + "lineno": 3051, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "ComparisonAnnotator", + "endline": 3382, + "complexity": 5, + "lineno": 3117, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 3162, + "complexity": 1, + "classname": "ComparisonAnnotator", + "lineno": 3128, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 3243, + "complexity": 6, + "classname": "ComparisonAnnotator", + "lineno": 3166, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_use_obb", + "endline": 3253, + "complexity": 7, + "classname": "ComparisonAnnotator", + "lineno": 3246, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_use_mask", + "endline": 3264, + "complexity": 7, + "classname": "ComparisonAnnotator", + "lineno": 3257, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_mask_from_xyxy", + "endline": 3281, + "complexity": 3, + "classname": "ComparisonAnnotator", + "lineno": 3268, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_mask_from_obb", + "endline": 3296, + "complexity": 3, + "classname": "ComparisonAnnotator", + "lineno": 3284, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_mask_from_mask", + "endline": 3309, + "complexity": 4, + "classname": "ComparisonAnnotator", + "lineno": 3299, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_draw_labels", + "endline": 3382, + "complexity": 3, + "classname": "ComparisonAnnotator", + "lineno": 3311, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "BoxAnnotator", + "endline": 347, + "complexity": 4, + "lineno": 263, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 284, + "complexity": 1, + "classname": "BoxAnnotator", + "lineno": 268, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 347, + "complexity": 4, + "classname": "BoxAnnotator", + "lineno": 287, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 347, + "complexity": 4, + "classname": "BoxAnnotator", + "lineno": 287, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "MaskAnnotator", + "endline": 581, + "complexity": 4, + "lineno": 496, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 521, + "complexity": 1, + "classname": "MaskAnnotator", + "lineno": 505, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 581, + "complexity": 4, + "classname": "MaskAnnotator", + "lineno": 524, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 581, + "complexity": 4, + "classname": "MaskAnnotator", + "lineno": 524, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "ColorAnnotator", + "endline": 768, + "complexity": 4, + "lineno": 679, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 700, + "complexity": 1, + "classname": "ColorAnnotator", + "lineno": 684, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 768, + "complexity": 4, + "classname": "ColorAnnotator", + "lineno": 703, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 768, + "complexity": 4, + "classname": "ColorAnnotator", + "lineno": 703, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "EllipseAnnotator", + "endline": 969, + "complexity": 4, + "lineno": 873, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 900, + "complexity": 1, + "classname": "EllipseAnnotator", + "lineno": 878, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 969, + "complexity": 4, + "classname": "EllipseAnnotator", + "lineno": 903, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 969, + "complexity": 4, + "classname": "EllipseAnnotator", + "lineno": 903, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "CircleAnnotator", + "endline": 1156, + "complexity": 4, + "lineno": 1067, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1089, + "complexity": 1, + "classname": "CircleAnnotator", + "lineno": 1072, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 1156, + "complexity": 4, + "classname": "CircleAnnotator", + "lineno": 1092, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 1156, + "complexity": 4, + "classname": "CircleAnnotator", + "lineno": 1092, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "LabelAnnotator", + "endline": 1582, + "complexity": 4, + "lineno": 1270, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1321, + "complexity": 1, + "classname": "LabelAnnotator", + "lineno": 1275, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 1404, + "complexity": 3, + "classname": "LabelAnnotator", + "lineno": 1325, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_get_label_properties", + "endline": 1458, + "complexity": 4, + "classname": "LabelAnnotator", + "lineno": 1406, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_draw_labels", + "endline": 1540, + "complexity": 6, + "classname": "LabelAnnotator", + "lineno": 1460, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "draw_rounded_rectangle", + "endline": 1582, + "complexity": 3, + "classname": "LabelAnnotator", + "lineno": 1543, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_get_label_properties", + "endline": 1458, + "complexity": 4, + "classname": "LabelAnnotator", + "lineno": 1406, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "RichLabelAnnotator", + "endline": 1858, + "complexity": 4, + "lineno": 1585, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1638, + "complexity": 1, + "classname": "RichLabelAnnotator", + "lineno": 1591, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 1720, + "complexity": 3, + "classname": "RichLabelAnnotator", + "lineno": 1642, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_get_label_properties", + "endline": 1772, + "complexity": 4, + "classname": "RichLabelAnnotator", + "lineno": 1722, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_draw_labels", + "endline": 1835, + "complexity": 5, + "classname": "RichLabelAnnotator", + "lineno": 1774, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_load_font", + "endline": 1858, + "complexity": 3, + "classname": "RichLabelAnnotator", + "lineno": 1838, + "col_offset": 4, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "load_default_font", + "endline": 1847, + "complexity": 2, + "lineno": 1841, + "col_offset": 8, + "closures": [] + } + ] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_get_label_properties", + "endline": 1772, + "complexity": 4, + "classname": "RichLabelAnnotator", + "lineno": 1722, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "IconAnnotator", + "endline": 1967, + "complexity": 4, + "lineno": 1861, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1882, + "complexity": 1, + "classname": "IconAnnotator", + "lineno": 1866, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 1954, + "complexity": 7, + "classname": "IconAnnotator", + "lineno": 1885, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_load_icon", + "endline": 1967, + "complexity": 2, + "classname": "IconAnnotator", + "lineno": 1957, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_mask_from_mask", + "endline": 3309, + "complexity": 4, + "classname": "ComparisonAnnotator", + "lineno": 3299, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 1404, + "complexity": 3, + "classname": "LabelAnnotator", + "lineno": 1325, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "draw_rounded_rectangle", + "endline": 1582, + "complexity": 3, + "classname": "LabelAnnotator", + "lineno": 1543, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 1720, + "complexity": 3, + "classname": "RichLabelAnnotator", + "lineno": 1642, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_load_font", + "endline": 1858, + "complexity": 3, + "classname": "RichLabelAnnotator", + "lineno": 1838, + "col_offset": 4, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "load_default_font", + "endline": 1847, + "complexity": 2, + "lineno": 1841, + "col_offset": 8, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1984, + "complexity": 3, + "classname": "BlurAnnotator", + "lineno": 1975, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2320, + "complexity": 3, + "classname": "PixelateAnnotator", + "lineno": 2309, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_mask_from_xyxy", + "endline": 3281, + "complexity": 3, + "classname": "ComparisonAnnotator", + "lineno": 3268, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_mask_from_obb", + "endline": 3296, + "complexity": 3, + "classname": "ComparisonAnnotator", + "lineno": 3284, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_draw_labels", + "endline": 3382, + "complexity": 3, + "classname": "ComparisonAnnotator", + "lineno": 3311, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_normalize_color_input", + "endline": 78, + "complexity": 2, + "lineno": 68, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "_BaseLabelAnnotator", + "endline": 260, + "complexity": 2, + "lineno": 97, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 145, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 102, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "color", + "endline": 150, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 149, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "color", + "endline": 154, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 153, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "color_lookup", + "endline": 158, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 157, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "color_lookup", + "endline": 162, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 161, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_color", + "endline": 166, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 165, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_color", + "endline": 170, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 169, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_padding", + "endline": 174, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 173, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_padding", + "endline": 178, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 177, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_anchor", + "endline": 182, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 181, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_anchor", + "endline": 186, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 185, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_offset", + "endline": 190, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 189, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_offset", + "endline": 194, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 193, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "border_radius", + "endline": 198, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 197, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "border_radius", + "endline": 202, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 201, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "smart_position", + "endline": 206, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 205, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "smart_position", + "endline": 210, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 209, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "max_line_length", + "endline": 214, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 213, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "max_line_length", + "endline": 218, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 217, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_adjust_labels_in_frame", + "endline": 260, + "complexity": 2, + "classname": "_BaseLabelAnnotator", + "lineno": 220, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_adjust_labels_in_frame", + "endline": 260, + "complexity": 2, + "classname": "_BaseLabelAnnotator", + "lineno": 220, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_load_icon", + "endline": 1967, + "complexity": 2, + "classname": "IconAnnotator", + "lineno": 1957, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2550, + "complexity": 2, + "classname": "RoundBoxAnnotator", + "lineno": 2526, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2693, + "complexity": 2, + "classname": "PercentageBarAnnotator", + "lineno": 2661, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_normalize_color_input", + "endline": 59, + "complexity": 1, + "lineno": 59, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_normalize_color_input", + "endline": 65, + "complexity": 1, + "lineno": 63, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "_LabelAnnotatorConfig", + "endline": 94, + "complexity": 1, + "lineno": 85, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 145, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 102, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "color", + "endline": 150, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 149, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "color", + "endline": 154, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 153, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "color_lookup", + "endline": 158, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 157, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "color_lookup", + "endline": 162, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 161, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_color", + "endline": 166, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 165, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_color", + "endline": 170, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 169, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_padding", + "endline": 174, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 173, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_padding", + "endline": 178, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 177, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_anchor", + "endline": 182, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 181, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_anchor", + "endline": 186, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 185, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_offset", + "endline": 190, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 189, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_offset", + "endline": 194, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 193, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "border_radius", + "endline": 198, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 197, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "border_radius", + "endline": 202, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 201, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "smart_position", + "endline": 206, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 205, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "smart_position", + "endline": 210, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 209, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "max_line_length", + "endline": 214, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 213, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "max_line_length", + "endline": 218, + "complexity": 1, + "classname": "_BaseLabelAnnotator", + "lineno": 217, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 284, + "complexity": 1, + "classname": "BoxAnnotator", + "lineno": 268, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 371, + "complexity": 1, + "classname": "OrientedBoxAnnotator", + "lineno": 355, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 521, + "complexity": 1, + "classname": "MaskAnnotator", + "lineno": 505, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 609, + "complexity": 1, + "classname": "PolygonAnnotator", + "lineno": 593, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 700, + "complexity": 1, + "classname": "ColorAnnotator", + "lineno": 684, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 800, + "complexity": 1, + "classname": "HaloAnnotator", + "lineno": 780, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 900, + "complexity": 1, + "classname": "EllipseAnnotator", + "lineno": 878, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 996, + "complexity": 1, + "classname": "BoxCornerAnnotator", + "lineno": 977, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1089, + "complexity": 1, + "classname": "CircleAnnotator", + "lineno": 1072, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1192, + "complexity": 1, + "classname": "DotAnnotator", + "lineno": 1165, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1321, + "complexity": 1, + "classname": "LabelAnnotator", + "lineno": 1275, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1638, + "complexity": 1, + "classname": "RichLabelAnnotator", + "lineno": 1591, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1882, + "complexity": 1, + "classname": "IconAnnotator", + "lineno": 1866, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2087, + "complexity": 1, + "classname": "TraceAnnotator", + "lineno": 2058, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2225, + "complexity": 1, + "classname": "HeatMapAnnotator", + "lineno": 2199, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2434, + "complexity": 1, + "classname": "TriangleAnnotator", + "lineno": 2404, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "validate_custom_values", + "endline": 2860, + "complexity": 1, + "classname": "PercentageBarAnnotator", + "lineno": 2856, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 2893, + "complexity": 1, + "classname": "CropAnnotator", + "lineno": 2868, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 3048, + "complexity": 1, + "classname": "BackgroundOverlayAnnotator", + "lineno": 3033, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "_ComparisonAnnotatorConfig", + "endline": 3114, + "complexity": 1, + "lineno": 3106, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 3162, + "complexity": 1, + "classname": "ComparisonAnnotator", + "lineno": 3128, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\annotators\\utils.py": [ + { + "type": "function", + "rank": "C", + "name": "resolve_text_background_xyxy", + "endline": 129, + "complexity": 11, + "lineno": 80, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "wrap_text", + "endline": 202, + "complexity": 10, + "lineno": 159, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "resolve_color_idx", + "endline": 77, + "complexity": 9, + "lineno": 40, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "get_labels_text", + "endline": 263, + "complexity": 5, + "lineno": 235, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "resolve_color", + "endline": 156, + "complexity": 4, + "lineno": 139, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "hex_to_rgba", + "endline": 409, + "complexity": 4, + "lineno": 384, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "rgba_to_hex", + "endline": 427, + "complexity": 4, + "lineno": 412, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "put", + "endline": 375, + "complexity": 4, + "classname": "Trace", + "lineno": 347, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_validate_labels", + "endline": 221, + "complexity": 3, + "lineno": 205, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "Trace", + "endline": 381, + "complexity": 3, + "lineno": 332, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 345, + "complexity": 1, + "classname": "Trace", + "lineno": 333, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "put", + "endline": 375, + "complexity": 4, + "classname": "Trace", + "lineno": 347, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "get", + "endline": 381, + "complexity": 1, + "classname": "Trace", + "lineno": 377, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "name": "get_color_by_index", + "endline": 136, + "complexity": 2, + "lineno": 133, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "ColorLookup", + "endline": 37, + "complexity": 2, + "lineno": 21, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 37, + "complexity": 1, + "classname": "ColorLookup", + "lineno": 36, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "name": "validate_labels", + "endline": 232, + "complexity": 1, + "lineno": 231, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "snap_boxes", + "endline": 329, + "complexity": 1, + "lineno": 266, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "is_valid_hex", + "endline": 441, + "complexity": 1, + "lineno": 430, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "calculate_dynamic_kernel_size", + "endline": 464, + "complexity": 1, + "lineno": 444, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "calculate_dynamic_pixel_size", + "endline": 487, + "complexity": 1, + "lineno": 467, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 37, + "complexity": 1, + "classname": "ColorLookup", + "lineno": 36, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 345, + "complexity": 1, + "classname": "Trace", + "lineno": 333, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "get", + "endline": 381, + "complexity": 1, + "classname": "Trace", + "lineno": 377, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\assets\\downloader.py": [ + { + "type": "function", + "rank": "B", + "name": "download_assets", + "endline": 95, + "complexity": 6, + "lineno": 41, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "is_md5_hash_matching", + "endline": 38, + "complexity": 2, + "lineno": 17, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\assets\\list.py": [ + { + "type": "class", + "rank": "A", + "name": "Assets", + "endline": 20, + "complexity": 3, + "lineno": 7, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__new__", + "endline": 16, + "complexity": 1, + "classname": "Assets", + "lineno": 11, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 20, + "complexity": 2, + "classname": "Assets", + "lineno": 19, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 20, + "complexity": 2, + "classname": "Assets", + "lineno": 19, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__new__", + "endline": 16, + "complexity": 1, + "classname": "Assets", + "lineno": 11, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "VideoAssets", + "endline": 54, + "complexity": 1, + "lineno": 23, + "col_offset": 0, + "methods": [] + }, + { + "type": "class", + "rank": "A", + "name": "ImageAssets", + "endline": 70, + "complexity": 1, + "lineno": 57, + "col_offset": 0, + "methods": [] + } + ], + "src\\supervision\\classification\\core.py": [ + { + "type": "function", + "rank": "A", + "name": "_validate_confidence", + "endline": 29, + "complexity": 4, + "lineno": 22, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_validate_class_ids", + "endline": 19, + "complexity": 3, + "lineno": 13, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "Classifications", + "endline": 200, + "complexity": 2, + "lineno": 33, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__post_init__", + "endline": 44, + "complexity": 1, + "classname": "Classifications", + "lineno": 37, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 50, + "complexity": 1, + "classname": "Classifications", + "lineno": 46, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_clip", + "endline": 90, + "complexity": 2, + "classname": "Classifications", + "lineno": 53, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_ultralytics", + "endline": 118, + "complexity": 1, + "classname": "Classifications", + "lineno": 93, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_timm", + "endline": 164, + "complexity": 2, + "classname": "Classifications", + "lineno": 121, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "get_top_k", + "endline": 200, + "complexity": 2, + "classname": "Classifications", + "lineno": 166, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "from_clip", + "endline": 90, + "complexity": 2, + "classname": "Classifications", + "lineno": 53, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_timm", + "endline": 164, + "complexity": 2, + "classname": "Classifications", + "lineno": 121, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "get_top_k", + "endline": 200, + "complexity": 2, + "classname": "Classifications", + "lineno": 166, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__post_init__", + "endline": 44, + "complexity": 1, + "classname": "Classifications", + "lineno": 37, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 50, + "complexity": 1, + "classname": "Classifications", + "lineno": 46, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_ultralytics", + "endline": 118, + "complexity": 1, + "classname": "Classifications", + "lineno": 93, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\dataset\\core.py": [ + { + "type": "method", + "rank": "C", + "name": "merge", + "endline": 327, + "complexity": 13, + "classname": "DetectionDataset", + "lineno": 231, + "col_offset": 4, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "is_in_memory", + "endline": 280, + "complexity": 2, + "lineno": 279, + "col_offset": 8, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "is_lazy", + "endline": 283, + "complexity": 1, + "lineno": 282, + "col_offset": 8, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "__eq__", + "endline": 155, + "complexity": 8, + "classname": "DetectionDataset", + "lineno": 135, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "as_yolo", + "endline": 575, + "complexity": 8, + "classname": "DetectionDataset", + "lineno": 504, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__eq__", + "endline": 822, + "complexity": 8, + "classname": "ClassificationDataset", + "lineno": 802, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "split", + "endline": 228, + "complexity": 6, + "classname": "DetectionDataset", + "lineno": 157, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "split", + "endline": 895, + "complexity": 6, + "classname": "ClassificationDataset", + "lineno": 824, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "DetectionDataset", + "endline": 723, + "complexity": 5, + "lineno": 56, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 99, + "complexity": 5, + "classname": "DetectionDataset", + "lineno": 74, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_get_image", + "endline": 108, + "complexity": 3, + "classname": "DetectionDataset", + "lineno": 101, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 111, + "complexity": 2, + "classname": "DetectionDataset", + "lineno": 110, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__getitem__", + "endline": 122, + "complexity": 1, + "classname": "DetectionDataset", + "lineno": 113, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__iter__", + "endline": 133, + "complexity": 2, + "classname": "DetectionDataset", + "lineno": 124, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__eq__", + "endline": 155, + "complexity": 8, + "classname": "DetectionDataset", + "lineno": 135, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "split", + "endline": 228, + "complexity": 6, + "classname": "DetectionDataset", + "lineno": 157, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "merge", + "endline": 327, + "complexity": 13, + "classname": "DetectionDataset", + "lineno": 231, + "col_offset": 4, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "is_in_memory", + "endline": 280, + "complexity": 2, + "lineno": 279, + "col_offset": 8, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "is_lazy", + "endline": 283, + "complexity": 1, + "lineno": 282, + "col_offset": 8, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "as_pascal_voc", + "endline": 385, + "complexity": 4, + "classname": "DetectionDataset", + "lineno": 330, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_pascal_voc", + "endline": 438, + "complexity": 1, + "classname": "DetectionDataset", + "lineno": 388, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_yolo", + "endline": 501, + "complexity": 1, + "classname": "DetectionDataset", + "lineno": 442, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "as_yolo", + "endline": 575, + "complexity": 8, + "classname": "DetectionDataset", + "lineno": 504, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_coco", + "endline": 624, + "complexity": 1, + "classname": "DetectionDataset", + "lineno": 578, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_coco", + "endline": 723, + "complexity": 3, + "classname": "DetectionDataset", + "lineno": 626, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 99, + "complexity": 5, + "classname": "DetectionDataset", + "lineno": 74, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_pascal_voc", + "endline": 385, + "complexity": 4, + "classname": "DetectionDataset", + "lineno": 330, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "ClassificationDataset", + "endline": 968, + "complexity": 4, + "lineno": 727, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 761, + "complexity": 3, + "classname": "ClassificationDataset", + "lineno": 740, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_get_image", + "endline": 773, + "complexity": 3, + "classname": "ClassificationDataset", + "lineno": 766, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 776, + "complexity": 2, + "classname": "ClassificationDataset", + "lineno": 775, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__getitem__", + "endline": 787, + "complexity": 1, + "classname": "ClassificationDataset", + "lineno": 778, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__iter__", + "endline": 800, + "complexity": 2, + "classname": "ClassificationDataset", + "lineno": 789, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__eq__", + "endline": 822, + "complexity": 8, + "classname": "ClassificationDataset", + "lineno": 802, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "split", + "endline": 895, + "complexity": 6, + "classname": "ClassificationDataset", + "lineno": 824, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_folder_structure", + "endline": 919, + "complexity": 4, + "classname": "ClassificationDataset", + "lineno": 897, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_folder_structure", + "endline": 968, + "complexity": 3, + "classname": "ClassificationDataset", + "lineno": 922, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "as_folder_structure", + "endline": 919, + "complexity": 4, + "classname": "ClassificationDataset", + "lineno": 897, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_get_image", + "endline": 108, + "complexity": 3, + "classname": "DetectionDataset", + "lineno": 101, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_coco", + "endline": 723, + "complexity": 3, + "classname": "DetectionDataset", + "lineno": 626, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 761, + "complexity": 3, + "classname": "ClassificationDataset", + "lineno": 740, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_get_image", + "endline": 773, + "complexity": 3, + "classname": "ClassificationDataset", + "lineno": 766, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_folder_structure", + "endline": 968, + "complexity": 3, + "classname": "ClassificationDataset", + "lineno": 922, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "BaseDataset", + "endline": 53, + "complexity": 2, + "lineno": 41, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 44, + "complexity": 1, + "classname": "BaseDataset", + "lineno": 43, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "split", + "endline": 53, + "complexity": 1, + "classname": "BaseDataset", + "lineno": 47, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 111, + "complexity": 2, + "classname": "DetectionDataset", + "lineno": 110, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__iter__", + "endline": 133, + "complexity": 2, + "classname": "DetectionDataset", + "lineno": 124, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 776, + "complexity": 2, + "classname": "ClassificationDataset", + "lineno": 775, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__iter__", + "endline": 800, + "complexity": 2, + "classname": "ClassificationDataset", + "lineno": 789, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 44, + "complexity": 1, + "classname": "BaseDataset", + "lineno": 43, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "split", + "endline": 53, + "complexity": 1, + "classname": "BaseDataset", + "lineno": 47, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__getitem__", + "endline": 122, + "complexity": 1, + "classname": "DetectionDataset", + "lineno": 113, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_pascal_voc", + "endline": 438, + "complexity": 1, + "classname": "DetectionDataset", + "lineno": 388, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_yolo", + "endline": 501, + "complexity": 1, + "classname": "DetectionDataset", + "lineno": 442, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_coco", + "endline": 624, + "complexity": 1, + "classname": "DetectionDataset", + "lineno": 578, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__getitem__", + "endline": 787, + "complexity": 1, + "classname": "ClassificationDataset", + "lineno": 778, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\dataset\\utils.py": [ + { + "type": "function", + "rank": "A", + "name": "map_detections_class_id", + "endline": 125, + "complexity": 4, + "lineno": 108, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "approximate_mask_with_polygons", + "endline": 76, + "complexity": 3, + "lineno": 52, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "merge_class_lists", + "endline": 87, + "complexity": 3, + "lineno": 80, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "build_class_index_mapping", + "endline": 105, + "complexity": 3, + "lineno": 90, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "save_dataset_images", + "endline": 136, + "complexity": 3, + "lineno": 128, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "train_test_split", + "endline": 164, + "complexity": 3, + "lineno": 139, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "mask_to_rle", + "endline": 34, + "complexity": 1, + "lineno": 30, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "rle_to_mask", + "endline": 43, + "complexity": 1, + "lineno": 38, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\dataset\\formats\\coco.py": [ + { + "type": "function", + "rank": "B", + "name": "coco_annotations_to_detections", + "endline": 214, + "complexity": 9, + "lineno": 146, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "coco_annotations_to_masks", + "endline": 143, + "complexity": 8, + "lineno": 97, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "load_coco_annotations", + "endline": 527, + "complexity": 8, + "lineno": 423, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_build_coco_segmentation_from_raw_data", + "endline": 280, + "complexity": 7, + "lineno": 265, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_build_coco_segmentation_from_mask", + "endline": 262, + "complexity": 6, + "lineno": 218, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "detections_to_coco_annotations", + "endline": 381, + "complexity": 4, + "lineno": 283, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "save_coco_annotations", + "endline": 648, + "complexity": 4, + "lineno": 534, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "build_coco_class_index_mapping", + "endline": 45, + "complexity": 3, + "lineno": 37, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "group_coco_annotations_by_image_id", + "endline": 94, + "complexity": 3, + "lineno": 85, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "coco_categories_to_classes", + "endline": 33, + "complexity": 2, + "lineno": 30, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "classes_to_coco_categories", + "endline": 81, + "complexity": 2, + "lineno": 49, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "get_coco_class_index_mapping", + "endline": 420, + "complexity": 2, + "lineno": 384, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_with_seg_mask", + "endline": 531, + "complexity": 1, + "lineno": 530, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\dataset\\formats\\pascal_voc.py": [ + { + "type": "function", + "rank": "C", + "name": "detections_from_xml_obj", + "endline": 332, + "complexity": 12, + "lineno": 235, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "detections_to_pascal_voc", + "endline": 178, + "complexity": 6, + "lineno": 84, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "load_pascal_voc_annotations", + "endline": 232, + "complexity": 5, + "lineno": 181, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "parse_polygon_points", + "endline": 347, + "complexity": 4, + "lineno": 339, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "object_to_pascal_voc", + "endline": 81, + "complexity": 3, + "lineno": 19, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_get_required_text", + "endline": 355, + "complexity": 3, + "lineno": 351, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_with_poly_mask", + "endline": 336, + "complexity": 1, + "lineno": 335, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\dataset\\formats\\yolo.py": [ + { + "type": "function", + "rank": "C", + "name": "_extract_class_names", + "endline": 129, + "complexity": 14, + "lineno": 70, + "col_offset": 0, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "_is_int_like", + "endline": 109, + "complexity": 4, + "lineno": 100, + "col_offset": 8, + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "C", + "name": "detections_to_yolo_annotations", + "endline": 419, + "complexity": 13, + "lineno": 296, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "C", + "name": "yolo_annotations_to_detections", + "endline": 184, + "complexity": 11, + "lineno": 138, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "load_yolo_annotations", + "endline": 271, + "complexity": 9, + "lineno": 187, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "object_to_yolo", + "endline": 293, + "complexity": 3, + "lineno": 274, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_polygons_to_masks", + "endline": 62, + "complexity": 2, + "lineno": 51, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_with_seg_mask", + "endline": 67, + "complexity": 2, + "lineno": 66, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "save_yolo_annotations", + "endline": 471, + "complexity": 2, + "lineno": 422, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_parse_box", + "endline": 37, + "complexity": 1, + "lineno": 28, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_box_to_polygon", + "endline": 43, + "complexity": 1, + "lineno": 41, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_parse_polygon", + "endline": 48, + "complexity": 1, + "lineno": 47, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_image_name_to_annotation_name", + "endline": 135, + "complexity": 1, + "lineno": 133, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "save_data_yaml", + "endline": 477, + "complexity": 1, + "lineno": 474, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\detection\\compact_mask.py": [ + { + "type": "function", + "rank": "C", + "name": "_rle_split_cols", + "endline": 125, + "complexity": 12, + "lineno": 49, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_rle_resize", + "endline": 330, + "complexity": 9, + "lineno": 249, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__getitem__", + "endline": 861, + "complexity": 9, + "classname": "CompactMask", + "lineno": 795, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "with_offset", + "endline": 1185, + "complexity": 9, + "classname": "CompactMask", + "lineno": 1067, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "resize", + "endline": 1306, + "complexity": 9, + "classname": "CompactMask", + "lineno": 1192, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_rle_join_cols", + "endline": 246, + "complexity": 7, + "lineno": 193, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "merge", + "endline": 982, + "complexity": 7, + "classname": "CompactMask", + "lineno": 924, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_rle_scale_col", + "endline": 190, + "complexity": 5, + "lineno": 128, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_dense", + "endline": 549, + "complexity": 5, + "classname": "CompactMask", + "lineno": 476, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "CompactMask", + "endline": 1306, + "complexity": 4, + "lineno": 389, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 469, + "complexity": 1, + "classname": "CompactMask", + "lineno": 459, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_dense", + "endline": 549, + "complexity": 5, + "classname": "CompactMask", + "lineno": 476, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "to_dense", + "endline": 585, + "complexity": 2, + "classname": "CompactMask", + "lineno": 555, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "crop", + "endline": 614, + "complexity": 1, + "classname": "CompactMask", + "lineno": 587, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 638, + "complexity": 1, + "classname": "CompactMask", + "lineno": 620, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__iter__", + "endline": 643, + "complexity": 2, + "classname": "CompactMask", + "lineno": 640, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "shape", + "endline": 665, + "complexity": 1, + "classname": "CompactMask", + "lineno": 646, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "offsets", + "endline": 687, + "complexity": 1, + "classname": "CompactMask", + "lineno": 668, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "bbox_xyxy", + "endline": 720, + "complexity": 2, + "classname": "CompactMask", + "lineno": 690, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "dtype", + "endline": 741, + "complexity": 1, + "classname": "CompactMask", + "lineno": 723, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "area", + "endline": 764, + "complexity": 2, + "classname": "CompactMask", + "lineno": 744, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "sum", + "endline": 793, + "complexity": 2, + "classname": "CompactMask", + "lineno": 766, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__getitem__", + "endline": 861, + "complexity": 9, + "classname": "CompactMask", + "lineno": 795, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__array__", + "endline": 889, + "complexity": 2, + "classname": "CompactMask", + "lineno": 863, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__eq__", + "endline": 917, + "complexity": 3, + "classname": "CompactMask", + "lineno": 891, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "merge", + "endline": 982, + "complexity": 7, + "classname": "CompactMask", + "lineno": 924, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "repack", + "endline": 1060, + "complexity": 4, + "classname": "CompactMask", + "lineno": 984, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "with_offset", + "endline": 1185, + "complexity": 9, + "classname": "CompactMask", + "lineno": 1067, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "resize", + "endline": 1306, + "complexity": 9, + "classname": "CompactMask", + "lineno": 1192, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "repack", + "endline": 1060, + "complexity": 4, + "classname": "CompactMask", + "lineno": 984, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_resize_crop", + "endline": 386, + "complexity": 3, + "lineno": 341, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__eq__", + "endline": 917, + "complexity": 3, + "classname": "CompactMask", + "lineno": 891, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "to_dense", + "endline": 585, + "complexity": 2, + "classname": "CompactMask", + "lineno": 555, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__iter__", + "endline": 643, + "complexity": 2, + "classname": "CompactMask", + "lineno": 640, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "bbox_xyxy", + "endline": 720, + "complexity": 2, + "classname": "CompactMask", + "lineno": 690, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "area", + "endline": 764, + "complexity": 2, + "classname": "CompactMask", + "lineno": 744, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "sum", + "endline": 793, + "complexity": 2, + "classname": "CompactMask", + "lineno": 766, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__array__", + "endline": 889, + "complexity": 2, + "classname": "CompactMask", + "lineno": 863, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_rle_area", + "endline": 46, + "complexity": 1, + "lineno": 27, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 469, + "complexity": 1, + "classname": "CompactMask", + "lineno": 459, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "crop", + "endline": 614, + "complexity": 1, + "classname": "CompactMask", + "lineno": 587, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 638, + "complexity": 1, + "classname": "CompactMask", + "lineno": 620, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "shape", + "endline": 665, + "complexity": 1, + "classname": "CompactMask", + "lineno": 646, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "offsets", + "endline": 687, + "complexity": 1, + "classname": "CompactMask", + "lineno": 668, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "dtype", + "endline": 741, + "complexity": 1, + "classname": "CompactMask", + "lineno": 723, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\detection\\core.py": [ + { + "type": "method", + "rank": "C", + "name": "from_vlm", + "endline": 1928, + "complexity": 20, + "classname": "Detections", + "lineno": 1431, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "C", + "name": "_merge_detection_group", + "endline": 2732, + "complexity": 15, + "lineno": 2648, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "C", + "name": "merge_inner_detection_object_pair", + "endline": 2825, + "complexity": 12, + "lineno": 2737, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "get_anchors_coordinates", + "endline": 2250, + "complexity": 12, + "classname": "Detections", + "lineno": 2187, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "from_ultralytics", + "endline": 333, + "complexity": 11, + "classname": "Detections", + "lineno": 254, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "from_azure_analyze_image", + "endline": 896, + "complexity": 10, + "classname": "Detections", + "lineno": 813, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "with_nmm", + "endline": 2602, + "complexity": 9, + "classname": "Detections", + "lineno": 2510, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "merge", + "endline": 2184, + "complexity": 8, + "classname": "Detections", + "lineno": 2081, + "col_offset": 4, + "closures": [ + { + "type": "function", + "rank": "C", + "name": "stack_or_none", + "endline": 2165, + "complexity": 11, + "lineno": 2152, + "col_offset": 8, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "__getitem__", + "endline": 2298, + "complexity": 8, + "classname": "Detections", + "lineno": 2252, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "from_easyocr", + "endline": 1972, + "complexity": 7, + "classname": "Detections", + "lineno": 1931, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "with_nms", + "endline": 2508, + "complexity": 7, + "classname": "Detections", + "lineno": 2433, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__iter__", + "endline": 203, + "complexity": 6, + "classname": "Detections", + "lineno": 180, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "from_transformers", + "endline": 567, + "complexity": 6, + "classname": "Detections", + "lineno": 492, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "merge_inner_detections_objects", + "endline": 2854, + "complexity": 5, + "lineno": 2830, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_normalize_sam3_prediction", + "endline": 2910, + "complexity": 5, + "lineno": 2898, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "Detections", + "endline": 2602, + "complexity": 5, + "lineno": 68, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__post_init__", + "endline": 171, + "complexity": 1, + "classname": "Detections", + "lineno": 164, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 178, + "complexity": 1, + "classname": "Detections", + "lineno": 174, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__iter__", + "endline": 203, + "complexity": 6, + "classname": "Detections", + "lineno": 180, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__eq__", + "endline": 217, + "complexity": 2, + "classname": "Detections", + "lineno": 206, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_yolov5", + "endline": 250, + "complexity": 1, + "classname": "Detections", + "lineno": 222, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "from_ultralytics", + "endline": 333, + "complexity": 11, + "classname": "Detections", + "lineno": 254, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_yolo_nas", + "endline": 369, + "complexity": 2, + "classname": "Detections", + "lineno": 336, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_tensorflow", + "endline": 414, + "complexity": 1, + "classname": "Detections", + "lineno": 373, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_deepsparse", + "endline": 450, + "complexity": 2, + "classname": "Detections", + "lineno": 418, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_mmdetection", + "endline": 487, + "complexity": 2, + "classname": "Detections", + "lineno": 454, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "from_transformers", + "endline": 567, + "complexity": 6, + "classname": "Detections", + "lineno": 492, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_detectron2", + "endline": 616, + "complexity": 2, + "classname": "Detections", + "lineno": 573, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_inference", + "endline": 672, + "complexity": 4, + "classname": "Detections", + "lineno": 620, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_sam", + "endline": 715, + "complexity": 4, + "classname": "Detections", + "lineno": 676, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_sam3", + "endline": 809, + "complexity": 5, + "classname": "Detections", + "lineno": 718, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "from_azure_analyze_image", + "endline": 896, + "complexity": 10, + "classname": "Detections", + "lineno": 813, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_paddledet", + "endline": 938, + "complexity": 2, + "classname": "Detections", + "lineno": 900, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_lmm", + "endline": 1428, + "complexity": 5, + "classname": "Detections", + "lineno": 942, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "from_vlm", + "endline": 1928, + "complexity": 20, + "classname": "Detections", + "lineno": 1431, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "from_easyocr", + "endline": 1972, + "complexity": 7, + "classname": "Detections", + "lineno": 1931, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_ncnn", + "endline": 2031, + "complexity": 3, + "classname": "Detections", + "lineno": 1977, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "empty", + "endline": 2053, + "complexity": 1, + "classname": "Detections", + "lineno": 2035, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "is_empty", + "endline": 2078, + "complexity": 1, + "classname": "Detections", + "lineno": 2056, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "merge", + "endline": 2184, + "complexity": 8, + "classname": "Detections", + "lineno": 2081, + "col_offset": 4, + "closures": [ + { + "type": "function", + "rank": "C", + "name": "stack_or_none", + "endline": 2165, + "complexity": 11, + "lineno": 2152, + "col_offset": 8, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "C", + "name": "get_anchors_coordinates", + "endline": 2250, + "complexity": 12, + "classname": "Detections", + "lineno": 2187, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__getitem__", + "endline": 2298, + "complexity": 8, + "classname": "Detections", + "lineno": 2252, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__setitem__", + "endline": 2334, + "complexity": 3, + "classname": "Detections", + "lineno": 2301, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "area", + "endline": 2382, + "complexity": 5, + "classname": "Detections", + "lineno": 2337, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "box_area", + "endline": 2394, + "complexity": 1, + "classname": "Detections", + "lineno": 2385, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "box_aspect_ratio", + "endline": 2431, + "complexity": 1, + "classname": "Detections", + "lineno": 2397, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "with_nms", + "endline": 2508, + "complexity": 7, + "classname": "Detections", + "lineno": 2433, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "with_nmm", + "endline": 2602, + "complexity": 9, + "classname": "Detections", + "lineno": 2510, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "from_sam3", + "endline": 809, + "complexity": 5, + "classname": "Detections", + "lineno": 718, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_lmm", + "endline": 1428, + "complexity": 5, + "classname": "Detections", + "lineno": 942, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "area", + "endline": 2382, + "complexity": 5, + "classname": "Detections", + "lineno": 2337, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_inference", + "endline": 672, + "complexity": 4, + "classname": "Detections", + "lineno": 620, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_sam", + "endline": 715, + "complexity": 4, + "classname": "Detections", + "lineno": 676, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_normalize_sam3_prompt_results", + "endline": 2887, + "complexity": 3, + "lineno": 2878, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_validate_fields_both_defined_or_none", + "endline": 2947, + "complexity": 3, + "lineno": 2928, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_ncnn", + "endline": 2031, + "complexity": 3, + "classname": "Detections", + "lineno": 1977, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__setitem__", + "endline": 2334, + "complexity": 3, + "classname": "Detections", + "lineno": 2301, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_get_sam3_value", + "endline": 2875, + "complexity": 2, + "lineno": 2872, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_build_sam3_mask", + "endline": 2925, + "complexity": 2, + "lineno": 2913, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__eq__", + "endline": 217, + "complexity": 2, + "classname": "Detections", + "lineno": 206, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_yolo_nas", + "endline": 369, + "complexity": 2, + "classname": "Detections", + "lineno": 336, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_deepsparse", + "endline": 450, + "complexity": 2, + "classname": "Detections", + "lineno": 418, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_mmdetection", + "endline": 487, + "complexity": 2, + "classname": "Detections", + "lineno": 454, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_detectron2", + "endline": 616, + "complexity": 2, + "classname": "Detections", + "lineno": 573, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_paddledet", + "endline": 938, + "complexity": 2, + "classname": "Detections", + "lineno": 900, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_merge_obb_corners", + "endline": 2645, + "complexity": 1, + "lineno": 2605, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "merge_inner_detections_objects_without_iou", + "endline": 2869, + "complexity": 1, + "lineno": 2858, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_normalize_sam3_prompt_result", + "endline": 2895, + "complexity": 1, + "lineno": 2890, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_fields_both_defined_or_none", + "endline": 2960, + "complexity": 1, + "lineno": 2957, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__post_init__", + "endline": 171, + "complexity": 1, + "classname": "Detections", + "lineno": 164, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 178, + "complexity": 1, + "classname": "Detections", + "lineno": 174, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_yolov5", + "endline": 250, + "complexity": 1, + "classname": "Detections", + "lineno": 222, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_tensorflow", + "endline": 414, + "complexity": 1, + "classname": "Detections", + "lineno": 373, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "empty", + "endline": 2053, + "complexity": 1, + "classname": "Detections", + "lineno": 2035, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "is_empty", + "endline": 2078, + "complexity": 1, + "classname": "Detections", + "lineno": 2056, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "box_area", + "endline": 2394, + "complexity": 1, + "classname": "Detections", + "lineno": 2385, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "box_aspect_ratio", + "endline": 2431, + "complexity": 1, + "classname": "Detections", + "lineno": 2397, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\detection\\line_zone.py": [ + { + "type": "method", + "rank": "C", + "name": "trigger", + "endline": 264, + "complexity": 12, + "classname": "LineZone", + "lineno": 192, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "annotate", + "endline": 944, + "complexity": 12, + "classname": "LineZoneAnnotatorMulticlass", + "lineno": 840, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "LineZoneAnnotatorMulticlass", + "endline": 944, + "complexity": 8, + "lineno": 772, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 837, + "complexity": 2, + "classname": "LineZoneAnnotatorMulticlass", + "lineno": 783, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "annotate", + "endline": 944, + "complexity": 12, + "classname": "LineZoneAnnotatorMulticlass", + "lineno": 840, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "_update_class_id_to_name", + "endline": 377, + "complexity": 6, + "classname": "LineZone", + "lineno": 357, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 507, + "complexity": 5, + "classname": "LineZoneAnnotator", + "lineno": 438, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "LineZone", + "endline": 377, + "complexity": 4, + "lineno": 73, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 174, + "complexity": 2, + "classname": "LineZone", + "lineno": 138, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "in_count", + "endline": 178, + "complexity": 1, + "classname": "LineZone", + "lineno": 177, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "out_count", + "endline": 182, + "complexity": 1, + "classname": "LineZone", + "lineno": 181, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "in_count_per_class", + "endline": 186, + "complexity": 1, + "classname": "LineZone", + "lineno": 185, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "out_count_per_class", + "endline": 190, + "complexity": 1, + "classname": "LineZone", + "lineno": 189, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "trigger", + "endline": 264, + "complexity": 12, + "classname": "LineZone", + "lineno": 192, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_calculate_region_of_interest_limits", + "endline": 296, + "complexity": 2, + "classname": "LineZone", + "lineno": 267, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_anchor_sides", + "endline": 355, + "complexity": 4, + "classname": "LineZone", + "lineno": 298, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_update_class_id_to_name", + "endline": 377, + "complexity": 6, + "classname": "LineZone", + "lineno": 357, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_anchor_sides", + "endline": 355, + "complexity": 4, + "classname": "LineZone", + "lineno": 298, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "LineZoneAnnotator", + "endline": 769, + "complexity": 4, + "lineno": 380, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 435, + "complexity": 3, + "classname": "LineZoneAnnotator", + "lineno": 381, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 507, + "complexity": 5, + "classname": "LineZoneAnnotator", + "lineno": 438, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_get_line_angle", + "endline": 532, + "complexity": 4, + "classname": "LineZoneAnnotator", + "lineno": 509, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_calculate_anchor_in_frame", + "endline": 596, + "complexity": 3, + "classname": "LineZoneAnnotator", + "lineno": 534, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_draw_basic_label", + "endline": 642, + "complexity": 3, + "classname": "LineZoneAnnotator", + "lineno": 598, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_draw_oriented_label", + "endline": 696, + "complexity": 2, + "classname": "LineZoneAnnotator", + "lineno": 644, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_make_label_image", + "endline": 769, + "complexity": 4, + "classname": "LineZoneAnnotator", + "lineno": 700, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_get_line_angle", + "endline": 532, + "complexity": 4, + "classname": "LineZoneAnnotator", + "lineno": 509, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_make_label_image", + "endline": 769, + "complexity": 4, + "classname": "LineZoneAnnotator", + "lineno": 700, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 435, + "complexity": 3, + "classname": "LineZoneAnnotator", + "lineno": 381, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_calculate_anchor_in_frame", + "endline": 596, + "complexity": 3, + "classname": "LineZoneAnnotator", + "lineno": 534, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_draw_basic_label", + "endline": 642, + "complexity": 3, + "classname": "LineZoneAnnotator", + "lineno": 598, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 174, + "complexity": 2, + "classname": "LineZone", + "lineno": 138, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_calculate_region_of_interest_limits", + "endline": 296, + "complexity": 2, + "classname": "LineZone", + "lineno": 267, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_draw_oriented_label", + "endline": 696, + "complexity": 2, + "classname": "LineZoneAnnotator", + "lineno": 644, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 837, + "complexity": 2, + "classname": "LineZoneAnnotatorMulticlass", + "lineno": 783, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_multiclass_config_property", + "endline": 70, + "complexity": 1, + "lineno": 63, + "col_offset": 0, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "getter", + "endline": 65, + "complexity": 1, + "lineno": 64, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "setter", + "endline": 68, + "complexity": 1, + "lineno": 67, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "LineZoneAnnotatorConfig", + "endline": 42, + "complexity": 1, + "lineno": 28, + "col_offset": 0, + "methods": [] + }, + { + "type": "class", + "rank": "A", + "name": "LineZoneAnnotatorMulticlassConfig", + "endline": 60, + "complexity": 1, + "lineno": 46, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "in_count", + "endline": 178, + "complexity": 1, + "classname": "LineZone", + "lineno": 177, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "out_count", + "endline": 182, + "complexity": 1, + "classname": "LineZone", + "lineno": 181, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "in_count_per_class", + "endline": 186, + "complexity": 1, + "classname": "LineZone", + "lineno": 185, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "out_count_per_class", + "endline": 190, + "complexity": 1, + "classname": "LineZone", + "lineno": 189, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\detection\\vlm.py": [ + { + "type": "function", + "rank": "C", + "name": "from_qwen_2_5_vl", + "endline": 394, + "complexity": 16, + "lineno": 305, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "C", + "name": "from_florence_2", + "endline": 588, + "complexity": 15, + "lineno": 495, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "from_google_gemini_2_0", + "endline": 837, + "complexity": 10, + "lineno": 764, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_validate_vlm_parameters", + "endline": 203, + "complexity": 9, + "lineno": 163, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "from_deepseek_vl_2", + "endline": 492, + "complexity": 9, + "lineno": 424, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "from_moondream", + "endline": 984, + "complexity": 9, + "lineno": 923, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_collect_gemini_2_5_items", + "endline": 690, + "complexity": 7, + "lineno": 652, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "from_paligemma", + "endline": 257, + "complexity": 6, + "lineno": 215, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "recover_truncated_qwen_2_5_vl_response", + "endline": 302, + "complexity": 6, + "lineno": 260, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_parse_gemini_2_5_item", + "endline": 649, + "complexity": 6, + "lineno": 621, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_decode_mask_for_item", + "endline": 761, + "complexity": 6, + "lineno": 728, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "from_google_gemini_2_5", + "endline": 920, + "complexity": 6, + "lineno": 840, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_extract_json_from_backticks", + "endline": 602, + "complexity": 5, + "lineno": 591, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_filter_gemini_2_5_results", + "endline": 717, + "complexity": 5, + "lineno": 693, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "LMM", + "endline": 69, + "complexity": 4, + "lineno": 22, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 51, + "complexity": 2, + "classname": "LMM", + "lineno": 50, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_value", + "endline": 69, + "complexity": 4, + "classname": "LMM", + "lineno": 54, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "from_value", + "endline": 69, + "complexity": 4, + "classname": "LMM", + "lineno": 54, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "VLM", + "endline": 112, + "complexity": 4, + "lineno": 73, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 98, + "complexity": 2, + "classname": "VLM", + "lineno": 97, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_value", + "endline": 112, + "complexity": 4, + "classname": "VLM", + "lineno": 101, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "from_value", + "endline": 112, + "complexity": 4, + "classname": "VLM", + "lineno": 101, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_build_gemini_2_5_class_id", + "endline": 725, + "complexity": 3, + "lineno": 720, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 51, + "complexity": 2, + "classname": "LMM", + "lineno": 50, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 98, + "complexity": 2, + "classname": "VLM", + "lineno": 97, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_vlm_parameters", + "endline": 212, + "complexity": 1, + "lineno": 211, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "from_qwen_3_vl", + "endline": 420, + "complexity": 1, + "lineno": 397, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_build_empty_gemini_2_5_result", + "endline": 617, + "complexity": 1, + "lineno": 605, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\detection\\tools\\csv_sink.py": [ + { + "type": "method", + "rank": "B", + "name": "parse_detection_data", + "endline": 194, + "complexity": 9, + "classname": "CSVSink", + "lineno": 145, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "append", + "endline": 230, + "complexity": 6, + "classname": "CSVSink", + "lineno": 196, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_slice_value", + "endline": 142, + "complexity": 5, + "classname": "CSVSink", + "lineno": 119, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "CSVSink", + "endline": 241, + "complexity": 4, + "lineno": 31, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 86, + "complexity": 1, + "classname": "CSVSink", + "lineno": 75, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__enter__", + "endline": 90, + "complexity": 1, + "classname": "CSVSink", + "lineno": 88, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__exit__", + "endline": 98, + "complexity": 1, + "classname": "CSVSink", + "lineno": 92, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "open", + "endline": 109, + "complexity": 3, + "classname": "CSVSink", + "lineno": 100, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "close", + "endline": 116, + "complexity": 2, + "classname": "CSVSink", + "lineno": 111, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_slice_value", + "endline": 142, + "complexity": 5, + "classname": "CSVSink", + "lineno": 119, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "parse_detection_data", + "endline": 194, + "complexity": 9, + "classname": "CSVSink", + "lineno": 145, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "append", + "endline": 230, + "complexity": 6, + "classname": "CSVSink", + "lineno": 196, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "parse_field_names", + "endline": 241, + "complexity": 2, + "classname": "CSVSink", + "lineno": 234, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "open", + "endline": 109, + "complexity": 3, + "classname": "CSVSink", + "lineno": 100, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "WriterProtocol", + "endline": 28, + "complexity": 2, + "lineno": 27, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "writerow", + "endline": 28, + "complexity": 1, + "classname": "WriterProtocol", + "lineno": 28, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "close", + "endline": 116, + "complexity": 2, + "classname": "CSVSink", + "lineno": 111, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "parse_field_names", + "endline": 241, + "complexity": 2, + "classname": "CSVSink", + "lineno": 234, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "writerow", + "endline": 28, + "complexity": 1, + "classname": "WriterProtocol", + "lineno": 28, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 86, + "complexity": 1, + "classname": "CSVSink", + "lineno": 75, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__enter__", + "endline": 90, + "complexity": 1, + "classname": "CSVSink", + "lineno": 88, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__exit__", + "endline": 98, + "complexity": 1, + "classname": "CSVSink", + "lineno": 92, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\detection\\tools\\inference_slicer.py": [ + { + "type": "method", + "rank": "C", + "name": "_run_callback", + "endline": 503, + "complexity": 12, + "classname": "InferenceSlicer", + "lineno": 443, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_collect_detections", + "endline": 360, + "complexity": 11, + "classname": "InferenceSlicer", + "lineno": 302, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_normalize_slice_wh", + "endline": 527, + "complexity": 7, + "classname": "InferenceSlicer", + "lineno": 506, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_normalize_overlap_wh", + "endline": 553, + "complexity": 7, + "classname": "InferenceSlicer", + "lineno": 531, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "move_detections", + "endline": 82, + "complexity": 5, + "lineno": 44, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_validate_overlap", + "endline": 638, + "complexity": 5, + "classname": "InferenceSlicer", + "lineno": 621, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_probe_remaining_offsets", + "endline": 384, + "complexity": 4, + "classname": "InferenceSlicer", + "lineno": 362, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_warn_obb_sequential_fallback", + "endline": 420, + "complexity": 4, + "classname": "InferenceSlicer", + "lineno": 405, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_apply_overlap_filter", + "endline": 441, + "complexity": 4, + "classname": "InferenceSlicer", + "lineno": 423, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "InferenceSlicer", + "endline": 638, + "complexity": 3, + "lineno": 85, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 198, + "complexity": 2, + "classname": "InferenceSlicer", + "lineno": 166, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "callback", + "endline": 202, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 201, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "callback", + "endline": 206, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 205, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "slice_wh", + "endline": 210, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 209, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "slice_wh", + "endline": 215, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 213, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "overlap_wh", + "endline": 219, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 218, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "overlap_wh", + "endline": 224, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 222, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "iou_threshold", + "endline": 228, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 227, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "iou_threshold", + "endline": 232, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 231, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "overlap_metric", + "endline": 236, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 235, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "overlap_metric", + "endline": 240, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 239, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "overlap_filter", + "endline": 244, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 243, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "overlap_filter", + "endline": 248, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 247, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "thread_workers", + "endline": 252, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 251, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "thread_workers", + "endline": 261, + "complexity": 2, + "classname": "InferenceSlicer", + "lineno": 255, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compact_masks", + "endline": 265, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 264, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compact_masks", + "endline": 269, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 268, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__call__", + "endline": 300, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 271, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_collect_detections", + "endline": 360, + "complexity": 11, + "classname": "InferenceSlicer", + "lineno": 302, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_probe_remaining_offsets", + "endline": 384, + "complexity": 4, + "classname": "InferenceSlicer", + "lineno": 362, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_run_sequential_inference", + "endline": 391, + "complexity": 2, + "classname": "InferenceSlicer", + "lineno": 386, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_run_parallel_inference", + "endline": 403, + "complexity": 3, + "classname": "InferenceSlicer", + "lineno": 393, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_warn_obb_sequential_fallback", + "endline": 420, + "complexity": 4, + "classname": "InferenceSlicer", + "lineno": 405, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_apply_overlap_filter", + "endline": 441, + "complexity": 4, + "classname": "InferenceSlicer", + "lineno": 423, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_run_callback", + "endline": 503, + "complexity": 12, + "classname": "InferenceSlicer", + "lineno": 443, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_normalize_slice_wh", + "endline": 527, + "complexity": 7, + "classname": "InferenceSlicer", + "lineno": 506, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_normalize_overlap_wh", + "endline": 553, + "complexity": 7, + "classname": "InferenceSlicer", + "lineno": 531, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_generate_offset", + "endline": 618, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 557, + "col_offset": 4, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "_compute_axis_starts", + "endline": 596, + "complexity": 5, + "lineno": 581, + "col_offset": 8, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_validate_overlap", + "endline": 638, + "complexity": 5, + "classname": "InferenceSlicer", + "lineno": 621, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_run_parallel_inference", + "endline": 403, + "complexity": 3, + "classname": "InferenceSlicer", + "lineno": 393, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 198, + "complexity": 2, + "classname": "InferenceSlicer", + "lineno": 166, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "thread_workers", + "endline": 261, + "complexity": 2, + "classname": "InferenceSlicer", + "lineno": 255, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_run_sequential_inference", + "endline": 391, + "complexity": 2, + "classname": "InferenceSlicer", + "lineno": 386, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "_InferenceSlicerConfig", + "endline": 33, + "complexity": 1, + "lineno": 25, + "col_offset": 0, + "methods": [] + }, + { + "type": "class", + "rank": "A", + "name": "_InferenceSlicerState", + "endline": 41, + "complexity": 1, + "lineno": 37, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "callback", + "endline": 202, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 201, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "callback", + "endline": 206, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 205, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "slice_wh", + "endline": 210, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 209, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "slice_wh", + "endline": 215, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 213, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "overlap_wh", + "endline": 219, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 218, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "overlap_wh", + "endline": 224, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 222, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "iou_threshold", + "endline": 228, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 227, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "iou_threshold", + "endline": 232, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 231, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "overlap_metric", + "endline": 236, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 235, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "overlap_metric", + "endline": 240, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 239, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "overlap_filter", + "endline": 244, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 243, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "overlap_filter", + "endline": 248, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 247, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "thread_workers", + "endline": 252, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 251, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compact_masks", + "endline": 265, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 264, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compact_masks", + "endline": 269, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 268, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__call__", + "endline": 300, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 271, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_generate_offset", + "endline": 618, + "complexity": 1, + "classname": "InferenceSlicer", + "lineno": 557, + "col_offset": 4, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "_compute_axis_starts", + "endline": 596, + "complexity": 5, + "lineno": 581, + "col_offset": 8, + "closures": [] + } + ] + } + ], + "src\\supervision\\detection\\tools\\json_sink.py": [ + { + "type": "method", + "rank": "B", + "name": "parse_detection_data", + "endline": 198, + "complexity": 10, + "classname": "JSONSink", + "lineno": 148, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_slice_value", + "endline": 145, + "complexity": 5, + "classname": "JSONSink", + "lineno": 122, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "JSONSink", + "endline": 215, + "complexity": 4, + "lineno": 13, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 60, + "complexity": 1, + "classname": "JSONSink", + "lineno": 51, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__enter__", + "endline": 64, + "complexity": 1, + "classname": "JSONSink", + "lineno": 62, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__exit__", + "endline": 72, + "complexity": 1, + "classname": "JSONSink", + "lineno": 66, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "open", + "endline": 82, + "complexity": 3, + "classname": "JSONSink", + "lineno": 74, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_json_default", + "endline": 106, + "complexity": 3, + "classname": "JSONSink", + "lineno": 85, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "write_and_close", + "endline": 119, + "complexity": 2, + "classname": "JSONSink", + "lineno": 109, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_slice_value", + "endline": 145, + "complexity": 5, + "classname": "JSONSink", + "lineno": 122, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "parse_detection_data", + "endline": 198, + "complexity": 10, + "classname": "JSONSink", + "lineno": 148, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "append", + "endline": 215, + "complexity": 1, + "classname": "JSONSink", + "lineno": 200, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "open", + "endline": 82, + "complexity": 3, + "classname": "JSONSink", + "lineno": 74, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_json_default", + "endline": 106, + "complexity": 3, + "classname": "JSONSink", + "lineno": 85, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "write_and_close", + "endline": 119, + "complexity": 2, + "classname": "JSONSink", + "lineno": 109, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 60, + "complexity": 1, + "classname": "JSONSink", + "lineno": 51, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__enter__", + "endline": 64, + "complexity": 1, + "classname": "JSONSink", + "lineno": 62, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__exit__", + "endline": 72, + "complexity": 1, + "classname": "JSONSink", + "lineno": 66, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "append", + "endline": 215, + "complexity": 1, + "classname": "JSONSink", + "lineno": 200, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\detection\\tools\\polygon_zone.py": [ + { + "type": "class", + "rank": "A", + "name": "PolygonZone", + "endline": 123, + "complexity": 4, + "lineno": 33, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 85, + "complexity": 2, + "classname": "PolygonZone", + "lineno": 71, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "trigger", + "endline": 123, + "complexity": 3, + "classname": "PolygonZone", + "lineno": 88, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 290, + "complexity": 4, + "classname": "PolygonZoneAnnotator", + "lineno": 242, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "trigger", + "endline": 123, + "complexity": 3, + "classname": "PolygonZone", + "lineno": 88, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 85, + "complexity": 2, + "classname": "PolygonZone", + "lineno": 71, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "PolygonZoneAnnotator", + "endline": 290, + "complexity": 2, + "lineno": 126, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 167, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 146, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "color", + "endline": 172, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 171, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "color", + "endline": 176, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 175, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "thickness", + "endline": 180, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 179, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "thickness", + "endline": 184, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 183, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_color", + "endline": 188, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 187, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_color", + "endline": 192, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 191, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_scale", + "endline": 196, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 195, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_scale", + "endline": 200, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 199, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_thickness", + "endline": 204, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 203, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_thickness", + "endline": 208, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 207, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_padding", + "endline": 212, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 211, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_padding", + "endline": 216, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 215, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "display_in_zone_count", + "endline": 220, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 219, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "display_in_zone_count", + "endline": 224, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 223, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "opacity", + "endline": 228, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 227, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "opacity", + "endline": 232, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 231, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "font", + "endline": 236, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 235, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "center", + "endline": 240, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 239, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 290, + "complexity": 4, + "classname": "PolygonZoneAnnotator", + "lineno": 242, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "_PolygonZoneAnnotatorConfig", + "endline": 30, + "complexity": 1, + "lineno": 22, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 167, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 146, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "color", + "endline": 172, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 171, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "color", + "endline": 176, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 175, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "thickness", + "endline": 180, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 179, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "thickness", + "endline": 184, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 183, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_color", + "endline": 188, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 187, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_color", + "endline": 192, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 191, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_scale", + "endline": 196, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 195, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_scale", + "endline": 200, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 199, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_thickness", + "endline": 204, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 203, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_thickness", + "endline": 208, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 207, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_padding", + "endline": 212, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 211, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "text_padding", + "endline": 216, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 215, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "display_in_zone_count", + "endline": 220, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 219, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "display_in_zone_count", + "endline": 224, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 223, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "opacity", + "endline": 228, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 227, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "opacity", + "endline": 232, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 231, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "font", + "endline": 236, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 235, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "center", + "endline": 240, + "complexity": 1, + "classname": "PolygonZoneAnnotator", + "lineno": 239, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\detection\\tools\\smoother.py": [ + { + "type": "method", + "rank": "B", + "name": "get_track", + "endline": 164, + "complexity": 9, + "classname": "DetectionsSmoother", + "lineno": 133, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "update_with_detections", + "endline": 131, + "complexity": 8, + "classname": "DetectionsSmoother", + "lineno": 100, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "get_smoothed_detections", + "endline": 184, + "complexity": 8, + "classname": "DetectionsSmoother", + "lineno": 166, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "DetectionsSmoother", + "endline": 184, + "complexity": 7, + "lineno": 14, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 97, + "complexity": 1, + "classname": "DetectionsSmoother", + "lineno": 90, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "update_with_detections", + "endline": 131, + "complexity": 8, + "classname": "DetectionsSmoother", + "lineno": 100, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "get_track", + "endline": 164, + "complexity": 9, + "classname": "DetectionsSmoother", + "lineno": 133, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "get_smoothed_detections", + "endline": 184, + "complexity": 8, + "classname": "DetectionsSmoother", + "lineno": 166, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 97, + "complexity": 1, + "classname": "DetectionsSmoother", + "lineno": 90, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\detection\\tools\\transformers.py": [ + { + "type": "function", + "rank": "A", + "name": "process_transformers_v4_segmentation_result", + "endline": 78, + "complexity": 5, + "lineno": 43, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "process_transformers_v5_semantic_or_instance_segmentation_result", + "endline": 144, + "complexity": 4, + "lineno": 112, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "append_class_names_to_data", + "endline": 250, + "complexity": 4, + "lineno": 224, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "process_transformers_v4_panoptic_segmentation_result", + "endline": 178, + "complexity": 3, + "lineno": 148, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "process_transformers_v5_segmentation_result", + "endline": 108, + "complexity": 2, + "lineno": 82, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "process_transformers_v5_panoptic_segmentation_result", + "endline": 204, + "complexity": 2, + "lineno": 182, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "process_transformers_detection_result", + "endline": 39, + "complexity": 1, + "lineno": 14, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "png_string_to_segmentation_array", + "endline": 221, + "complexity": 1, + "lineno": 207, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\boxes.py": [ + { + "type": "function", + "rank": "A", + "name": "spread_out_boxes", + "endline": 417, + "complexity": 4, + "lineno": 347, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "obb_polygon_area", + "endline": 269, + "complexity": 3, + "lineno": 244, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "xyxyxyxy_to_xyxy", + "endline": 309, + "complexity": 3, + "lineno": 272, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "pad_boxes", + "endline": 96, + "complexity": 2, + "lineno": 52, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "clip_boxes", + "endline": 49, + "complexity": 1, + "lineno": 10, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "denormalize_boxes", + "endline": 161, + "complexity": 1, + "lineno": 105, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "move_boxes", + "endline": 192, + "complexity": 1, + "lineno": 164, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "move_oriented_boxes", + "endline": 241, + "complexity": 1, + "lineno": 195, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "scale_boxes", + "endline": 344, + "complexity": 1, + "lineno": 312, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\converters.py": [ + { + "type": "function", + "rank": "B", + "name": "_base48_decode", + "endline": 379, + "complexity": 6, + "lineno": 332, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_base48_encode", + "endline": 415, + "complexity": 5, + "lineno": 382, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "rle_to_mask", + "endline": 646, + "complexity": 5, + "lineno": 575, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "xyxy_to_mask", + "endline": 304, + "complexity": 4, + "lineno": 248, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "mask_to_rle", + "endline": 721, + "complexity": 4, + "lineno": 649, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "mask_to_polygons", + "endline": 328, + "complexity": 3, + "lineno": 307, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_mask_to_rle_counts", + "endline": 535, + "complexity": 3, + "lineno": 497, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "xyxy_to_xcycarh", + "endline": 199, + "complexity": 2, + "lineno": 155, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "mask_to_xyxy", + "endline": 245, + "complexity": 2, + "lineno": 202, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_delta_decode", + "endline": 442, + "complexity": 2, + "lineno": 418, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_delta_encode", + "endline": 468, + "complexity": 2, + "lineno": 445, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_rle_counts_to_mask", + "endline": 571, + "complexity": 2, + "lineno": 538, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "xyxy_to_polygons", + "endline": 28, + "complexity": 1, + "lineno": 12, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "polygon_to_mask", + "endline": 49, + "complexity": 1, + "lineno": 31, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "xywh_to_xyxy", + "endline": 82, + "complexity": 1, + "lineno": 52, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "xyxy_to_xywh", + "endline": 116, + "complexity": 1, + "lineno": 85, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "xcycwh_to_xyxy", + "endline": 152, + "complexity": 1, + "lineno": 119, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "is_compressed_rle", + "endline": 494, + "complexity": 1, + "lineno": 471, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "polygon_to_xyxy", + "endline": 738, + "complexity": 1, + "lineno": 724, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\internal.py": [ + { + "type": "function", + "rank": "C", + "name": "process_roboflow_result", + "endline": 195, + "complexity": 15, + "lineno": 81, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "C", + "name": "merge_metadata", + "endline": 367, + "complexity": 14, + "lineno": 316, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "C", + "name": "get_data_item", + "endline": 407, + "complexity": 13, + "lineno": 370, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_merge_data_values", + "endline": 275, + "complexity": 7, + "lineno": 259, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_decode_rle_mask", + "endline": 78, + "complexity": 6, + "lineno": 54, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "extract_ultralytics_masks", + "endline": 51, + "complexity": 5, + "lineno": 18, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "is_metadata_equal", + "endline": 234, + "complexity": 5, + "lineno": 217, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_validate_data_list_keys", + "endline": 245, + "complexity": 4, + "lineno": 238, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_validate_data_value_lengths", + "endline": 255, + "complexity": 4, + "lineno": 248, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "merge_data", + "endline": 313, + "complexity": 4, + "lineno": 280, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "is_data_equal", + "endline": 213, + "complexity": 3, + "lineno": 199, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "cross_product", + "endline": 430, + "complexity": 1, + "lineno": 410, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\iou_and_nms.py": [ + { + "type": "function", + "rank": "C", + "name": "mask_iou_batch", + "endline": 837, + "complexity": 14, + "lineno": 744, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "C", + "name": "oriented_box_iou_batch", + "endline": 574, + "complexity": 12, + "lineno": 456, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "C", + "name": "oriented_box_non_max_suppression", + "endline": 1338, + "complexity": 12, + "lineno": 1246, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "C", + "name": "oriented_box_non_max_merge", + "endline": 1461, + "complexity": 12, + "lineno": 1366, + "col_offset": 0, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "group_within", + "endline": 1458, + "complexity": 1, + "lineno": 1453, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "B", + "name": "compact_mask_iou_batch", + "endline": 677, + "complexity": 10, + "lineno": 577, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "mask_non_max_merge", + "endline": 1110, + "complexity": 7, + "lineno": 1038, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_non_max_merge_per_category", + "endline": 1174, + "complexity": 7, + "lineno": 1144, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "box_iou_batch_with_jaccard", + "endline": 360, + "complexity": 6, + "lineno": 304, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_validate_oriented_box_batch", + "endline": 440, + "complexity": 6, + "lineno": 426, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "box_iou_batch", + "endline": 261, + "complexity": 5, + "lineno": 162, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "mask_non_max_suppression", + "endline": 904, + "complexity": 5, + "lineno": 840, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_group_overlapping_masks", + "endline": 1035, + "complexity": 5, + "lineno": 981, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "box_iou", + "endline": 159, + "complexity": 4, + "lineno": 90, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_mask_iou_batch_split", + "endline": 741, + "complexity": 4, + "lineno": 680, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "OverlapFilter", + "endline": 50, + "complexity": 4, + "lineno": 16, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 36, + "complexity": 1, + "classname": "OverlapFilter", + "lineno": 35, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_value", + "endline": 50, + "complexity": 4, + "classname": "OverlapFilter", + "lineno": 39, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "from_value", + "endline": 50, + "complexity": 4, + "classname": "OverlapFilter", + "lineno": 39, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "OverlapMetric", + "endline": 86, + "complexity": 4, + "lineno": 54, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 72, + "complexity": 1, + "classname": "OverlapMetric", + "lineno": 71, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_value", + "endline": 86, + "complexity": 4, + "classname": "OverlapMetric", + "lineno": 75, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "from_value", + "endline": 86, + "complexity": 4, + "classname": "OverlapMetric", + "lineno": 75, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_normalize_oriented_overlap_metric", + "endline": 451, + "complexity": 3, + "lineno": 444, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_nms_loop_from_iou_matrix", + "endline": 943, + "complexity": 3, + "lineno": 924, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_greedy_nmm_via_iou_callback", + "endline": 1141, + "complexity": 3, + "lineno": 1113, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_jaccard", + "endline": 301, + "complexity": 2, + "lineno": 264, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_prepare_predictions_for_nms", + "endline": 921, + "complexity": 2, + "lineno": 907, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "box_non_max_suppression", + "endline": 978, + "complexity": 2, + "lineno": 946, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_polygon_areas", + "endline": 375, + "complexity": 1, + "lineno": 363, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_aabb_envelopes", + "endline": 390, + "complexity": 1, + "lineno": 378, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_overlapping_envelope_pairs", + "endline": 423, + "complexity": 1, + "lineno": 394, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_group_overlapping_boxes", + "endline": 1210, + "complexity": 1, + "lineno": 1177, + "col_offset": 0, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "iou_against_candidate", + "endline": 1206, + "complexity": 1, + "lineno": 1200, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "name": "box_non_max_merge", + "endline": 1243, + "complexity": 1, + "lineno": 1214, + "col_offset": 0, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "group_within", + "endline": 1240, + "complexity": 1, + "lineno": 1238, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "name": "_group_overlapping_oriented_boxes", + "endline": 1362, + "complexity": 1, + "lineno": 1341, + "col_offset": 0, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "iou_against_candidate", + "endline": 1358, + "complexity": 1, + "lineno": 1352, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 36, + "complexity": 1, + "classname": "OverlapFilter", + "lineno": 35, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 72, + "complexity": 1, + "classname": "OverlapMetric", + "lineno": 71, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\masks.py": [ + { + "type": "function", + "rank": "B", + "name": "filter_segments_by_distance", + "endline": 475, + "complexity": 6, + "lineno": 344, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "move_masks", + "endline": 87, + "complexity": 5, + "lineno": 12, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "calculate_masks_centroids", + "endline": 147, + "complexity": 5, + "lineno": 90, + "col_offset": 0, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "sum_over_mask", + "endline": 140, + "complexity": 1, + "lineno": 137, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "name": "_filter_labels_by_edge_distance", + "endline": 341, + "complexity": 5, + "lineno": 319, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "contains_holes", + "endline": 198, + "complexity": 4, + "lineno": 151, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "contains_multiple_segments", + "endline": 260, + "complexity": 3, + "lineno": 201, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_resolve_distance_threshold", + "endline": 303, + "complexity": 3, + "lineno": 291, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "resize_masks", + "endline": 288, + "complexity": 1, + "lineno": 263, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_filter_labels_by_centroid_distance", + "endline": 316, + "complexity": 1, + "lineno": 306, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\polygons.py": [ + { + "type": "function", + "rank": "B", + "name": "filter_polygons_by_area", + "endline": 40, + "complexity": 9, + "lineno": 8, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "approximate_polygon", + "endline": 116, + "complexity": 7, + "lineno": 44, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\detection\\utils\\vlms.py": [ + { + "type": "function", + "rank": "B", + "name": "edit_distance", + "endline": 62, + "complexity": 6, + "lineno": 4, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "fuzzy_match_index", + "endline": 100, + "complexity": 3, + "lineno": 65, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\draw\\color.py": [ + { + "type": "method", + "rank": "B", + "name": "from_hex", + "endline": 146, + "complexity": 8, + "classname": "Color", + "lineno": 106, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_rgba_tuple", + "endline": 232, + "complexity": 5, + "classname": "Color", + "lineno": 205, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_bgra_tuple", + "endline": 262, + "complexity": 5, + "classname": "Color", + "lineno": 235, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__eq__", + "endline": 401, + "complexity": 5, + "classname": "Color", + "lineno": 395, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_validate_color_hex", + "endline": 62, + "complexity": 4, + "lineno": 57, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_rgb_tuple", + "endline": 174, + "complexity": 4, + "classname": "Color", + "lineno": 149, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_bgr_tuple", + "endline": 202, + "complexity": 4, + "classname": "Color", + "lineno": 177, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_matplotlib", + "endline": 509, + "complexity": 4, + "classname": "ColorPalette", + "lineno": 479, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "Color", + "endline": 401, + "complexity": 3, + "lineno": 66, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "B", + "name": "from_hex", + "endline": 146, + "complexity": 8, + "classname": "Color", + "lineno": 106, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_rgb_tuple", + "endline": 174, + "complexity": 4, + "classname": "Color", + "lineno": 149, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_bgr_tuple", + "endline": 202, + "complexity": 4, + "classname": "Color", + "lineno": 177, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_rgba_tuple", + "endline": 232, + "complexity": 5, + "classname": "Color", + "lineno": 205, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_bgra_tuple", + "endline": 262, + "complexity": 5, + "classname": "Color", + "lineno": 235, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_hex", + "endline": 285, + "complexity": 2, + "classname": "Color", + "lineno": 264, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_rgb", + "endline": 302, + "complexity": 1, + "classname": "Color", + "lineno": 287, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_bgr", + "endline": 319, + "complexity": 1, + "classname": "Color", + "lineno": 304, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_rgba", + "endline": 336, + "complexity": 1, + "classname": "Color", + "lineno": 321, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_bgra", + "endline": 353, + "complexity": 1, + "classname": "Color", + "lineno": 338, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "WHITE", + "endline": 357, + "complexity": 1, + "classname": "Color", + "lineno": 356, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "BLACK", + "endline": 361, + "complexity": 1, + "classname": "Color", + "lineno": 360, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "GREY", + "endline": 365, + "complexity": 1, + "classname": "Color", + "lineno": 364, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "RED", + "endline": 369, + "complexity": 1, + "classname": "Color", + "lineno": 368, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "GREEN", + "endline": 373, + "complexity": 1, + "classname": "Color", + "lineno": 372, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "BLUE", + "endline": 377, + "complexity": 1, + "classname": "Color", + "lineno": 376, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "YELLOW", + "endline": 381, + "complexity": 1, + "classname": "Color", + "lineno": 380, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "ROBOFLOW", + "endline": 385, + "complexity": 1, + "classname": "Color", + "lineno": 384, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__hash__", + "endline": 388, + "complexity": 1, + "classname": "Color", + "lineno": 387, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__repr__", + "endline": 393, + "complexity": 2, + "classname": "Color", + "lineno": 390, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__eq__", + "endline": 401, + "complexity": 5, + "classname": "Color", + "lineno": 395, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "name": "unify_to_bgr", + "endline": 572, + "complexity": 2, + "lineno": 547, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_hex", + "endline": 285, + "complexity": 2, + "classname": "Color", + "lineno": 264, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__repr__", + "endline": 393, + "complexity": 2, + "classname": "Color", + "lineno": 390, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "ColorPalette", + "endline": 544, + "complexity": 2, + "lineno": 406, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "DEFAULT", + "endline": 428, + "complexity": 1, + "classname": "ColorPalette", + "lineno": 410, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "ROBOFLOW", + "endline": 449, + "complexity": 1, + "classname": "ColorPalette", + "lineno": 431, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "LEGACY", + "endline": 453, + "complexity": 1, + "classname": "ColorPalette", + "lineno": 452, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_hex", + "endline": 476, + "complexity": 2, + "classname": "ColorPalette", + "lineno": 456, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_matplotlib", + "endline": 509, + "complexity": 4, + "classname": "ColorPalette", + "lineno": 479, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "by_idx", + "endline": 535, + "complexity": 2, + "classname": "ColorPalette", + "lineno": 512, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 544, + "complexity": 1, + "classname": "ColorPalette", + "lineno": 537, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "from_hex", + "endline": 476, + "complexity": 2, + "classname": "ColorPalette", + "lineno": 456, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "by_idx", + "endline": 535, + "complexity": 2, + "classname": "ColorPalette", + "lineno": 512, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_rgb", + "endline": 302, + "complexity": 1, + "classname": "Color", + "lineno": 287, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_bgr", + "endline": 319, + "complexity": 1, + "classname": "Color", + "lineno": 304, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_rgba", + "endline": 336, + "complexity": 1, + "classname": "Color", + "lineno": 321, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_bgra", + "endline": 353, + "complexity": 1, + "classname": "Color", + "lineno": 338, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "WHITE", + "endline": 357, + "complexity": 1, + "classname": "Color", + "lineno": 356, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "BLACK", + "endline": 361, + "complexity": 1, + "classname": "Color", + "lineno": 360, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "GREY", + "endline": 365, + "complexity": 1, + "classname": "Color", + "lineno": 364, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "RED", + "endline": 369, + "complexity": 1, + "classname": "Color", + "lineno": 368, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "GREEN", + "endline": 373, + "complexity": 1, + "classname": "Color", + "lineno": 372, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "BLUE", + "endline": 377, + "complexity": 1, + "classname": "Color", + "lineno": 376, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "YELLOW", + "endline": 381, + "complexity": 1, + "classname": "Color", + "lineno": 380, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "ROBOFLOW", + "endline": 385, + "complexity": 1, + "classname": "Color", + "lineno": 384, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__hash__", + "endline": 388, + "complexity": 1, + "classname": "Color", + "lineno": 387, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "DEFAULT", + "endline": 428, + "complexity": 1, + "classname": "ColorPalette", + "lineno": 410, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "ROBOFLOW", + "endline": 449, + "complexity": 1, + "classname": "ColorPalette", + "lineno": 431, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "LEGACY", + "endline": 453, + "complexity": 1, + "classname": "ColorPalette", + "lineno": 452, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 544, + "complexity": 1, + "classname": "ColorPalette", + "lineno": 537, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\draw\\utils.py": [ + { + "type": "function", + "rank": "B", + "name": "draw_image", + "endline": 368, + "complexity": 9, + "lineno": 301, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "draw_rounded_rectangle", + "endline": 163, + "complexity": 3, + "lineno": 114, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "draw_filled_rectangle", + "endline": 111, + "complexity": 2, + "lineno": 72, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "draw_filled_polygon", + "endline": 215, + "complexity": 2, + "lineno": 189, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "draw_text", + "endline": 298, + "complexity": 2, + "lineno": 218, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "calculate_optimal_line_thickness", + "endline": 420, + "complexity": 2, + "lineno": 396, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "draw_line", + "endline": 41, + "complexity": 1, + "lineno": 14, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "draw_rectangle", + "endline": 69, + "complexity": 1, + "lineno": 44, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "draw_polygon", + "endline": 186, + "complexity": 1, + "lineno": 166, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "calculate_optimal_text_scale", + "endline": 393, + "complexity": 1, + "lineno": 371, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\geometry\\core.py": [ + { + "type": "class", + "rank": "A", + "name": "Position", + "endline": 26, + "complexity": 2, + "lineno": 8, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 26, + "complexity": 1, + "classname": "Position", + "lineno": 25, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "Point", + "endline": 69, + "complexity": 2, + "lineno": 30, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "as_xy_int_tuple", + "endline": 60, + "complexity": 1, + "classname": "Point", + "lineno": 53, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_xy_float_tuple", + "endline": 69, + "complexity": 1, + "classname": "Point", + "lineno": 62, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "Vector", + "endline": 142, + "complexity": 2, + "lineno": 73, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "magnitude", + "endline": 108, + "complexity": 1, + "classname": "Vector", + "lineno": 99, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "center", + "endline": 120, + "complexity": 1, + "classname": "Vector", + "lineno": 111, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "cross_product", + "endline": 142, + "complexity": 1, + "classname": "Vector", + "lineno": 123, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "Rect", + "endline": 201, + "complexity": 2, + "lineno": 146, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "from_xyxy", + "endline": 178, + "complexity": 1, + "classname": "Rect", + "lineno": 176, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "top_left", + "endline": 182, + "complexity": 1, + "classname": "Rect", + "lineno": 181, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "bottom_right", + "endline": 186, + "complexity": 1, + "classname": "Rect", + "lineno": 185, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "pad", + "endline": 193, + "complexity": 1, + "classname": "Rect", + "lineno": 188, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_xyxy_int_tuple", + "endline": 201, + "complexity": 1, + "classname": "Rect", + "lineno": 196, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "list", + "endline": 26, + "complexity": 1, + "classname": "Position", + "lineno": 25, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_xy_int_tuple", + "endline": 60, + "complexity": 1, + "classname": "Point", + "lineno": 53, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_xy_float_tuple", + "endline": 69, + "complexity": 1, + "classname": "Point", + "lineno": 62, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "magnitude", + "endline": 108, + "complexity": 1, + "classname": "Vector", + "lineno": 99, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "center", + "endline": 120, + "complexity": 1, + "classname": "Vector", + "lineno": 111, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "cross_product", + "endline": 142, + "complexity": 1, + "classname": "Vector", + "lineno": 123, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_xyxy", + "endline": 178, + "complexity": 1, + "classname": "Rect", + "lineno": 176, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "top_left", + "endline": 182, + "complexity": 1, + "classname": "Rect", + "lineno": 181, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "bottom_right", + "endline": 186, + "complexity": 1, + "classname": "Rect", + "lineno": 185, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "pad", + "endline": 193, + "complexity": 1, + "classname": "Rect", + "lineno": 188, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "as_xyxy_int_tuple", + "endline": 201, + "complexity": 1, + "classname": "Rect", + "lineno": 196, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\geometry\\utils.py": [ + { + "type": "function", + "rank": "A", + "name": "get_polygon_center", + "endline": 51, + "complexity": 3, + "lineno": 7, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\key_points\\annotators.py": [ + { + "type": "method", + "rank": "C", + "name": "annotate", + "endline": 258, + "complexity": 16, + "classname": "EdgeAnnotator", + "lineno": 141, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "annotate", + "endline": 905, + "complexity": 13, + "classname": "VertexLabelAnnotator", + "lineno": 740, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "__init__", + "endline": 296, + "complexity": 11, + "classname": "_BaseVertexEllipseAnnotator", + "lineno": 268, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "EdgeAnnotator", + "endline": 258, + "complexity": 10, + "lineno": 111, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 138, + "complexity": 1, + "classname": "EdgeAnnotator", + "lineno": 117, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "annotate", + "endline": 258, + "complexity": 16, + "classname": "EdgeAnnotator", + "lineno": 141, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "_iter_ellipse_params", + "endline": 367, + "complexity": 10, + "classname": "_BaseVertexEllipseAnnotator", + "lineno": 330, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 697, + "complexity": 9, + "classname": "VertexEllipseHaloAnnotator", + "lineno": 606, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 108, + "complexity": 8, + "classname": "VertexAnnotator", + "lineno": 51, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "_BaseVertexEllipseAnnotator", + "endline": 367, + "complexity": 8, + "lineno": 261, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "C", + "name": "__init__", + "endline": 296, + "complexity": 11, + "classname": "_BaseVertexEllipseAnnotator", + "lineno": 268, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_get_covariances", + "endline": 313, + "complexity": 3, + "classname": "_BaseVertexEllipseAnnotator", + "lineno": 298, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_decompose_covariance", + "endline": 328, + "complexity": 5, + "classname": "_BaseVertexEllipseAnnotator", + "lineno": 315, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_iter_ellipse_params", + "endline": 367, + "complexity": 10, + "classname": "_BaseVertexEllipseAnnotator", + "lineno": 330, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "_resolve_labels", + "endline": 957, + "complexity": 7, + "classname": "VertexLabelAnnotator", + "lineno": 930, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "VertexAnnotator", + "endline": 108, + "complexity": 6, + "lineno": 30, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 48, + "complexity": 1, + "classname": "VertexAnnotator", + "lineno": 37, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 108, + "complexity": 8, + "classname": "VertexAnnotator", + "lineno": 51, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "B", + "name": "VertexEllipseHaloAnnotator", + "endline": 697, + "complexity": 6, + "lineno": 568, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 603, + "complexity": 1, + "classname": "VertexEllipseHaloAnnotator", + "lineno": 583, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "annotate", + "endline": 697, + "complexity": 9, + "classname": "VertexEllipseHaloAnnotator", + "lineno": 606, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "B", + "name": "VertexLabelAnnotator", + "endline": 972, + "complexity": 6, + "lineno": 703, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 738, + "complexity": 1, + "classname": "VertexLabelAnnotator", + "lineno": 709, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "annotate", + "endline": 905, + "complexity": 13, + "classname": "VertexLabelAnnotator", + "lineno": 740, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "get_text_bounding_box", + "endline": 926, + "complexity": 1, + "classname": "VertexLabelAnnotator", + "lineno": 908, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_resolve_labels", + "endline": 957, + "complexity": 7, + "classname": "VertexLabelAnnotator", + "lineno": 930, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_resolve_color_list", + "endline": 972, + "complexity": 3, + "classname": "VertexLabelAnnotator", + "lineno": 960, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_decompose_covariance", + "endline": 328, + "complexity": 5, + "classname": "_BaseVertexEllipseAnnotator", + "lineno": 315, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 468, + "complexity": 5, + "classname": "VertexEllipseAreaAnnotator", + "lineno": 406, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 565, + "complexity": 5, + "classname": "VertexEllipseOutlineAnnotator", + "lineno": 504, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "VertexEllipseAreaAnnotator", + "endline": 468, + "complexity": 4, + "lineno": 370, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 403, + "complexity": 1, + "classname": "VertexEllipseAreaAnnotator", + "lineno": 383, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 468, + "complexity": 5, + "classname": "VertexEllipseAreaAnnotator", + "lineno": 406, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "VertexEllipseOutlineAnnotator", + "endline": 565, + "complexity": 4, + "lineno": 471, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 501, + "complexity": 1, + "classname": "VertexEllipseOutlineAnnotator", + "lineno": 482, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 565, + "complexity": 5, + "classname": "VertexEllipseOutlineAnnotator", + "lineno": 504, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_get_covariances", + "endline": 313, + "complexity": 3, + "classname": "_BaseVertexEllipseAnnotator", + "lineno": 298, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_resolve_color_list", + "endline": 972, + "complexity": 3, + "classname": "VertexLabelAnnotator", + "lineno": 960, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "BaseKeyPointAnnotator", + "endline": 27, + "complexity": 2, + "lineno": 24, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 27, + "complexity": 1, + "classname": "BaseKeyPointAnnotator", + "lineno": 26, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "annotate", + "endline": 27, + "complexity": 1, + "classname": "BaseKeyPointAnnotator", + "lineno": 26, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 48, + "complexity": 1, + "classname": "VertexAnnotator", + "lineno": 37, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 138, + "complexity": 1, + "classname": "EdgeAnnotator", + "lineno": 117, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 403, + "complexity": 1, + "classname": "VertexEllipseAreaAnnotator", + "lineno": 383, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 501, + "complexity": 1, + "classname": "VertexEllipseOutlineAnnotator", + "lineno": 482, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 603, + "complexity": 1, + "classname": "VertexEllipseHaloAnnotator", + "lineno": 583, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 738, + "complexity": 1, + "classname": "VertexLabelAnnotator", + "lineno": 709, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "get_text_bounding_box", + "endline": 926, + "complexity": 1, + "classname": "VertexLabelAnnotator", + "lineno": 908, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\key_points\\core.py": [ + { + "type": "method", + "rank": "C", + "name": "_normalize_getitem_index", + "endline": 959, + "complexity": 17, + "classname": "KeyPoints", + "lineno": 925, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_get_by_2d_bool_mask", + "endline": 922, + "complexity": 15, + "classname": "KeyPoints", + "lineno": 830, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_reshape_selected", + "endline": 1038, + "complexity": 15, + "classname": "KeyPoints", + "lineno": 998, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "from_mediapipe", + "endline": 594, + "complexity": 12, + "classname": "KeyPoints", + "lineno": 472, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_normalize_row_index", + "endline": 71, + "complexity": 10, + "lineno": 51, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "from_inference", + "endline": 468, + "complexity": 7, + "classname": "KeyPoints", + "lineno": 388, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "with_nms", + "endline": 1270, + "complexity": 7, + "classname": "KeyPoints", + "lineno": 1184, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "KeyPoints", + "endline": 1342, + "complexity": 6, + "lineno": 75, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 296, + "complexity": 4, + "classname": "KeyPoints", + "lineno": 245, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__post_init__", + "endline": 305, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 298, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "confidence", + "endline": 315, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 309, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "confidence", + "endline": 323, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 318, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 343, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 325, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__iter__", + "endline": 366, + "complexity": 4, + "classname": "KeyPoints", + "lineno": 345, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__eq__", + "endline": 383, + "complexity": 2, + "classname": "KeyPoints", + "lineno": 369, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "from_inference", + "endline": 468, + "complexity": 7, + "classname": "KeyPoints", + "lineno": 388, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "from_mediapipe", + "endline": 594, + "complexity": 12, + "classname": "KeyPoints", + "lineno": 472, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_ultralytics", + "endline": 634, + "complexity": 3, + "classname": "KeyPoints", + "lineno": 598, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "from_yolo_nas", + "endline": 691, + "complexity": 6, + "classname": "KeyPoints", + "lineno": 637, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_detectron2", + "endline": 743, + "complexity": 3, + "classname": "KeyPoints", + "lineno": 695, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_transformers", + "endline": 828, + "complexity": 4, + "classname": "KeyPoints", + "lineno": 746, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_get_by_2d_bool_mask", + "endline": 922, + "complexity": 15, + "classname": "KeyPoints", + "lineno": 830, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_normalize_getitem_index", + "endline": 959, + "complexity": 17, + "classname": "KeyPoints", + "lineno": 925, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_select_fields", + "endline": 995, + "complexity": 5, + "classname": "KeyPoints", + "lineno": 961, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_reshape_selected", + "endline": 1038, + "complexity": 15, + "classname": "KeyPoints", + "lineno": 998, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_getitem_by_normalized_index", + "endline": 1056, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 1040, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__getitem__", + "endline": 1108, + "complexity": 5, + "classname": "KeyPoints", + "lineno": 1059, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__setitem__", + "endline": 1143, + "complexity": 3, + "classname": "KeyPoints", + "lineno": 1110, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "empty", + "endline": 1162, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 1146, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "is_empty", + "endline": 1182, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 1164, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "with_nms", + "endline": 1270, + "complexity": 7, + "classname": "KeyPoints", + "lineno": 1184, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "as_detections", + "endline": 1342, + "complexity": 6, + "classname": "KeyPoints", + "lineno": 1272, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "from_yolo_nas", + "endline": 691, + "complexity": 6, + "classname": "KeyPoints", + "lineno": 637, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "as_detections", + "endline": 1342, + "complexity": 6, + "classname": "KeyPoints", + "lineno": 1272, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_select_fields", + "endline": 995, + "complexity": 5, + "classname": "KeyPoints", + "lineno": 961, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__getitem__", + "endline": 1108, + "complexity": 5, + "classname": "KeyPoints", + "lineno": 1059, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_optional_array_equal", + "endline": 48, + "complexity": 4, + "lineno": 42, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 296, + "complexity": 4, + "classname": "KeyPoints", + "lineno": 245, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__iter__", + "endline": 366, + "complexity": 4, + "classname": "KeyPoints", + "lineno": 345, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_transformers", + "endline": 828, + "complexity": 4, + "classname": "KeyPoints", + "lineno": 746, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_ultralytics", + "endline": 634, + "complexity": 3, + "classname": "KeyPoints", + "lineno": 598, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_detectron2", + "endline": 743, + "complexity": 3, + "classname": "KeyPoints", + "lineno": 695, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__setitem__", + "endline": 1143, + "complexity": 3, + "classname": "KeyPoints", + "lineno": 1110, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__eq__", + "endline": 383, + "complexity": 2, + "classname": "KeyPoints", + "lineno": 369, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__post_init__", + "endline": 305, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 298, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "confidence", + "endline": 315, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 309, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "confidence", + "endline": 323, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 318, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__len__", + "endline": 343, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 325, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_getitem_by_normalized_index", + "endline": 1056, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 1040, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "empty", + "endline": 1162, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 1146, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "is_empty", + "endline": 1182, + "complexity": 1, + "classname": "KeyPoints", + "lineno": 1164, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\key_points\\skeletons.py": [ + { + "type": "class", + "rank": "A", + "name": "Skeleton", + "endline": 2635, + "complexity": 1, + "lineno": 6, + "col_offset": 0, + "methods": [] + } + ], + "src\\supervision\\metrics\\core.py": [ + { + "type": "class", + "rank": "A", + "name": "Metric", + "endline": 33, + "complexity": 2, + "lineno": 8, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "update", + "endline": 19, + "complexity": 1, + "classname": "Metric", + "lineno": 14, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 26, + "complexity": 1, + "classname": "Metric", + "lineno": 22, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compute", + "endline": 33, + "complexity": 1, + "classname": "Metric", + "lineno": 29, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "update", + "endline": 19, + "complexity": 1, + "classname": "Metric", + "lineno": 14, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 26, + "complexity": 1, + "classname": "Metric", + "lineno": 22, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compute", + "endline": 33, + "complexity": 1, + "classname": "Metric", + "lineno": 29, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "MetricTarget", + "endline": 48, + "complexity": 1, + "lineno": 36, + "col_offset": 0, + "methods": [] + }, + { + "type": "class", + "rank": "A", + "name": "AveragingMethod", + "endline": 72, + "complexity": 1, + "lineno": 51, + "col_offset": 0, + "methods": [] + } + ], + "src\\supervision\\metrics\\detection.py": [ + { + "type": "method", + "rank": "C", + "name": "plot", + "endline": 775, + "complexity": 15, + "classname": "ConfusionMatrix", + "lineno": 688, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "detections_to_tensor", + "endline": 143, + "complexity": 10, + "lineno": 29, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_fill_confusion_matrix_from_iou", + "endline": 305, + "complexity": 10, + "lineno": 255, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_validate_input_tensors", + "endline": 183, + "complexity": 9, + "lineno": 146, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_validate_detection_batch_shapes", + "endline": 215, + "complexity": 7, + "lineno": 195, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "from_tensors", + "endline": 1008, + "complexity": 7, + "classname": "MeanAveragePrecision", + "lineno": 915, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_try_early_exit", + "endline": 239, + "complexity": 5, + "lineno": 219, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "ConfusionMatrix", + "endline": 775, + "complexity": 5, + "lineno": 321, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__eq__", + "endline": 353, + "complexity": 5, + "classname": "ConfusionMatrix", + "lineno": 346, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_detections", + "endline": 439, + "complexity": 2, + "classname": "ConfusionMatrix", + "lineno": 359, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_tensors", + "endline": 531, + "complexity": 2, + "classname": "ConfusionMatrix", + "lineno": 443, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "evaluate_detection_batch", + "endline": 602, + "complexity": 2, + "classname": "ConfusionMatrix", + "lineno": 535, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_drop_extra_matches", + "endline": 618, + "complexity": 2, + "classname": "ConfusionMatrix", + "lineno": 605, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "benchmark", + "endline": 685, + "complexity": 2, + "classname": "ConfusionMatrix", + "lineno": 621, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "plot", + "endline": 775, + "complexity": 15, + "classname": "ConfusionMatrix", + "lineno": 688, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "__eq__", + "endline": 353, + "complexity": 5, + "classname": "ConfusionMatrix", + "lineno": 346, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_average_precisions_per_class", + "endline": 1148, + "complexity": 5, + "classname": "MeanAveragePrecision", + "lineno": 1095, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "MeanAveragePrecision", + "endline": 1148, + "complexity": 4, + "lineno": 784, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "from_detections", + "endline": 864, + "complexity": 2, + "classname": "MeanAveragePrecision", + "lineno": 815, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "benchmark", + "endline": 911, + "complexity": 2, + "classname": "MeanAveragePrecision", + "lineno": 868, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "from_tensors", + "endline": 1008, + "complexity": 7, + "classname": "MeanAveragePrecision", + "lineno": 915, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compute_average_precision", + "endline": 1047, + "complexity": 2, + "classname": "MeanAveragePrecision", + "lineno": 1012, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_match_detection_batch", + "endline": 1092, + "complexity": 4, + "classname": "MeanAveragePrecision", + "lineno": 1050, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_average_precisions_per_class", + "endline": 1148, + "complexity": 5, + "classname": "MeanAveragePrecision", + "lineno": 1095, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_match_detection_batch", + "endline": 1092, + "complexity": 4, + "classname": "MeanAveragePrecision", + "lineno": 1050, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_assert_supported_target", + "endline": 25, + "complexity": 2, + "lineno": 22, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_get_coordinate_metadata", + "endline": 192, + "complexity": 2, + "lineno": 187, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_get_iou_batch", + "endline": 252, + "complexity": 2, + "lineno": 242, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_detections", + "endline": 439, + "complexity": 2, + "classname": "ConfusionMatrix", + "lineno": 359, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_tensors", + "endline": 531, + "complexity": 2, + "classname": "ConfusionMatrix", + "lineno": 443, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "evaluate_detection_batch", + "endline": 602, + "complexity": 2, + "classname": "ConfusionMatrix", + "lineno": 535, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_drop_extra_matches", + "endline": 618, + "complexity": 2, + "classname": "ConfusionMatrix", + "lineno": 605, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "benchmark", + "endline": 685, + "complexity": 2, + "classname": "ConfusionMatrix", + "lineno": 621, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_detections", + "endline": 864, + "complexity": 2, + "classname": "MeanAveragePrecision", + "lineno": 815, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "benchmark", + "endline": 911, + "complexity": 2, + "classname": "MeanAveragePrecision", + "lineno": 868, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compute_average_precision", + "endline": 1047, + "complexity": 2, + "classname": "MeanAveragePrecision", + "lineno": 1012, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_input_tensors", + "endline": 317, + "complexity": 1, + "lineno": 313, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\metrics\\f1_score.py": [ + { + "type": "method", + "rank": "C", + "name": "_compute", + "endline": 250, + "complexity": 15, + "classname": "F1Score", + "lineno": 152, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_filter_detections_by_size", + "endline": 482, + "complexity": 9, + "classname": "F1Score", + "lineno": 458, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_detections_content", + "endline": 444, + "complexity": 7, + "classname": "F1Score", + "lineno": 428, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "to_pandas", + "endline": 729, + "complexity": 7, + "classname": "F1ScoreResult", + "lineno": 701, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__str__", + "endline": 699, + "complexity": 6, + "classname": "F1ScoreResult", + "lineno": 633, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "F1Score", + "endline": 502, + "complexity": 5, + "lineno": 30, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 83, + "complexity": 1, + "classname": "F1Score", + "lineno": 66, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 90, + "complexity": 1, + "classname": "F1Score", + "lineno": 85, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "update", + "endline": 121, + "complexity": 4, + "classname": "F1Score", + "lineno": 92, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compute", + "endline": 150, + "complexity": 1, + "classname": "F1Score", + "lineno": 123, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_compute", + "endline": 250, + "complexity": 15, + "classname": "F1Score", + "lineno": 152, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_f1_for_classes", + "endline": 306, + "complexity": 5, + "classname": "F1Score", + "lineno": 253, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_match_detection_batch", + "endline": 338, + "complexity": 4, + "classname": "F1Score", + "lineno": 309, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_confusion_matrix", + "endline": 396, + "complexity": 4, + "classname": "F1Score", + "lineno": 341, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_f1", + "endline": 426, + "complexity": 2, + "classname": "F1Score", + "lineno": 399, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_detections_content", + "endline": 444, + "complexity": 7, + "classname": "F1Score", + "lineno": 428, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_make_empty_content", + "endline": 456, + "complexity": 4, + "classname": "F1Score", + "lineno": 446, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_filter_detections_by_size", + "endline": 482, + "complexity": 9, + "classname": "F1Score", + "lineno": 458, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_filter_predictions_and_targets_by_size", + "endline": 502, + "complexity": 2, + "classname": "F1Score", + "lineno": 484, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_f1_for_classes", + "endline": 306, + "complexity": 5, + "classname": "F1Score", + "lineno": 253, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 595, + "complexity": 5, + "classname": "F1ScoreResult", + "lineno": 562, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "plot", + "endline": 793, + "complexity": 5, + "classname": "F1ScoreResult", + "lineno": 731, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "update", + "endline": 121, + "complexity": 4, + "classname": "F1Score", + "lineno": 92, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_match_detection_batch", + "endline": 338, + "complexity": 4, + "classname": "F1Score", + "lineno": 309, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_confusion_matrix", + "endline": 396, + "complexity": 4, + "classname": "F1Score", + "lineno": 341, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_make_empty_content", + "endline": 456, + "complexity": 4, + "classname": "F1Score", + "lineno": 446, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "F1ScoreResult", + "endline": 793, + "complexity": 3, + "lineno": 515, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "f1_50", + "endline": 550, + "complexity": 1, + "classname": "F1ScoreResult", + "lineno": 549, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "f1_75", + "endline": 554, + "complexity": 1, + "classname": "F1ScoreResult", + "lineno": 553, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 595, + "complexity": 5, + "classname": "F1ScoreResult", + "lineno": 562, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_ensure_size_results", + "endline": 601, + "complexity": 2, + "classname": "F1ScoreResult", + "lineno": 597, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 607, + "complexity": 2, + "classname": "F1ScoreResult", + "lineno": 604, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 611, + "complexity": 1, + "classname": "F1ScoreResult", + "lineno": 610, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 617, + "complexity": 2, + "classname": "F1ScoreResult", + "lineno": 614, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 621, + "complexity": 1, + "classname": "F1ScoreResult", + "lineno": 620, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 627, + "complexity": 2, + "classname": "F1ScoreResult", + "lineno": 624, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 631, + "complexity": 1, + "classname": "F1ScoreResult", + "lineno": 630, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__str__", + "endline": 699, + "complexity": 6, + "classname": "F1ScoreResult", + "lineno": 633, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "to_pandas", + "endline": 729, + "complexity": 7, + "classname": "F1ScoreResult", + "lineno": 701, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "plot", + "endline": 793, + "complexity": 5, + "classname": "F1ScoreResult", + "lineno": 731, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_f1", + "endline": 426, + "complexity": 2, + "classname": "F1Score", + "lineno": 399, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_filter_predictions_and_targets_by_size", + "endline": 502, + "complexity": 2, + "classname": "F1Score", + "lineno": 484, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_ensure_size_results", + "endline": 601, + "complexity": 2, + "classname": "F1ScoreResult", + "lineno": 597, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 607, + "complexity": 2, + "classname": "F1ScoreResult", + "lineno": 604, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 617, + "complexity": 2, + "classname": "F1ScoreResult", + "lineno": 614, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 627, + "complexity": 2, + "classname": "F1ScoreResult", + "lineno": 624, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 83, + "complexity": 1, + "classname": "F1Score", + "lineno": 66, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 90, + "complexity": 1, + "classname": "F1Score", + "lineno": 85, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compute", + "endline": 150, + "complexity": 1, + "classname": "F1Score", + "lineno": 123, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "F1ScoreSizeResults", + "endline": 511, + "complexity": 1, + "lineno": 506, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "f1_50", + "endline": 550, + "complexity": 1, + "classname": "F1ScoreResult", + "lineno": 549, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "f1_75", + "endline": 554, + "complexity": 1, + "classname": "F1ScoreResult", + "lineno": 553, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 611, + "complexity": 1, + "classname": "F1ScoreResult", + "lineno": 610, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 621, + "complexity": 1, + "classname": "F1ScoreResult", + "lineno": 620, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 631, + "complexity": 1, + "classname": "F1ScoreResult", + "lineno": 630, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\metrics\\mean_average_precision.py": [ + { + "type": "method", + "rank": "D", + "name": "_evaluate_image", + "endline": 944, + "complexity": 28, + "classname": "COCOEvaluator", + "lineno": 822, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_compute_raw_metrics", + "endline": 1134, + "complexity": 20, + "classname": "COCOEvaluator", + "lineno": 1036, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "get_annotation_ids", + "endline": 456, + "complexity": 17, + "classname": "EvaluationDataset", + "lineno": 404, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_prepare_targets", + "endline": 1573, + "complexity": 17, + "classname": "MeanAveragePrecision", + "lineno": 1514, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "get_category_ids", + "endline": 502, + "complexity": 14, + "classname": "EvaluationDataset", + "lineno": 458, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "load_predictions", + "endline": 613, + "complexity": 14, + "classname": "EvaluationDataset", + "lineno": 549, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_prepare_predictions", + "endline": 1625, + "complexity": 11, + "classname": "MeanAveragePrecision", + "lineno": 1576, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "create_class_members", + "endline": 402, + "complexity": 10, + "classname": "EvaluationDataset", + "lineno": 374, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_select_evaluation_indices", + "endline": 1033, + "complexity": 10, + "classname": "COCOEvaluator", + "lineno": 1004, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "EvaluationDataset", + "endline": 613, + "complexity": 9, + "lineno": 339, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 368, + "complexity": 2, + "classname": "EvaluationDataset", + "lineno": 345, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "empty", + "endline": 372, + "complexity": 1, + "classname": "EvaluationDataset", + "lineno": 371, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "create_class_members", + "endline": 402, + "complexity": 10, + "classname": "EvaluationDataset", + "lineno": 374, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "get_annotation_ids", + "endline": 456, + "complexity": 17, + "classname": "EvaluationDataset", + "lineno": 404, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "get_category_ids", + "endline": 502, + "complexity": 14, + "classname": "EvaluationDataset", + "lineno": 458, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "get_image_ids", + "endline": 533, + "complexity": 8, + "classname": "EvaluationDataset", + "lineno": 504, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "get_annotations", + "endline": 547, + "complexity": 3, + "classname": "EvaluationDataset", + "lineno": 535, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "load_predictions", + "endline": 613, + "complexity": 14, + "classname": "EvaluationDataset", + "lineno": 549, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "_compute_iou", + "endline": 820, + "complexity": 9, + "classname": "COCOEvaluator", + "lineno": 781, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "update", + "endline": 1512, + "complexity": 9, + "classname": "MeanAveragePrecision", + "lineno": 1472, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "get_image_ids", + "endline": 533, + "complexity": 8, + "classname": "EvaluationDataset", + "lineno": 504, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "MeanAveragePrecision", + "endline": 1697, + "complexity": 8, + "lineno": 1403, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1463, + "complexity": 1, + "classname": "MeanAveragePrecision", + "lineno": 1441, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 1470, + "complexity": 1, + "classname": "MeanAveragePrecision", + "lineno": 1465, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "update", + "endline": 1512, + "complexity": 9, + "classname": "MeanAveragePrecision", + "lineno": 1472, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_prepare_targets", + "endline": 1573, + "complexity": 17, + "classname": "MeanAveragePrecision", + "lineno": 1514, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_prepare_predictions", + "endline": 1625, + "complexity": 11, + "classname": "MeanAveragePrecision", + "lineno": 1576, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compute", + "endline": 1697, + "complexity": 2, + "classname": "MeanAveragePrecision", + "lineno": 1627, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "to_pandas", + "endline": 267, + "complexity": 7, + "classname": "MeanAveragePrecisionResult", + "lineno": 235, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "B", + "name": "COCOEvaluator", + "endline": 1400, + "complexity": 6, + "lineno": 690, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 717, + "complexity": 3, + "classname": "COCOEvaluator", + "lineno": 695, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "eval_imgs", + "endline": 722, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 720, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "results", + "endline": 727, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 725, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "stats", + "endline": 732, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 730, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "ious", + "endline": 737, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 735, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_targets", + "endline": 741, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 740, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_predictions", + "endline": 745, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 744, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_prepare_targets_and_predictions", + "endline": 779, + "complexity": 6, + "classname": "COCOEvaluator", + "lineno": 747, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_compute_iou", + "endline": 820, + "complexity": 9, + "classname": "COCOEvaluator", + "lineno": 781, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "D", + "name": "_evaluate_image", + "endline": 944, + "complexity": 28, + "classname": "COCOEvaluator", + "lineno": 822, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_initialize_accumulation", + "endline": 1001, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 947, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_select_evaluation_indices", + "endline": 1033, + "complexity": 10, + "classname": "COCOEvaluator", + "lineno": 1004, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_compute_raw_metrics", + "endline": 1134, + "complexity": 20, + "classname": "COCOEvaluator", + "lineno": 1036, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_average_precision", + "endline": 1172, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 1137, + "col_offset": 4, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "mean_with_mask", + "endline": 1154, + "complexity": 1, + "lineno": 1143, + "col_offset": 8, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_average_precision_by_size", + "endline": 1220, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 1174, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_accumulate", + "endline": 1271, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 1223, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_pycocotools_summarize", + "endline": 1367, + "complexity": 2, + "classname": "COCOEvaluator", + "lineno": 1274, + "col_offset": 4, + "closures": [ + { + "type": "function", + "rank": "B", + "name": "_summarize", + "endline": 1320, + "complexity": 8, + "lineno": 1279, + "col_offset": 8, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_summarize_predictions", + "endline": 1364, + "complexity": 1, + "lineno": 1322, + "col_offset": 8, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "evaluate", + "endline": 1400, + "complexity": 6, + "classname": "COCOEvaluator", + "lineno": 1369, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "B", + "name": "_prepare_targets_and_predictions", + "endline": 779, + "complexity": 6, + "classname": "COCOEvaluator", + "lineno": 747, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "evaluate", + "endline": 1400, + "complexity": 6, + "classname": "COCOEvaluator", + "lineno": 1369, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "plot", + "endline": 336, + "complexity": 5, + "classname": "MeanAveragePrecisionResult", + "lineno": 270, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "MeanAveragePrecisionResult", + "endline": 336, + "complexity": 4, + "lineno": 39, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 100, + "complexity": 4, + "classname": "MeanAveragePrecisionResult", + "lineno": 72, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "map50_95", + "endline": 110, + "complexity": 2, + "classname": "MeanAveragePrecisionResult", + "lineno": 104, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "map50", + "endline": 115, + "complexity": 1, + "classname": "MeanAveragePrecisionResult", + "lineno": 113, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "map75", + "endline": 120, + "complexity": 1, + "classname": "MeanAveragePrecisionResult", + "lineno": 118, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 128, + "complexity": 2, + "classname": "MeanAveragePrecisionResult", + "lineno": 123, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 138, + "complexity": 4, + "classname": "MeanAveragePrecisionResult", + "lineno": 131, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 146, + "complexity": 2, + "classname": "MeanAveragePrecisionResult", + "lineno": 141, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 156, + "complexity": 4, + "classname": "MeanAveragePrecisionResult", + "lineno": 149, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 164, + "complexity": 2, + "classname": "MeanAveragePrecisionResult", + "lineno": 159, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 174, + "complexity": 4, + "classname": "MeanAveragePrecisionResult", + "lineno": 167, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__str__", + "endline": 232, + "complexity": 4, + "classname": "MeanAveragePrecisionResult", + "lineno": 176, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "to_pandas", + "endline": 267, + "complexity": 7, + "classname": "MeanAveragePrecisionResult", + "lineno": 235, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "plot", + "endline": 336, + "complexity": 5, + "classname": "MeanAveragePrecisionResult", + "lineno": 270, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 100, + "complexity": 4, + "classname": "MeanAveragePrecisionResult", + "lineno": 72, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 138, + "complexity": 4, + "classname": "MeanAveragePrecisionResult", + "lineno": 131, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 156, + "complexity": 4, + "classname": "MeanAveragePrecisionResult", + "lineno": 149, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 174, + "complexity": 4, + "classname": "MeanAveragePrecisionResult", + "lineno": 167, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__str__", + "endline": 232, + "complexity": 4, + "classname": "MeanAveragePrecisionResult", + "lineno": 176, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "get_annotations", + "endline": 547, + "complexity": 3, + "classname": "EvaluationDataset", + "lineno": 535, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 717, + "complexity": 3, + "classname": "COCOEvaluator", + "lineno": 695, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "map50_95", + "endline": 110, + "complexity": 2, + "classname": "MeanAveragePrecisionResult", + "lineno": 104, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 128, + "complexity": 2, + "classname": "MeanAveragePrecisionResult", + "lineno": 123, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 146, + "complexity": 2, + "classname": "MeanAveragePrecisionResult", + "lineno": 141, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 164, + "complexity": 2, + "classname": "MeanAveragePrecisionResult", + "lineno": 159, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 368, + "complexity": 2, + "classname": "EvaluationDataset", + "lineno": 345, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "COCOEvaluatorParameters", + "endline": 670, + "complexity": 2, + "lineno": 636, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 670, + "complexity": 1, + "classname": "COCOEvaluatorParameters", + "lineno": 641, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_pycocotools_summarize", + "endline": 1367, + "complexity": 2, + "classname": "COCOEvaluator", + "lineno": 1274, + "col_offset": 4, + "closures": [ + { + "type": "function", + "rank": "B", + "name": "_summarize", + "endline": 1320, + "complexity": 8, + "lineno": 1279, + "col_offset": 8, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_summarize_predictions", + "endline": 1364, + "complexity": 1, + "lineno": 1322, + "col_offset": 8, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "compute", + "endline": 1697, + "complexity": 2, + "classname": "MeanAveragePrecision", + "lineno": 1627, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "MeanAveragePrecisionSizeResults", + "endline": 35, + "complexity": 1, + "lineno": 30, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "map50", + "endline": 115, + "complexity": 1, + "classname": "MeanAveragePrecisionResult", + "lineno": 113, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "map75", + "endline": 120, + "complexity": 1, + "classname": "MeanAveragePrecisionResult", + "lineno": 118, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "empty", + "endline": 372, + "complexity": 1, + "classname": "EvaluationDataset", + "lineno": 371, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "ObjectSize", + "endline": 633, + "complexity": 1, + "lineno": 625, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 670, + "complexity": 1, + "classname": "COCOEvaluatorParameters", + "lineno": 641, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "COCOEvaluatorState", + "endline": 687, + "complexity": 1, + "lineno": 675, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "eval_imgs", + "endline": 722, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 720, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "results", + "endline": 727, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 725, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "stats", + "endline": 732, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 730, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "ious", + "endline": 737, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 735, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_targets", + "endline": 741, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 740, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_predictions", + "endline": 745, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 744, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_initialize_accumulation", + "endline": 1001, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 947, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_average_precision", + "endline": 1172, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 1137, + "col_offset": 4, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "mean_with_mask", + "endline": 1154, + "complexity": 1, + "lineno": 1143, + "col_offset": 8, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_average_precision_by_size", + "endline": 1220, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 1174, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_accumulate", + "endline": 1271, + "complexity": 1, + "classname": "COCOEvaluator", + "lineno": 1223, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 1463, + "complexity": 1, + "classname": "MeanAveragePrecision", + "lineno": 1441, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 1470, + "complexity": 1, + "classname": "MeanAveragePrecision", + "lineno": 1465, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\metrics\\mean_average_recall.py": [ + { + "type": "method", + "rank": "C", + "name": "_compute", + "endline": 555, + "complexity": 11, + "classname": "MeanAverageRecall", + "lineno": 468, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_filter_detections_by_size", + "endline": 773, + "complexity": 9, + "classname": "MeanAverageRecall", + "lineno": 749, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "to_pandas", + "endline": 270, + "complexity": 7, + "classname": "MeanAverageRecallResult", + "lineno": 241, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_detections_content", + "endline": 732, + "complexity": 7, + "classname": "MeanAverageRecall", + "lineno": 716, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__str__", + "endline": 239, + "complexity": 6, + "classname": "MeanAverageRecallResult", + "lineno": 172, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 158, + "complexity": 5, + "classname": "MeanAverageRecallResult", + "lineno": 125, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "plot", + "endline": 343, + "complexity": 5, + "classname": "MeanAverageRecallResult", + "lineno": 272, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "MeanAverageRecall", + "endline": 793, + "complexity": 5, + "lineno": 346, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 399, + "complexity": 1, + "classname": "MeanAverageRecall", + "lineno": 384, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 406, + "complexity": 1, + "classname": "MeanAverageRecall", + "lineno": 401, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "update", + "endline": 437, + "complexity": 4, + "classname": "MeanAverageRecall", + "lineno": 408, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compute", + "endline": 466, + "complexity": 1, + "classname": "MeanAverageRecall", + "lineno": 439, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_compute", + "endline": 555, + "complexity": 11, + "classname": "MeanAverageRecall", + "lineno": 468, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_average_recall_for_classes", + "endline": 592, + "complexity": 2, + "classname": "MeanAverageRecall", + "lineno": 558, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_match_detection_batch", + "endline": 623, + "complexity": 4, + "classname": "MeanAverageRecall", + "lineno": 595, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_confusion_matrix", + "endline": 686, + "complexity": 4, + "classname": "MeanAverageRecall", + "lineno": 626, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_recall", + "endline": 714, + "complexity": 2, + "classname": "MeanAverageRecall", + "lineno": 689, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_detections_content", + "endline": 732, + "complexity": 7, + "classname": "MeanAverageRecall", + "lineno": 716, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_make_empty_content", + "endline": 747, + "complexity": 4, + "classname": "MeanAverageRecall", + "lineno": 734, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_filter_detections_by_size", + "endline": 773, + "complexity": 9, + "classname": "MeanAverageRecall", + "lineno": 749, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_filter_predictions_and_targets_by_size", + "endline": 793, + "complexity": 2, + "classname": "MeanAverageRecall", + "lineno": 775, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "MeanAverageRecallResult", + "endline": 343, + "complexity": 4, + "lineno": 85, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 158, + "complexity": 5, + "classname": "MeanAverageRecallResult", + "lineno": 125, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "mAR_at_1", + "endline": 162, + "complexity": 1, + "classname": "MeanAverageRecallResult", + "lineno": 161, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "mAR_at_10", + "endline": 166, + "complexity": 1, + "classname": "MeanAverageRecallResult", + "lineno": 165, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "mAR_at_100", + "endline": 170, + "complexity": 1, + "classname": "MeanAverageRecallResult", + "lineno": 169, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__str__", + "endline": 239, + "complexity": 6, + "classname": "MeanAverageRecallResult", + "lineno": 172, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "to_pandas", + "endline": 270, + "complexity": 7, + "classname": "MeanAverageRecallResult", + "lineno": 241, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "plot", + "endline": 343, + "complexity": 5, + "classname": "MeanAverageRecallResult", + "lineno": 272, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "update", + "endline": 437, + "complexity": 4, + "classname": "MeanAverageRecall", + "lineno": 408, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_match_detection_batch", + "endline": 623, + "complexity": 4, + "classname": "MeanAverageRecall", + "lineno": 595, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_confusion_matrix", + "endline": 686, + "complexity": 4, + "classname": "MeanAverageRecall", + "lineno": 626, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_make_empty_content", + "endline": 747, + "complexity": 4, + "classname": "MeanAverageRecall", + "lineno": 734, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "_MeanAverageRecallSizeResultsMixin", + "endline": 81, + "complexity": 2, + "lineno": 39, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "_ensure_size_results", + "endline": 48, + "complexity": 2, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 44, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 55, + "complexity": 2, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 51, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 59, + "complexity": 1, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 58, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 66, + "complexity": 2, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 62, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 70, + "complexity": 1, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 69, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 77, + "complexity": 2, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 73, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 81, + "complexity": 1, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 80, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_ensure_size_results", + "endline": 48, + "complexity": 2, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 44, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 55, + "complexity": 2, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 51, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 66, + "complexity": 2, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 62, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 77, + "complexity": 2, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 73, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_average_recall_for_classes", + "endline": 592, + "complexity": 2, + "classname": "MeanAverageRecall", + "lineno": 558, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_recall", + "endline": 714, + "complexity": 2, + "classname": "MeanAverageRecall", + "lineno": 689, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_filter_predictions_and_targets_by_size", + "endline": 793, + "complexity": 2, + "classname": "MeanAverageRecall", + "lineno": 775, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "MeanAverageRecallSizeResults", + "endline": 36, + "complexity": 1, + "lineno": 31, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 59, + "complexity": 1, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 58, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 70, + "complexity": 1, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 69, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 81, + "complexity": 1, + "classname": "_MeanAverageRecallSizeResultsMixin", + "lineno": 80, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "mAR_at_1", + "endline": 162, + "complexity": 1, + "classname": "MeanAverageRecallResult", + "lineno": 161, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "mAR_at_10", + "endline": 166, + "complexity": 1, + "classname": "MeanAverageRecallResult", + "lineno": 165, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "mAR_at_100", + "endline": 170, + "complexity": 1, + "classname": "MeanAverageRecallResult", + "lineno": 169, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 399, + "complexity": 1, + "classname": "MeanAverageRecall", + "lineno": 384, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 406, + "complexity": 1, + "classname": "MeanAverageRecall", + "lineno": 401, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compute", + "endline": 466, + "complexity": 1, + "classname": "MeanAverageRecall", + "lineno": 439, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\metrics\\precision.py": [ + { + "type": "method", + "rank": "C", + "name": "_compute", + "endline": 567, + "complexity": 15, + "classname": "Precision", + "lineno": 463, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_filter_detections_by_size", + "endline": 805, + "complexity": 9, + "classname": "Precision", + "lineno": 781, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "to_pandas", + "endline": 272, + "complexity": 7, + "classname": "PrecisionResult", + "lineno": 244, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_detections_content", + "endline": 764, + "complexity": 7, + "classname": "Precision", + "lineno": 748, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__str__", + "endline": 242, + "complexity": 6, + "classname": "PrecisionResult", + "lineno": 174, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "plot", + "endline": 335, + "complexity": 5, + "classname": "PrecisionResult", + "lineno": 274, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "Precision", + "endline": 825, + "complexity": 5, + "lineno": 338, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 394, + "complexity": 1, + "classname": "Precision", + "lineno": 377, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 401, + "complexity": 1, + "classname": "Precision", + "lineno": 396, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "update", + "endline": 432, + "complexity": 4, + "classname": "Precision", + "lineno": 403, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compute", + "endline": 461, + "complexity": 1, + "classname": "Precision", + "lineno": 434, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_compute", + "endline": 567, + "complexity": 15, + "classname": "Precision", + "lineno": 463, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_precision_for_classes", + "endline": 625, + "complexity": 5, + "classname": "Precision", + "lineno": 570, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_match_detection_batch", + "endline": 656, + "complexity": 4, + "classname": "Precision", + "lineno": 628, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_confusion_matrix", + "endline": 713, + "complexity": 4, + "classname": "Precision", + "lineno": 659, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_precision", + "endline": 746, + "complexity": 2, + "classname": "Precision", + "lineno": 716, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_detections_content", + "endline": 764, + "complexity": 7, + "classname": "Precision", + "lineno": 748, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_make_empty_content", + "endline": 779, + "complexity": 4, + "classname": "Precision", + "lineno": 766, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_filter_detections_by_size", + "endline": 805, + "complexity": 9, + "classname": "Precision", + "lineno": 781, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_filter_predictions_and_targets_by_size", + "endline": 825, + "complexity": 2, + "classname": "Precision", + "lineno": 807, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_precision_for_classes", + "endline": 625, + "complexity": 5, + "classname": "Precision", + "lineno": 570, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "PrecisionResult", + "endline": 335, + "complexity": 4, + "lineno": 40, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 109, + "complexity": 4, + "classname": "PrecisionResult", + "lineno": 81, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "precision_at_50", + "endline": 114, + "complexity": 1, + "classname": "PrecisionResult", + "lineno": 113, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "precision_at_75", + "endline": 118, + "complexity": 1, + "classname": "PrecisionResult", + "lineno": 117, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 126, + "complexity": 2, + "classname": "PrecisionResult", + "lineno": 121, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 136, + "complexity": 4, + "classname": "PrecisionResult", + "lineno": 129, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 144, + "complexity": 2, + "classname": "PrecisionResult", + "lineno": 139, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 154, + "complexity": 4, + "classname": "PrecisionResult", + "lineno": 147, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 162, + "complexity": 2, + "classname": "PrecisionResult", + "lineno": 157, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 172, + "complexity": 4, + "classname": "PrecisionResult", + "lineno": 165, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__str__", + "endline": 242, + "complexity": 6, + "classname": "PrecisionResult", + "lineno": 174, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "to_pandas", + "endline": 272, + "complexity": 7, + "classname": "PrecisionResult", + "lineno": 244, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "plot", + "endline": 335, + "complexity": 5, + "classname": "PrecisionResult", + "lineno": 274, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 109, + "complexity": 4, + "classname": "PrecisionResult", + "lineno": 81, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 136, + "complexity": 4, + "classname": "PrecisionResult", + "lineno": 129, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 154, + "complexity": 4, + "classname": "PrecisionResult", + "lineno": 147, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 172, + "complexity": 4, + "classname": "PrecisionResult", + "lineno": 165, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "update", + "endline": 432, + "complexity": 4, + "classname": "Precision", + "lineno": 403, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_match_detection_batch", + "endline": 656, + "complexity": 4, + "classname": "Precision", + "lineno": 628, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_confusion_matrix", + "endline": 713, + "complexity": 4, + "classname": "Precision", + "lineno": 659, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_make_empty_content", + "endline": 779, + "complexity": 4, + "classname": "Precision", + "lineno": 766, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 126, + "complexity": 2, + "classname": "PrecisionResult", + "lineno": 121, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 144, + "complexity": 2, + "classname": "PrecisionResult", + "lineno": 139, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 162, + "complexity": 2, + "classname": "PrecisionResult", + "lineno": 157, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_precision", + "endline": 746, + "complexity": 2, + "classname": "Precision", + "lineno": 716, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_filter_predictions_and_targets_by_size", + "endline": 825, + "complexity": 2, + "classname": "Precision", + "lineno": 807, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "PrecisionSizeResults", + "endline": 36, + "complexity": 1, + "lineno": 31, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "precision_at_50", + "endline": 114, + "complexity": 1, + "classname": "PrecisionResult", + "lineno": 113, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "precision_at_75", + "endline": 118, + "complexity": 1, + "classname": "PrecisionResult", + "lineno": 117, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 394, + "complexity": 1, + "classname": "Precision", + "lineno": 377, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 401, + "complexity": 1, + "classname": "Precision", + "lineno": 396, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compute", + "endline": 461, + "complexity": 1, + "classname": "Precision", + "lineno": 434, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\metrics\\recall.py": [ + { + "type": "method", + "rank": "C", + "name": "_compute", + "endline": 366, + "complexity": 11, + "classname": "Recall", + "lineno": 285, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_filter_detections_by_size", + "endline": 585, + "complexity": 9, + "classname": "Recall", + "lineno": 561, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_detections_content", + "endline": 542, + "complexity": 7, + "classname": "Recall", + "lineno": 526, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "to_pandas", + "endline": 704, + "complexity": 7, + "classname": "Recall", + "lineno": 676, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__str__", + "endline": 674, + "complexity": 6, + "classname": "Recall", + "lineno": 606, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 118, + "complexity": 5, + "classname": "RecallResult", + "lineno": 85, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "Recall", + "endline": 768, + "complexity": 5, + "lineno": 160, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 216, + "complexity": 1, + "classname": "Recall", + "lineno": 199, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 223, + "complexity": 1, + "classname": "Recall", + "lineno": 218, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "update", + "endline": 254, + "complexity": 4, + "classname": "Recall", + "lineno": 225, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compute", + "endline": 283, + "complexity": 1, + "classname": "Recall", + "lineno": 256, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "C", + "name": "_compute", + "endline": 366, + "complexity": 11, + "classname": "Recall", + "lineno": 285, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_recall_for_classes", + "endline": 403, + "complexity": 4, + "classname": "Recall", + "lineno": 369, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_match_detection_batch", + "endline": 434, + "complexity": 4, + "classname": "Recall", + "lineno": 406, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_confusion_matrix", + "endline": 491, + "complexity": 4, + "classname": "Recall", + "lineno": 437, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_recall", + "endline": 524, + "complexity": 2, + "classname": "Recall", + "lineno": 494, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_detections_content", + "endline": 542, + "complexity": 7, + "classname": "Recall", + "lineno": 526, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_make_empty_content", + "endline": 559, + "complexity": 4, + "classname": "Recall", + "lineno": 544, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_filter_detections_by_size", + "endline": 585, + "complexity": 9, + "classname": "Recall", + "lineno": 561, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_filter_predictions_and_targets_by_size", + "endline": 605, + "complexity": 2, + "classname": "Recall", + "lineno": 587, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "__str__", + "endline": 674, + "complexity": 6, + "classname": "Recall", + "lineno": 606, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "to_pandas", + "endline": 704, + "complexity": 7, + "classname": "Recall", + "lineno": 676, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "plot", + "endline": 768, + "complexity": 5, + "classname": "Recall", + "lineno": 706, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "plot", + "endline": 768, + "complexity": 5, + "classname": "Recall", + "lineno": 706, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "update", + "endline": 254, + "complexity": 4, + "classname": "Recall", + "lineno": 225, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_recall_for_classes", + "endline": 403, + "complexity": 4, + "classname": "Recall", + "lineno": 369, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_match_detection_batch", + "endline": 434, + "complexity": 4, + "classname": "Recall", + "lineno": 406, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_confusion_matrix", + "endline": 491, + "complexity": 4, + "classname": "Recall", + "lineno": 437, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_make_empty_content", + "endline": 559, + "complexity": 4, + "classname": "Recall", + "lineno": 544, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "RecallResult", + "endline": 157, + "complexity": 2, + "lineno": 40, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "recall_at_50", + "endline": 73, + "complexity": 1, + "classname": "RecallResult", + "lineno": 72, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "recall_at_75", + "endline": 77, + "complexity": 1, + "classname": "RecallResult", + "lineno": 76, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 118, + "complexity": 5, + "classname": "RecallResult", + "lineno": 85, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_ensure_size_results", + "endline": 124, + "complexity": 2, + "classname": "RecallResult", + "lineno": 120, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 131, + "complexity": 2, + "classname": "RecallResult", + "lineno": 127, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 135, + "complexity": 1, + "classname": "RecallResult", + "lineno": 134, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 142, + "complexity": 2, + "classname": "RecallResult", + "lineno": 138, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 146, + "complexity": 1, + "classname": "RecallResult", + "lineno": 145, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 153, + "complexity": 2, + "classname": "RecallResult", + "lineno": 149, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 157, + "complexity": 1, + "classname": "RecallResult", + "lineno": 156, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_ensure_size_results", + "endline": 124, + "complexity": 2, + "classname": "RecallResult", + "lineno": 120, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 131, + "complexity": 2, + "classname": "RecallResult", + "lineno": 127, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 142, + "complexity": 2, + "classname": "RecallResult", + "lineno": 138, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 153, + "complexity": 2, + "classname": "RecallResult", + "lineno": 149, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_compute_recall", + "endline": 524, + "complexity": 2, + "classname": "Recall", + "lineno": 494, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_filter_predictions_and_targets_by_size", + "endline": 605, + "complexity": 2, + "classname": "Recall", + "lineno": 587, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "RecallSizeResults", + "endline": 36, + "complexity": 1, + "lineno": 31, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "recall_at_50", + "endline": 73, + "complexity": 1, + "classname": "RecallResult", + "lineno": 72, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "recall_at_75", + "endline": 77, + "complexity": 1, + "classname": "RecallResult", + "lineno": 76, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "small_objects", + "endline": 135, + "complexity": 1, + "classname": "RecallResult", + "lineno": 134, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "medium_objects", + "endline": 146, + "complexity": 1, + "classname": "RecallResult", + "lineno": 145, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "large_objects", + "endline": 157, + "complexity": 1, + "classname": "RecallResult", + "lineno": 156, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 216, + "complexity": 1, + "classname": "Recall", + "lineno": 199, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 223, + "complexity": 1, + "classname": "Recall", + "lineno": 218, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "compute", + "endline": 283, + "complexity": 1, + "classname": "Recall", + "lineno": 256, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\metrics\\utils\\object_size.py": [ + { + "type": "function", + "rank": "B", + "name": "get_detection_size_category", + "endline": 241, + "complexity": 6, + "lineno": 214, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "get_object_size_category", + "endline": 82, + "complexity": 4, + "lineno": 46, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "get_obb_size_category", + "endline": 211, + "complexity": 4, + "lineno": 168, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "get_bbox_size_category", + "endline": 123, + "complexity": 3, + "lineno": 85, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "get_mask_size_category", + "endline": 165, + "complexity": 3, + "lineno": 126, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "ObjectSizeCategory", + "endline": 43, + "complexity": 1, + "lineno": 19, + "col_offset": 0, + "methods": [] + } + ], + "src\\supervision\\metrics\\utils\\utils.py": [ + { + "type": "function", + "rank": "A", + "name": "ensure_pandas_installed", + "endline": 6, + "complexity": 2, + "lineno": 1, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\tracker\\byte_tracker\\core.py": [ + { + "type": "function", + "rank": "B", + "name": "remove_duplicate_tracks", + "endline": 540, + "complexity": 7, + "lineno": 518, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_second_association", + "endline": 384, + "complexity": 7, + "classname": "ByteTrack", + "lineno": 349, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_unconfirmed_and_init_new", + "endline": 416, + "complexity": 7, + "classname": "ByteTrack", + "lineno": 386, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_remove_stale_lost_tracks", + "endline": 450, + "complexity": 7, + "classname": "ByteTrack", + "lineno": 418, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "update_with_detections", + "endline": 183, + "complexity": 6, + "classname": "ByteTrack", + "lineno": 111, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_split_by_confidence", + "endline": 293, + "complexity": 5, + "classname": "ByteTrack", + "lineno": 239, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "sub_tracks", + "endline": 515, + "complexity": 4, + "lineno": 498, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "ByteTrack", + "endline": 468, + "complexity": 4, + "lineno": 49, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 101, + "complexity": 1, + "classname": "ByteTrack", + "lineno": 83, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "frame_id", + "endline": 105, + "complexity": 1, + "classname": "ByteTrack", + "lineno": 104, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "frame_id", + "endline": 109, + "complexity": 1, + "classname": "ByteTrack", + "lineno": 108, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "update_with_detections", + "endline": 183, + "complexity": 6, + "classname": "ByteTrack", + "lineno": 111, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 194, + "complexity": 1, + "classname": "ByteTrack", + "lineno": 185, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "update_with_tensors", + "endline": 237, + "complexity": 3, + "classname": "ByteTrack", + "lineno": 196, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_split_by_confidence", + "endline": 293, + "complexity": 5, + "classname": "ByteTrack", + "lineno": 239, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_build_stracks", + "endline": 308, + "complexity": 3, + "classname": "ByteTrack", + "lineno": 294, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_separate_tracks", + "endline": 321, + "complexity": 3, + "classname": "ByteTrack", + "lineno": 311, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_first_association", + "endline": 347, + "complexity": 3, + "classname": "ByteTrack", + "lineno": 323, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_second_association", + "endline": 384, + "complexity": 7, + "classname": "ByteTrack", + "lineno": 349, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_unconfirmed_and_init_new", + "endline": 416, + "complexity": 7, + "classname": "ByteTrack", + "lineno": 386, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_remove_stale_lost_tracks", + "endline": 450, + "complexity": 7, + "classname": "ByteTrack", + "lineno": 418, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_update_state", + "endline": 468, + "complexity": 3, + "classname": "ByteTrack", + "lineno": 451, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "name": "joint_tracks", + "endline": 495, + "complexity": 3, + "lineno": 472, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "update_with_tensors", + "endline": 237, + "complexity": 3, + "classname": "ByteTrack", + "lineno": 196, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_build_stracks", + "endline": 308, + "complexity": 3, + "classname": "ByteTrack", + "lineno": 294, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_separate_tracks", + "endline": 321, + "complexity": 3, + "classname": "ByteTrack", + "lineno": 311, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_first_association", + "endline": 347, + "complexity": 3, + "classname": "ByteTrack", + "lineno": 323, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_update_state", + "endline": 468, + "complexity": 3, + "classname": "ByteTrack", + "lineno": 451, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "_ByteTrackConfig", + "endline": 24, + "complexity": 1, + "lineno": 19, + "col_offset": 0, + "methods": [] + }, + { + "type": "class", + "rank": "A", + "name": "_ByteTrackResources", + "endline": 32, + "complexity": 1, + "lineno": 28, + "col_offset": 0, + "methods": [] + }, + { + "type": "class", + "rank": "A", + "name": "_ByteTrackState", + "endline": 41, + "complexity": 1, + "lineno": 36, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 101, + "complexity": 1, + "classname": "ByteTrack", + "lineno": 83, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "frame_id", + "endline": 105, + "complexity": 1, + "classname": "ByteTrack", + "lineno": 104, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "frame_id", + "endline": 109, + "complexity": 1, + "classname": "ByteTrack", + "lineno": 108, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 194, + "complexity": 1, + "classname": "ByteTrack", + "lineno": 185, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py": [ + { + "type": "class", + "rank": "A", + "name": "KalmanFilter", + "endline": 193, + "complexity": 2, + "lineno": 8, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 30, + "complexity": 2, + "classname": "KalmanFilter", + "lineno": 21, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "initiate", + "endline": 59, + "complexity": 1, + "classname": "KalmanFilter", + "lineno": 32, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "predict", + "endline": 94, + "complexity": 1, + "classname": "KalmanFilter", + "lineno": 61, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "project", + "endline": 121, + "complexity": 1, + "classname": "KalmanFilter", + "lineno": 96, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "multi_predict", + "endline": 158, + "complexity": 2, + "classname": "KalmanFilter", + "lineno": 123, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "update", + "endline": 193, + "complexity": 1, + "classname": "KalmanFilter", + "lineno": 160, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 30, + "complexity": 2, + "classname": "KalmanFilter", + "lineno": 21, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "multi_predict", + "endline": 158, + "complexity": 2, + "classname": "KalmanFilter", + "lineno": 123, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "initiate", + "endline": 59, + "complexity": 1, + "classname": "KalmanFilter", + "lineno": 32, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "predict", + "endline": 94, + "complexity": 1, + "classname": "KalmanFilter", + "lineno": 61, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "project", + "endline": 121, + "complexity": 1, + "classname": "KalmanFilter", + "lineno": 96, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "update", + "endline": 193, + "complexity": 1, + "classname": "KalmanFilter", + "lineno": 160, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\tracker\\byte_tracker\\matching.py": [ + { + "type": "function", + "rank": "B", + "name": "iou_distance", + "endline": 62, + "complexity": 8, + "lineno": 44, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "fuse_score", + "endline": 75, + "complexity": 3, + "lineno": 65, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "linear_assignment", + "endline": 41, + "complexity": 2, + "lineno": 27, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "indices_to_matches", + "endline": 24, + "complexity": 1, + "lineno": 15, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\tracker\\byte_tracker\\single_object_track.py": [ + { + "type": "method", + "rank": "B", + "name": "multi_predict", + "endline": 182, + "complexity": 7, + "classname": "STrack", + "lineno": 165, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "update", + "endline": 239, + "complexity": 6, + "classname": "STrack", + "lineno": 215, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "predict", + "endline": 161, + "complexity": 5, + "classname": "STrack", + "lineno": 153, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "re_activate", + "endline": 213, + "complexity": 4, + "classname": "STrack", + "lineno": 202, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "activate", + "endline": 200, + "complexity": 3, + "classname": "STrack", + "lineno": 184, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "_STrackData", + "endline": 41, + "complexity": 2, + "lineno": 21, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__post_init__", + "endline": 41, + "complexity": 1, + "classname": "_STrackData", + "lineno": 38, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "STrack", + "endline": 288, + "complexity": 2, + "lineno": 44, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 58, + "complexity": 1, + "classname": "STrack", + "lineno": 45, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "state", + "endline": 63, + "complexity": 1, + "classname": "STrack", + "lineno": 62, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "state", + "endline": 67, + "complexity": 1, + "classname": "STrack", + "lineno": 66, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "is_activated", + "endline": 71, + "complexity": 1, + "classname": "STrack", + "lineno": 70, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "is_activated", + "endline": 75, + "complexity": 1, + "classname": "STrack", + "lineno": 74, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "start_frame", + "endline": 79, + "complexity": 1, + "classname": "STrack", + "lineno": 78, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "start_frame", + "endline": 83, + "complexity": 1, + "classname": "STrack", + "lineno": 82, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "frame_id", + "endline": 87, + "complexity": 1, + "classname": "STrack", + "lineno": 86, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "frame_id", + "endline": 91, + "complexity": 1, + "classname": "STrack", + "lineno": 90, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "kalman_filter", + "endline": 95, + "complexity": 1, + "classname": "STrack", + "lineno": 94, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "kalman_filter", + "endline": 99, + "complexity": 1, + "classname": "STrack", + "lineno": 98, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "mean", + "endline": 103, + "complexity": 1, + "classname": "STrack", + "lineno": 102, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "mean", + "endline": 107, + "complexity": 1, + "classname": "STrack", + "lineno": 106, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "covariance", + "endline": 111, + "complexity": 1, + "classname": "STrack", + "lineno": 110, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "covariance", + "endline": 115, + "complexity": 1, + "classname": "STrack", + "lineno": 114, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "score", + "endline": 119, + "complexity": 1, + "classname": "STrack", + "lineno": 118, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "score", + "endline": 123, + "complexity": 1, + "classname": "STrack", + "lineno": 122, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tracklet_len", + "endline": 127, + "complexity": 1, + "classname": "STrack", + "lineno": 126, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tracklet_len", + "endline": 131, + "complexity": 1, + "classname": "STrack", + "lineno": 130, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "minimum_consecutive_frames", + "endline": 135, + "complexity": 1, + "classname": "STrack", + "lineno": 134, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "internal_track_id", + "endline": 139, + "complexity": 1, + "classname": "STrack", + "lineno": 138, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "internal_track_id", + "endline": 143, + "complexity": 1, + "classname": "STrack", + "lineno": 142, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "external_track_id", + "endline": 147, + "complexity": 1, + "classname": "STrack", + "lineno": 146, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "external_track_id", + "endline": 151, + "complexity": 1, + "classname": "STrack", + "lineno": 150, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "predict", + "endline": 161, + "complexity": 5, + "classname": "STrack", + "lineno": 153, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "multi_predict", + "endline": 182, + "complexity": 7, + "classname": "STrack", + "lineno": 165, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "activate", + "endline": 200, + "complexity": 3, + "classname": "STrack", + "lineno": 184, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "re_activate", + "endline": 213, + "complexity": 4, + "classname": "STrack", + "lineno": 202, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "update", + "endline": 239, + "complexity": 6, + "classname": "STrack", + "lineno": 215, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tlwh", + "endline": 251, + "complexity": 2, + "classname": "STrack", + "lineno": 242, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tlbr", + "endline": 260, + "complexity": 1, + "classname": "STrack", + "lineno": 254, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tlwh_to_xyah", + "endline": 270, + "complexity": 1, + "classname": "STrack", + "lineno": 263, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "to_xyah", + "endline": 273, + "complexity": 1, + "classname": "STrack", + "lineno": 272, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tlbr_to_tlwh", + "endline": 279, + "complexity": 1, + "classname": "STrack", + "lineno": 276, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tlwh_to_tlbr", + "endline": 285, + "complexity": 1, + "classname": "STrack", + "lineno": 282, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__repr__", + "endline": 288, + "complexity": 1, + "classname": "STrack", + "lineno": 287, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "tlwh", + "endline": 251, + "complexity": 2, + "classname": "STrack", + "lineno": 242, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "TrackState", + "endline": 17, + "complexity": 1, + "lineno": 13, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "__post_init__", + "endline": 41, + "complexity": 1, + "classname": "_STrackData", + "lineno": 38, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 58, + "complexity": 1, + "classname": "STrack", + "lineno": 45, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "state", + "endline": 63, + "complexity": 1, + "classname": "STrack", + "lineno": 62, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "state", + "endline": 67, + "complexity": 1, + "classname": "STrack", + "lineno": 66, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "is_activated", + "endline": 71, + "complexity": 1, + "classname": "STrack", + "lineno": 70, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "is_activated", + "endline": 75, + "complexity": 1, + "classname": "STrack", + "lineno": 74, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "start_frame", + "endline": 79, + "complexity": 1, + "classname": "STrack", + "lineno": 78, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "start_frame", + "endline": 83, + "complexity": 1, + "classname": "STrack", + "lineno": 82, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "frame_id", + "endline": 87, + "complexity": 1, + "classname": "STrack", + "lineno": 86, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "frame_id", + "endline": 91, + "complexity": 1, + "classname": "STrack", + "lineno": 90, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "kalman_filter", + "endline": 95, + "complexity": 1, + "classname": "STrack", + "lineno": 94, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "kalman_filter", + "endline": 99, + "complexity": 1, + "classname": "STrack", + "lineno": 98, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "mean", + "endline": 103, + "complexity": 1, + "classname": "STrack", + "lineno": 102, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "mean", + "endline": 107, + "complexity": 1, + "classname": "STrack", + "lineno": 106, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "covariance", + "endline": 111, + "complexity": 1, + "classname": "STrack", + "lineno": 110, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "covariance", + "endline": 115, + "complexity": 1, + "classname": "STrack", + "lineno": 114, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "score", + "endline": 119, + "complexity": 1, + "classname": "STrack", + "lineno": 118, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "score", + "endline": 123, + "complexity": 1, + "classname": "STrack", + "lineno": 122, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tracklet_len", + "endline": 127, + "complexity": 1, + "classname": "STrack", + "lineno": 126, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tracklet_len", + "endline": 131, + "complexity": 1, + "classname": "STrack", + "lineno": 130, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "minimum_consecutive_frames", + "endline": 135, + "complexity": 1, + "classname": "STrack", + "lineno": 134, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "internal_track_id", + "endline": 139, + "complexity": 1, + "classname": "STrack", + "lineno": 138, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "internal_track_id", + "endline": 143, + "complexity": 1, + "classname": "STrack", + "lineno": 142, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "external_track_id", + "endline": 147, + "complexity": 1, + "classname": "STrack", + "lineno": 146, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "external_track_id", + "endline": 151, + "complexity": 1, + "classname": "STrack", + "lineno": 150, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tlbr", + "endline": 260, + "complexity": 1, + "classname": "STrack", + "lineno": 254, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tlwh_to_xyah", + "endline": 270, + "complexity": 1, + "classname": "STrack", + "lineno": 263, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "to_xyah", + "endline": 273, + "complexity": 1, + "classname": "STrack", + "lineno": 272, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tlbr_to_tlwh", + "endline": 279, + "complexity": 1, + "classname": "STrack", + "lineno": 276, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tlwh_to_tlbr", + "endline": 285, + "complexity": 1, + "classname": "STrack", + "lineno": 282, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__repr__", + "endline": 288, + "complexity": 1, + "classname": "STrack", + "lineno": 287, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\tracker\\byte_tracker\\utils.py": [ + { + "type": "class", + "rank": "A", + "name": "IdCounter", + "endline": 37, + "complexity": 2, + "lineno": 4, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 18, + "complexity": 2, + "classname": "IdCounter", + "lineno": 5, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 22, + "complexity": 1, + "classname": "IdCounter", + "lineno": 20, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "new_id", + "endline": 33, + "complexity": 1, + "classname": "IdCounter", + "lineno": 24, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "NO_ID", + "endline": 37, + "complexity": 1, + "classname": "IdCounter", + "lineno": 36, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 18, + "complexity": 2, + "classname": "IdCounter", + "lineno": 5, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 22, + "complexity": 1, + "classname": "IdCounter", + "lineno": 20, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "new_id", + "endline": 33, + "complexity": 1, + "classname": "IdCounter", + "lineno": 24, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "NO_ID", + "endline": 37, + "complexity": 1, + "classname": "IdCounter", + "lineno": 36, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\utils\\conversion.py": [ + { + "type": "function", + "rank": "A", + "name": "images_to_cv2", + "endline": 145, + "complexity": 3, + "lineno": 127, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "ensure_cv2_image_for_class_method", + "endline": 40, + "complexity": 1, + "lineno": 16, + "col_offset": 0, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "wrapper", + "endline": 38, + "complexity": 3, + "lineno": 28, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "name": "ensure_cv2_image_for_annotation", + "endline": 51, + "complexity": 1, + "lineno": 48, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "ensure_cv2_image_for_standalone_function", + "endline": 76, + "complexity": 1, + "lineno": 54, + "col_offset": 0, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "wrapper", + "endline": 74, + "complexity": 3, + "lineno": 65, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "name": "ensure_pil_image_for_class_method", + "endline": 102, + "complexity": 1, + "lineno": 79, + "col_offset": 0, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "wrapper", + "endline": 100, + "complexity": 3, + "lineno": 90, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "name": "ensure_pil_image_for_annotation", + "endline": 113, + "complexity": 1, + "lineno": 110, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "ensure_cv2_image_for_processing", + "endline": 124, + "complexity": 1, + "lineno": 121, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "pillow_to_cv2", + "endline": 163, + "complexity": 1, + "lineno": 148, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "cv2_to_pillow", + "endline": 178, + "complexity": 1, + "lineno": 166, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\utils\\file.py": [ + { + "type": "function", + "rank": "C", + "name": "list_files_with_extensions", + "endline": 89, + "complexity": 12, + "lineno": 22, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "read_txt_file", + "endline": 126, + "complexity": 5, + "lineno": 92, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "NumpyJsonEncoder", + "endline": 19, + "complexity": 5, + "lineno": 11, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "default", + "endline": 19, + "complexity": 4, + "classname": "NumpyJsonEncoder", + "lineno": 12, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "default", + "endline": 19, + "complexity": 4, + "classname": "NumpyJsonEncoder", + "lineno": 12, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "save_text_file", + "endline": 139, + "complexity": 2, + "lineno": 129, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "read_json_file", + "endline": 168, + "complexity": 1, + "lineno": 142, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "save_json_file", + "endline": 183, + "complexity": 1, + "lineno": 171, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "read_yaml_file", + "endline": 198, + "complexity": 1, + "lineno": 186, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "save_yaml_file", + "endline": 211, + "complexity": 1, + "lineno": 201, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\utils\\image.py": [ + { + "type": "function", + "rank": "B", + "name": "create_tiles", + "endline": 703, + "complexity": 9, + "lineno": 565, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_establish_grid_size", + "endline": 753, + "complexity": 8, + "lineno": 739, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "overlay_image", + "endline": 352, + "complexity": 6, + "lineno": 283, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_draw_texts", + "endline": 857, + "complexity": 5, + "lineno": 816, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "crop_image", + "endline": 90, + "complexity": 4, + "lineno": 34, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "resize_image", + "endline": 206, + "complexity": 4, + "lineno": 146, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "get_image_resolution_wh", + "endline": 477, + "complexity": 4, + "lineno": 434, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_prepare_default_titles_anchors", + "endline": 876, + "complexity": 4, + "lineno": 860, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "scale_image", + "endline": 142, + "complexity": 3, + "lineno": 95, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "tint_image", + "endline": 400, + "complexity": 3, + "lineno": 356, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_negotiate_tiles_format", + "endline": 710, + "complexity": 3, + "lineno": 706, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_calculate_aggregated_images_shape", + "endline": 718, + "complexity": 3, + "lineno": 713, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_negotiate_grid_size", + "endline": 764, + "complexity": 3, + "lineno": 756, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_generate_tiles", + "endline": 812, + "complexity": 3, + "lineno": 767, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_merge_tiles_elements", + "endline": 914, + "complexity": 3, + "lineno": 879, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "ImageSink", + "endline": 557, + "complexity": 3, + "lineno": 481, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 519, + "complexity": 1, + "classname": "ImageSink", + "lineno": 482, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__enter__", + "endline": 529, + "complexity": 3, + "classname": "ImageSink", + "lineno": 521, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "save_image", + "endline": 549, + "complexity": 2, + "classname": "ImageSink", + "lineno": 531, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__exit__", + "endline": 557, + "complexity": 1, + "classname": "ImageSink", + "lineno": 551, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "__enter__", + "endline": 529, + "complexity": 3, + "classname": "ImageSink", + "lineno": 521, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "letterbox_image", + "endline": 275, + "complexity": 2, + "lineno": 210, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_aggregate_images_shape", + "endline": 736, + "complexity": 2, + "lineno": 728, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "save_image", + "endline": 549, + "complexity": 2, + "classname": "ImageSink", + "lineno": 531, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "grayscale_image", + "endline": 431, + "complexity": 1, + "lineno": 404, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_generate_color_image", + "endline": 923, + "complexity": 1, + "lineno": 918, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 519, + "complexity": 1, + "classname": "ImageSink", + "lineno": 482, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__exit__", + "endline": 557, + "complexity": 1, + "classname": "ImageSink", + "lineno": 551, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\utils\\internal.py": [ + { + "type": "function", + "rank": "B", + "name": "get_instance_variables", + "endline": 208, + "complexity": 8, + "lineno": 169, + "col_offset": 0, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "classproperty", + "endline": 166, + "complexity": 3, + "lineno": 133, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 150, + "complexity": 1, + "classname": "classproperty", + "lineno": 145, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__get__", + "endline": 166, + "complexity": 2, + "classname": "classproperty", + "lineno": 152, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "__get__", + "endline": 166, + "complexity": 2, + "classname": "classproperty", + "lineno": 152, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "format_warning", + "endline": 32, + "complexity": 1, + "lineno": 21, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "warn_deprecated", + "endline": 50, + "complexity": 1, + "lineno": 43, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "deprecated_parameter", + "endline": 127, + "complexity": 1, + "lineno": 53, + "col_offset": 0, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "decorator", + "endline": 125, + "complexity": 1, + "lineno": 102, + "col_offset": 4, + "closures": [ + { + "type": "function", + "rank": "A", + "name": "wrapper", + "endline": 123, + "complexity": 4, + "lineno": 104, + "col_offset": 8, + "closures": [] + } + ] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "SupervisionWarnings", + "endline": 18, + "complexity": 1, + "lineno": 11, + "col_offset": 0, + "methods": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 150, + "complexity": 1, + "classname": "classproperty", + "lineno": 145, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\utils\\iterables.py": [ + { + "type": "function", + "rank": "A", + "name": "create_batches", + "endline": 42, + "complexity": 4, + "lineno": 7, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "find_duplicates", + "endline": 103, + "complexity": 3, + "lineno": 76, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "fill", + "endline": 73, + "complexity": 1, + "lineno": 45, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\utils\\logger.py": [ + { + "type": "function", + "rank": "A", + "name": "_get_logger", + "endline": 63, + "complexity": 3, + "lineno": 8, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\utils\\notebook.py": [ + { + "type": "function", + "rank": "B", + "name": "plot_images_grid", + "endline": 117, + "complexity": 9, + "lineno": 50, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "plot_image", + "endline": 47, + "complexity": 3, + "lineno": 11, + "col_offset": 0, + "closures": [] + } + ], + "src\\supervision\\utils\\video.py": [ + { + "type": "function", + "rank": "B", + "name": "_validate_and_setup_video", + "endline": 228, + "complexity": 9, + "lineno": 207, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_drain_and_cleanup", + "endline": 355, + "complexity": 8, + "classname": "_VideoProcessor", + "lineno": 336, + "col_offset": 4, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_mux_audio", + "endline": 204, + "complexity": 7, + "lineno": 140, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "get_video_frames_generator", + "endline": 280, + "complexity": 7, + "lineno": 231, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_total_frames", + "endline": 369, + "complexity": 4, + "classname": "_VideoProcessor", + "lineno": 366, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_process_frames", + "endline": 399, + "complexity": 4, + "classname": "_VideoProcessor", + "lineno": 382, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "VideoInfo", + "endline": 73, + "complexity": 3, + "lineno": 26, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "from_video_path", + "endline": 69, + "complexity": 2, + "classname": "VideoInfo", + "lineno": 59, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "resolution_wh", + "endline": 73, + "complexity": 1, + "classname": "VideoInfo", + "lineno": 72, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "VideoSink", + "endline": 137, + "complexity": 3, + "lineno": 76, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 103, + "complexity": 1, + "classname": "VideoSink", + "lineno": 99, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__enter__", + "endline": 117, + "complexity": 2, + "classname": "VideoSink", + "lineno": 105, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "write_frame", + "endline": 128, + "complexity": 2, + "classname": "VideoSink", + "lineno": 119, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__exit__", + "endline": 137, + "complexity": 2, + "classname": "VideoSink", + "lineno": 130, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "class", + "rank": "A", + "name": "_VideoProcessor", + "endline": 421, + "complexity": 3, + "lineno": 283, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 318, + "complexity": 1, + "classname": "_VideoProcessor", + "lineno": 284, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_reader_thread", + "endline": 327, + "complexity": 2, + "classname": "_VideoProcessor", + "lineno": 320, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_writer_thread", + "endline": 334, + "complexity": 3, + "classname": "_VideoProcessor", + "lineno": 329, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "B", + "name": "_drain_and_cleanup", + "endline": 355, + "complexity": 8, + "classname": "_VideoProcessor", + "lineno": 336, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_mux_audio_if_needed", + "endline": 364, + "complexity": 2, + "classname": "_VideoProcessor", + "lineno": 357, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_total_frames", + "endline": 369, + "complexity": 4, + "classname": "_VideoProcessor", + "lineno": 366, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_start_workers", + "endline": 373, + "complexity": 1, + "classname": "_VideoProcessor", + "lineno": 371, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_setup_progress_bar", + "endline": 379, + "complexity": 1, + "classname": "_VideoProcessor", + "lineno": 375, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_process_frames", + "endline": 399, + "complexity": 4, + "classname": "_VideoProcessor", + "lineno": 382, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "run", + "endline": 421, + "complexity": 2, + "classname": "_VideoProcessor", + "lineno": 401, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "method", + "rank": "A", + "name": "_writer_thread", + "endline": 334, + "complexity": 3, + "classname": "_VideoProcessor", + "lineno": 329, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "fps", + "endline": 548, + "complexity": 3, + "classname": "FPSMonitor", + "lineno": 538, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "from_video_path", + "endline": 69, + "complexity": 2, + "classname": "VideoInfo", + "lineno": 59, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__enter__", + "endline": 117, + "complexity": 2, + "classname": "VideoSink", + "lineno": 105, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "write_frame", + "endline": 128, + "complexity": 2, + "classname": "VideoSink", + "lineno": 119, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__exit__", + "endline": 137, + "complexity": 2, + "classname": "VideoSink", + "lineno": 130, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_reader_thread", + "endline": 327, + "complexity": 2, + "classname": "_VideoProcessor", + "lineno": 320, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_mux_audio_if_needed", + "endline": 364, + "complexity": 2, + "classname": "_VideoProcessor", + "lineno": 357, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "run", + "endline": 421, + "complexity": 2, + "classname": "_VideoProcessor", + "lineno": 401, + "col_offset": 4, + "closures": [] + }, + { + "type": "class", + "rank": "A", + "name": "FPSMonitor", + "endline": 560, + "complexity": 2, + "lineno": 510, + "col_offset": 0, + "methods": [ + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 535, + "complexity": 1, + "classname": "FPSMonitor", + "lineno": 515, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "fps", + "endline": 548, + "complexity": 3, + "classname": "FPSMonitor", + "lineno": 538, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tick", + "endline": 554, + "complexity": 1, + "classname": "FPSMonitor", + "lineno": 550, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 560, + "complexity": 1, + "classname": "FPSMonitor", + "lineno": 556, + "col_offset": 4, + "closures": [] + } + ] + }, + { + "type": "function", + "rank": "A", + "name": "process_video", + "endline": 507, + "complexity": 1, + "lineno": 424, + "col_offset": 0, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "resolution_wh", + "endline": 73, + "complexity": 1, + "classname": "VideoInfo", + "lineno": 72, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 103, + "complexity": 1, + "classname": "VideoSink", + "lineno": 99, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 318, + "complexity": 1, + "classname": "_VideoProcessor", + "lineno": 284, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_start_workers", + "endline": 373, + "complexity": 1, + "classname": "_VideoProcessor", + "lineno": 371, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "_setup_progress_bar", + "endline": 379, + "complexity": 1, + "classname": "_VideoProcessor", + "lineno": 375, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "__init__", + "endline": 535, + "complexity": 1, + "classname": "FPSMonitor", + "lineno": 515, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "tick", + "endline": 554, + "complexity": 1, + "classname": "FPSMonitor", + "lineno": 550, + "col_offset": 4, + "closures": [] + }, + { + "type": "method", + "rank": "A", + "name": "reset", + "endline": 560, + "complexity": 1, + "classname": "FPSMonitor", + "lineno": 556, + "col_offset": 4, + "closures": [] + } + ], + "src\\supervision\\validators\\__init__.py": [ + { + "type": "function", + "rank": "B", + "name": "_validate_data", + "endline": 204, + "complexity": 9, + "lineno": 191, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_validate_mask", + "endline": 62, + "complexity": 8, + "lineno": 37, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_validate_keypoint_confidence", + "endline": 147, + "complexity": 7, + "lineno": 129, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_validate_visible", + "endline": 255, + "complexity": 7, + "lineno": 236, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "B", + "name": "_validate_resolution", + "endline": 354, + "complexity": 7, + "lineno": 334, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_validate_xyxy", + "endline": 24, + "complexity": 4, + "lineno": 10, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_validate_class_id", + "endline": 93, + "complexity": 4, + "lineno": 84, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_validate_confidence", + "endline": 116, + "complexity": 4, + "lineno": 106, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_validate_tracker_id", + "endline": 178, + "complexity": 4, + "lineno": 169, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_validate_xy", + "endline": 223, + "complexity": 4, + "lineno": 216, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_validate_keypoints_fields", + "endline": 309, + "complexity": 4, + "lineno": 292, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_xyxy", + "endline": 34, + "complexity": 1, + "lineno": 33, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_mask", + "endline": 81, + "complexity": 1, + "lineno": 80, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_class_id", + "endline": 103, + "complexity": 1, + "lineno": 102, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_confidence", + "endline": 126, + "complexity": 1, + "lineno": 125, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_key_point_confidence", + "endline": 157, + "complexity": 1, + "lineno": 156, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_keypoint_confidence", + "endline": 166, + "complexity": 1, + "lineno": 165, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_tracker_id", + "endline": 188, + "complexity": 1, + "lineno": 187, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_data", + "endline": 213, + "complexity": 1, + "lineno": 212, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_xy", + "endline": 233, + "complexity": 1, + "lineno": 232, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "_validate_detections_fields", + "endline": 273, + "complexity": 1, + "lineno": 259, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_detections_fields", + "endline": 289, + "complexity": 1, + "lineno": 281, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_key_points_fields", + "endline": 320, + "complexity": 1, + "lineno": 317, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_keypoints_fields", + "endline": 331, + "complexity": 1, + "lineno": 328, + "col_offset": 0, + "closures": [] + }, + { + "type": "function", + "rank": "A", + "name": "validate_resolution", + "endline": 363, + "complexity": 1, + "lineno": 362, + "col_offset": 0, + "closures": [] + } + ] +} \ No newline at end of file diff --git a/metrics-after-radon/cc_por_arquivo_depois.csv b/metrics-after-radon/cc_por_arquivo_depois.csv new file mode 100644 index 0000000000..3ad47ee5b9 --- /dev/null +++ b/metrics-after-radon/cc_por_arquivo_depois.csv @@ -0,0 +1,59 @@ +arquivo,funcoes,cc_media,cc_max,cc_soma,pior_rank,pior_classe,pior_funcao,pior_linha_ini +src/supervision/annotators/base.py,1,1.0,1,1,A,BaseAnnotator,annotate,9 +src/supervision/geometry/core.py,11,1.0,1,11,A,Position,list,25 +src/supervision/metrics/core.py,3,1.0,1,3,A,Metric,update,14 +src/supervision/tracker/byte_tracker/utils.py,4,1.25,2,5,A,IdCounter,__init__,5 +src/supervision/detection/tools/polygon_zone.py,22,1.27,4,28,A,PolygonZoneAnnotator,annotate,242 +src/supervision/tracker/byte_tracker/kalman_filter.py,6,1.33,2,8,A,KalmanFilter,__init__,21 +src/supervision/assets/list.py,2,1.5,2,3,A,Assets,list,19 +src/supervision/tracker/byte_tracker/single_object_track.py,37,1.57,7,58,B,STrack,multi_predict,165 +src/supervision/utils/conversion.py,12,1.67,3,20,A,,images_to_cv2,127 +src/supervision/detection/utils/boxes.py,9,1.89,4,17,A,,spread_out_boxes,347 +src/supervision/classification/core.py,8,2.0,4,16,A,,_validate_confidence,22 +src/supervision/metrics/utils/utils.py,1,2.0,2,2,A,,ensure_pandas_installed,1 +src/supervision/draw/color.py,30,2.2,8,66,B,Color,from_hex,106 +src/supervision/utils/internal.py,8,2.38,8,19,B,,get_instance_variables,169 +src/supervision/draw/utils.py,10,2.4,9,24,B,,draw_image,301 +src/supervision/detection/utils/converters.py,19,2.47,6,47,B,,_base48_decode,332 +src/supervision/dataset/utils.py,8,2.62,4,21,A,,map_detections_class_id,108 +src/supervision/utils/iterables.py,3,2.67,4,8,A,,create_batches,7 +src/supervision/detection/tools/transformers.py,8,2.75,5,22,A,,process_transformers_v4_segmentation_result,43 +src/supervision/utils/video.py,24,2.83,9,68,B,,_validate_and_setup_video,207 +src/supervision/detection/tools/inference_slicer.py,31,2.9,12,90,C,InferenceSlicer,_run_callback,443 +src/supervision/detection/tools/json_sink.py,9,3.0,10,27,B,JSONSink,parse_detection_data,148 +src/supervision/geometry/utils.py,1,3.0,3,3,A,,get_polygon_center,7 +src/supervision/utils/logger.py,1,3.0,3,3,A,,_get_logger,8 +src/supervision/validators/__init__.py,25,3.04,9,76,B,,_validate_data,191 +src/supervision/detection/tools/csv_sink.py,10,3.1,9,31,B,CSVSink,parse_detection_data,145 +src/supervision/annotators/core.py,88,3.18,11,280,C,PercentageBarAnnotator,calculate_border_coordinates,2795 +src/supervision/metrics/mean_average_recall.py,27,3.3,11,89,C,MeanAverageRecall,_compute,468 +src/supervision/detection/line_zone.py,21,3.38,12,71,C,LineZone,trigger,192 +src/supervision/utils/file.py,8,3.38,12,27,C,,list_files_with_extensions,22 +src/supervision/utils/image.py,23,3.39,9,78,B,,create_tiles,565 +src/supervision/detection/utils/masks.py,10,3.4,6,34,B,,filter_segments_by_distance,344 +src/supervision/metrics/recall.py,26,3.46,11,90,C,Recall,_compute,285 +src/supervision/tracker/byte_tracker/matching.py,4,3.5,8,14,B,,iou_distance,44 +src/supervision/dataset/core.py,27,3.52,13,95,C,DetectionDataset,merge,231 +src/supervision/annotators/utils.py,18,3.56,11,64,C,,resolve_text_background_xyxy,80 +src/supervision/metrics/f1_score.py,26,3.65,15,95,C,F1Score,_compute,152 +src/supervision/tracker/byte_tracker/core.py,17,3.82,7,65,B,,remove_duplicate_tracks,518 +src/supervision/assets/downloader.py,2,4.0,6,8,B,,download_assets,41 +src/supervision/metrics/utils/object_size.py,5,4.0,6,20,B,,get_detection_size_category,214 +src/supervision/detection/compact_mask.py,25,4.04,12,101,C,,_rle_split_cols,49 +src/supervision/metrics/precision.py,25,4.04,15,101,C,Precision,_compute,463 +src/supervision/detection/utils/iou_and_nms.py,34,4.24,14,144,C,,mask_iou_batch,744 +src/supervision/detection/utils/vlms.py,2,4.5,6,9,B,,edit_distance,4 +src/supervision/dataset/formats/coco.py,13,4.54,9,59,B,,coco_annotations_to_detections,146 +src/supervision/metrics/detection.py,22,4.55,15,100,C,ConfusionMatrix,plot,688 +src/supervision/dataset/formats/yolo.py,14,4.64,14,65,C,,_extract_class_names,70 +src/supervision/detection/core.py,45,4.78,20,215,C,Detections,from_vlm,1431 +src/supervision/dataset/formats/pascal_voc.py,7,4.86,12,34,C,,detections_from_xml_obj,235 +src/supervision/key_points/annotators.py,20,5.15,16,103,C,EdgeAnnotator,annotate,141 +src/supervision/metrics/mean_average_precision.py,49,5.24,28,257,D,COCOEvaluator,_evaluate_image,822 +src/supervision/key_points/core.py,26,5.35,17,139,C,KeyPoints,_normalize_getitem_index,925 +src/supervision/utils/notebook.py,2,6.0,9,12,B,,plot_images_grid,50 +src/supervision/detection/vlm.py,22,6.05,16,133,C,,from_qwen_2_5_vl,305 +src/supervision/detection/tools/smoother.py,4,6.5,9,26,B,DetectionsSmoother,get_track,133 +src/supervision/detection/utils/internal.py,12,6.75,15,81,C,,process_roboflow_result,81 +src/supervision/detection/utils/polygons.py,2,8.0,9,16,B,,filter_polygons_by_area,8 +src/supervision/key_points/skeletons.py,0,,,,,,, diff --git a/metrics-after-radon/cc_por_funcao_depois.csv b/metrics-after-radon/cc_por_funcao_depois.csv new file mode 100644 index 0000000000..4515fe06f2 --- /dev/null +++ b/metrics-after-radon/cc_por_funcao_depois.csv @@ -0,0 +1,930 @@ +arquivo,tipo,classe,nome,rank_cc,complexity,linha_ini,linha_fim +src/supervision/annotators/base.py,method,BaseAnnotator,annotate,A,1,9,12 +src/supervision/annotators/core.py,function,,_normalize_color_input,A,1,59,59 +src/supervision/annotators/core.py,function,,_normalize_color_input,A,1,63,65 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,__init__,A,1,102,145 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,color,A,1,149,150 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,color,A,1,153,154 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,color_lookup,A,1,157,158 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,color_lookup,A,1,161,162 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,text_color,A,1,165,166 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,text_color,A,1,169,170 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,text_padding,A,1,173,174 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,text_padding,A,1,177,178 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,text_anchor,A,1,181,182 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,text_anchor,A,1,185,186 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,text_offset,A,1,189,190 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,text_offset,A,1,193,194 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,border_radius,A,1,197,198 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,border_radius,A,1,201,202 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,smart_position,A,1,205,206 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,smart_position,A,1,209,210 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,max_line_length,A,1,213,214 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,max_line_length,A,1,217,218 +src/supervision/annotators/core.py,method,BoxAnnotator,__init__,A,1,268,284 +src/supervision/annotators/core.py,method,OrientedBoxAnnotator,__init__,A,1,355,371 +src/supervision/annotators/core.py,method,MaskAnnotator,__init__,A,1,505,521 +src/supervision/annotators/core.py,method,PolygonAnnotator,__init__,A,1,593,609 +src/supervision/annotators/core.py,method,ColorAnnotator,__init__,A,1,684,700 +src/supervision/annotators/core.py,method,HaloAnnotator,__init__,A,1,780,800 +src/supervision/annotators/core.py,method,EllipseAnnotator,__init__,A,1,878,900 +src/supervision/annotators/core.py,method,BoxCornerAnnotator,__init__,A,1,977,996 +src/supervision/annotators/core.py,method,CircleAnnotator,__init__,A,1,1072,1089 +src/supervision/annotators/core.py,method,DotAnnotator,__init__,A,1,1165,1192 +src/supervision/annotators/core.py,method,LabelAnnotator,__init__,A,1,1275,1321 +src/supervision/annotators/core.py,method,RichLabelAnnotator,__init__,A,1,1591,1638 +src/supervision/annotators/core.py,method,IconAnnotator,__init__,A,1,1866,1882 +src/supervision/annotators/core.py,method,TraceAnnotator,__init__,A,1,2058,2087 +src/supervision/annotators/core.py,method,HeatMapAnnotator,__init__,A,1,2199,2225 +src/supervision/annotators/core.py,method,TriangleAnnotator,__init__,A,1,2404,2434 +src/supervision/annotators/core.py,method,PercentageBarAnnotator,validate_custom_values,A,1,2856,2860 +src/supervision/annotators/core.py,method,CropAnnotator,__init__,A,1,2868,2893 +src/supervision/annotators/core.py,method,BackgroundOverlayAnnotator,__init__,A,1,3033,3048 +src/supervision/annotators/core.py,method,ComparisonAnnotator,__init__,A,1,3128,3162 +src/supervision/annotators/utils.py,function,,validate_labels,A,1,231,232 +src/supervision/annotators/utils.py,function,,snap_boxes,A,1,266,329 +src/supervision/annotators/utils.py,function,,is_valid_hex,A,1,430,441 +src/supervision/annotators/utils.py,function,,calculate_dynamic_kernel_size,A,1,444,464 +src/supervision/annotators/utils.py,function,,calculate_dynamic_pixel_size,A,1,467,487 +src/supervision/annotators/utils.py,method,ColorLookup,list,A,1,36,37 +src/supervision/annotators/utils.py,method,Trace,__init__,A,1,333,345 +src/supervision/annotators/utils.py,method,Trace,get,A,1,377,381 +src/supervision/assets/list.py,method,Assets,__new__,A,1,11,16 +src/supervision/classification/core.py,method,Classifications,__post_init__,A,1,37,44 +src/supervision/classification/core.py,method,Classifications,__len__,A,1,46,50 +src/supervision/classification/core.py,method,Classifications,from_ultralytics,A,1,93,118 +src/supervision/dataset/core.py,function,,is_lazy,A,1,282,283 +src/supervision/dataset/core.py,method,BaseDataset,__len__,A,1,43,44 +src/supervision/dataset/core.py,method,BaseDataset,split,A,1,47,53 +src/supervision/dataset/core.py,method,DetectionDataset,__getitem__,A,1,113,122 +src/supervision/dataset/core.py,method,DetectionDataset,from_pascal_voc,A,1,388,438 +src/supervision/dataset/core.py,method,DetectionDataset,from_yolo,A,1,442,501 +src/supervision/dataset/core.py,method,DetectionDataset,from_coco,A,1,578,624 +src/supervision/dataset/core.py,method,ClassificationDataset,__getitem__,A,1,778,787 +src/supervision/dataset/utils.py,function,,mask_to_rle,A,1,30,34 +src/supervision/dataset/utils.py,function,,rle_to_mask,A,1,38,43 +src/supervision/dataset/formats/coco.py,function,,_with_seg_mask,A,1,530,531 +src/supervision/dataset/formats/pascal_voc.py,function,,_with_poly_mask,A,1,335,336 +src/supervision/dataset/formats/yolo.py,function,,_parse_box,A,1,28,37 +src/supervision/dataset/formats/yolo.py,function,,_box_to_polygon,A,1,41,43 +src/supervision/dataset/formats/yolo.py,function,,_parse_polygon,A,1,47,48 +src/supervision/dataset/formats/yolo.py,function,,_image_name_to_annotation_name,A,1,133,135 +src/supervision/dataset/formats/yolo.py,function,,save_data_yaml,A,1,474,477 +src/supervision/detection/compact_mask.py,function,,_rle_area,A,1,27,46 +src/supervision/detection/compact_mask.py,method,CompactMask,__init__,A,1,459,469 +src/supervision/detection/compact_mask.py,method,CompactMask,crop,A,1,587,614 +src/supervision/detection/compact_mask.py,method,CompactMask,__len__,A,1,620,638 +src/supervision/detection/compact_mask.py,method,CompactMask,shape,A,1,646,665 +src/supervision/detection/compact_mask.py,method,CompactMask,offsets,A,1,668,687 +src/supervision/detection/compact_mask.py,method,CompactMask,dtype,A,1,723,741 +src/supervision/detection/core.py,function,,_merge_obb_corners,A,1,2605,2645 +src/supervision/detection/core.py,function,,merge_inner_detections_objects_without_iou,A,1,2858,2869 +src/supervision/detection/core.py,function,,_normalize_sam3_prompt_result,A,1,2890,2895 +src/supervision/detection/core.py,function,,validate_fields_both_defined_or_none,A,1,2957,2960 +src/supervision/detection/core.py,method,Detections,__post_init__,A,1,164,171 +src/supervision/detection/core.py,method,Detections,__len__,A,1,174,178 +src/supervision/detection/core.py,method,Detections,from_yolov5,A,1,222,250 +src/supervision/detection/core.py,method,Detections,from_tensorflow,A,1,373,414 +src/supervision/detection/core.py,method,Detections,empty,A,1,2035,2053 +src/supervision/detection/core.py,method,Detections,is_empty,A,1,2056,2078 +src/supervision/detection/core.py,method,Detections,box_area,A,1,2385,2394 +src/supervision/detection/core.py,method,Detections,box_aspect_ratio,A,1,2397,2431 +src/supervision/detection/line_zone.py,function,,_multiclass_config_property,A,1,63,70 +src/supervision/detection/line_zone.py,function,,getter,A,1,64,65 +src/supervision/detection/line_zone.py,function,,setter,A,1,67,68 +src/supervision/detection/line_zone.py,method,LineZone,in_count,A,1,177,178 +src/supervision/detection/line_zone.py,method,LineZone,out_count,A,1,181,182 +src/supervision/detection/line_zone.py,method,LineZone,in_count_per_class,A,1,185,186 +src/supervision/detection/line_zone.py,method,LineZone,out_count_per_class,A,1,189,190 +src/supervision/detection/vlm.py,function,,validate_vlm_parameters,A,1,211,212 +src/supervision/detection/vlm.py,function,,from_qwen_3_vl,A,1,397,420 +src/supervision/detection/vlm.py,function,,_build_empty_gemini_2_5_result,A,1,605,617 +src/supervision/detection/tools/csv_sink.py,method,WriterProtocol,writerow,A,1,28,28 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,__init__,A,1,75,86 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,__enter__,A,1,88,90 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,__exit__,A,1,92,98 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,callback,A,1,201,202 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,callback,A,1,205,206 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,slice_wh,A,1,209,210 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,slice_wh,A,1,213,215 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,overlap_wh,A,1,218,219 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,overlap_wh,A,1,222,224 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,iou_threshold,A,1,227,228 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,iou_threshold,A,1,231,232 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,overlap_metric,A,1,235,236 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,overlap_metric,A,1,239,240 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,overlap_filter,A,1,243,244 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,overlap_filter,A,1,247,248 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,thread_workers,A,1,251,252 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,compact_masks,A,1,264,265 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,compact_masks,A,1,268,269 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,__call__,A,1,271,300 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_generate_offset,A,1,557,618 +src/supervision/detection/tools/json_sink.py,method,JSONSink,__init__,A,1,51,60 +src/supervision/detection/tools/json_sink.py,method,JSONSink,__enter__,A,1,62,64 +src/supervision/detection/tools/json_sink.py,method,JSONSink,__exit__,A,1,66,72 +src/supervision/detection/tools/json_sink.py,method,JSONSink,append,A,1,200,215 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,__init__,A,1,146,167 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,color,A,1,171,172 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,color,A,1,175,176 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,thickness,A,1,179,180 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,thickness,A,1,183,184 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,text_color,A,1,187,188 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,text_color,A,1,191,192 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,text_scale,A,1,195,196 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,text_scale,A,1,199,200 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,text_thickness,A,1,203,204 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,text_thickness,A,1,207,208 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,text_padding,A,1,211,212 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,text_padding,A,1,215,216 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,display_in_zone_count,A,1,219,220 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,display_in_zone_count,A,1,223,224 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,opacity,A,1,227,228 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,opacity,A,1,231,232 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,font,A,1,235,236 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,center,A,1,239,240 +src/supervision/detection/tools/smoother.py,method,DetectionsSmoother,__init__,A,1,90,97 +src/supervision/detection/tools/transformers.py,function,,process_transformers_detection_result,A,1,14,39 +src/supervision/detection/tools/transformers.py,function,,png_string_to_segmentation_array,A,1,207,221 +src/supervision/detection/utils/boxes.py,function,,clip_boxes,A,1,10,49 +src/supervision/detection/utils/boxes.py,function,,denormalize_boxes,A,1,105,161 +src/supervision/detection/utils/boxes.py,function,,move_boxes,A,1,164,192 +src/supervision/detection/utils/boxes.py,function,,move_oriented_boxes,A,1,195,241 +src/supervision/detection/utils/boxes.py,function,,scale_boxes,A,1,312,344 +src/supervision/detection/utils/converters.py,function,,xyxy_to_polygons,A,1,12,28 +src/supervision/detection/utils/converters.py,function,,polygon_to_mask,A,1,31,49 +src/supervision/detection/utils/converters.py,function,,xywh_to_xyxy,A,1,52,82 +src/supervision/detection/utils/converters.py,function,,xyxy_to_xywh,A,1,85,116 +src/supervision/detection/utils/converters.py,function,,xcycwh_to_xyxy,A,1,119,152 +src/supervision/detection/utils/converters.py,function,,is_compressed_rle,A,1,471,494 +src/supervision/detection/utils/converters.py,function,,polygon_to_xyxy,A,1,724,738 +src/supervision/detection/utils/internal.py,function,,cross_product,A,1,410,430 +src/supervision/detection/utils/iou_and_nms.py,function,,group_within,A,1,1453,1458 +src/supervision/detection/utils/iou_and_nms.py,function,,_polygon_areas,A,1,363,375 +src/supervision/detection/utils/iou_and_nms.py,function,,_aabb_envelopes,A,1,378,390 +src/supervision/detection/utils/iou_and_nms.py,function,,_overlapping_envelope_pairs,A,1,394,423 +src/supervision/detection/utils/iou_and_nms.py,function,,_group_overlapping_boxes,A,1,1177,1210 +src/supervision/detection/utils/iou_and_nms.py,function,,iou_against_candidate,A,1,1200,1206 +src/supervision/detection/utils/iou_and_nms.py,function,,box_non_max_merge,A,1,1214,1243 +src/supervision/detection/utils/iou_and_nms.py,function,,group_within,A,1,1238,1240 +src/supervision/detection/utils/iou_and_nms.py,function,,_group_overlapping_oriented_boxes,A,1,1341,1362 +src/supervision/detection/utils/iou_and_nms.py,function,,iou_against_candidate,A,1,1352,1358 +src/supervision/detection/utils/iou_and_nms.py,method,OverlapFilter,list,A,1,35,36 +src/supervision/detection/utils/iou_and_nms.py,method,OverlapMetric,list,A,1,71,72 +src/supervision/detection/utils/masks.py,function,,sum_over_mask,A,1,137,140 +src/supervision/detection/utils/masks.py,function,,resize_masks,A,1,263,288 +src/supervision/detection/utils/masks.py,function,,_filter_labels_by_centroid_distance,A,1,306,316 +src/supervision/draw/color.py,method,Color,as_rgb,A,1,287,302 +src/supervision/draw/color.py,method,Color,as_bgr,A,1,304,319 +src/supervision/draw/color.py,method,Color,as_rgba,A,1,321,336 +src/supervision/draw/color.py,method,Color,as_bgra,A,1,338,353 +src/supervision/draw/color.py,method,Color,WHITE,A,1,356,357 +src/supervision/draw/color.py,method,Color,BLACK,A,1,360,361 +src/supervision/draw/color.py,method,Color,GREY,A,1,364,365 +src/supervision/draw/color.py,method,Color,RED,A,1,368,369 +src/supervision/draw/color.py,method,Color,GREEN,A,1,372,373 +src/supervision/draw/color.py,method,Color,BLUE,A,1,376,377 +src/supervision/draw/color.py,method,Color,YELLOW,A,1,380,381 +src/supervision/draw/color.py,method,Color,ROBOFLOW,A,1,384,385 +src/supervision/draw/color.py,method,Color,__hash__,A,1,387,388 +src/supervision/draw/color.py,method,ColorPalette,DEFAULT,A,1,410,428 +src/supervision/draw/color.py,method,ColorPalette,ROBOFLOW,A,1,431,449 +src/supervision/draw/color.py,method,ColorPalette,LEGACY,A,1,452,453 +src/supervision/draw/color.py,method,ColorPalette,__len__,A,1,537,544 +src/supervision/draw/utils.py,function,,draw_line,A,1,14,41 +src/supervision/draw/utils.py,function,,draw_rectangle,A,1,44,69 +src/supervision/draw/utils.py,function,,draw_polygon,A,1,166,186 +src/supervision/draw/utils.py,function,,calculate_optimal_text_scale,A,1,371,393 +src/supervision/geometry/core.py,method,Position,list,A,1,25,26 +src/supervision/geometry/core.py,method,Point,as_xy_int_tuple,A,1,53,60 +src/supervision/geometry/core.py,method,Point,as_xy_float_tuple,A,1,62,69 +src/supervision/geometry/core.py,method,Vector,magnitude,A,1,99,108 +src/supervision/geometry/core.py,method,Vector,center,A,1,111,120 +src/supervision/geometry/core.py,method,Vector,cross_product,A,1,123,142 +src/supervision/geometry/core.py,method,Rect,from_xyxy,A,1,176,178 +src/supervision/geometry/core.py,method,Rect,top_left,A,1,181,182 +src/supervision/geometry/core.py,method,Rect,bottom_right,A,1,185,186 +src/supervision/geometry/core.py,method,Rect,pad,A,1,188,193 +src/supervision/geometry/core.py,method,Rect,as_xyxy_int_tuple,A,1,196,201 +src/supervision/key_points/annotators.py,method,BaseKeyPointAnnotator,annotate,A,1,26,27 +src/supervision/key_points/annotators.py,method,VertexAnnotator,__init__,A,1,37,48 +src/supervision/key_points/annotators.py,method,EdgeAnnotator,__init__,A,1,117,138 +src/supervision/key_points/annotators.py,method,VertexEllipseAreaAnnotator,__init__,A,1,383,403 +src/supervision/key_points/annotators.py,method,VertexEllipseOutlineAnnotator,__init__,A,1,482,501 +src/supervision/key_points/annotators.py,method,VertexEllipseHaloAnnotator,__init__,A,1,583,603 +src/supervision/key_points/annotators.py,method,VertexLabelAnnotator,__init__,A,1,709,738 +src/supervision/key_points/annotators.py,method,VertexLabelAnnotator,get_text_bounding_box,A,1,908,926 +src/supervision/key_points/core.py,method,KeyPoints,__post_init__,A,1,298,305 +src/supervision/key_points/core.py,method,KeyPoints,confidence,A,1,309,315 +src/supervision/key_points/core.py,method,KeyPoints,confidence,A,1,318,323 +src/supervision/key_points/core.py,method,KeyPoints,__len__,A,1,325,343 +src/supervision/key_points/core.py,method,KeyPoints,_getitem_by_normalized_index,A,1,1040,1056 +src/supervision/key_points/core.py,method,KeyPoints,empty,A,1,1146,1162 +src/supervision/key_points/core.py,method,KeyPoints,is_empty,A,1,1164,1182 +src/supervision/metrics/core.py,method,Metric,update,A,1,14,19 +src/supervision/metrics/core.py,method,Metric,reset,A,1,22,26 +src/supervision/metrics/core.py,method,Metric,compute,A,1,29,33 +src/supervision/metrics/detection.py,function,,validate_input_tensors,A,1,313,317 +src/supervision/metrics/f1_score.py,method,F1Score,__init__,A,1,66,83 +src/supervision/metrics/f1_score.py,method,F1Score,reset,A,1,85,90 +src/supervision/metrics/f1_score.py,method,F1Score,compute,A,1,123,150 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,f1_50,A,1,549,550 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,f1_75,A,1,553,554 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,small_objects,A,1,610,611 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,medium_objects,A,1,620,621 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,large_objects,A,1,630,631 +src/supervision/metrics/mean_average_precision.py,function,,_summarize_predictions,A,1,1322,1364 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,map50,A,1,113,115 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,map75,A,1,118,120 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,empty,A,1,371,372 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluatorParameters,__init__,A,1,641,670 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,eval_imgs,A,1,720,722 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,results,A,1,725,727 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,stats,A,1,730,732 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,ious,A,1,735,737 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_targets,A,1,740,741 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_predictions,A,1,744,745 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_initialize_accumulation,A,1,947,1001 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_compute_average_precision,A,1,1137,1172 +src/supervision/metrics/mean_average_precision.py,function,,mean_with_mask,A,1,1143,1154 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_compute_average_precision_by_size,A,1,1174,1220 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_accumulate,A,1,1223,1271 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecision,__init__,A,1,1441,1463 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecision,reset,A,1,1465,1470 +src/supervision/metrics/mean_average_recall.py,method,_MeanAverageRecallSizeResultsMixin,small_objects,A,1,58,59 +src/supervision/metrics/mean_average_recall.py,method,_MeanAverageRecallSizeResultsMixin,medium_objects,A,1,69,70 +src/supervision/metrics/mean_average_recall.py,method,_MeanAverageRecallSizeResultsMixin,large_objects,A,1,80,81 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecallResult,mAR_at_1,A,1,161,162 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecallResult,mAR_at_10,A,1,165,166 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecallResult,mAR_at_100,A,1,169,170 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,__init__,A,1,384,399 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,reset,A,1,401,406 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,compute,A,1,439,466 +src/supervision/metrics/precision.py,method,PrecisionResult,precision_at_50,A,1,113,114 +src/supervision/metrics/precision.py,method,PrecisionResult,precision_at_75,A,1,117,118 +src/supervision/metrics/precision.py,method,Precision,__init__,A,1,377,394 +src/supervision/metrics/precision.py,method,Precision,reset,A,1,396,401 +src/supervision/metrics/precision.py,method,Precision,compute,A,1,434,461 +src/supervision/metrics/recall.py,method,RecallResult,recall_at_50,A,1,72,73 +src/supervision/metrics/recall.py,method,RecallResult,recall_at_75,A,1,76,77 +src/supervision/metrics/recall.py,method,RecallResult,small_objects,A,1,134,135 +src/supervision/metrics/recall.py,method,RecallResult,medium_objects,A,1,145,146 +src/supervision/metrics/recall.py,method,RecallResult,large_objects,A,1,156,157 +src/supervision/metrics/recall.py,method,Recall,__init__,A,1,199,216 +src/supervision/metrics/recall.py,method,Recall,reset,A,1,218,223 +src/supervision/metrics/recall.py,method,Recall,compute,A,1,256,283 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,__init__,A,1,83,101 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,frame_id,A,1,104,105 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,frame_id,A,1,108,109 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,reset,A,1,185,194 +src/supervision/tracker/byte_tracker/kalman_filter.py,method,KalmanFilter,initiate,A,1,32,59 +src/supervision/tracker/byte_tracker/kalman_filter.py,method,KalmanFilter,predict,A,1,61,94 +src/supervision/tracker/byte_tracker/kalman_filter.py,method,KalmanFilter,project,A,1,96,121 +src/supervision/tracker/byte_tracker/kalman_filter.py,method,KalmanFilter,update,A,1,160,193 +src/supervision/tracker/byte_tracker/matching.py,function,,indices_to_matches,A,1,15,24 +src/supervision/tracker/byte_tracker/single_object_track.py,method,_STrackData,__post_init__,A,1,38,41 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,__init__,A,1,45,58 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,state,A,1,62,63 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,state,A,1,66,67 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,is_activated,A,1,70,71 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,is_activated,A,1,74,75 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,start_frame,A,1,78,79 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,start_frame,A,1,82,83 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,frame_id,A,1,86,87 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,frame_id,A,1,90,91 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,kalman_filter,A,1,94,95 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,kalman_filter,A,1,98,99 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,mean,A,1,102,103 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,mean,A,1,106,107 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,covariance,A,1,110,111 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,covariance,A,1,114,115 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,score,A,1,118,119 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,score,A,1,122,123 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,tracklet_len,A,1,126,127 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,tracklet_len,A,1,130,131 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,minimum_consecutive_frames,A,1,134,135 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,internal_track_id,A,1,138,139 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,internal_track_id,A,1,142,143 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,external_track_id,A,1,146,147 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,external_track_id,A,1,150,151 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,tlbr,A,1,254,260 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,tlwh_to_xyah,A,1,263,270 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,to_xyah,A,1,272,273 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,tlbr_to_tlwh,A,1,276,279 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,tlwh_to_tlbr,A,1,282,285 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,__repr__,A,1,287,288 +src/supervision/tracker/byte_tracker/utils.py,method,IdCounter,reset,A,1,20,22 +src/supervision/tracker/byte_tracker/utils.py,method,IdCounter,new_id,A,1,24,33 +src/supervision/tracker/byte_tracker/utils.py,method,IdCounter,NO_ID,A,1,36,37 +src/supervision/utils/conversion.py,function,,ensure_cv2_image_for_class_method,A,1,16,40 +src/supervision/utils/conversion.py,function,,ensure_cv2_image_for_annotation,A,1,48,51 +src/supervision/utils/conversion.py,function,,ensure_cv2_image_for_standalone_function,A,1,54,76 +src/supervision/utils/conversion.py,function,,ensure_pil_image_for_class_method,A,1,79,102 +src/supervision/utils/conversion.py,function,,ensure_pil_image_for_annotation,A,1,110,113 +src/supervision/utils/conversion.py,function,,ensure_cv2_image_for_processing,A,1,121,124 +src/supervision/utils/conversion.py,function,,pillow_to_cv2,A,1,148,163 +src/supervision/utils/conversion.py,function,,cv2_to_pillow,A,1,166,178 +src/supervision/utils/file.py,function,,read_json_file,A,1,142,168 +src/supervision/utils/file.py,function,,save_json_file,A,1,171,183 +src/supervision/utils/file.py,function,,read_yaml_file,A,1,186,198 +src/supervision/utils/file.py,function,,save_yaml_file,A,1,201,211 +src/supervision/utils/image.py,function,,grayscale_image,A,1,404,431 +src/supervision/utils/image.py,function,,_generate_color_image,A,1,918,923 +src/supervision/utils/image.py,method,ImageSink,__init__,A,1,482,519 +src/supervision/utils/image.py,method,ImageSink,__exit__,A,1,551,557 +src/supervision/utils/internal.py,function,,format_warning,A,1,21,32 +src/supervision/utils/internal.py,function,,warn_deprecated,A,1,43,50 +src/supervision/utils/internal.py,function,,deprecated_parameter,A,1,53,127 +src/supervision/utils/internal.py,function,,decorator,A,1,102,125 +src/supervision/utils/internal.py,method,classproperty,__init__,A,1,145,150 +src/supervision/utils/iterables.py,function,,fill,A,1,45,73 +src/supervision/utils/video.py,function,,process_video,A,1,424,507 +src/supervision/utils/video.py,method,VideoInfo,resolution_wh,A,1,72,73 +src/supervision/utils/video.py,method,VideoSink,__init__,A,1,99,103 +src/supervision/utils/video.py,method,_VideoProcessor,__init__,A,1,284,318 +src/supervision/utils/video.py,method,_VideoProcessor,_start_workers,A,1,371,373 +src/supervision/utils/video.py,method,_VideoProcessor,_setup_progress_bar,A,1,375,379 +src/supervision/utils/video.py,method,FPSMonitor,__init__,A,1,515,535 +src/supervision/utils/video.py,method,FPSMonitor,tick,A,1,550,554 +src/supervision/utils/video.py,method,FPSMonitor,reset,A,1,556,560 +src/supervision/validators/__init__.py,function,,validate_xyxy,A,1,33,34 +src/supervision/validators/__init__.py,function,,validate_mask,A,1,80,81 +src/supervision/validators/__init__.py,function,,validate_class_id,A,1,102,103 +src/supervision/validators/__init__.py,function,,validate_confidence,A,1,125,126 +src/supervision/validators/__init__.py,function,,validate_key_point_confidence,A,1,156,157 +src/supervision/validators/__init__.py,function,,validate_keypoint_confidence,A,1,165,166 +src/supervision/validators/__init__.py,function,,validate_tracker_id,A,1,187,188 +src/supervision/validators/__init__.py,function,,validate_data,A,1,212,213 +src/supervision/validators/__init__.py,function,,validate_xy,A,1,232,233 +src/supervision/validators/__init__.py,function,,_validate_detections_fields,A,1,259,273 +src/supervision/validators/__init__.py,function,,validate_detections_fields,A,1,281,289 +src/supervision/validators/__init__.py,function,,validate_key_points_fields,A,1,317,320 +src/supervision/validators/__init__.py,function,,validate_keypoints_fields,A,1,328,331 +src/supervision/validators/__init__.py,function,,validate_resolution,A,1,362,363 +src/supervision/annotators/core.py,function,,load_default_font,A,2,1841,1847 +src/supervision/annotators/core.py,function,,_normalize_color_input,A,2,68,78 +src/supervision/annotators/core.py,method,_BaseLabelAnnotator,_adjust_labels_in_frame,A,2,220,260 +src/supervision/annotators/core.py,method,IconAnnotator,_load_icon,A,2,1957,1967 +src/supervision/annotators/core.py,method,RoundBoxAnnotator,__init__,A,2,2526,2550 +src/supervision/annotators/core.py,method,PercentageBarAnnotator,__init__,A,2,2661,2693 +src/supervision/annotators/utils.py,function,,get_color_by_index,A,2,133,136 +src/supervision/assets/downloader.py,function,,is_md5_hash_matching,A,2,17,38 +src/supervision/assets/list.py,method,Assets,list,A,2,19,20 +src/supervision/classification/core.py,method,Classifications,from_clip,A,2,53,90 +src/supervision/classification/core.py,method,Classifications,from_timm,A,2,121,164 +src/supervision/classification/core.py,method,Classifications,get_top_k,A,2,166,200 +src/supervision/dataset/core.py,function,,is_in_memory,A,2,279,280 +src/supervision/dataset/core.py,method,DetectionDataset,__len__,A,2,110,111 +src/supervision/dataset/core.py,method,DetectionDataset,__iter__,A,2,124,133 +src/supervision/dataset/core.py,method,ClassificationDataset,__len__,A,2,775,776 +src/supervision/dataset/core.py,method,ClassificationDataset,__iter__,A,2,789,800 +src/supervision/dataset/formats/coco.py,function,,coco_categories_to_classes,A,2,30,33 +src/supervision/dataset/formats/coco.py,function,,classes_to_coco_categories,A,2,49,81 +src/supervision/dataset/formats/coco.py,function,,get_coco_class_index_mapping,A,2,384,420 +src/supervision/dataset/formats/yolo.py,function,,_polygons_to_masks,A,2,51,62 +src/supervision/dataset/formats/yolo.py,function,,_with_seg_mask,A,2,66,67 +src/supervision/dataset/formats/yolo.py,function,,save_yolo_annotations,A,2,422,471 +src/supervision/detection/compact_mask.py,method,CompactMask,to_dense,A,2,555,585 +src/supervision/detection/compact_mask.py,method,CompactMask,__iter__,A,2,640,643 +src/supervision/detection/compact_mask.py,method,CompactMask,bbox_xyxy,A,2,690,720 +src/supervision/detection/compact_mask.py,method,CompactMask,area,A,2,744,764 +src/supervision/detection/compact_mask.py,method,CompactMask,sum,A,2,766,793 +src/supervision/detection/compact_mask.py,method,CompactMask,__array__,A,2,863,889 +src/supervision/detection/core.py,function,,_get_sam3_value,A,2,2872,2875 +src/supervision/detection/core.py,function,,_build_sam3_mask,A,2,2913,2925 +src/supervision/detection/core.py,method,Detections,__eq__,A,2,206,217 +src/supervision/detection/core.py,method,Detections,from_yolo_nas,A,2,336,369 +src/supervision/detection/core.py,method,Detections,from_deepsparse,A,2,418,450 +src/supervision/detection/core.py,method,Detections,from_mmdetection,A,2,454,487 +src/supervision/detection/core.py,method,Detections,from_detectron2,A,2,573,616 +src/supervision/detection/core.py,method,Detections,from_paddledet,A,2,900,938 +src/supervision/detection/line_zone.py,method,LineZone,__init__,A,2,138,174 +src/supervision/detection/line_zone.py,method,LineZone,_calculate_region_of_interest_limits,A,2,267,296 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,_draw_oriented_label,A,2,644,696 +src/supervision/detection/line_zone.py,method,LineZoneAnnotatorMulticlass,__init__,A,2,783,837 +src/supervision/detection/vlm.py,method,LMM,list,A,2,50,51 +src/supervision/detection/vlm.py,method,VLM,list,A,2,97,98 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,close,A,2,111,116 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,parse_field_names,A,2,234,241 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,__init__,A,2,166,198 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,thread_workers,A,2,255,261 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_run_sequential_inference,A,2,386,391 +src/supervision/detection/tools/json_sink.py,method,JSONSink,write_and_close,A,2,109,119 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZone,__init__,A,2,71,85 +src/supervision/detection/tools/transformers.py,function,,process_transformers_v5_segmentation_result,A,2,82,108 +src/supervision/detection/tools/transformers.py,function,,process_transformers_v5_panoptic_segmentation_result,A,2,182,204 +src/supervision/detection/utils/boxes.py,function,,pad_boxes,A,2,52,96 +src/supervision/detection/utils/converters.py,function,,xyxy_to_xcycarh,A,2,155,199 +src/supervision/detection/utils/converters.py,function,,mask_to_xyxy,A,2,202,245 +src/supervision/detection/utils/converters.py,function,,_delta_decode,A,2,418,442 +src/supervision/detection/utils/converters.py,function,,_delta_encode,A,2,445,468 +src/supervision/detection/utils/converters.py,function,,_rle_counts_to_mask,A,2,538,571 +src/supervision/detection/utils/iou_and_nms.py,function,,_jaccard,A,2,264,301 +src/supervision/detection/utils/iou_and_nms.py,function,,_prepare_predictions_for_nms,A,2,907,921 +src/supervision/detection/utils/iou_and_nms.py,function,,box_non_max_suppression,A,2,946,978 +src/supervision/draw/color.py,function,,unify_to_bgr,A,2,547,572 +src/supervision/draw/color.py,method,Color,as_hex,A,2,264,285 +src/supervision/draw/color.py,method,Color,__repr__,A,2,390,393 +src/supervision/draw/color.py,method,ColorPalette,from_hex,A,2,456,476 +src/supervision/draw/color.py,method,ColorPalette,by_idx,A,2,512,535 +src/supervision/draw/utils.py,function,,draw_filled_rectangle,A,2,72,111 +src/supervision/draw/utils.py,function,,draw_filled_polygon,A,2,189,215 +src/supervision/draw/utils.py,function,,draw_text,A,2,218,298 +src/supervision/draw/utils.py,function,,calculate_optimal_line_thickness,A,2,396,420 +src/supervision/key_points/core.py,method,KeyPoints,__eq__,A,2,369,383 +src/supervision/metrics/detection.py,function,,_assert_supported_target,A,2,22,25 +src/supervision/metrics/detection.py,function,,_get_coordinate_metadata,A,2,187,192 +src/supervision/metrics/detection.py,function,,_get_iou_batch,A,2,242,252 +src/supervision/metrics/detection.py,method,ConfusionMatrix,from_detections,A,2,359,439 +src/supervision/metrics/detection.py,method,ConfusionMatrix,from_tensors,A,2,443,531 +src/supervision/metrics/detection.py,method,ConfusionMatrix,evaluate_detection_batch,A,2,535,602 +src/supervision/metrics/detection.py,method,ConfusionMatrix,_drop_extra_matches,A,2,605,618 +src/supervision/metrics/detection.py,method,ConfusionMatrix,benchmark,A,2,621,685 +src/supervision/metrics/detection.py,method,MeanAveragePrecision,from_detections,A,2,815,864 +src/supervision/metrics/detection.py,method,MeanAveragePrecision,benchmark,A,2,868,911 +src/supervision/metrics/detection.py,method,MeanAveragePrecision,compute_average_precision,A,2,1012,1047 +src/supervision/metrics/f1_score.py,method,F1Score,_compute_f1,A,2,399,426 +src/supervision/metrics/f1_score.py,method,F1Score,_filter_predictions_and_targets_by_size,A,2,484,502 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,_ensure_size_results,A,2,597,601 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,small_objects,A,2,604,607 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,medium_objects,A,2,614,617 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,large_objects,A,2,624,627 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,map50_95,A,2,104,110 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,small_objects,A,2,123,128 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,medium_objects,A,2,141,146 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,large_objects,A,2,159,164 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,__init__,A,2,345,368 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_pycocotools_summarize,A,2,1274,1367 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecision,compute,A,2,1627,1697 +src/supervision/metrics/mean_average_recall.py,method,_MeanAverageRecallSizeResultsMixin,_ensure_size_results,A,2,44,48 +src/supervision/metrics/mean_average_recall.py,method,_MeanAverageRecallSizeResultsMixin,small_objects,A,2,51,55 +src/supervision/metrics/mean_average_recall.py,method,_MeanAverageRecallSizeResultsMixin,medium_objects,A,2,62,66 +src/supervision/metrics/mean_average_recall.py,method,_MeanAverageRecallSizeResultsMixin,large_objects,A,2,73,77 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_compute_average_recall_for_classes,A,2,558,592 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_compute_recall,A,2,689,714 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_filter_predictions_and_targets_by_size,A,2,775,793 +src/supervision/metrics/precision.py,method,PrecisionResult,small_objects,A,2,121,126 +src/supervision/metrics/precision.py,method,PrecisionResult,medium_objects,A,2,139,144 +src/supervision/metrics/precision.py,method,PrecisionResult,large_objects,A,2,157,162 +src/supervision/metrics/precision.py,method,Precision,_compute_precision,A,2,716,746 +src/supervision/metrics/precision.py,method,Precision,_filter_predictions_and_targets_by_size,A,2,807,825 +src/supervision/metrics/recall.py,method,RecallResult,_ensure_size_results,A,2,120,124 +src/supervision/metrics/recall.py,method,RecallResult,small_objects,A,2,127,131 +src/supervision/metrics/recall.py,method,RecallResult,medium_objects,A,2,138,142 +src/supervision/metrics/recall.py,method,RecallResult,large_objects,A,2,149,153 +src/supervision/metrics/recall.py,method,Recall,_compute_recall,A,2,494,524 +src/supervision/metrics/recall.py,method,Recall,_filter_predictions_and_targets_by_size,A,2,587,605 +src/supervision/metrics/utils/utils.py,function,,ensure_pandas_installed,A,2,1,6 +src/supervision/tracker/byte_tracker/kalman_filter.py,method,KalmanFilter,__init__,A,2,21,30 +src/supervision/tracker/byte_tracker/kalman_filter.py,method,KalmanFilter,multi_predict,A,2,123,158 +src/supervision/tracker/byte_tracker/matching.py,function,,linear_assignment,A,2,27,41 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,tlwh,A,2,242,251 +src/supervision/tracker/byte_tracker/utils.py,method,IdCounter,__init__,A,2,5,18 +src/supervision/utils/file.py,function,,save_text_file,A,2,129,139 +src/supervision/utils/image.py,function,,letterbox_image,A,2,210,275 +src/supervision/utils/image.py,function,,_aggregate_images_shape,A,2,728,736 +src/supervision/utils/image.py,method,ImageSink,save_image,A,2,531,549 +src/supervision/utils/internal.py,method,classproperty,__get__,A,2,152,166 +src/supervision/utils/video.py,method,VideoInfo,from_video_path,A,2,59,69 +src/supervision/utils/video.py,method,VideoSink,__enter__,A,2,105,117 +src/supervision/utils/video.py,method,VideoSink,write_frame,A,2,119,128 +src/supervision/utils/video.py,method,VideoSink,__exit__,A,2,130,137 +src/supervision/utils/video.py,method,_VideoProcessor,_reader_thread,A,2,320,327 +src/supervision/utils/video.py,method,_VideoProcessor,_mux_audio_if_needed,A,2,357,364 +src/supervision/utils/video.py,method,_VideoProcessor,run,A,2,401,421 +src/supervision/annotators/core.py,method,LabelAnnotator,annotate,A,3,1325,1404 +src/supervision/annotators/core.py,method,LabelAnnotator,draw_rounded_rectangle,A,3,1543,1582 +src/supervision/annotators/core.py,method,RichLabelAnnotator,annotate,A,3,1642,1720 +src/supervision/annotators/core.py,method,RichLabelAnnotator,_load_font,A,3,1838,1858 +src/supervision/annotators/core.py,method,BlurAnnotator,__init__,A,3,1975,1984 +src/supervision/annotators/core.py,method,PixelateAnnotator,__init__,A,3,2309,2320 +src/supervision/annotators/core.py,method,ComparisonAnnotator,_mask_from_xyxy,A,3,3268,3281 +src/supervision/annotators/core.py,method,ComparisonAnnotator,_mask_from_obb,A,3,3284,3296 +src/supervision/annotators/core.py,method,ComparisonAnnotator,_draw_labels,A,3,3311,3382 +src/supervision/annotators/utils.py,function,,_validate_labels,A,3,205,221 +src/supervision/classification/core.py,function,,_validate_class_ids,A,3,13,19 +src/supervision/dataset/core.py,method,DetectionDataset,_get_image,A,3,101,108 +src/supervision/dataset/core.py,method,DetectionDataset,as_coco,A,3,626,723 +src/supervision/dataset/core.py,method,ClassificationDataset,__init__,A,3,740,761 +src/supervision/dataset/core.py,method,ClassificationDataset,_get_image,A,3,766,773 +src/supervision/dataset/core.py,method,ClassificationDataset,from_folder_structure,A,3,922,968 +src/supervision/dataset/utils.py,function,,approximate_mask_with_polygons,A,3,52,76 +src/supervision/dataset/utils.py,function,,merge_class_lists,A,3,80,87 +src/supervision/dataset/utils.py,function,,build_class_index_mapping,A,3,90,105 +src/supervision/dataset/utils.py,function,,save_dataset_images,A,3,128,136 +src/supervision/dataset/utils.py,function,,train_test_split,A,3,139,164 +src/supervision/dataset/formats/coco.py,function,,build_coco_class_index_mapping,A,3,37,45 +src/supervision/dataset/formats/coco.py,function,,group_coco_annotations_by_image_id,A,3,85,94 +src/supervision/dataset/formats/pascal_voc.py,function,,object_to_pascal_voc,A,3,19,81 +src/supervision/dataset/formats/pascal_voc.py,function,,_get_required_text,A,3,351,355 +src/supervision/dataset/formats/yolo.py,function,,object_to_yolo,A,3,274,293 +src/supervision/detection/compact_mask.py,function,,_resize_crop,A,3,341,386 +src/supervision/detection/compact_mask.py,method,CompactMask,__eq__,A,3,891,917 +src/supervision/detection/core.py,function,,_normalize_sam3_prompt_results,A,3,2878,2887 +src/supervision/detection/core.py,function,,_validate_fields_both_defined_or_none,A,3,2928,2947 +src/supervision/detection/core.py,method,Detections,from_ncnn,A,3,1977,2031 +src/supervision/detection/core.py,method,Detections,__setitem__,A,3,2301,2334 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,__init__,A,3,381,435 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,_calculate_anchor_in_frame,A,3,534,596 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,_draw_basic_label,A,3,598,642 +src/supervision/detection/vlm.py,function,,_build_gemini_2_5_class_id,A,3,720,725 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,open,A,3,100,109 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_run_parallel_inference,A,3,393,403 +src/supervision/detection/tools/json_sink.py,method,JSONSink,open,A,3,74,82 +src/supervision/detection/tools/json_sink.py,method,JSONSink,_json_default,A,3,85,106 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZone,trigger,A,3,88,123 +src/supervision/detection/tools/transformers.py,function,,process_transformers_v4_panoptic_segmentation_result,A,3,148,178 +src/supervision/detection/utils/boxes.py,function,,obb_polygon_area,A,3,244,269 +src/supervision/detection/utils/boxes.py,function,,xyxyxyxy_to_xyxy,A,3,272,309 +src/supervision/detection/utils/converters.py,function,,mask_to_polygons,A,3,307,328 +src/supervision/detection/utils/converters.py,function,,_mask_to_rle_counts,A,3,497,535 +src/supervision/detection/utils/internal.py,function,,is_data_equal,A,3,199,213 +src/supervision/detection/utils/iou_and_nms.py,function,,_normalize_oriented_overlap_metric,A,3,444,451 +src/supervision/detection/utils/iou_and_nms.py,function,,_nms_loop_from_iou_matrix,A,3,924,943 +src/supervision/detection/utils/iou_and_nms.py,function,,_greedy_nmm_via_iou_callback,A,3,1113,1141 +src/supervision/detection/utils/masks.py,function,,contains_multiple_segments,A,3,201,260 +src/supervision/detection/utils/masks.py,function,,_resolve_distance_threshold,A,3,291,303 +src/supervision/detection/utils/vlms.py,function,,fuzzy_match_index,A,3,65,100 +src/supervision/draw/utils.py,function,,draw_rounded_rectangle,A,3,114,163 +src/supervision/geometry/utils.py,function,,get_polygon_center,A,3,7,51 +src/supervision/key_points/annotators.py,method,_BaseVertexEllipseAnnotator,_get_covariances,A,3,298,313 +src/supervision/key_points/annotators.py,method,VertexLabelAnnotator,_resolve_color_list,A,3,960,972 +src/supervision/key_points/core.py,method,KeyPoints,from_ultralytics,A,3,598,634 +src/supervision/key_points/core.py,method,KeyPoints,from_detectron2,A,3,695,743 +src/supervision/key_points/core.py,method,KeyPoints,__setitem__,A,3,1110,1143 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,get_annotations,A,3,535,547 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,__init__,A,3,695,717 +src/supervision/metrics/utils/object_size.py,function,,get_bbox_size_category,A,3,85,123 +src/supervision/metrics/utils/object_size.py,function,,get_mask_size_category,A,3,126,165 +src/supervision/tracker/byte_tracker/core.py,function,,joint_tracks,A,3,472,495 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,update_with_tensors,A,3,196,237 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,_build_stracks,A,3,294,308 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,_separate_tracks,A,3,311,321 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,_first_association,A,3,323,347 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,_update_state,A,3,451,468 +src/supervision/tracker/byte_tracker/matching.py,function,,fuse_score,A,3,65,75 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,activate,A,3,184,200 +src/supervision/utils/conversion.py,function,,images_to_cv2,A,3,127,145 +src/supervision/utils/conversion.py,function,,wrapper,A,3,28,38 +src/supervision/utils/conversion.py,function,,wrapper,A,3,65,74 +src/supervision/utils/conversion.py,function,,wrapper,A,3,90,100 +src/supervision/utils/image.py,function,,scale_image,A,3,95,142 +src/supervision/utils/image.py,function,,tint_image,A,3,356,400 +src/supervision/utils/image.py,function,,_negotiate_tiles_format,A,3,706,710 +src/supervision/utils/image.py,function,,_calculate_aggregated_images_shape,A,3,713,718 +src/supervision/utils/image.py,function,,_negotiate_grid_size,A,3,756,764 +src/supervision/utils/image.py,function,,_generate_tiles,A,3,767,812 +src/supervision/utils/image.py,function,,_merge_tiles_elements,A,3,879,914 +src/supervision/utils/image.py,method,ImageSink,__enter__,A,3,521,529 +src/supervision/utils/iterables.py,function,,find_duplicates,A,3,76,103 +src/supervision/utils/logger.py,function,,_get_logger,A,3,8,63 +src/supervision/utils/notebook.py,function,,plot_image,A,3,11,47 +src/supervision/utils/video.py,method,_VideoProcessor,_writer_thread,A,3,329,334 +src/supervision/utils/video.py,method,FPSMonitor,fps,A,3,538,548 +src/supervision/annotators/core.py,method,BoxAnnotator,annotate,A,4,287,347 +src/supervision/annotators/core.py,method,MaskAnnotator,annotate,A,4,524,581 +src/supervision/annotators/core.py,method,ColorAnnotator,annotate,A,4,703,768 +src/supervision/annotators/core.py,method,EllipseAnnotator,annotate,A,4,903,969 +src/supervision/annotators/core.py,method,CircleAnnotator,annotate,A,4,1092,1156 +src/supervision/annotators/core.py,method,LabelAnnotator,_get_label_properties,A,4,1406,1458 +src/supervision/annotators/core.py,method,RichLabelAnnotator,_get_label_properties,A,4,1722,1772 +src/supervision/annotators/core.py,method,ComparisonAnnotator,_mask_from_mask,A,4,3299,3309 +src/supervision/annotators/utils.py,function,,resolve_color,A,4,139,156 +src/supervision/annotators/utils.py,function,,hex_to_rgba,A,4,384,409 +src/supervision/annotators/utils.py,function,,rgba_to_hex,A,4,412,427 +src/supervision/annotators/utils.py,method,Trace,put,A,4,347,375 +src/supervision/classification/core.py,function,,_validate_confidence,A,4,22,29 +src/supervision/dataset/core.py,method,DetectionDataset,as_pascal_voc,A,4,330,385 +src/supervision/dataset/core.py,method,ClassificationDataset,as_folder_structure,A,4,897,919 +src/supervision/dataset/utils.py,function,,map_detections_class_id,A,4,108,125 +src/supervision/dataset/formats/coco.py,function,,detections_to_coco_annotations,A,4,283,381 +src/supervision/dataset/formats/coco.py,function,,save_coco_annotations,A,4,534,648 +src/supervision/dataset/formats/pascal_voc.py,function,,parse_polygon_points,A,4,339,347 +src/supervision/dataset/formats/yolo.py,function,,_is_int_like,A,4,100,109 +src/supervision/detection/compact_mask.py,method,CompactMask,repack,A,4,984,1060 +src/supervision/detection/core.py,method,Detections,from_inference,A,4,620,672 +src/supervision/detection/core.py,method,Detections,from_sam,A,4,676,715 +src/supervision/detection/line_zone.py,method,LineZone,_compute_anchor_sides,A,4,298,355 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,_get_line_angle,A,4,509,532 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,_make_label_image,A,4,700,769 +src/supervision/detection/vlm.py,method,LMM,from_value,A,4,54,69 +src/supervision/detection/vlm.py,method,VLM,from_value,A,4,101,112 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_probe_remaining_offsets,A,4,362,384 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_warn_obb_sequential_fallback,A,4,405,420 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_apply_overlap_filter,A,4,423,441 +src/supervision/detection/tools/polygon_zone.py,method,PolygonZoneAnnotator,annotate,A,4,242,290 +src/supervision/detection/tools/transformers.py,function,,process_transformers_v5_semantic_or_instance_segmentation_result,A,4,112,144 +src/supervision/detection/tools/transformers.py,function,,append_class_names_to_data,A,4,224,250 +src/supervision/detection/utils/boxes.py,function,,spread_out_boxes,A,4,347,417 +src/supervision/detection/utils/converters.py,function,,xyxy_to_mask,A,4,248,304 +src/supervision/detection/utils/converters.py,function,,mask_to_rle,A,4,649,721 +src/supervision/detection/utils/internal.py,function,,_validate_data_list_keys,A,4,238,245 +src/supervision/detection/utils/internal.py,function,,_validate_data_value_lengths,A,4,248,255 +src/supervision/detection/utils/internal.py,function,,merge_data,A,4,280,313 +src/supervision/detection/utils/iou_and_nms.py,function,,box_iou,A,4,90,159 +src/supervision/detection/utils/iou_and_nms.py,function,,_mask_iou_batch_split,A,4,680,741 +src/supervision/detection/utils/iou_and_nms.py,method,OverlapFilter,from_value,A,4,39,50 +src/supervision/detection/utils/iou_and_nms.py,method,OverlapMetric,from_value,A,4,75,86 +src/supervision/detection/utils/masks.py,function,,contains_holes,A,4,151,198 +src/supervision/draw/color.py,function,,_validate_color_hex,A,4,57,62 +src/supervision/draw/color.py,method,Color,from_rgb_tuple,A,4,149,174 +src/supervision/draw/color.py,method,Color,from_bgr_tuple,A,4,177,202 +src/supervision/draw/color.py,method,ColorPalette,from_matplotlib,A,4,479,509 +src/supervision/key_points/core.py,function,,_optional_array_equal,A,4,42,48 +src/supervision/key_points/core.py,method,KeyPoints,__init__,A,4,245,296 +src/supervision/key_points/core.py,method,KeyPoints,__iter__,A,4,345,366 +src/supervision/key_points/core.py,method,KeyPoints,from_transformers,A,4,746,828 +src/supervision/metrics/detection.py,method,MeanAveragePrecision,_match_detection_batch,A,4,1050,1092 +src/supervision/metrics/f1_score.py,method,F1Score,update,A,4,92,121 +src/supervision/metrics/f1_score.py,method,F1Score,_match_detection_batch,A,4,309,338 +src/supervision/metrics/f1_score.py,method,F1Score,_compute_confusion_matrix,A,4,341,396 +src/supervision/metrics/f1_score.py,method,F1Score,_make_empty_content,A,4,446,456 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,__init__,A,4,72,100 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,small_objects,A,4,131,138 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,medium_objects,A,4,149,156 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,large_objects,A,4,167,174 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,__str__,A,4,176,232 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,update,A,4,408,437 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_match_detection_batch,A,4,595,623 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_compute_confusion_matrix,A,4,626,686 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_make_empty_content,A,4,734,747 +src/supervision/metrics/precision.py,method,PrecisionResult,__init__,A,4,81,109 +src/supervision/metrics/precision.py,method,PrecisionResult,small_objects,A,4,129,136 +src/supervision/metrics/precision.py,method,PrecisionResult,medium_objects,A,4,147,154 +src/supervision/metrics/precision.py,method,PrecisionResult,large_objects,A,4,165,172 +src/supervision/metrics/precision.py,method,Precision,update,A,4,403,432 +src/supervision/metrics/precision.py,method,Precision,_match_detection_batch,A,4,628,656 +src/supervision/metrics/precision.py,method,Precision,_compute_confusion_matrix,A,4,659,713 +src/supervision/metrics/precision.py,method,Precision,_make_empty_content,A,4,766,779 +src/supervision/metrics/recall.py,method,Recall,update,A,4,225,254 +src/supervision/metrics/recall.py,method,Recall,_compute_recall_for_classes,A,4,369,403 +src/supervision/metrics/recall.py,method,Recall,_match_detection_batch,A,4,406,434 +src/supervision/metrics/recall.py,method,Recall,_compute_confusion_matrix,A,4,437,491 +src/supervision/metrics/recall.py,method,Recall,_make_empty_content,A,4,544,559 +src/supervision/metrics/utils/object_size.py,function,,get_object_size_category,A,4,46,82 +src/supervision/metrics/utils/object_size.py,function,,get_obb_size_category,A,4,168,211 +src/supervision/tracker/byte_tracker/core.py,function,,sub_tracks,A,4,498,515 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,re_activate,A,4,202,213 +src/supervision/utils/file.py,method,NumpyJsonEncoder,default,A,4,12,19 +src/supervision/utils/image.py,function,,crop_image,A,4,34,90 +src/supervision/utils/image.py,function,,resize_image,A,4,146,206 +src/supervision/utils/image.py,function,,get_image_resolution_wh,A,4,434,477 +src/supervision/utils/image.py,function,,_prepare_default_titles_anchors,A,4,860,876 +src/supervision/utils/internal.py,function,,wrapper,A,4,104,123 +src/supervision/utils/iterables.py,function,,create_batches,A,4,7,42 +src/supervision/utils/video.py,method,_VideoProcessor,_total_frames,A,4,366,369 +src/supervision/utils/video.py,method,_VideoProcessor,_process_frames,A,4,382,399 +src/supervision/validators/__init__.py,function,,_validate_xyxy,A,4,10,24 +src/supervision/validators/__init__.py,function,,_validate_class_id,A,4,84,93 +src/supervision/validators/__init__.py,function,,_validate_confidence,A,4,106,116 +src/supervision/validators/__init__.py,function,,_validate_tracker_id,A,4,169,178 +src/supervision/validators/__init__.py,function,,_validate_xy,A,4,216,223 +src/supervision/validators/__init__.py,function,,_validate_keypoints_fields,A,4,292,309 +src/supervision/annotators/core.py,method,RichLabelAnnotator,_draw_labels,A,5,1774,1835 +src/supervision/annotators/utils.py,function,,get_labels_text,A,5,235,263 +src/supervision/dataset/core.py,method,DetectionDataset,__init__,A,5,74,99 +src/supervision/dataset/formats/pascal_voc.py,function,,load_pascal_voc_annotations,A,5,181,232 +src/supervision/detection/compact_mask.py,function,,_rle_scale_col,A,5,128,190 +src/supervision/detection/compact_mask.py,method,CompactMask,from_dense,A,5,476,549 +src/supervision/detection/core.py,function,,merge_inner_detections_objects,A,5,2830,2854 +src/supervision/detection/core.py,function,,_normalize_sam3_prediction,A,5,2898,2910 +src/supervision/detection/core.py,method,Detections,from_sam3,A,5,718,809 +src/supervision/detection/core.py,method,Detections,from_lmm,A,5,942,1428 +src/supervision/detection/core.py,method,Detections,area,A,5,2337,2382 +src/supervision/detection/line_zone.py,method,LineZoneAnnotator,annotate,A,5,438,507 +src/supervision/detection/vlm.py,function,,_extract_json_from_backticks,A,5,591,602 +src/supervision/detection/vlm.py,function,,_filter_gemini_2_5_results,A,5,693,717 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,_slice_value,A,5,119,142 +src/supervision/detection/tools/inference_slicer.py,function,,move_detections,A,5,44,82 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_validate_overlap,A,5,621,638 +src/supervision/detection/tools/inference_slicer.py,function,,_compute_axis_starts,A,5,581,596 +src/supervision/detection/tools/json_sink.py,method,JSONSink,_slice_value,A,5,122,145 +src/supervision/detection/tools/transformers.py,function,,process_transformers_v4_segmentation_result,A,5,43,78 +src/supervision/detection/utils/converters.py,function,,_base48_encode,A,5,382,415 +src/supervision/detection/utils/converters.py,function,,rle_to_mask,A,5,575,646 +src/supervision/detection/utils/internal.py,function,,extract_ultralytics_masks,A,5,18,51 +src/supervision/detection/utils/internal.py,function,,is_metadata_equal,A,5,217,234 +src/supervision/detection/utils/iou_and_nms.py,function,,box_iou_batch,A,5,162,261 +src/supervision/detection/utils/iou_and_nms.py,function,,mask_non_max_suppression,A,5,840,904 +src/supervision/detection/utils/iou_and_nms.py,function,,_group_overlapping_masks,A,5,981,1035 +src/supervision/detection/utils/masks.py,function,,move_masks,A,5,12,87 +src/supervision/detection/utils/masks.py,function,,calculate_masks_centroids,A,5,90,147 +src/supervision/detection/utils/masks.py,function,,_filter_labels_by_edge_distance,A,5,319,341 +src/supervision/draw/color.py,method,Color,from_rgba_tuple,A,5,205,232 +src/supervision/draw/color.py,method,Color,from_bgra_tuple,A,5,235,262 +src/supervision/draw/color.py,method,Color,__eq__,A,5,395,401 +src/supervision/key_points/annotators.py,method,_BaseVertexEllipseAnnotator,_decompose_covariance,A,5,315,328 +src/supervision/key_points/annotators.py,method,VertexEllipseAreaAnnotator,annotate,A,5,406,468 +src/supervision/key_points/annotators.py,method,VertexEllipseOutlineAnnotator,annotate,A,5,504,565 +src/supervision/key_points/core.py,method,KeyPoints,_select_fields,A,5,961,995 +src/supervision/key_points/core.py,method,KeyPoints,__getitem__,A,5,1059,1108 +src/supervision/metrics/detection.py,function,,_try_early_exit,A,5,219,239 +src/supervision/metrics/detection.py,method,ConfusionMatrix,__eq__,A,5,346,353 +src/supervision/metrics/detection.py,method,MeanAveragePrecision,_average_precisions_per_class,A,5,1095,1148 +src/supervision/metrics/f1_score.py,method,F1Score,_compute_f1_for_classes,A,5,253,306 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,__init__,A,5,562,595 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,plot,A,5,731,793 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,plot,A,5,270,336 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecallResult,__init__,A,5,125,158 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecallResult,plot,A,5,272,343 +src/supervision/metrics/precision.py,method,PrecisionResult,plot,A,5,274,335 +src/supervision/metrics/precision.py,method,Precision,_compute_precision_for_classes,A,5,570,625 +src/supervision/metrics/recall.py,method,RecallResult,__init__,A,5,85,118 +src/supervision/metrics/recall.py,method,Recall,plot,A,5,706,768 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,_split_by_confidence,A,5,239,293 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,predict,A,5,153,161 +src/supervision/utils/file.py,function,,read_txt_file,A,5,92,126 +src/supervision/utils/image.py,function,,_draw_texts,A,5,816,857 +src/supervision/annotators/core.py,method,OrientedBoxAnnotator,annotate,B,6,374,434 +src/supervision/annotators/core.py,method,PolygonAnnotator,annotate,B,6,612,676 +src/supervision/annotators/core.py,method,HaloAnnotator,annotate,B,6,803,870 +src/supervision/annotators/core.py,method,DotAnnotator,annotate,B,6,1195,1267 +src/supervision/annotators/core.py,method,LabelAnnotator,_draw_labels,B,6,1460,1540 +src/supervision/annotators/core.py,method,BlurAnnotator,annotate,B,6,1987,2044 +src/supervision/annotators/core.py,method,HeatMapAnnotator,annotate,B,6,2228,2301 +src/supervision/annotators/core.py,method,TriangleAnnotator,annotate,B,6,2437,2517 +src/supervision/annotators/core.py,method,RoundBoxAnnotator,annotate,B,6,2553,2653 +src/supervision/annotators/core.py,method,PercentageBarAnnotator,annotate,B,6,2697,2792 +src/supervision/annotators/core.py,method,CropAnnotator,annotate,B,6,2896,2974 +src/supervision/annotators/core.py,method,BackgroundOverlayAnnotator,annotate,B,6,3051,3102 +src/supervision/annotators/core.py,method,ComparisonAnnotator,annotate,B,6,3166,3243 +src/supervision/assets/downloader.py,function,,download_assets,B,6,41,95 +src/supervision/dataset/core.py,method,DetectionDataset,split,B,6,157,228 +src/supervision/dataset/core.py,method,ClassificationDataset,split,B,6,824,895 +src/supervision/dataset/formats/coco.py,function,,_build_coco_segmentation_from_mask,B,6,218,262 +src/supervision/dataset/formats/pascal_voc.py,function,,detections_to_pascal_voc,B,6,84,178 +src/supervision/detection/core.py,method,Detections,__iter__,B,6,180,203 +src/supervision/detection/core.py,method,Detections,from_transformers,B,6,492,567 +src/supervision/detection/line_zone.py,method,LineZone,_update_class_id_to_name,B,6,357,377 +src/supervision/detection/vlm.py,function,,from_paligemma,B,6,215,257 +src/supervision/detection/vlm.py,function,,recover_truncated_qwen_2_5_vl_response,B,6,260,302 +src/supervision/detection/vlm.py,function,,_parse_gemini_2_5_item,B,6,621,649 +src/supervision/detection/vlm.py,function,,_decode_mask_for_item,B,6,728,761 +src/supervision/detection/vlm.py,function,,from_google_gemini_2_5,B,6,840,920 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,append,B,6,196,230 +src/supervision/detection/utils/converters.py,function,,_base48_decode,B,6,332,379 +src/supervision/detection/utils/internal.py,function,,_decode_rle_mask,B,6,54,78 +src/supervision/detection/utils/iou_and_nms.py,function,,box_iou_batch_with_jaccard,B,6,304,360 +src/supervision/detection/utils/iou_and_nms.py,function,,_validate_oriented_box_batch,B,6,426,440 +src/supervision/detection/utils/masks.py,function,,filter_segments_by_distance,B,6,344,475 +src/supervision/detection/utils/vlms.py,function,,edit_distance,B,6,4,62 +src/supervision/key_points/core.py,method,KeyPoints,from_yolo_nas,B,6,637,691 +src/supervision/key_points/core.py,method,KeyPoints,as_detections,B,6,1272,1342 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,__str__,B,6,633,699 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_prepare_targets_and_predictions,B,6,747,779 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,evaluate,B,6,1369,1400 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecallResult,__str__,B,6,172,239 +src/supervision/metrics/precision.py,method,PrecisionResult,__str__,B,6,174,242 +src/supervision/metrics/recall.py,method,Recall,__str__,B,6,606,674 +src/supervision/metrics/utils/object_size.py,function,,get_detection_size_category,B,6,214,241 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,update_with_detections,B,6,111,183 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,update,B,6,215,239 +src/supervision/utils/image.py,function,,overlay_image,B,6,283,352 +src/supervision/annotators/core.py,method,BoxCornerAnnotator,annotate,B,7,999,1064 +src/supervision/annotators/core.py,method,IconAnnotator,annotate,B,7,1885,1954 +src/supervision/annotators/core.py,method,PercentageBarAnnotator,_validate_custom_values,B,7,2824,2848 +src/supervision/annotators/core.py,method,ComparisonAnnotator,_use_obb,B,7,3246,3253 +src/supervision/annotators/core.py,method,ComparisonAnnotator,_use_mask,B,7,3257,3264 +src/supervision/dataset/formats/coco.py,function,,_build_coco_segmentation_from_raw_data,B,7,265,280 +src/supervision/detection/compact_mask.py,function,,_rle_join_cols,B,7,193,246 +src/supervision/detection/compact_mask.py,method,CompactMask,merge,B,7,924,982 +src/supervision/detection/core.py,method,Detections,from_easyocr,B,7,1931,1972 +src/supervision/detection/core.py,method,Detections,with_nms,B,7,2433,2508 +src/supervision/detection/vlm.py,function,,_collect_gemini_2_5_items,B,7,652,690 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_normalize_slice_wh,B,7,506,527 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_normalize_overlap_wh,B,7,531,553 +src/supervision/detection/utils/internal.py,function,,_merge_data_values,B,7,259,275 +src/supervision/detection/utils/iou_and_nms.py,function,,mask_non_max_merge,B,7,1038,1110 +src/supervision/detection/utils/iou_and_nms.py,function,,_non_max_merge_per_category,B,7,1144,1174 +src/supervision/detection/utils/polygons.py,function,,approximate_polygon,B,7,44,116 +src/supervision/key_points/annotators.py,method,VertexLabelAnnotator,_resolve_labels,B,7,930,957 +src/supervision/key_points/core.py,method,KeyPoints,from_inference,B,7,388,468 +src/supervision/key_points/core.py,method,KeyPoints,with_nms,B,7,1184,1270 +src/supervision/metrics/detection.py,function,,_validate_detection_batch_shapes,B,7,195,215 +src/supervision/metrics/detection.py,method,MeanAveragePrecision,from_tensors,B,7,915,1008 +src/supervision/metrics/f1_score.py,method,F1Score,_detections_content,B,7,428,444 +src/supervision/metrics/f1_score.py,method,F1ScoreResult,to_pandas,B,7,701,729 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecisionResult,to_pandas,B,7,235,267 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecallResult,to_pandas,B,7,241,270 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_detections_content,B,7,716,732 +src/supervision/metrics/precision.py,method,PrecisionResult,to_pandas,B,7,244,272 +src/supervision/metrics/precision.py,method,Precision,_detections_content,B,7,748,764 +src/supervision/metrics/recall.py,method,Recall,_detections_content,B,7,526,542 +src/supervision/metrics/recall.py,method,Recall,to_pandas,B,7,676,704 +src/supervision/tracker/byte_tracker/core.py,function,,remove_duplicate_tracks,B,7,518,540 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,_second_association,B,7,349,384 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,_unconfirmed_and_init_new,B,7,386,416 +src/supervision/tracker/byte_tracker/core.py,method,ByteTrack,_remove_stale_lost_tracks,B,7,418,450 +src/supervision/tracker/byte_tracker/single_object_track.py,method,STrack,multi_predict,B,7,165,182 +src/supervision/utils/video.py,function,,_mux_audio,B,7,140,204 +src/supervision/utils/video.py,function,,get_video_frames_generator,B,7,231,280 +src/supervision/validators/__init__.py,function,,_validate_keypoint_confidence,B,7,129,147 +src/supervision/validators/__init__.py,function,,_validate_visible,B,7,236,255 +src/supervision/validators/__init__.py,function,,_validate_resolution,B,7,334,354 +src/supervision/annotators/core.py,function,,_paint_masks_by_area,B,8,438,493 +src/supervision/dataset/core.py,method,DetectionDataset,__eq__,B,8,135,155 +src/supervision/dataset/core.py,method,DetectionDataset,as_yolo,B,8,504,575 +src/supervision/dataset/core.py,method,ClassificationDataset,__eq__,B,8,802,822 +src/supervision/dataset/formats/coco.py,function,,coco_annotations_to_masks,B,8,97,143 +src/supervision/dataset/formats/coco.py,function,,load_coco_annotations,B,8,423,527 +src/supervision/detection/core.py,method,Detections,merge,B,8,2081,2184 +src/supervision/detection/core.py,method,Detections,__getitem__,B,8,2252,2298 +src/supervision/detection/tools/smoother.py,method,DetectionsSmoother,update_with_detections,B,8,100,131 +src/supervision/detection/tools/smoother.py,method,DetectionsSmoother,get_smoothed_detections,B,8,166,184 +src/supervision/draw/color.py,method,Color,from_hex,B,8,106,146 +src/supervision/key_points/annotators.py,method,VertexAnnotator,annotate,B,8,51,108 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,get_image_ids,B,8,504,533 +src/supervision/metrics/mean_average_precision.py,function,,_summarize,B,8,1279,1320 +src/supervision/tracker/byte_tracker/matching.py,function,,iou_distance,B,8,44,62 +src/supervision/utils/image.py,function,,_establish_grid_size,B,8,739,753 +src/supervision/utils/internal.py,function,,get_instance_variables,B,8,169,208 +src/supervision/utils/video.py,method,_VideoProcessor,_drain_and_cleanup,B,8,336,355 +src/supervision/validators/__init__.py,function,,_validate_mask,B,8,37,62 +src/supervision/annotators/utils.py,function,,resolve_color_idx,B,9,40,77 +src/supervision/dataset/formats/coco.py,function,,coco_annotations_to_detections,B,9,146,214 +src/supervision/dataset/formats/yolo.py,function,,load_yolo_annotations,B,9,187,271 +src/supervision/detection/compact_mask.py,function,,_rle_resize,B,9,249,330 +src/supervision/detection/compact_mask.py,method,CompactMask,__getitem__,B,9,795,861 +src/supervision/detection/compact_mask.py,method,CompactMask,with_offset,B,9,1067,1185 +src/supervision/detection/compact_mask.py,method,CompactMask,resize,B,9,1192,1306 +src/supervision/detection/core.py,method,Detections,with_nmm,B,9,2510,2602 +src/supervision/detection/vlm.py,function,,_validate_vlm_parameters,B,9,163,203 +src/supervision/detection/vlm.py,function,,from_deepseek_vl_2,B,9,424,492 +src/supervision/detection/vlm.py,function,,from_moondream,B,9,923,984 +src/supervision/detection/tools/csv_sink.py,method,CSVSink,parse_detection_data,B,9,145,194 +src/supervision/detection/tools/smoother.py,method,DetectionsSmoother,get_track,B,9,133,164 +src/supervision/detection/utils/polygons.py,function,,filter_polygons_by_area,B,9,8,40 +src/supervision/draw/utils.py,function,,draw_image,B,9,301,368 +src/supervision/key_points/annotators.py,method,VertexEllipseHaloAnnotator,annotate,B,9,606,697 +src/supervision/metrics/detection.py,function,,_validate_input_tensors,B,9,146,183 +src/supervision/metrics/f1_score.py,method,F1Score,_filter_detections_by_size,B,9,458,482 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_compute_iou,B,9,781,820 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecision,update,B,9,1472,1512 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_filter_detections_by_size,B,9,749,773 +src/supervision/metrics/precision.py,method,Precision,_filter_detections_by_size,B,9,781,805 +src/supervision/metrics/recall.py,method,Recall,_filter_detections_by_size,B,9,561,585 +src/supervision/utils/image.py,function,,create_tiles,B,9,565,703 +src/supervision/utils/notebook.py,function,,plot_images_grid,B,9,50,117 +src/supervision/utils/video.py,function,,_validate_and_setup_video,B,9,207,228 +src/supervision/validators/__init__.py,function,,_validate_data,B,9,191,204 +src/supervision/annotators/core.py,method,TraceAnnotator,annotate,B,10,2090,2189 +src/supervision/annotators/core.py,method,PixelateAnnotator,annotate,B,10,2323,2395 +src/supervision/annotators/utils.py,function,,wrap_text,B,10,159,202 +src/supervision/detection/core.py,method,Detections,from_azure_analyze_image,B,10,813,896 +src/supervision/detection/vlm.py,function,,from_google_gemini_2_0,B,10,764,837 +src/supervision/detection/tools/json_sink.py,method,JSONSink,parse_detection_data,B,10,148,198 +src/supervision/detection/utils/iou_and_nms.py,function,,compact_mask_iou_batch,B,10,577,677 +src/supervision/key_points/annotators.py,method,_BaseVertexEllipseAnnotator,_iter_ellipse_params,B,10,330,367 +src/supervision/key_points/core.py,function,,_normalize_row_index,B,10,51,71 +src/supervision/metrics/detection.py,function,,detections_to_tensor,B,10,29,143 +src/supervision/metrics/detection.py,function,,_fill_confusion_matrix_from_iou,B,10,255,305 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,create_class_members,B,10,374,402 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_select_evaluation_indices,B,10,1004,1033 +src/supervision/annotators/core.py,method,PercentageBarAnnotator,calculate_border_coordinates,C,11,2795,2821 +src/supervision/annotators/core.py,method,CropAnnotator,calculate_crop_coordinates,C,11,2977,3015 +src/supervision/annotators/utils.py,function,,resolve_text_background_xyxy,C,11,80,129 +src/supervision/dataset/formats/yolo.py,function,,yolo_annotations_to_detections,C,11,138,184 +src/supervision/detection/core.py,method,Detections,from_ultralytics,C,11,254,333 +src/supervision/detection/core.py,function,,stack_or_none,C,11,2152,2165 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_collect_detections,C,11,302,360 +src/supervision/key_points/annotators.py,method,_BaseVertexEllipseAnnotator,__init__,C,11,268,296 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecision,_prepare_predictions,C,11,1576,1625 +src/supervision/metrics/mean_average_recall.py,method,MeanAverageRecall,_compute,C,11,468,555 +src/supervision/metrics/recall.py,method,Recall,_compute,C,11,285,366 +src/supervision/dataset/formats/pascal_voc.py,function,,detections_from_xml_obj,C,12,235,332 +src/supervision/detection/compact_mask.py,function,,_rle_split_cols,C,12,49,125 +src/supervision/detection/core.py,function,,merge_inner_detection_object_pair,C,12,2737,2825 +src/supervision/detection/core.py,method,Detections,get_anchors_coordinates,C,12,2187,2250 +src/supervision/detection/line_zone.py,method,LineZone,trigger,C,12,192,264 +src/supervision/detection/line_zone.py,method,LineZoneAnnotatorMulticlass,annotate,C,12,840,944 +src/supervision/detection/tools/inference_slicer.py,method,InferenceSlicer,_run_callback,C,12,443,503 +src/supervision/detection/utils/iou_and_nms.py,function,,oriented_box_iou_batch,C,12,456,574 +src/supervision/detection/utils/iou_and_nms.py,function,,oriented_box_non_max_suppression,C,12,1246,1338 +src/supervision/detection/utils/iou_and_nms.py,function,,oriented_box_non_max_merge,C,12,1366,1461 +src/supervision/key_points/core.py,method,KeyPoints,from_mediapipe,C,12,472,594 +src/supervision/utils/file.py,function,,list_files_with_extensions,C,12,22,89 +src/supervision/dataset/core.py,method,DetectionDataset,merge,C,13,231,327 +src/supervision/dataset/formats/yolo.py,function,,detections_to_yolo_annotations,C,13,296,419 +src/supervision/detection/utils/internal.py,function,,get_data_item,C,13,370,407 +src/supervision/key_points/annotators.py,method,VertexLabelAnnotator,annotate,C,13,740,905 +src/supervision/dataset/formats/yolo.py,function,,_extract_class_names,C,14,70,129 +src/supervision/detection/utils/internal.py,function,,merge_metadata,C,14,316,367 +src/supervision/detection/utils/iou_and_nms.py,function,,mask_iou_batch,C,14,744,837 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,get_category_ids,C,14,458,502 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,load_predictions,C,14,549,613 +src/supervision/detection/core.py,function,,_merge_detection_group,C,15,2648,2732 +src/supervision/detection/vlm.py,function,,from_florence_2,C,15,495,588 +src/supervision/detection/utils/internal.py,function,,process_roboflow_result,C,15,81,195 +src/supervision/key_points/core.py,method,KeyPoints,_get_by_2d_bool_mask,C,15,830,922 +src/supervision/key_points/core.py,method,KeyPoints,_reshape_selected,C,15,998,1038 +src/supervision/metrics/detection.py,method,ConfusionMatrix,plot,C,15,688,775 +src/supervision/metrics/f1_score.py,method,F1Score,_compute,C,15,152,250 +src/supervision/metrics/precision.py,method,Precision,_compute,C,15,463,567 +src/supervision/detection/vlm.py,function,,from_qwen_2_5_vl,C,16,305,394 +src/supervision/key_points/annotators.py,method,EdgeAnnotator,annotate,C,16,141,258 +src/supervision/key_points/core.py,method,KeyPoints,_normalize_getitem_index,C,17,925,959 +src/supervision/metrics/mean_average_precision.py,method,EvaluationDataset,get_annotation_ids,C,17,404,456 +src/supervision/metrics/mean_average_precision.py,method,MeanAveragePrecision,_prepare_targets,C,17,1514,1573 +src/supervision/detection/core.py,method,Detections,from_vlm,C,20,1431,1928 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_compute_raw_metrics,C,20,1036,1134 +src/supervision/metrics/mean_average_precision.py,method,COCOEvaluator,_evaluate_image,D,28,822,944 diff --git a/metrics-after-radon/hal_depois.json b/metrics-after-radon/hal_depois.json new file mode 100644 index 0000000000..70504d0dd3 --- /dev/null +++ b/metrics-after-radon/hal_depois.json @@ -0,0 +1,12073 @@ +{ + "src\\supervision\\config.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\__init__.py": { + "total": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "functions": {} + }, + "src\\supervision\\annotators\\base.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": { + "annotate": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\annotators\\core.py": { + "total": { + "h1": 22, + "h2": 385, + "N1": 434, + "N2": 825, + "vocabulary": 407, + "length": 1259, + "calculated_length": 3404.762630309193, + "volume": 10914.126195191206, + "difficulty": 23.571428571428573, + "effort": 257261.546029507, + "time": 14292.30811275039, + "bugs": 3.6380420650637353 + }, + "functions": { + "_normalize_color_input": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "color": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "color_lookup": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "text_color": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "text_padding": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "text_anchor": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "text_offset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "border_radius": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "smart_position": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "max_line_length": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_adjust_labels_in_frame": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "annotate": { + "h1": 7, + "h2": 25, + "N1": 19, + "N2": 35, + "vocabulary": 32, + "length": 54, + "calculated_length": 135.74788919877133, + "volume": 270.0, + "difficulty": 4.9, + "effort": 1323.0, + "time": 73.5, + "bugs": 0.09 + }, + "_paint_masks_by_area": { + "h1": 4, + "h2": 12, + "N1": 11, + "N2": 22, + "vocabulary": 16, + "length": 33, + "calculated_length": 51.01955000865388, + "volume": 132.0, + "difficulty": 3.6666666666666665, + "effort": 484.0, + "time": 26.88888888888889, + "bugs": 0.044 + }, + "_get_label_properties": { + "h1": 5, + "h2": 20, + "N1": 14, + "N2": 27, + "vocabulary": 25, + "length": 41, + "calculated_length": 98.04820237218406, + "volume": 190.3981037807637, + "difficulty": 3.375, + "effort": 642.5936002600776, + "time": 35.6996444588932, + "bugs": 0.0634660345935879 + }, + "_draw_labels": { + "h1": 6, + "h2": 25, + "N1": 23, + "N2": 45, + "vocabulary": 31, + "length": 68, + "calculated_length": 131.60617974869504, + "volume": 336.88534910630756, + "difficulty": 5.4, + "effort": 1819.180885174061, + "time": 101.06560473189228, + "bugs": 0.11229511636876918 + }, + "draw_rounded_rectangle": { + "h1": 4, + "h2": 8, + "N1": 17, + "N2": 32, + "vocabulary": 12, + "length": 49, + "calculated_length": 32.0, + "volume": 175.66316253533668, + "difficulty": 8.0, + "effort": 1405.3053002826935, + "time": 78.07251668237186, + "bugs": 0.058554387511778896 + }, + "_load_font": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_load_icon": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "calculate_border_coordinates": { + "h1": 5, + "h2": 30, + "N1": 47, + "N2": 94, + "vocabulary": 35, + "length": 141, + "calculated_length": 158.81635834269238, + "volume": 723.2289053892403, + "difficulty": 7.833333333333333, + "effort": 5665.293092215715, + "time": 314.73850512309525, + "bugs": 0.24107630179641343 + }, + "_validate_custom_values": { + "h1": 4, + "h2": 10, + "N1": 7, + "N2": 11, + "vocabulary": 14, + "length": 18, + "calculated_length": 41.219280948873624, + "volume": 68.53238859703687, + "difficulty": 2.2, + "effort": 150.77125491348113, + "time": 8.37618082852673, + "bugs": 0.022844129532345624 + }, + "validate_custom_values": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "calculate_crop_coordinates": { + "h1": 5, + "h2": 30, + "N1": 47, + "N2": 94, + "vocabulary": 35, + "length": 141, + "calculated_length": 158.81635834269238, + "volume": 723.2289053892403, + "difficulty": 7.833333333333333, + "effort": 5665.293092215715, + "time": 314.73850512309525, + "bugs": 0.24107630179641343 + }, + "_use_obb": { + "h1": 4, + "h2": 13, + "N1": 9, + "N2": 17, + "vocabulary": 17, + "length": 26, + "calculated_length": 56.105716335834195, + "volume": 106.27403387250884, + "difficulty": 2.6153846153846154, + "effort": 277.94747320502313, + "time": 15.441526289167951, + "bugs": 0.03542467795750295 + }, + "_use_mask": { + "h1": 4, + "h2": 13, + "N1": 9, + "N2": 17, + "vocabulary": 17, + "length": 26, + "calculated_length": 56.105716335834195, + "volume": 106.27403387250884, + "difficulty": 2.6153846153846154, + "effort": 277.94747320502313, + "time": 15.441526289167951, + "bugs": 0.03542467795750295 + }, + "_mask_from_xyxy": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_mask_from_obb": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_mask_from_mask": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 6.754887502163469, + "volume": 13.931568569324174, + "difficulty": 1.3333333333333333, + "effort": 18.575424759098897, + "time": 1.0319680421721609, + "bugs": 0.004643856189774725 + } + } + }, + "src\\supervision\\annotators\\utils.py": { + "total": { + "h1": 18, + "h2": 135, + "N1": 110, + "N2": 213, + "vocabulary": 153, + "length": 323, + "calculated_length": 1030.4287556278239, + "volume": 2344.1362731897266, + "difficulty": 14.2, + "effort": 33286.735079294114, + "time": 1849.2630599607842, + "bugs": 0.7813787577299088 + }, + "functions": { + "list": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "resolve_color_idx": { + "h1": 4, + "h2": 11, + "N1": 7, + "N2": 14, + "vocabulary": 15, + "length": 21, + "calculated_length": 46.053747805010275, + "volume": 82.0447025077789, + "difficulty": 2.5454545454545454, + "effort": 208.84106092889172, + "time": 11.602281162716206, + "bugs": 0.02734823416925963 + }, + "resolve_text_background_xyxy": { + "h1": 5, + "h2": 30, + "N1": 47, + "N2": 94, + "vocabulary": 35, + "length": 141, + "calculated_length": 158.81635834269238, + "volume": 723.2289053892403, + "difficulty": 7.833333333333333, + "effort": 5665.293092215715, + "time": 314.73850512309525, + "bugs": 0.24107630179641343 + }, + "get_color_by_index": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "resolve_color": { + "h1": 2, + "h2": 7, + "N1": 3, + "N2": 7, + "vocabulary": 9, + "length": 10, + "calculated_length": 21.651484454403228, + "volume": 31.699250014423125, + "difficulty": 1.0, + "effort": 31.699250014423125, + "time": 1.7610694452457292, + "bugs": 0.010566416671474375 + }, + "wrap_text": { + "h1": 5, + "h2": 13, + "N1": 8, + "N2": 14, + "vocabulary": 18, + "length": 22, + "calculated_length": 59.715356810271004, + "volume": 91.73835003173087, + "difficulty": 2.6923076923076925, + "effort": 246.98786547004468, + "time": 13.721548081669148, + "bugs": 0.030579450010576957 + }, + "_validate_labels": { + "h1": 3, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 9, + "length": 9, + "calculated_length": 20.264662506490406, + "volume": 28.529325012980813, + "difficulty": 1.5, + "effort": 42.793987519471216, + "time": 2.377443751081734, + "bugs": 0.009509775004326938 + }, + "validate_labels": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "get_labels_text": { + "h1": 2, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.2, + "effort": 30.319433158222125, + "time": 1.6844129532345624, + "bugs": 0.008422064766172813 + }, + "snap_boxes": { + "h1": 6, + "h2": 23, + "N1": 14, + "N2": 26, + "vocabulary": 29, + "length": 40, + "calculated_length": 119.55169999363824, + "volume": 194.3192398051029, + "difficulty": 3.391304347826087, + "effort": 658.9956828173055, + "time": 36.610871267628085, + "bugs": 0.0647730799350343 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "put": { + "h1": 7, + "h2": 12, + "N1": 9, + "N2": 17, + "vocabulary": 19, + "length": 26, + "calculated_length": 62.67103446305711, + "volume": 110.44611534953322, + "difficulty": 4.958333333333333, + "effort": 547.6286552747688, + "time": 30.4238141819316, + "bugs": 0.03681537178317774 + }, + "get": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 2, + "vocabulary": 2, + "length": 3, + "calculated_length": 0.0, + "volume": 3.0, + "difficulty": 1.0, + "effort": 3.0, + "time": 0.16666666666666666, + "bugs": 0.001 + }, + "hex_to_rgba": { + "h1": 3, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 9, + "length": 9, + "calculated_length": 20.264662506490406, + "volume": 28.529325012980813, + "difficulty": 1.5, + "effort": 42.793987519471216, + "time": 2.377443751081734, + "bugs": 0.009509775004326938 + }, + "rgba_to_hex": { + "h1": 4, + "h2": 8, + "N1": 5, + "N2": 8, + "vocabulary": 12, + "length": 13, + "calculated_length": 32.0, + "volume": 46.604512509375034, + "difficulty": 2.0, + "effort": 93.20902501875007, + "time": 5.178279167708337, + "bugs": 0.015534837503125011 + }, + "is_valid_hex": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "calculate_dynamic_kernel_size": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "calculate_dynamic_pixel_size": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + } + } + }, + "src\\supervision\\annotators\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\assets\\downloader.py": { + "total": { + "h1": 3, + "h2": 7, + "N1": 5, + "N2": 7, + "vocabulary": 10, + "length": 12, + "calculated_length": 24.406371956566698, + "volume": 39.863137138648355, + "difficulty": 1.5, + "effort": 59.79470570797253, + "time": 3.321928094887363, + "bugs": 0.013287712379549451 + }, + "functions": { + "is_md5_hash_matching": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "download_assets": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 4, + "vocabulary": 6, + "length": 7, + "calculated_length": 10.0, + "volume": 18.094737505048094, + "difficulty": 1.0, + "effort": 18.094737505048094, + "time": 1.0052631947248942, + "bugs": 0.006031579168349364 + } + } + }, + "src\\supervision\\assets\\list.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": { + "__new__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "list": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\assets\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\classification\\core.py": { + "total": { + "h1": 7, + "h2": 22, + "N1": 13, + "N2": 22, + "vocabulary": 29, + "length": 35, + "calculated_length": 117.75898006442377, + "volume": 170.02933482946506, + "difficulty": 3.5, + "effort": 595.1026719031277, + "time": 33.06125955017376, + "bugs": 0.05667644494315502 + }, + "functions": { + "_validate_class_ids": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 5, + "vocabulary": 8, + "length": 8, + "calculated_length": 16.36452797660028, + "volume": 24.0, + "difficulty": 1.5, + "effort": 36.0, + "time": 2.0, + "bugs": 0.008 + }, + "_validate_confidence": { + "h1": 4, + "h2": 7, + "N1": 4, + "N2": 7, + "vocabulary": 11, + "length": 11, + "calculated_length": 27.651484454403228, + "volume": 38.053747805010275, + "difficulty": 2.0, + "effort": 76.10749561002055, + "time": 4.228194200556697, + "bugs": 0.012684582601670092 + }, + "__post_init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__len__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_clip": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "from_ultralytics": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_timm": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "get_top_k": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + } + } + }, + "src\\supervision\\classification\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\dataset\\core.py": { + "total": { + "h1": 9, + "h2": 65, + "N1": 43, + "N2": 81, + "vocabulary": 74, + "length": 124, + "calculated_length": 419.9832328598303, + "volume": 769.97221733799, + "difficulty": 5.607692307692307, + "effort": 4317.7672803030355, + "time": 239.8759600168353, + "bugs": 0.25665740577933 + }, + "functions": { + "__len__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "split": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "__init__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_get_image": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__getitem__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__iter__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__eq__": { + "h1": 3, + "h2": 7, + "N1": 6, + "N2": 10, + "vocabulary": 10, + "length": 16, + "calculated_length": 24.406371956566698, + "volume": 53.1508495181978, + "difficulty": 2.142857142857143, + "effort": 113.89467753899528, + "time": 6.327482085499738, + "bugs": 0.017716949839399268 + }, + "merge": { + "h1": 6, + "h2": 15, + "N1": 9, + "N2": 16, + "vocabulary": 21, + "length": 25, + "calculated_length": 74.11313393845472, + "volume": 109.80793556946902, + "difficulty": 3.2, + "effort": 351.3853938223009, + "time": 19.521410767905607, + "bugs": 0.03660264518982301 + }, + "as_pascal_voc": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_pascal_voc": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_yolo": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_yolo": { + "h1": 4, + "h2": 14, + "N1": 8, + "N2": 17, + "vocabulary": 18, + "length": 25, + "calculated_length": 61.30296890880645, + "volume": 104.2481250360578, + "difficulty": 2.4285714285714284, + "effort": 253.17401794471178, + "time": 14.065223219150655, + "bugs": 0.03474937501201927 + }, + "from_coco": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_coco": { + "h1": 1, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.754887502163469, + "volume": 12.0, + "difficulty": 0.6666666666666666, + "effort": 8.0, + "time": 0.4444444444444444, + "bugs": 0.004 + }, + "as_folder_structure": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_folder_structure": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\dataset\\utils.py": { + "total": { + "h1": 8, + "h2": 21, + "N1": 11, + "N2": 22, + "vocabulary": 29, + "length": 33, + "calculated_length": 116.23866587835397, + "volume": 160.3133728392099, + "difficulty": 4.190476190476191, + "effort": 671.7893718976416, + "time": 37.321631772091195, + "bugs": 0.0534377909464033 + }, + "functions": { + "mask_to_rle": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "rle_to_mask": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "approximate_mask_with_polygons": { + "h1": 2, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 21.651484454403228, + "volume": 38.03910001730775, + "difficulty": 1.1428571428571428, + "effort": 43.47325716263743, + "time": 2.415180953479857, + "bugs": 0.012679700005769252 + }, + "merge_class_lists": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "build_class_index_mapping": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "map_detections_class_id": { + "h1": 3, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 9, + "length": 9, + "calculated_length": 20.264662506490406, + "volume": 28.529325012980813, + "difficulty": 1.5, + "effort": 42.793987519471216, + "time": 2.377443751081734, + "bugs": 0.009509775004326938 + }, + "save_dataset_images": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "train_test_split": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + } + } + }, + "src\\supervision\\dataset\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\dataset\\formats\\coco.py": { + "total": { + "h1": 15, + "h2": 51, + "N1": 31, + "N2": 57, + "vocabulary": 66, + "length": 88, + "calculated_length": 347.8970513746741, + "volume": 531.906682503544, + "difficulty": 8.382352941176471, + "effort": 4458.629544515001, + "time": 247.7016413619445, + "bugs": 0.17730222750118133 + }, + "functions": { + "coco_categories_to_classes": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "build_coco_class_index_mapping": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "classes_to_coco_categories": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "group_coco_annotations_by_image_id": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "coco_annotations_to_masks": { + "h1": 4, + "h2": 7, + "N1": 5, + "N2": 7, + "vocabulary": 11, + "length": 12, + "calculated_length": 27.651484454403228, + "volume": 41.51317942364757, + "difficulty": 2.0, + "effort": 83.02635884729514, + "time": 4.612575491516397, + "bugs": 0.01383772647454919 + }, + "coco_annotations_to_detections": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "_build_coco_segmentation_from_mask": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_build_coco_segmentation_from_raw_data": { + "h1": 4, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 12, + "length": 14, + "calculated_length": 32.0, + "volume": 50.18947501009619, + "difficulty": 2.25, + "effort": 112.92631877271643, + "time": 6.273684376262024, + "bugs": 0.016729825003365395 + }, + "detections_to_coco_annotations": { + "h1": 5, + "h2": 12, + "N1": 7, + "N2": 14, + "vocabulary": 17, + "length": 21, + "calculated_length": 54.62919048309069, + "volume": 85.83671966625714, + "difficulty": 2.9166666666666665, + "effort": 250.3570990265833, + "time": 13.908727723699073, + "bugs": 0.02861223988875238 + }, + "get_coco_class_index_mapping": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "load_coco_annotations": { + "h1": 4, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 11, + "length": 12, + "calculated_length": 27.651484454403228, + "volume": 41.51317942364757, + "difficulty": 2.2857142857142856, + "effort": 94.88726725405158, + "time": 5.27151484744731, + "bugs": 0.01383772647454919 + }, + "_with_seg_mask": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "save_coco_annotations": { + "h1": 3, + "h2": 6, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 20.264662506490406, + "volume": 38.03910001730775, + "difficulty": 2.0, + "effort": 76.0782000346155, + "time": 4.226566668589751, + "bugs": 0.012679700005769252 + } + } + }, + "src\\supervision\\dataset\\formats\\pascal_voc.py": { + "total": { + "h1": 8, + "h2": 33, + "N1": 20, + "N2": 38, + "vocabulary": 41, + "length": 58, + "calculated_length": 190.46500593882897, + "volume": 310.7380162678489, + "difficulty": 4.606060606060606, + "effort": 1431.2781355367586, + "time": 79.51545197426437, + "bugs": 0.10357933875594963 + }, + "functions": { + "object_to_pascal_voc": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 6, + "length": 9, + "calculated_length": 10.0, + "volume": 23.264662506490403, + "difficulty": 1.5, + "effort": 34.89699375973561, + "time": 1.938721875540867, + "bugs": 0.007754887502163467 + }, + "detections_to_pascal_voc": { + "h1": 3, + "h2": 4, + "N1": 3, + "N2": 5, + "vocabulary": 7, + "length": 8, + "calculated_length": 12.75488750216347, + "volume": 22.458839376460833, + "difficulty": 1.875, + "effort": 42.11032383086406, + "time": 2.3394624350480036, + "bugs": 0.007486279792153611 + }, + "load_pascal_voc_annotations": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "detections_from_xml_obj": { + "h1": 5, + "h2": 11, + "N1": 6, + "N2": 12, + "vocabulary": 16, + "length": 18, + "calculated_length": 49.663388279447084, + "volume": 72.0, + "difficulty": 2.727272727272727, + "effort": 196.36363636363635, + "time": 10.909090909090908, + "bugs": 0.024 + }, + "_with_poly_mask": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "parse_polygon_points": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_get_required_text": { + "h1": 2, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.2, + "effort": 30.319433158222125, + "time": 1.6844129532345624, + "bugs": 0.008422064766172813 + } + } + }, + "src\\supervision\\dataset\\formats\\yolo.py": { + "total": { + "h1": 14, + "h2": 71, + "N1": 48, + "N2": 87, + "vocabulary": 85, + "length": 135, + "calculated_length": 489.9350143936389, + "volume": 865.2677763785898, + "difficulty": 8.577464788732394, + "effort": 7421.803884712129, + "time": 412.3224380395627, + "bugs": 0.2884225921261966 + }, + "functions": { + "_parse_box": { + "h1": 3, + "h2": 13, + "N1": 8, + "N2": 16, + "vocabulary": 16, + "length": 24, + "calculated_length": 52.860603837997665, + "volume": 96.0, + "difficulty": 1.8461538461538463, + "effort": 177.23076923076923, + "time": 9.846153846153847, + "bugs": 0.032 + }, + "_box_to_polygon": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_parse_polygon": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "_polygons_to_masks": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_with_seg_mask": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_extract_class_names": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 5, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.0, + "effort": 25.26619429851844, + "time": 1.403677461028802, + "bugs": 0.008422064766172813 + }, + "_image_name_to_annotation_name": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "yolo_annotations_to_detections": { + "h1": 5, + "h2": 13, + "N1": 8, + "N2": 14, + "vocabulary": 18, + "length": 22, + "calculated_length": 59.715356810271004, + "volume": 91.73835003173087, + "difficulty": 2.6923076923076925, + "effort": 246.98786547004468, + "time": 13.721548081669148, + "bugs": 0.030579450010576957 + }, + "load_yolo_annotations": { + "h1": 4, + "h2": 8, + "N1": 6, + "N2": 10, + "vocabulary": 12, + "length": 16, + "calculated_length": 32.0, + "volume": 57.359400011538504, + "difficulty": 2.5, + "effort": 143.39850002884626, + "time": 7.966583334935903, + "bugs": 0.01911980000384617 + }, + "object_to_yolo": { + "h1": 5, + "h2": 13, + "N1": 10, + "N2": 19, + "vocabulary": 18, + "length": 29, + "calculated_length": 59.715356810271004, + "volume": 120.92782504182705, + "difficulty": 3.6538461538461537, + "effort": 441.85166842206036, + "time": 24.547314912336688, + "bugs": 0.04030927501394235 + }, + "detections_to_yolo_annotations": { + "h1": 7, + "h2": 14, + "N1": 9, + "N2": 18, + "vocabulary": 21, + "length": 27, + "calculated_length": 72.95445336320968, + "volume": 118.59257041502654, + "difficulty": 4.5, + "effort": 533.6665668676194, + "time": 29.648142603756632, + "bugs": 0.03953085680500885 + }, + "save_yolo_annotations": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "save_data_yaml": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\dataset\\formats\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\detection\\compact_mask.py": { + "total": { + "h1": 19, + "h2": 207, + "N1": 169, + "N2": 324, + "vocabulary": 226, + "length": 493, + "calculated_length": 1673.2624229577884, + "volume": 3855.348228470688, + "difficulty": 14.869565217391305, + "effort": 57327.351918998924, + "time": 3184.852884388829, + "bugs": 1.285116076156896 + }, + "functions": { + "_rle_area": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_rle_split_cols": { + "h1": 8, + "h2": 19, + "N1": 21, + "N2": 40, + "vocabulary": 27, + "length": 61, + "calculated_length": 104.71062275542812, + "volume": 290.0481376319716, + "difficulty": 8.421052631578947, + "effort": 2442.510632690287, + "time": 135.69503514946038, + "bugs": 0.09668271254399054 + }, + "_rle_scale_col": { + "h1": 6, + "h2": 14, + "N1": 13, + "N2": 24, + "vocabulary": 20, + "length": 37, + "calculated_length": 68.81274391313339, + "volume": 159.91133951083242, + "difficulty": 5.142857142857143, + "effort": 822.4011746271382, + "time": 45.688954145952124, + "bugs": 0.05330377983694414 + }, + "_rle_join_cols": { + "h1": 8, + "h2": 16, + "N1": 12, + "N2": 20, + "vocabulary": 24, + "length": 32, + "calculated_length": 88.0, + "volume": 146.71880002307702, + "difficulty": 5.0, + "effort": 733.5940001153851, + "time": 40.755222228632505, + "bugs": 0.04890626667435901 + }, + "_rle_resize": { + "h1": 6, + "h2": 25, + "N1": 16, + "N2": 32, + "vocabulary": 31, + "length": 48, + "calculated_length": 131.60617974869504, + "volume": 237.80142289857002, + "difficulty": 3.84, + "effort": 913.1574639305088, + "time": 50.7309702183616, + "bugs": 0.07926714096619 + }, + "_resize_crop": { + "h1": 4, + "h2": 10, + "N1": 5, + "N2": 10, + "vocabulary": 14, + "length": 15, + "calculated_length": 41.219280948873624, + "volume": 57.110323830864054, + "difficulty": 2.0, + "effort": 114.22064766172811, + "time": 6.345591536762672, + "bugs": 0.019036774610288017 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_dense": { + "h1": 5, + "h2": 13, + "N1": 14, + "N2": 28, + "vocabulary": 18, + "length": 42, + "calculated_length": 59.715356810271004, + "volume": 175.1368500605771, + "difficulty": 5.384615384615385, + "effort": 943.0445772492614, + "time": 52.39136540273674, + "bugs": 0.05837895002019237 + }, + "to_dense": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "crop": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__len__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__iter__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "shape": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "offsets": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "bbox_xyxy": { + "h1": 3, + "h2": 9, + "N1": 5, + "N2": 10, + "vocabulary": 12, + "length": 15, + "calculated_length": 33.28421251514428, + "volume": 53.77443751081735, + "difficulty": 1.6666666666666667, + "effort": 89.62406251802892, + "time": 4.9791145843349405, + "bugs": 0.017924812503605784 + }, + "dtype": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "area": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "sum": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__getitem__": { + "h1": 3, + "h2": 10, + "N1": 5, + "N2": 10, + "vocabulary": 13, + "length": 15, + "calculated_length": 37.974168451037094, + "volume": 55.506595772116384, + "difficulty": 1.5, + "effort": 83.25989365817458, + "time": 4.625549647676365, + "bugs": 0.01850219859070546 + }, + "__array__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__eq__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "merge": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "repack": { + "h1": 5, + "h2": 12, + "N1": 12, + "N2": 21, + "vocabulary": 17, + "length": 33, + "calculated_length": 54.62919048309069, + "volume": 134.8862737612612, + "difficulty": 4.375, + "effort": 590.1274477055177, + "time": 32.78485820586209, + "bugs": 0.044962091253753736 + }, + "with_offset": { + "h1": 10, + "h2": 37, + "N1": 35, + "N2": 68, + "vocabulary": 47, + "length": 103, + "calculated_length": 225.9690554771448, + "volume": 572.1226517227967, + "difficulty": 9.18918918918919, + "effort": 5257.343286101375, + "time": 292.07462700563195, + "bugs": 0.19070755057426558 + }, + "resize": { + "h1": 8, + "h2": 31, + "N1": 25, + "N2": 50, + "vocabulary": 39, + "length": 75, + "calculated_length": 177.58008562199316, + "volume": 396.40516641466866, + "difficulty": 6.451612903225806, + "effort": 2557.4526865462494, + "time": 142.08070480812498, + "bugs": 0.1321350554715562 + } + } + }, + "src\\supervision\\detection\\core.py": { + "total": { + "h1": 18, + "h2": 262, + "N1": 177, + "N2": 342, + "vocabulary": 280, + "length": 519, + "calculated_length": 2179.8154764287733, + "volume": 4219.097885794437, + "difficulty": 11.748091603053435, + "effort": 49566.34844456213, + "time": 2753.686024697896, + "bugs": 1.4063659619314792 + }, + "functions": { + "__post_init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__len__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__iter__": { + "h1": 1, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 6, + "length": 12, + "calculated_length": 11.60964047443681, + "volume": 31.019550008653873, + "difficulty": 0.8, + "effort": 24.8156400069231, + "time": 1.3786466670512834, + "bugs": 0.010339850002884624 + }, + "__eq__": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "from_yolov5": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_ultralytics": { + "h1": 3, + "h2": 10, + "N1": 8, + "N2": 16, + "vocabulary": 13, + "length": 24, + "calculated_length": 37.974168451037094, + "volume": 88.81055323538621, + "difficulty": 2.4, + "effort": 213.1453277649269, + "time": 11.841407098051494, + "bugs": 0.029603517745128736 + }, + "from_yolo_nas": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_tensorflow": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "from_deepsparse": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_mmdetection": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_transformers": { + "h1": 3, + "h2": 11, + "N1": 7, + "N2": 14, + "vocabulary": 14, + "length": 21, + "calculated_length": 42.808635307173745, + "volume": 79.95445336320968, + "difficulty": 1.9090909090909092, + "effort": 152.64032005703666, + "time": 8.480017780946481, + "bugs": 0.026651484454403226 + }, + "from_detectron2": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_inference": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_sam": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_sam3": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "from_azure_analyze_image": { + "h1": 7, + "h2": 14, + "N1": 10, + "N2": 20, + "vocabulary": 21, + "length": 30, + "calculated_length": 72.95445336320968, + "volume": 131.76952268336282, + "difficulty": 5.0, + "effort": 658.847613416814, + "time": 36.602645189823, + "bugs": 0.04392317422778761 + }, + "from_paddledet": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_lmm": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_vlm": { + "h1": 3, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 19, + "length": 36, + "calculated_length": 68.75488750216347, + "volume": 152.92539048396907, + "difficulty": 2.25, + "effort": 344.0821285889304, + "time": 19.115673810496133, + "bugs": 0.050975130161323025 + }, + "from_easyocr": { + "h1": 3, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 9, + "length": 9, + "calculated_length": 20.264662506490406, + "volume": 28.529325012980813, + "difficulty": 1.5, + "effort": 42.793987519471216, + "time": 2.377443751081734, + "bugs": 0.009509775004326938 + }, + "from_ncnn": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "empty": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "is_empty": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "merge": { + "h1": 3, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 11, + "length": 14, + "calculated_length": 28.75488750216347, + "volume": 48.43204266092217, + "difficulty": 1.6875, + "effort": 81.72907199030617, + "time": 4.540503999461453, + "bugs": 0.016144014220307392 + }, + "get_anchors_coordinates": { + "h1": 4, + "h2": 32, + "N1": 23, + "N2": 46, + "vocabulary": 36, + "length": 69, + "calculated_length": 168.0, + "volume": 356.72482509951953, + "difficulty": 2.875, + "effort": 1025.5838721611187, + "time": 56.97688178672882, + "bugs": 0.11890827503317318 + }, + "__getitem__": { + "h1": 2, + "h2": 7, + "N1": 5, + "N2": 10, + "vocabulary": 9, + "length": 15, + "calculated_length": 21.651484454403228, + "volume": 47.548875021634686, + "difficulty": 1.4285714285714286, + "effort": 67.92696431662098, + "time": 3.7737202398122767, + "bugs": 0.01584962500721156 + }, + "__setitem__": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "area": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "box_area": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "box_aspect_ratio": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "with_nms": { + "h1": 4, + "h2": 9, + "N1": 8, + "N2": 13, + "vocabulary": 13, + "length": 21, + "calculated_length": 36.52932501298081, + "volume": 77.70923408096293, + "difficulty": 2.888888888888889, + "effort": 224.49334290055958, + "time": 12.471852383364421, + "bugs": 0.025903078026987644 + }, + "with_nmm": { + "h1": 4, + "h2": 9, + "N1": 8, + "N2": 13, + "vocabulary": 13, + "length": 21, + "calculated_length": 36.52932501298081, + "volume": 77.70923408096293, + "difficulty": 2.888888888888889, + "effort": 224.49334290055958, + "time": 12.471852383364421, + "bugs": 0.025903078026987644 + }, + "_merge_obb_corners": { + "h1": 3, + "h2": 7, + "N1": 5, + "N2": 8, + "vocabulary": 10, + "length": 13, + "calculated_length": 24.406371956566698, + "volume": 43.18506523353572, + "difficulty": 1.7142857142857142, + "effort": 74.03154040034694, + "time": 4.11286335557483, + "bugs": 0.014395021744511906 + }, + "_merge_detection_group": { + "h1": 9, + "h2": 22, + "N1": 13, + "N2": 26, + "vocabulary": 31, + "length": 39, + "calculated_length": 126.63682062300134, + "volume": 193.21365610508815, + "difficulty": 5.318181818181818, + "effort": 1027.5453529225142, + "time": 57.08585294013968, + "bugs": 0.06440455203502939 + }, + "merge_inner_detection_object_pair": { + "h1": 10, + "h2": 36, + "N1": 26, + "N2": 52, + "vocabulary": 46, + "length": 78, + "calculated_length": 219.33658100079685, + "volume": 430.83783257244704, + "difficulty": 7.222222222222222, + "effort": 3111.6065685787844, + "time": 172.86703158771024, + "bugs": 0.14361261085748234 + }, + "merge_inner_detections_objects": { + "h1": 3, + "h2": 6, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 20.264662506490406, + "volume": 38.03910001730775, + "difficulty": 2.0, + "effort": 76.0782000346155, + "time": 4.226566668589751, + "bugs": 0.012679700005769252 + }, + "merge_inner_detections_objects_without_iou": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_get_sam3_value": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_normalize_sam3_prompt_results": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_normalize_sam3_prompt_result": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_normalize_sam3_prediction": { + "h1": 5, + "h2": 9, + "N1": 5, + "N2": 10, + "vocabulary": 14, + "length": 15, + "calculated_length": 40.13896548741762, + "volume": 57.110323830864054, + "difficulty": 2.7777777777777777, + "effort": 158.6397884190668, + "time": 8.813321578837044, + "bugs": 0.019036774610288017 + }, + "_build_sam3_mask": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_fields_both_defined_or_none": { + "h1": 2, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.2, + "effort": 30.319433158222125, + "time": 1.6844129532345624, + "bugs": 0.008422064766172813 + }, + "validate_fields_both_defined_or_none": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\detection\\line_zone.py": { + "total": { + "h1": 19, + "h2": 146, + "N1": 117, + "N2": 221, + "vocabulary": 165, + "length": 338, + "calculated_length": 1130.4250083519107, + "volume": 2489.8169084150854, + "difficulty": 14.38013698630137, + "effort": 35803.9082138183, + "time": 1989.1060118787946, + "bugs": 0.8299389694716951 + }, + "functions": { + "_multiclass_config_property": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__init__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "in_count": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "out_count": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "in_count_per_class": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "out_count_per_class": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "trigger": { + "h1": 10, + "h2": 17, + "N1": 12, + "N2": 23, + "vocabulary": 27, + "length": 35, + "calculated_length": 102.70614925012941, + "volume": 166.4210625757214, + "difficulty": 6.764705882352941, + "effort": 1125.7895409534094, + "time": 62.54386338630052, + "bugs": 0.05547368752524047 + }, + "_calculate_region_of_interest_limits": { + "h1": 5, + "h2": 9, + "N1": 10, + "N2": 19, + "vocabulary": 14, + "length": 29, + "calculated_length": 40.13896548741762, + "volume": 110.41329273967051, + "difficulty": 5.277777777777778, + "effort": 582.7368227927054, + "time": 32.37426793292808, + "bugs": 0.0368044309132235 + }, + "_compute_anchor_sides": { + "h1": 5, + "h2": 10, + "N1": 7, + "N2": 13, + "vocabulary": 15, + "length": 20, + "calculated_length": 44.82892142331043, + "volume": 78.13781191217038, + "difficulty": 3.25, + "effort": 253.94788871455373, + "time": 14.10821603969743, + "bugs": 0.026045937304056792 + }, + "_update_class_id_to_name": { + "h1": 3, + "h2": 5, + "N1": 5, + "N2": 10, + "vocabulary": 8, + "length": 15, + "calculated_length": 16.36452797660028, + "volume": 45.0, + "difficulty": 3.0, + "effort": 135.0, + "time": 7.5, + "bugs": 0.015 + }, + "annotate": { + "h1": 7, + "h2": 32, + "N1": 28, + "N2": 54, + "vocabulary": 39, + "length": 82, + "calculated_length": 179.65148445440323, + "volume": 433.4029819467044, + "difficulty": 5.90625, + "effort": 2559.786362122723, + "time": 142.2103534512624, + "bugs": 0.14446766064890146 + }, + "_get_line_angle": { + "h1": 5, + "h2": 10, + "N1": 8, + "N2": 16, + "vocabulary": 15, + "length": 24, + "calculated_length": 44.82892142331043, + "volume": 93.76537429460444, + "difficulty": 4.0, + "effort": 375.06149717841777, + "time": 20.836749843245432, + "bugs": 0.03125512476486815 + }, + "_calculate_anchor_in_frame": { + "h1": 5, + "h2": 30, + "N1": 20, + "N2": 40, + "vocabulary": 35, + "length": 60, + "calculated_length": 158.81635834269238, + "volume": 307.756981016698, + "difficulty": 3.3333333333333335, + "effort": 1025.8566033889933, + "time": 56.99203352161074, + "bugs": 0.10258566033889932 + }, + "_draw_basic_label": { + "h1": 3, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 8, + "length": 12, + "calculated_length": 16.36452797660028, + "volume": 36.0, + "difficulty": 2.4, + "effort": 86.39999999999999, + "time": 4.8, + "bugs": 0.012 + }, + "_draw_oriented_label": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_make_label_image": { + "h1": 6, + "h2": 13, + "N1": 10, + "N2": 17, + "vocabulary": 19, + "length": 27, + "calculated_length": 63.61549134016113, + "volume": 114.6940428629768, + "difficulty": 3.923076923076923, + "effort": 449.95355277013977, + "time": 24.997419598341097, + "bugs": 0.03823134762099227 + } + } + }, + "src\\supervision\\detection\\vlm.py": { + "total": { + "h1": 17, + "h2": 151, + "N1": 108, + "N2": 201, + "vocabulary": 168, + "length": 309, + "calculated_length": 1162.4859839393428, + "volume": 2284.226083638637, + "difficulty": 11.314569536423841, + "effort": 25845.03486024246, + "time": 1435.83527001347, + "bugs": 0.7614086945462124 + }, + "functions": { + "list": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_value": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_vlm_parameters": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 5, + "vocabulary": 6, + "length": 8, + "calculated_length": 10.0, + "volume": 20.67970000576925, + "difficulty": 1.25, + "effort": 25.84962500721156, + "time": 1.43609027817842, + "bugs": 0.006893233335256416 + }, + "validate_vlm_parameters": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_paligemma": { + "h1": 6, + "h2": 10, + "N1": 6, + "N2": 12, + "vocabulary": 16, + "length": 18, + "calculated_length": 48.72905595320056, + "volume": 72.0, + "difficulty": 3.6, + "effort": 259.2, + "time": 14.399999999999999, + "bugs": 0.024 + }, + "recover_truncated_qwen_2_5_vl_response": { + "h1": 3, + "h2": 11, + "N1": 12, + "N2": 20, + "vocabulary": 14, + "length": 32, + "calculated_length": 42.808635307173745, + "volume": 121.83535750584332, + "difficulty": 2.727272727272727, + "effort": 332.278247743209, + "time": 18.4599026524005, + "bugs": 0.040611785835281106 + }, + "from_qwen_2_5_vl": { + "h1": 12, + "h2": 23, + "N1": 18, + "N2": 33, + "vocabulary": 35, + "length": 51, + "calculated_length": 147.06147499796518, + "volume": 261.5934338641933, + "difficulty": 8.608695652173912, + "effort": 2251.9782567439247, + "time": 125.10990315244027, + "bugs": 0.08719781128806443 + }, + "from_qwen_3_vl": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_deepseek_vl_2": { + "h1": 5, + "h2": 16, + "N1": 11, + "N2": 22, + "vocabulary": 21, + "length": 33, + "calculated_length": 75.60964047443682, + "volume": 144.94647495169912, + "difficulty": 3.4375, + "effort": 498.2535076464657, + "time": 27.68075042480365, + "bugs": 0.048315491650566374 + }, + "from_florence_2": { + "h1": 7, + "h2": 18, + "N1": 14, + "N2": 26, + "vocabulary": 25, + "length": 40, + "calculated_length": 94.71013448036484, + "volume": 185.75424759098897, + "difficulty": 5.055555555555555, + "effort": 939.0909183766664, + "time": 52.171717687592576, + "bugs": 0.061918082530329654 + }, + "_extract_json_from_backticks": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_build_empty_gemini_2_5_result": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_parse_gemini_2_5_item": { + "h1": 5, + "h2": 11, + "N1": 7, + "N2": 14, + "vocabulary": 16, + "length": 21, + "calculated_length": 49.663388279447084, + "volume": 84.0, + "difficulty": 3.1818181818181817, + "effort": 267.27272727272725, + "time": 14.848484848484848, + "bugs": 0.028 + }, + "_collect_gemini_2_5_items": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "_filter_gemini_2_5_results": { + "h1": 2, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.2, + "effort": 30.319433158222125, + "time": 1.6844129532345624, + "bugs": 0.008422064766172813 + }, + "_build_gemini_2_5_class_id": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_decode_mask_for_item": { + "h1": 5, + "h2": 14, + "N1": 9, + "N2": 16, + "vocabulary": 19, + "length": 25, + "calculated_length": 64.91260938324326, + "volume": 106.19818783608963, + "difficulty": 2.857142857142857, + "effort": 303.42339381739896, + "time": 16.85685521207772, + "bugs": 0.03539939594536321 + }, + "from_google_gemini_2_0": { + "h1": 7, + "h2": 13, + "N1": 8, + "N2": 16, + "vocabulary": 20, + "length": 24, + "calculated_length": 67.75720079023742, + "volume": 103.72627427729671, + "difficulty": 4.3076923076923075, + "effort": 446.8208738098935, + "time": 24.823381878327417, + "bugs": 0.0345754247590989 + }, + "from_google_gemini_2_5": { + "h1": 3, + "h2": 4, + "N1": 3, + "N2": 5, + "vocabulary": 7, + "length": 8, + "calculated_length": 12.75488750216347, + "volume": 22.458839376460833, + "difficulty": 1.875, + "effort": 42.11032383086406, + "time": 2.3394624350480036, + "bugs": 0.007486279792153611 + }, + "from_moondream": { + "h1": 6, + "h2": 14, + "N1": 9, + "N2": 16, + "vocabulary": 20, + "length": 25, + "calculated_length": 68.81274391313339, + "volume": 108.04820237218406, + "difficulty": 3.4285714285714284, + "effort": 370.4509795617739, + "time": 20.580609975654106, + "bugs": 0.03601606745739469 + } + } + }, + "src\\supervision\\detection\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\detection\\tools\\csv_sink.py": { + "total": { + "h1": 7, + "h2": 23, + "N1": 15, + "N2": 27, + "vocabulary": 30, + "length": 42, + "calculated_length": 123.69340944371453, + "volume": 206.0894050155578, + "difficulty": 4.108695652173913, + "effort": 846.7586423465309, + "time": 47.042146797029496, + "bugs": 0.06869646833851926 + }, + "functions": { + "writerow": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__init__": { + "h1": 1, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.754887502163469, + "volume": 12.0, + "difficulty": 0.6666666666666666, + "effort": 8.0, + "time": 0.4444444444444444, + "bugs": 0.004 + }, + "__enter__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__exit__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "open": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "close": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_slice_value": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "parse_detection_data": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "append": { + "h1": 2, + "h2": 3, + "N1": 3, + "N2": 4, + "vocabulary": 5, + "length": 7, + "calculated_length": 6.754887502163469, + "volume": 16.253496664211536, + "difficulty": 1.3333333333333333, + "effort": 21.67132888561538, + "time": 1.2039627158675212, + "bugs": 0.005417832221403845 + }, + "parse_field_names": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + } + } + }, + "src\\supervision\\detection\\tools\\inference_slicer.py": { + "total": { + "h1": 15, + "h2": 110, + "N1": 70, + "N2": 134, + "vocabulary": 125, + "length": 204, + "calculated_length": 804.5529274218403, + "volume": 1421.0199940710659, + "difficulty": 9.136363636363637, + "effort": 12982.955400376557, + "time": 721.2753000209199, + "bugs": 0.47367333135702194 + }, + "functions": { + "move_detections": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 16.36452797660028, + "volume": 27.0, + "difficulty": 1.8, + "effort": 48.6, + "time": 2.7, + "bugs": 0.009 + }, + "__init__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "callback": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "slice_wh": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "overlap_wh": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "iou_threshold": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "overlap_metric": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "overlap_filter": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "thread_workers": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "compact_masks": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__call__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_collect_detections": { + "h1": 7, + "h2": 13, + "N1": 9, + "N2": 16, + "vocabulary": 20, + "length": 25, + "calculated_length": 67.75720079023742, + "volume": 108.04820237218406, + "difficulty": 4.3076923076923075, + "effort": 465.43841021863904, + "time": 25.857689456591057, + "bugs": 0.03601606745739469 + }, + "_probe_remaining_offsets": { + "h1": 4, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 11, + "length": 12, + "calculated_length": 27.651484454403228, + "volume": 41.51317942364757, + "difficulty": 2.2857142857142856, + "effort": 94.88726725405158, + "time": 5.27151484744731, + "bugs": 0.01383772647454919 + }, + "_run_sequential_inference": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_run_parallel_inference": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_warn_obb_sequential_fallback": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 5, + "vocabulary": 8, + "length": 8, + "calculated_length": 16.36452797660028, + "volume": 24.0, + "difficulty": 1.5, + "effort": 36.0, + "time": 2.0, + "bugs": 0.008 + }, + "_apply_overlap_filter": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "_run_callback": { + "h1": 7, + "h2": 27, + "N1": 15, + "N2": 31, + "vocabulary": 34, + "length": 46, + "calculated_length": 148.0334470128169, + "volume": 234.02329069751565, + "difficulty": 4.018518518518518, + "effort": 940.4269274326091, + "time": 52.24594041292273, + "bugs": 0.07800776356583855 + }, + "_normalize_slice_wh": { + "h1": 4, + "h2": 10, + "N1": 6, + "N2": 12, + "vocabulary": 14, + "length": 18, + "calculated_length": 41.219280948873624, + "volume": 68.53238859703687, + "difficulty": 2.4, + "effort": 164.4777326328885, + "time": 9.13765181293825, + "bugs": 0.022844129532345624 + }, + "_normalize_overlap_wh": { + "h1": 4, + "h2": 10, + "N1": 6, + "N2": 12, + "vocabulary": 14, + "length": 18, + "calculated_length": 41.219280948873624, + "volume": 68.53238859703687, + "difficulty": 2.4, + "effort": 164.4777326328885, + "time": 9.13765181293825, + "bugs": 0.022844129532345624 + }, + "_generate_offset": { + "h1": 8, + "h2": 16, + "N1": 13, + "N2": 22, + "vocabulary": 24, + "length": 35, + "calculated_length": 88.0, + "volume": 160.4736875252405, + "difficulty": 5.5, + "effort": 882.6052813888227, + "time": 49.03362674382348, + "bugs": 0.05349122917508017 + }, + "_validate_overlap": { + "h1": 3, + "h2": 9, + "N1": 6, + "N2": 12, + "vocabulary": 12, + "length": 18, + "calculated_length": 33.28421251514428, + "volume": 64.52932501298082, + "difficulty": 2.0, + "effort": 129.05865002596164, + "time": 7.169925001442313, + "bugs": 0.02150977500432694 + } + } + }, + "src\\supervision\\detection\\tools\\json_sink.py": { + "total": { + "h1": 5, + "h2": 15, + "N1": 9, + "N2": 17, + "vocabulary": 20, + "length": 26, + "calculated_length": 70.2129994085646, + "volume": 112.37013046707143, + "difficulty": 2.8333333333333335, + "effort": 318.3820363233691, + "time": 17.687890906853838, + "bugs": 0.03745671015569048 + }, + "functions": { + "__init__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__enter__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__exit__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "open": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "_json_default": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "write_and_close": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_slice_value": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "parse_detection_data": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "append": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\detection\\tools\\polygon_zone.py": { + "total": { + "h1": 8, + "h2": 23, + "N1": 16, + "N2": 31, + "vocabulary": 31, + "length": 47, + "calculated_length": 128.0419249893113, + "volume": 232.84722658818316, + "difficulty": 5.391304347826087, + "effort": 1255.3502650841178, + "time": 69.7416813935621, + "bugs": 0.07761574219606106 + }, + "functions": { + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "trigger": { + "h1": 5, + "h2": 15, + "N1": 11, + "N2": 22, + "vocabulary": 20, + "length": 33, + "calculated_length": 70.2129994085646, + "volume": 142.62362713128297, + "difficulty": 3.6666666666666665, + "effort": 522.9532994813709, + "time": 29.05296108229838, + "bugs": 0.04754120904376099 + }, + "color": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "thickness": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "text_color": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "text_scale": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "text_thickness": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "text_padding": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "display_in_zone_count": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "opacity": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "font": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "center": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "annotate": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + } + } + }, + "src\\supervision\\detection\\tools\\smoother.py": { + "total": { + "h1": 6, + "h2": 19, + "N1": 12, + "N2": 24, + "vocabulary": 25, + "length": 36, + "calculated_length": 96.22039775975506, + "volume": 167.17882283189007, + "difficulty": 3.789473684210526, + "effort": 633.5197496787413, + "time": 35.19554164881896, + "bugs": 0.05572627427729669 + }, + "functions": { + "__init__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "update_with_detections": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 6, + "length": 9, + "calculated_length": 10.0, + "volume": 23.264662506490403, + "difficulty": 1.5, + "effort": 34.89699375973561, + "time": 1.938721875540867, + "bugs": 0.007754887502163467 + }, + "get_track": { + "h1": 3, + "h2": 6, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 20.264662506490406, + "volume": 38.03910001730775, + "difficulty": 2.0, + "effort": 76.0782000346155, + "time": 4.226566668589751, + "bugs": 0.012679700005769252 + }, + "get_smoothed_detections": { + "h1": 4, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 11, + "length": 12, + "calculated_length": 27.651484454403228, + "volume": 41.51317942364757, + "difficulty": 2.2857142857142856, + "effort": 94.88726725405158, + "time": 5.27151484744731, + "bugs": 0.01383772647454919 + } + } + }, + "src\\supervision\\detection\\tools\\transformers.py": { + "total": { + "h1": 4, + "h2": 15, + "N1": 10, + "N2": 20, + "vocabulary": 19, + "length": 30, + "calculated_length": 66.60335893412778, + "volume": 127.43782540330756, + "difficulty": 2.6666666666666665, + "effort": 339.8342010754868, + "time": 18.879677837527044, + "bugs": 0.042479275134435855 + }, + "functions": { + "process_transformers_detection_result": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "process_transformers_v4_segmentation_result": { + "h1": 2, + "h2": 4, + "N1": 4, + "N2": 8, + "vocabulary": 6, + "length": 12, + "calculated_length": 10.0, + "volume": 31.019550008653873, + "difficulty": 2.0, + "effort": 62.039100017307746, + "time": 3.446616667628208, + "bugs": 0.010339850002884624 + }, + "process_transformers_v5_segmentation_result": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "process_transformers_v5_semantic_or_instance_segmentation_result": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "process_transformers_v4_panoptic_segmentation_result": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "process_transformers_v5_panoptic_segmentation_result": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "png_string_to_segmentation_array": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "append_class_names_to_data": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 6.754887502163469, + "volume": 13.931568569324174, + "difficulty": 1.3333333333333333, + "effort": 18.575424759098897, + "time": 1.0319680421721609, + "bugs": 0.004643856189774725 + } + } + }, + "src\\supervision\\detection\\tools\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\detection\\utils\\boxes.py": { + "total": { + "h1": 12, + "h2": 77, + "N1": 60, + "N2": 105, + "vocabulary": 89, + "length": 165, + "calculated_length": 525.5621136421613, + "volume": 1068.4960161094557, + "difficulty": 8.181818181818182, + "effort": 8742.240131804638, + "time": 485.68000732247987, + "bugs": 0.3561653387031519 + }, + "functions": { + "clip_boxes": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "pad_boxes": { + "h1": 3, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 9, + "length": 9, + "calculated_length": 20.264662506490406, + "volume": 28.529325012980813, + "difficulty": 1.5, + "effort": 42.793987519471216, + "time": 2.377443751081734, + "bugs": 0.009509775004326938 + }, + "denormalize_boxes": { + "h1": 2, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 21.651484454403228, + "volume": 38.03910001730775, + "difficulty": 1.1428571428571428, + "effort": 43.47325716263743, + "time": 2.415180953479857, + "bugs": 0.012679700005769252 + }, + "move_boxes": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "move_oriented_boxes": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "obb_polygon_area": { + "h1": 5, + "h2": 16, + "N1": 13, + "N2": 20, + "vocabulary": 21, + "length": 33, + "calculated_length": 75.60964047443682, + "volume": 144.94647495169912, + "difficulty": 3.125, + "effort": 452.9577342240597, + "time": 25.164318568003317, + "bugs": 0.048315491650566374 + }, + "xyxyxyxy_to_xyxy": { + "h1": 3, + "h2": 8, + "N1": 9, + "N2": 12, + "vocabulary": 11, + "length": 21, + "calculated_length": 28.75488750216347, + "volume": 72.64806399138325, + "difficulty": 2.25, + "effort": 163.4581439806123, + "time": 9.081007998922907, + "bugs": 0.024216021330461083 + }, + "scale_boxes": { + "h1": 4, + "h2": 12, + "N1": 8, + "N2": 16, + "vocabulary": 16, + "length": 24, + "calculated_length": 51.01955000865388, + "volume": 96.0, + "difficulty": 2.6666666666666665, + "effort": 256.0, + "time": 14.222222222222221, + "bugs": 0.032 + }, + "spread_out_boxes": { + "h1": 10, + "h2": 24, + "N1": 21, + "N2": 39, + "vocabulary": 34, + "length": 60, + "calculated_length": 143.2583809661814, + "volume": 305.2477704750204, + "difficulty": 8.125, + "effort": 2480.1381351095406, + "time": 137.78545195053005, + "bugs": 0.1017492568250068 + } + } + }, + "src\\supervision\\detection\\utils\\converters.py": { + "total": { + "h1": 17, + "h2": 116, + "N1": 77, + "N2": 148, + "vocabulary": 133, + "length": 225, + "calculated_length": 865.012663736054, + "volume": 1587.4385479877676, + "difficulty": 10.844827586206897, + "effort": 17215.49735662596, + "time": 956.4165198125534, + "bugs": 0.5291461826625892 + }, + "functions": { + "xyxy_to_polygons": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "polygon_to_mask": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "xywh_to_xyxy": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "xyxy_to_xywh": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "xcycwh_to_xyxy": { + "h1": 3, + "h2": 13, + "N1": 8, + "N2": 16, + "vocabulary": 16, + "length": 24, + "calculated_length": 52.860603837997665, + "volume": 96.0, + "difficulty": 1.8461538461538463, + "effort": 177.23076923076923, + "time": 9.846153846153847, + "bugs": 0.032 + }, + "xyxy_to_xcycarh": { + "h1": 5, + "h2": 11, + "N1": 8, + "N2": 16, + "vocabulary": 16, + "length": 24, + "calculated_length": 49.663388279447084, + "volume": 96.0, + "difficulty": 3.6363636363636362, + "effort": 349.09090909090907, + "time": 19.39393939393939, + "bugs": 0.032 + }, + "mask_to_xyxy": { + "h1": 4, + "h2": 10, + "N1": 8, + "N2": 13, + "vocabulary": 14, + "length": 21, + "calculated_length": 41.219280948873624, + "volume": 79.95445336320968, + "difficulty": 2.6, + "effort": 207.88157874434518, + "time": 11.548976596908066, + "bugs": 0.026651484454403226 + }, + "xyxy_to_mask": { + "h1": 4, + "h2": 9, + "N1": 7, + "N2": 14, + "vocabulary": 13, + "length": 21, + "calculated_length": 36.52932501298081, + "volume": 77.70923408096293, + "difficulty": 3.111111111111111, + "effort": 241.762061585218, + "time": 13.431225643623222, + "bugs": 0.025903078026987644 + }, + "mask_to_polygons": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_base48_decode": { + "h1": 11, + "h2": 23, + "N1": 17, + "N2": 32, + "vocabulary": 34, + "length": 49, + "calculated_length": 142.09567279432156, + "volume": 249.28567922126666, + "difficulty": 7.6521739130434785, + "effort": 1907.5773714323016, + "time": 105.97652063512787, + "bugs": 0.08309522640708888 + }, + "_base48_encode": { + "h1": 6, + "h2": 10, + "N1": 8, + "N2": 15, + "vocabulary": 16, + "length": 23, + "calculated_length": 48.72905595320056, + "volume": 92.0, + "difficulty": 4.5, + "effort": 414.0, + "time": 23.0, + "bugs": 0.030666666666666665 + }, + "_delta_decode": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_delta_encode": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "is_compressed_rle": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_mask_to_rle_counts": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 16.36452797660028, + "volume": 27.0, + "difficulty": 1.8, + "effort": 48.6, + "time": 2.7, + "bugs": 0.009 + }, + "_rle_counts_to_mask": { + "h1": 5, + "h2": 9, + "N1": 5, + "N2": 10, + "vocabulary": 14, + "length": 15, + "calculated_length": 40.13896548741762, + "volume": 57.110323830864054, + "difficulty": 2.7777777777777777, + "effort": 158.6397884190668, + "time": 8.813321578837044, + "bugs": 0.019036774610288017 + }, + "rle_to_mask": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "mask_to_rle": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "polygon_to_xyxy": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\detection\\utils\\internal.py": { + "total": { + "h1": 16, + "h2": 99, + "N1": 64, + "N2": 119, + "vocabulary": 115, + "length": 183, + "calculated_length": 720.3063053878814, + "volume": 1252.7246793228207, + "difficulty": 9.616161616161616, + "effort": 12046.402976922478, + "time": 669.2446098290266, + "bugs": 0.4175748931076069 + }, + "functions": { + "extract_ultralytics_masks": { + "h1": 5, + "h2": 22, + "N1": 13, + "N2": 25, + "vocabulary": 27, + "length": 38, + "calculated_length": 109.71713608445735, + "volume": 180.68572508221183, + "difficulty": 2.840909090909091, + "effort": 513.3117189835564, + "time": 28.517317721308686, + "bugs": 0.06022857502740395 + }, + "_decode_rle_mask": { + "h1": 3, + "h2": 8, + "N1": 5, + "N2": 8, + "vocabulary": 11, + "length": 13, + "calculated_length": 28.75488750216347, + "volume": 44.97261104228487, + "difficulty": 1.5, + "effort": 67.4589165634273, + "time": 3.747717586857072, + "bugs": 0.01499087034742829 + }, + "process_roboflow_result": { + "h1": 11, + "h2": 28, + "N1": 21, + "N2": 41, + "vocabulary": 39, + "length": 62, + "calculated_length": 172.65968562262316, + "volume": 327.6949375694594, + "difficulty": 8.053571428571429, + "effort": 2639.114586496896, + "time": 146.61747702760533, + "bugs": 0.10923164585648647 + }, + "is_data_equal": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "is_metadata_equal": { + "h1": 2, + "h2": 8, + "N1": 4, + "N2": 8, + "vocabulary": 10, + "length": 12, + "calculated_length": 26.0, + "volume": 39.863137138648355, + "difficulty": 1.0, + "effort": 39.863137138648355, + "time": 2.2146187299249087, + "bugs": 0.013287712379549451 + }, + "_validate_data_list_keys": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "_validate_data_value_lengths": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_merge_data_values": { + "h1": 2, + "h2": 2, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.0, + "volume": 12.0, + "difficulty": 2.0, + "effort": 24.0, + "time": 1.3333333333333333, + "bugs": 0.004 + }, + "merge_data": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "merge_metadata": { + "h1": 6, + "h2": 13, + "N1": 8, + "N2": 13, + "vocabulary": 19, + "length": 21, + "calculated_length": 63.61549134016113, + "volume": 89.20647778231529, + "difficulty": 3.0, + "effort": 267.61943334694587, + "time": 14.867746297052548, + "bugs": 0.029735492594105097 + }, + "get_data_item": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "cross_product": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + } + } + }, + "src\\supervision\\detection\\utils\\iou_and_nms.py": { + "total": { + "h1": 20, + "h2": 337, + "N1": 218, + "N2": 417, + "vocabulary": 357, + "length": 635, + "calculated_length": 2916.0943731560337, + "volume": 5384.6604676584775, + "difficulty": 12.373887240356083, + "effort": 66629.18145440906, + "time": 3701.6211919116145, + "bugs": 1.7948868225528258 + }, + "functions": { + "list": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_value": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "box_iou": { + "h1": 6, + "h2": 27, + "N1": 15, + "N2": 30, + "vocabulary": 33, + "length": 45, + "calculated_length": 143.89173756274062, + "volume": 226.9977353711304, + "difficulty": 3.3333333333333335, + "effort": 756.659117903768, + "time": 42.03661766132044, + "bugs": 0.07566591179037681 + }, + "box_iou_batch": { + "h1": 6, + "h2": 27, + "N1": 15, + "N2": 30, + "vocabulary": 33, + "length": 45, + "calculated_length": 143.89173756274062, + "volume": 226.9977353711304, + "difficulty": 3.3333333333333335, + "effort": 756.659117903768, + "time": 42.03661766132044, + "bugs": 0.07566591179037681 + }, + "_jaccard": { + "h1": 4, + "h2": 34, + "N1": 19, + "N2": 38, + "vocabulary": 38, + "length": 57, + "calculated_length": 180.97373660251156, + "volume": 299.13186826628436, + "difficulty": 2.235294117647059, + "effort": 668.6477055364004, + "time": 37.14709475202224, + "bugs": 0.09971062275542812 + }, + "box_iou_batch_with_jaccard": { + "h1": 2, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 21.651484454403228, + "volume": 38.03910001730775, + "difficulty": 1.1428571428571428, + "effort": 43.47325716263743, + "time": 2.415180953479857, + "bugs": 0.012679700005769252 + }, + "_polygon_areas": { + "h1": 3, + "h2": 9, + "N1": 6, + "N2": 10, + "vocabulary": 12, + "length": 16, + "calculated_length": 33.28421251514428, + "volume": 57.359400011538504, + "difficulty": 1.6666666666666667, + "effort": 95.59900001923084, + "time": 5.311055556623936, + "bugs": 0.01911980000384617 + }, + "_aabb_envelopes": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_overlapping_envelope_pairs": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "_validate_oriented_box_batch": { + "h1": 4, + "h2": 12, + "N1": 7, + "N2": 14, + "vocabulary": 16, + "length": 21, + "calculated_length": 51.01955000865388, + "volume": 84.0, + "difficulty": 2.3333333333333335, + "effort": 196.0, + "time": 10.88888888888889, + "bugs": 0.028 + }, + "_normalize_oriented_overlap_metric": { + "h1": 1, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.754887502163469, + "volume": 12.0, + "difficulty": 0.6666666666666666, + "effort": 8.0, + "time": 0.4444444444444444, + "bugs": 0.004 + }, + "oriented_box_iou_batch": { + "h1": 9, + "h2": 15, + "N1": 12, + "N2": 22, + "vocabulary": 24, + "length": 34, + "calculated_length": 87.1326839471086, + "volume": 155.88872502451935, + "difficulty": 6.6, + "effort": 1028.8655851618275, + "time": 57.159199175657086, + "bugs": 0.05196290834150645 + }, + "compact_mask_iou_batch": { + "h1": 9, + "h2": 37, + "N1": 28, + "N2": 56, + "vocabulary": 46, + "length": 84, + "calculated_length": 221.27909954125198, + "volume": 463.9792043087891, + "difficulty": 6.8108108108108105, + "effort": 3160.074580697699, + "time": 175.55969892764995, + "bugs": 0.15465973476959638 + }, + "_mask_iou_batch_split": { + "h1": 7, + "h2": 16, + "N1": 9, + "N2": 18, + "vocabulary": 23, + "length": 27, + "calculated_length": 83.65148445440323, + "volume": 122.13617281353935, + "difficulty": 3.9375, + "effort": 480.9111804533112, + "time": 26.717287802961735, + "bugs": 0.040712057604513116 + }, + "mask_iou_batch": { + "h1": 11, + "h2": 40, + "N1": 29, + "N2": 57, + "vocabulary": 51, + "length": 86, + "calculated_length": 250.93087160050476, + "volume": 487.82857940954864, + "difficulty": 7.8375, + "effort": 3823.3564911223375, + "time": 212.40869395124096, + "bugs": 0.16260952646984955 + }, + "mask_non_max_suppression": { + "h1": 6, + "h2": 11, + "N1": 10, + "N2": 18, + "vocabulary": 17, + "length": 28, + "calculated_length": 53.563522809337215, + "volume": 114.44895955500952, + "difficulty": 4.909090909090909, + "effort": 561.8403469064104, + "time": 31.21335260591169, + "bugs": 0.03814965318500317 + }, + "_prepare_predictions_for_nms": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_nms_loop_from_iou_matrix": { + "h1": 6, + "h2": 12, + "N1": 7, + "N2": 12, + "vocabulary": 18, + "length": 19, + "calculated_length": 58.52932501298082, + "volume": 79.22857502740393, + "difficulty": 3.0, + "effort": 237.6857250822118, + "time": 13.204762504567322, + "bugs": 0.026409525009134644 + }, + "box_non_max_suppression": { + "h1": 1, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 4, + "length": 5, + "calculated_length": 4.754887502163469, + "volume": 10.0, + "difficulty": 0.5, + "effort": 5.0, + "time": 0.2777777777777778, + "bugs": 0.0033333333333333335 + }, + "_group_overlapping_masks": { + "h1": 6, + "h2": 9, + "N1": 8, + "N2": 12, + "vocabulary": 15, + "length": 20, + "calculated_length": 44.039100017307746, + "volume": 78.13781191217038, + "difficulty": 4.0, + "effort": 312.5512476486815, + "time": 17.363958202704527, + "bugs": 0.026045937304056792 + }, + "mask_non_max_merge": { + "h1": 1, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 15.509775004326936, + "volume": 25.26619429851844, + "difficulty": 0.5, + "effort": 12.63309714925922, + "time": 0.701838730514401, + "bugs": 0.008422064766172813 + }, + "_greedy_nmm_via_iou_callback": { + "h1": 5, + "h2": 7, + "N1": 6, + "N2": 9, + "vocabulary": 12, + "length": 15, + "calculated_length": 31.26112492884004, + "volume": 53.77443751081735, + "difficulty": 3.2142857142857144, + "effort": 172.84640628477007, + "time": 9.60257812693167, + "bugs": 0.017924812503605784 + }, + "_non_max_merge_per_category": { + "h1": 1, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 15.509775004326936, + "volume": 25.26619429851844, + "difficulty": 0.5, + "effort": 12.63309714925922, + "time": 0.701838730514401, + "bugs": 0.008422064766172813 + }, + "_group_overlapping_boxes": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "box_non_max_merge": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "oriented_box_non_max_suppression": { + "h1": 6, + "h2": 23, + "N1": 14, + "N2": 27, + "vocabulary": 29, + "length": 41, + "calculated_length": 119.55169999363824, + "volume": 199.1772208002305, + "difficulty": 3.5217391304347827, + "effort": 701.4502123834204, + "time": 38.969456243523354, + "bugs": 0.06639240693341016 + }, + "_group_overlapping_oriented_boxes": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "oriented_box_non_max_merge": { + "h1": 6, + "h2": 23, + "N1": 14, + "N2": 27, + "vocabulary": 29, + "length": 41, + "calculated_length": 119.55169999363824, + "volume": 199.1772208002305, + "difficulty": 3.5217391304347827, + "effort": 701.4502123834204, + "time": 38.969456243523354, + "bugs": 0.06639240693341016 + } + } + }, + "src\\supervision\\detection\\utils\\masks.py": { + "total": { + "h1": 14, + "h2": 90, + "N1": 61, + "N2": 117, + "vocabulary": 104, + "length": 178, + "calculated_length": 637.5697475784772, + "volume": 1192.6782698291142, + "difficulty": 9.1, + "effort": 10853.37225544494, + "time": 602.9651253024966, + "bugs": 0.3975594232763714 + }, + "functions": { + "move_masks": { + "h1": 6, + "h2": 27, + "N1": 17, + "N2": 32, + "vocabulary": 33, + "length": 49, + "calculated_length": 143.89173756274062, + "volume": 247.1753118485642, + "difficulty": 3.5555555555555554, + "effort": 878.8455532393393, + "time": 48.824752957741076, + "bugs": 0.08239177061618806 + }, + "calculate_masks_centroids": { + "h1": 3, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 19, + "length": 36, + "calculated_length": 68.75488750216347, + "volume": 152.92539048396907, + "difficulty": 2.25, + "effort": 344.0821285889304, + "time": 19.115673810496133, + "bugs": 0.050975130161323025 + }, + "contains_holes": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 5, + "vocabulary": 8, + "length": 8, + "calculated_length": 16.36452797660028, + "volume": 24.0, + "difficulty": 1.5, + "effort": 36.0, + "time": 2.0, + "bugs": 0.008 + }, + "contains_multiple_segments": { + "h1": 3, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 10, + "length": 12, + "calculated_length": 24.406371956566698, + "volume": 39.863137138648355, + "difficulty": 1.7142857142857142, + "effort": 68.33680652339717, + "time": 3.796489251299843, + "bugs": 0.013287712379549451 + }, + "resize_masks": { + "h1": 3, + "h2": 5, + "N1": 6, + "N2": 12, + "vocabulary": 8, + "length": 18, + "calculated_length": 16.36452797660028, + "volume": 54.0, + "difficulty": 3.6, + "effort": 194.4, + "time": 10.8, + "bugs": 0.018 + }, + "_resolve_distance_threshold": { + "h1": 2, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.2, + "effort": 30.319433158222125, + "time": 1.6844129532345624, + "bugs": 0.008422064766172813 + }, + "_filter_labels_by_centroid_distance": { + "h1": 4, + "h2": 8, + "N1": 4, + "N2": 8, + "vocabulary": 12, + "length": 12, + "calculated_length": 32.0, + "volume": 43.01955000865388, + "difficulty": 2.0, + "effort": 86.03910001730776, + "time": 4.779950000961542, + "bugs": 0.014339850002884626 + }, + "_filter_labels_by_edge_distance": { + "h1": 4, + "h2": 8, + "N1": 6, + "N2": 11, + "vocabulary": 12, + "length": 17, + "calculated_length": 32.0, + "volume": 60.94436251225966, + "difficulty": 2.75, + "effort": 167.59699690871406, + "time": 9.310944272706337, + "bugs": 0.020314787504086555 + }, + "filter_segments_by_distance": { + "h1": 5, + "h2": 9, + "N1": 6, + "N2": 11, + "vocabulary": 14, + "length": 17, + "calculated_length": 40.13896548741762, + "volume": 64.72503367497926, + "difficulty": 3.0555555555555554, + "effort": 197.77093622910328, + "time": 10.987274234950183, + "bugs": 0.021575011224993085 + } + } + }, + "src\\supervision\\detection\\utils\\polygons.py": { + "total": { + "h1": 10, + "h2": 26, + "N1": 20, + "N2": 40, + "vocabulary": 36, + "length": 60, + "calculated_length": 155.43071362054204, + "volume": 310.19550008653874, + "difficulty": 7.6923076923076925, + "effort": 2386.1192314349137, + "time": 132.56217952416188, + "bugs": 0.10339850002884625 + }, + "functions": { + "filter_polygons_by_area": { + "h1": 5, + "h2": 12, + "N1": 10, + "N2": 20, + "vocabulary": 17, + "length": 30, + "calculated_length": 54.62919048309069, + "volume": 122.6238852375102, + "difficulty": 4.166666666666667, + "effort": 510.93285515629253, + "time": 28.38515861979403, + "bugs": 0.040874628412503396 + }, + "approximate_polygon": { + "h1": 8, + "h2": 14, + "N1": 10, + "N2": 20, + "vocabulary": 22, + "length": 30, + "calculated_length": 77.30296890880645, + "volume": 133.78294855911892, + "difficulty": 5.714285714285714, + "effort": 764.4739917663939, + "time": 42.47077732035521, + "bugs": 0.044594316186372975 + } + } + }, + "src\\supervision\\detection\\utils\\vlms.py": { + "total": { + "h1": 7, + "h2": 20, + "N1": 16, + "N2": 31, + "vocabulary": 27, + "length": 47, + "calculated_length": 106.09004635215048, + "volume": 223.47971260168305, + "difficulty": 5.425, + "effort": 1212.3774408641304, + "time": 67.35430227022947, + "bugs": 0.07449323753389435 + }, + "functions": { + "edit_distance": { + "h1": 6, + "h2": 18, + "N1": 15, + "N2": 29, + "vocabulary": 24, + "length": 44, + "calculated_length": 90.56842503028855, + "volume": 201.7383500317309, + "difficulty": 4.833333333333333, + "effort": 975.0686918200327, + "time": 54.1704828788907, + "bugs": 0.06724611667724363 + }, + "fuzzy_match_index": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + } + } + }, + "src\\supervision\\detection\\utils\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\draw\\base.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\draw\\color.py": { + "total": { + "h1": 13, + "h2": 78, + "N1": 60, + "N2": 110, + "vocabulary": 91, + "length": 170, + "calculated_length": 538.3670894070896, + "volume": 1106.3250888337784, + "difficulty": 9.166666666666666, + "effort": 10141.313314309635, + "time": 563.4062952394241, + "bugs": 0.36877502961125946 + }, + "functions": { + "_validate_color_hex": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 5, + "vocabulary": 8, + "length": 8, + "calculated_length": 16.36452797660028, + "volume": 24.0, + "difficulty": 1.5, + "effort": 36.0, + "time": 2.0, + "bugs": 0.008 + }, + "from_hex": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_rgb_tuple": { + "h1": 3, + "h2": 9, + "N1": 8, + "N2": 13, + "vocabulary": 12, + "length": 21, + "calculated_length": 33.28421251514428, + "volume": 75.28421251514429, + "difficulty": 2.1666666666666665, + "effort": 163.11579378281263, + "time": 9.06198854348959, + "bugs": 0.025094737505048096 + }, + "from_bgr_tuple": { + "h1": 3, + "h2": 9, + "N1": 8, + "N2": 13, + "vocabulary": 12, + "length": 21, + "calculated_length": 33.28421251514428, + "volume": 75.28421251514429, + "difficulty": 2.1666666666666665, + "effort": 163.11579378281263, + "time": 9.06198854348959, + "bugs": 0.025094737505048096 + }, + "from_rgba_tuple": { + "h1": 3, + "h2": 11, + "N1": 10, + "N2": 17, + "vocabulary": 14, + "length": 27, + "calculated_length": 42.808635307173745, + "volume": 102.7985828955553, + "difficulty": 2.3181818181818183, + "effort": 238.30580580333276, + "time": 13.239211433518486, + "bugs": 0.03426619429851843 + }, + "from_bgra_tuple": { + "h1": 3, + "h2": 11, + "N1": 10, + "N2": 17, + "vocabulary": 14, + "length": 27, + "calculated_length": 42.808635307173745, + "volume": 102.7985828955553, + "difficulty": 2.3181818181818183, + "effort": 238.30580580333276, + "time": 13.239211433518486, + "bugs": 0.03426619429851843 + }, + "as_hex": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "as_rgb": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_bgr": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_rgba": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_bgra": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "WHITE": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "BLACK": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "GREY": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "RED": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "GREEN": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "BLUE": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "YELLOW": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "ROBOFLOW": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__hash__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__repr__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__eq__": { + "h1": 2, + "h2": 9, + "N1": 5, + "N2": 13, + "vocabulary": 11, + "length": 18, + "calculated_length": 30.529325012980813, + "volume": 62.26976913547136, + "difficulty": 1.4444444444444444, + "effort": 89.94522208456974, + "time": 4.996956782476096, + "bugs": 0.020756589711823786 + }, + "DEFAULT": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "LEGACY": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_matplotlib": { + "h1": 3, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 11, + "length": 15, + "calculated_length": 28.75488750216347, + "volume": 51.89147427955947, + "difficulty": 1.875, + "effort": 97.296514274174, + "time": 5.405361904120777, + "bugs": 0.01729715809318649 + }, + "by_idx": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 6.754887502163469, + "volume": 13.931568569324174, + "difficulty": 1.3333333333333333, + "effort": 18.575424759098897, + "time": 1.0319680421721609, + "bugs": 0.004643856189774725 + }, + "__len__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "unify_to_bgr": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\draw\\utils.py": { + "total": { + "h1": 13, + "h2": 57, + "N1": 57, + "N2": 109, + "vocabulary": 70, + "length": 166, + "calculated_length": 380.5804471432245, + "volume": 1017.4609808128646, + "difficulty": 12.429824561403509, + "effort": 12646.861489577448, + "time": 702.603416087636, + "bugs": 0.33915366027095484 + }, + "functions": { + "draw_line": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "draw_rectangle": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "draw_filled_rectangle": { + "h1": 3, + "h2": 2, + "N1": 4, + "N2": 6, + "vocabulary": 5, + "length": 10, + "calculated_length": 6.754887502163469, + "volume": 23.21928094887362, + "difficulty": 4.5, + "effort": 104.4867642699313, + "time": 5.804820237218405, + "bugs": 0.007739760316291207 + }, + "draw_rounded_rectangle": { + "h1": 4, + "h2": 8, + "N1": 17, + "N2": 32, + "vocabulary": 12, + "length": 49, + "calculated_length": 32.0, + "volume": 175.66316253533668, + "difficulty": 8.0, + "effort": 1405.3053002826935, + "time": 78.07251668237186, + "bugs": 0.058554387511778896 + }, + "draw_polygon": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "draw_filled_polygon": { + "h1": 2, + "h2": 2, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.0, + "volume": 12.0, + "difficulty": 2.0, + "effort": 24.0, + "time": 1.3333333333333333, + "bugs": 0.004 + }, + "draw_text": { + "h1": 4, + "h2": 11, + "N1": 9, + "N2": 18, + "vocabulary": 15, + "length": 27, + "calculated_length": 46.053747805010275, + "volume": 105.48604608143, + "difficulty": 3.272727272727273, + "effort": 345.22705990286187, + "time": 19.179281105714548, + "bugs": 0.03516201536047667 + }, + "draw_image": { + "h1": 10, + "h2": 30, + "N1": 23, + "N2": 45, + "vocabulary": 40, + "length": 68, + "calculated_length": 180.4259988171292, + "volume": 361.8911104523407, + "difficulty": 7.5, + "effort": 2714.1833283925553, + "time": 150.7879626884753, + "bugs": 0.12063037015078022 + }, + "calculate_optimal_text_scale": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "calculate_optimal_line_thickness": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + } + } + }, + "src\\supervision\\draw\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\geometry\\core.py": { + "total": { + "h1": 5, + "h2": 40, + "N1": 28, + "N2": 56, + "vocabulary": 45, + "length": 84, + "calculated_length": 224.4867642699313, + "volume": 461.3156600916927, + "difficulty": 3.5, + "effort": 1614.6048103209243, + "time": 89.70026724005135, + "bugs": 0.15377188669723088 + }, + "functions": { + "list": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_xy_int_tuple": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "as_xy_float_tuple": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "magnitude": { + "h1": 3, + "h2": 7, + "N1": 5, + "N2": 10, + "vocabulary": 10, + "length": 15, + "calculated_length": 24.406371956566698, + "volume": 49.82892142331044, + "difficulty": 2.142857142857143, + "effort": 106.77626019280808, + "time": 5.932014455156004, + "bugs": 0.016609640474436815 + }, + "center": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 7, + "length": 12, + "calculated_length": 13.60964047443681, + "volume": 33.68825906469125, + "difficulty": 1.6, + "effort": 53.901214503506004, + "time": 2.9945119168614447, + "bugs": 0.011229419688230418 + }, + "cross_product": { + "h1": 2, + "h2": 8, + "N1": 7, + "N2": 14, + "vocabulary": 10, + "length": 21, + "calculated_length": 26.0, + "volume": 69.76048999263462, + "difficulty": 1.75, + "effort": 122.08085748711058, + "time": 6.782269860395032, + "bugs": 0.02325349666421154 + }, + "from_xyxy": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "top_left": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "bottom_right": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + }, + "pad": { + "h1": 3, + "h2": 8, + "N1": 6, + "N2": 12, + "vocabulary": 11, + "length": 18, + "calculated_length": 28.75488750216347, + "volume": 62.26976913547136, + "difficulty": 2.25, + "effort": 140.10698055481055, + "time": 7.78372114193392, + "bugs": 0.020756589711823786 + }, + "as_xyxy_int_tuple": { + "h1": 1, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 8.0, + "volume": 13.931568569324174, + "difficulty": 0.5, + "effort": 6.965784284662087, + "time": 0.3869880158145604, + "bugs": 0.004643856189774725 + } + } + }, + "src\\supervision\\geometry\\utils.py": { + "total": { + "h1": 4, + "h2": 10, + "N1": 6, + "N2": 11, + "vocabulary": 14, + "length": 17, + "calculated_length": 41.219280948873624, + "volume": 64.72503367497926, + "difficulty": 2.2, + "effort": 142.3950740849544, + "time": 7.9108374491641325, + "bugs": 0.021575011224993085 + }, + "functions": { + "get_polygon_center": { + "h1": 4, + "h2": 10, + "N1": 6, + "N2": 11, + "vocabulary": 14, + "length": 17, + "calculated_length": 41.219280948873624, + "volume": 64.72503367497926, + "difficulty": 2.2, + "effort": 142.3950740849544, + "time": 7.9108374491641325, + "bugs": 0.021575011224993085 + } + } + }, + "src\\supervision\\geometry\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\keypoint\\annotators.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\keypoint\\core.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\keypoint\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\key_points\\annotators.py": { + "total": { + "h1": 18, + "h2": 121, + "N1": 97, + "N2": 180, + "vocabulary": 139, + "length": 277, + "calculated_length": 912.2411017361876, + "volume": 1971.9466771444115, + "difficulty": 13.388429752066116, + "effort": 26401.269561768157, + "time": 1466.7371978760086, + "bugs": 0.6573155590481372 + }, + "functions": { + "annotate": { + "h1": 4, + "h2": 8, + "N1": 6, + "N2": 9, + "vocabulary": 12, + "length": 15, + "calculated_length": 32.0, + "volume": 53.77443751081735, + "difficulty": 2.25, + "effort": 120.99248439933903, + "time": 6.721804688852169, + "bugs": 0.017924812503605784 + }, + "__init__": { + "h1": 1, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.754887502163469, + "volume": 12.0, + "difficulty": 0.6666666666666666, + "effort": 8.0, + "time": 0.4444444444444444, + "bugs": 0.004 + }, + "_get_covariances": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_decompose_covariance": { + "h1": 4, + "h2": 7, + "N1": 5, + "N2": 7, + "vocabulary": 11, + "length": 12, + "calculated_length": 27.651484454403228, + "volume": 41.51317942364757, + "difficulty": 2.0, + "effort": 83.02635884729514, + "time": 4.612575491516397, + "bugs": 0.01383772647454919 + }, + "_iter_ellipse_params": { + "h1": 5, + "h2": 9, + "N1": 6, + "N2": 11, + "vocabulary": 14, + "length": 17, + "calculated_length": 40.13896548741762, + "volume": 64.72503367497926, + "difficulty": 3.0555555555555554, + "effort": 197.77093622910328, + "time": 10.987274234950183, + "bugs": 0.021575011224993085 + }, + "get_text_bounding_box": { + "h1": 3, + "h2": 9, + "N1": 8, + "N2": 16, + "vocabulary": 12, + "length": 24, + "calculated_length": 33.28421251514428, + "volume": 86.03910001730776, + "difficulty": 2.6666666666666665, + "effort": 229.43760004615402, + "time": 12.746533335897446, + "bugs": 0.028679700005769252 + }, + "_resolve_labels": { + "h1": 3, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 8, + "length": 12, + "calculated_length": 16.36452797660028, + "volume": 36.0, + "difficulty": 2.4, + "effort": 86.39999999999999, + "time": 4.8, + "bugs": 0.012 + }, + "_resolve_color_list": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 5, + "length": 6, + "calculated_length": 6.754887502163469, + "volume": 13.931568569324174, + "difficulty": 1.3333333333333333, + "effort": 18.575424759098897, + "time": 1.0319680421721609, + "bugs": 0.004643856189774725 + } + } + }, + "src\\supervision\\key_points\\core.py": { + "total": { + "h1": 14, + "h2": 158, + "N1": 115, + "N2": 214, + "vocabulary": 172, + "length": 329, + "calculated_length": 1207.3003271207888, + "volume": 2443.24110429699, + "difficulty": 9.481012658227849, + "effort": 23164.399836942353, + "time": 1286.911102052353, + "bugs": 0.81441370143233 + }, + "functions": { + "_optional_array_equal": { + "h1": 3, + "h2": 7, + "N1": 6, + "N2": 12, + "vocabulary": 10, + "length": 18, + "calculated_length": 24.406371956566698, + "volume": 59.794705707972525, + "difficulty": 2.5714285714285716, + "effort": 153.75781467764364, + "time": 8.542100815424646, + "bugs": 0.019931568569324175 + }, + "_normalize_row_index": { + "h1": 2, + "h2": 11, + "N1": 5, + "N2": 11, + "vocabulary": 13, + "length": 16, + "calculated_length": 40.053747805010275, + "volume": 59.207035490257475, + "difficulty": 1.0, + "effort": 59.207035490257475, + "time": 3.2892797494587485, + "bugs": 0.019735678496752493 + }, + "__init__": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "__post_init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "confidence": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__len__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__iter__": { + "h1": 1, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.754887502163469, + "volume": 12.0, + "difficulty": 0.6666666666666666, + "effort": 8.0, + "time": 0.4444444444444444, + "bugs": 0.004 + }, + "__eq__": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "from_inference": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + }, + "from_mediapipe": { + "h1": 4, + "h2": 10, + "N1": 6, + "N2": 11, + "vocabulary": 14, + "length": 17, + "calculated_length": 41.219280948873624, + "volume": 64.72503367497926, + "difficulty": 2.2, + "effort": 142.3950740849544, + "time": 7.9108374491641325, + "bugs": 0.021575011224993085 + }, + "from_ultralytics": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "from_yolo_nas": { + "h1": 4, + "h2": 9, + "N1": 5, + "N2": 10, + "vocabulary": 13, + "length": 15, + "calculated_length": 36.52932501298081, + "volume": 55.506595772116384, + "difficulty": 2.2222222222222223, + "effort": 123.34799060470309, + "time": 6.852666144705727, + "bugs": 0.01850219859070546 + }, + "from_detectron2": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "from_transformers": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_get_by_2d_bool_mask": { + "h1": 7, + "h2": 23, + "N1": 19, + "N2": 37, + "vocabulary": 30, + "length": 56, + "calculated_length": 123.69340944371453, + "volume": 274.78587335407707, + "difficulty": 5.630434782608695, + "effort": 1547.1639391023034, + "time": 85.95355217235019, + "bugs": 0.0915952911180257 + }, + "_normalize_getitem_index": { + "h1": 3, + "h2": 17, + "N1": 10, + "N2": 19, + "vocabulary": 20, + "length": 29, + "calculated_length": 74.24175580341925, + "volume": 125.33591475173351, + "difficulty": 1.6764705882352942, + "effort": 210.12197473084737, + "time": 11.673443040602631, + "bugs": 0.041778638250577836 + }, + "_select_fields": { + "h1": 1, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 6, + "length": 12, + "calculated_length": 11.60964047443681, + "volume": 31.019550008653873, + "difficulty": 0.8, + "effort": 24.8156400069231, + "time": 1.3786466670512834, + "bugs": 0.010339850002884624 + }, + "_reshape_selected": { + "h1": 4, + "h2": 15, + "N1": 14, + "N2": 28, + "vocabulary": 19, + "length": 42, + "calculated_length": 66.60335893412778, + "volume": 178.41295556463058, + "difficulty": 3.7333333333333334, + "effort": 666.0750341079541, + "time": 37.00416856155301, + "bugs": 0.059470985188210194 + }, + "_getitem_by_normalized_index": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__getitem__": { + "h1": 2, + "h2": 7, + "N1": 3, + "N2": 7, + "vocabulary": 9, + "length": 10, + "calculated_length": 21.651484454403228, + "volume": 31.699250014423125, + "difficulty": 1.0, + "effort": 31.699250014423125, + "time": 1.7610694452457292, + "bugs": 0.010566416671474375 + }, + "__setitem__": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "empty": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "is_empty": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "with_nms": { + "h1": 8, + "h2": 14, + "N1": 15, + "N2": 22, + "vocabulary": 22, + "length": 37, + "calculated_length": 77.30296890880645, + "volume": 164.99896988958, + "difficulty": 6.285714285714286, + "effort": 1037.1363821630741, + "time": 57.61868789794856, + "bugs": 0.05499965662986 + }, + "as_detections": { + "h1": 5, + "h2": 9, + "N1": 8, + "N2": 12, + "vocabulary": 14, + "length": 20, + "calculated_length": 40.13896548741762, + "volume": 76.14709844115208, + "difficulty": 3.3333333333333335, + "effort": 253.82366147050695, + "time": 14.101314526139275, + "bugs": 0.025382366147050694 + } + } + }, + "src\\supervision\\key_points\\skeletons.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\key_points\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\metrics\\core.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": { + "update": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "compute": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\metrics\\detection.py": { + "total": { + "h1": 18, + "h2": 147, + "N1": 97, + "N2": 182, + "vocabulary": 165, + "length": 279, + "calculated_length": 1133.4104847169074, + "volume": 2055.2038977745824, + "difficulty": 11.142857142857142, + "effort": 22900.843432345344, + "time": 1272.2690795747412, + "bugs": 0.6850679659248609 + }, + "functions": { + "_assert_supported_target": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "detections_to_tensor": { + "h1": 7, + "h2": 20, + "N1": 13, + "N2": 24, + "vocabulary": 27, + "length": 37, + "calculated_length": 106.09004635215048, + "volume": 175.93083758004835, + "difficulty": 4.2, + "effort": 738.9095178362031, + "time": 41.05052876867795, + "bugs": 0.058643612526682785 + }, + "_validate_input_tensors": { + "h1": 5, + "h2": 14, + "N1": 9, + "N2": 16, + "vocabulary": 19, + "length": 25, + "calculated_length": 64.91260938324326, + "volume": 106.19818783608963, + "difficulty": 2.857142857142857, + "effort": 303.42339381739896, + "time": 16.85685521207772, + "bugs": 0.03539939594536321 + }, + "_get_coordinate_metadata": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_validate_detection_batch_shapes": { + "h1": 3, + "h2": 12, + "N1": 8, + "N2": 16, + "vocabulary": 15, + "length": 24, + "calculated_length": 47.77443751081735, + "volume": 93.76537429460444, + "difficulty": 2.0, + "effort": 187.53074858920888, + "time": 10.418374921622716, + "bugs": 0.03125512476486815 + }, + "_try_early_exit": { + "h1": 2, + "h2": 6, + "N1": 4, + "N2": 8, + "vocabulary": 8, + "length": 12, + "calculated_length": 17.509775004326936, + "volume": 36.0, + "difficulty": 1.3333333333333333, + "effort": 48.0, + "time": 2.6666666666666665, + "bugs": 0.012 + }, + "_get_iou_batch": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_fill_confusion_matrix_from_iou": { + "h1": 7, + "h2": 18, + "N1": 13, + "N2": 24, + "vocabulary": 25, + "length": 37, + "calculated_length": 94.71013448036484, + "volume": 171.8226790216648, + "difficulty": 4.666666666666667, + "effort": 801.8391687677691, + "time": 44.54662048709829, + "bugs": 0.057274226340554936 + }, + "validate_input_tensors": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__eq__": { + "h1": 3, + "h2": 8, + "N1": 5, + "N2": 11, + "vocabulary": 11, + "length": 16, + "calculated_length": 28.75488750216347, + "volume": 55.350905898196764, + "difficulty": 2.0625, + "effort": 114.16124341503082, + "time": 6.342291300835046, + "bugs": 0.018450301966065587 + }, + "from_detections": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "from_tensors": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "evaluate_detection_batch": { + "h1": 3, + "h2": 6, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 20.264662506490406, + "volume": 38.03910001730775, + "difficulty": 2.0, + "effort": 76.0782000346155, + "time": 4.226566668589751, + "bugs": 0.012679700005769252 + }, + "_drop_extra_matches": { + "h1": 2, + "h2": 3, + "N1": 3, + "N2": 4, + "vocabulary": 5, + "length": 7, + "calculated_length": 6.754887502163469, + "volume": 16.253496664211536, + "difficulty": 1.3333333333333333, + "effort": 21.67132888561538, + "time": 1.2039627158675212, + "bugs": 0.005417832221403845 + }, + "benchmark": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "plot": { + "h1": 9, + "h2": 23, + "N1": 15, + "N2": 27, + "vocabulary": 32, + "length": 42, + "calculated_length": 132.57125000229212, + "volume": 210.0, + "difficulty": 5.282608695652174, + "effort": 1109.3478260869565, + "time": 61.630434782608695, + "bugs": 0.07 + }, + "compute_average_precision": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_match_detection_batch": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 13, + "length": 14, + "calculated_length": 35.60964047443681, + "volume": 51.80615605397529, + "difficulty": 2.8125, + "effort": 145.70481390180552, + "time": 8.09471188343364, + "bugs": 0.01726871868465843 + }, + "_average_precisions_per_class": { + "h1": 6, + "h2": 15, + "N1": 10, + "N2": 19, + "vocabulary": 21, + "length": 29, + "calculated_length": 74.11313393845472, + "volume": 127.37720526058406, + "difficulty": 3.8, + "effort": 484.03337999021943, + "time": 26.890743332789967, + "bugs": 0.04245906842019469 + } + } + }, + "src\\supervision\\metrics\\f1_score.py": { + "total": { + "h1": 16, + "h2": 149, + "N1": 106, + "N2": 206, + "vocabulary": 165, + "length": 312, + "calculated_length": 1139.656109548862, + "volume": 2298.2925308446943, + "difficulty": 11.060402684563758, + "effort": 25420.04087806749, + "time": 1412.2244932259719, + "bugs": 0.7660975102815648 + }, + "functions": { + "__init__": { + "h1": 2, + "h2": 8, + "N1": 5, + "N2": 11, + "vocabulary": 10, + "length": 16, + "calculated_length": 26.0, + "volume": 53.1508495181978, + "difficulty": 1.375, + "effort": 73.08241808752197, + "time": 4.060134338195665, + "bugs": 0.017716949839399268 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "update": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 4, + "vocabulary": 6, + "length": 7, + "calculated_length": 10.0, + "volume": 18.094737505048094, + "difficulty": 1.0, + "effort": 18.094737505048094, + "time": 1.0052631947248942, + "bugs": 0.006031579168349364 + }, + "compute": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_compute": { + "h1": 7, + "h2": 17, + "N1": 14, + "N2": 27, + "vocabulary": 24, + "length": 41, + "calculated_length": 89.13835275565901, + "volume": 187.98346252956745, + "difficulty": 5.5588235294117645, + "effort": 1044.9668946496543, + "time": 58.05371636942524, + "bugs": 0.06266115417652249 + }, + "_compute_f1_for_classes": { + "h1": 2, + "h2": 7, + "N1": 5, + "N2": 9, + "vocabulary": 9, + "length": 14, + "calculated_length": 21.651484454403228, + "volume": 44.37895002019238, + "difficulty": 1.2857142857142858, + "effort": 57.05865002596163, + "time": 3.169925001442313, + "bugs": 0.014792983340064125 + }, + "_match_detection_batch": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 13, + "length": 14, + "calculated_length": 35.60964047443681, + "volume": 51.80615605397529, + "difficulty": 2.8125, + "effort": 145.70481390180552, + "time": 8.09471188343364, + "bugs": 0.01726871868465843 + }, + "_compute_confusion_matrix": { + "h1": 2, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 10, + "length": 15, + "calculated_length": 26.0, + "volume": 49.82892142331044, + "difficulty": 1.25, + "effort": 62.28615177913805, + "time": 3.4603417655076694, + "bugs": 0.016609640474436815 + }, + "_compute_f1": { + "h1": 6, + "h2": 13, + "N1": 9, + "N2": 16, + "vocabulary": 19, + "length": 25, + "calculated_length": 63.61549134016113, + "volume": 106.19818783608963, + "difficulty": 3.6923076923076925, + "effort": 392.11638585633096, + "time": 21.784243658685053, + "bugs": 0.03539939594536321 + }, + "_detections_content": { + "h1": 4, + "h2": 11, + "N1": 7, + "N2": 14, + "vocabulary": 15, + "length": 21, + "calculated_length": 46.053747805010275, + "volume": 82.0447025077789, + "difficulty": 2.5454545454545454, + "effort": 208.84106092889172, + "time": 11.602281162716206, + "bugs": 0.02734823416925963 + }, + "_make_empty_content": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "_filter_detections_by_size": { + "h1": 3, + "h2": 12, + "N1": 8, + "N2": 16, + "vocabulary": 15, + "length": 24, + "calculated_length": 47.77443751081735, + "volume": 93.76537429460444, + "difficulty": 2.0, + "effort": 187.53074858920888, + "time": 10.418374921622716, + "bugs": 0.03125512476486815 + }, + "_filter_predictions_and_targets_by_size": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "f1_50": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "f1_75": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_ensure_size_results": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "small_objects": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "medium_objects": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "large_objects": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__str__": { + "h1": 3, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 19, + "length": 36, + "calculated_length": 68.75488750216347, + "volume": 152.92539048396907, + "difficulty": 2.25, + "effort": 344.0821285889304, + "time": 19.115673810496133, + "bugs": 0.050975130161323025 + }, + "to_pandas": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "plot": { + "h1": 4, + "h2": 26, + "N1": 19, + "N2": 38, + "vocabulary": 30, + "length": 57, + "calculated_length": 130.2114326716684, + "volume": 279.69276394968557, + "difficulty": 2.923076923076923, + "effort": 817.563463852927, + "time": 45.42019243627372, + "bugs": 0.09323092131656185 + } + } + }, + "src\\supervision\\metrics\\mean_average_precision.py": { + "total": { + "h1": 21, + "h2": 314, + "N1": 244, + "N2": 445, + "vocabulary": 335, + "length": 689, + "calculated_length": 2696.7495810303244, + "volume": 5779.343909602799, + "difficulty": 14.880573248407643, + "effort": 85999.95037458304, + "time": 4777.775020810169, + "bugs": 1.9264479698675996 + }, + "functions": { + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "map50_95": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 6, + "vocabulary": 7, + "length": 10, + "calculated_length": 13.60964047443681, + "volume": 28.07354922057604, + "difficulty": 1.2, + "effort": 33.688259064691245, + "time": 1.8715699480384025, + "bugs": 0.009357849740192013 + }, + "map50": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "map75": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "small_objects": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 7, + "length": 12, + "calculated_length": 13.60964047443681, + "volume": 33.68825906469125, + "difficulty": 1.6, + "effort": 53.901214503506004, + "time": 2.9945119168614447, + "bugs": 0.011229419688230418 + }, + "medium_objects": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 7, + "length": 12, + "calculated_length": 13.60964047443681, + "volume": 33.68825906469125, + "difficulty": 1.6, + "effort": 53.901214503506004, + "time": 2.9945119168614447, + "bugs": 0.011229419688230418 + }, + "large_objects": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 7, + "length": 12, + "calculated_length": 13.60964047443681, + "volume": 33.68825906469125, + "difficulty": 1.6, + "effort": 53.901214503506004, + "time": 2.9945119168614447, + "bugs": 0.011229419688230418 + }, + "__str__": { + "h1": 2, + "h2": 7, + "N1": 4, + "N2": 9, + "vocabulary": 9, + "length": 13, + "calculated_length": 21.651484454403228, + "volume": 41.20902501875006, + "difficulty": 1.2857142857142858, + "effort": 52.98303216696437, + "time": 2.943501787053576, + "bugs": 0.013736341672916687 + }, + "to_pandas": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "plot": { + "h1": 4, + "h2": 27, + "N1": 19, + "N2": 38, + "vocabulary": 31, + "length": 57, + "calculated_length": 136.38196255841368, + "volume": 282.3891896920519, + "difficulty": 2.814814814814815, + "effort": 794.8732746887387, + "time": 44.159626371596595, + "bugs": 0.09412972989735063 + }, + "empty": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "create_class_members": { + "h1": 2, + "h2": 6, + "N1": 6, + "N2": 12, + "vocabulary": 8, + "length": 18, + "calculated_length": 17.509775004326936, + "volume": 54.0, + "difficulty": 2.0, + "effort": 108.0, + "time": 6.0, + "bugs": 0.018 + }, + "get_annotation_ids": { + "h1": 6, + "h2": 15, + "N1": 12, + "N2": 19, + "vocabulary": 21, + "length": 31, + "calculated_length": 74.11313393845472, + "volume": 136.16184010614157, + "difficulty": 3.8, + "effort": 517.4149924033379, + "time": 28.745277355740996, + "bugs": 0.04538728003538052 + }, + "get_category_ids": { + "h1": 3, + "h2": 9, + "N1": 10, + "N2": 15, + "vocabulary": 12, + "length": 25, + "calculated_length": 33.28421251514428, + "volume": 89.62406251802891, + "difficulty": 2.5, + "effort": 224.06015629507226, + "time": 12.447786460837348, + "bugs": 0.029874687506009637 + }, + "get_image_ids": { + "h1": 4, + "h2": 10, + "N1": 7, + "N2": 11, + "vocabulary": 14, + "length": 18, + "calculated_length": 41.219280948873624, + "volume": 68.53238859703687, + "difficulty": 2.2, + "effort": 150.77125491348113, + "time": 8.37618082852673, + "bugs": 0.022844129532345624 + }, + "get_annotations": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "load_predictions": { + "h1": 8, + "h2": 28, + "N1": 17, + "N2": 32, + "vocabulary": 36, + "length": 49, + "calculated_length": 158.6059378176129, + "volume": 253.3263250706733, + "difficulty": 4.571428571428571, + "effort": 1158.0632003230778, + "time": 64.33684446239322, + "bugs": 0.0844421083568911 + }, + "eval_imgs": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "results": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "stats": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "ious": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_targets": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_predictions": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_prepare_targets_and_predictions": { + "h1": 2, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.2, + "effort": 30.319433158222125, + "time": 1.6844129532345624, + "bugs": 0.008422064766172813 + }, + "_compute_iou": { + "h1": 4, + "h2": 9, + "N1": 7, + "N2": 11, + "vocabulary": 13, + "length": 18, + "calculated_length": 36.52932501298081, + "volume": 66.60791492653966, + "difficulty": 2.4444444444444446, + "effort": 162.81934759820808, + "time": 9.04551931101156, + "bugs": 0.022202638308846556 + }, + "_evaluate_image": { + "h1": 11, + "h2": 35, + "N1": 27, + "N2": 48, + "vocabulary": 46, + "length": 75, + "calculated_length": 217.5786533980841, + "volume": 414.267146704276, + "difficulty": 7.542857142857143, + "effort": 3124.7579065693963, + "time": 173.59766147607758, + "bugs": 0.13808904890142534 + }, + "_initialize_accumulation": { + "h1": 1, + "h2": 3, + "N1": 3, + "N2": 3, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.754887502163469, + "volume": 12.0, + "difficulty": 0.5, + "effort": 6.0, + "time": 0.3333333333333333, + "bugs": 0.004 + }, + "_select_evaluation_indices": { + "h1": 1, + "h2": 8, + "N1": 4, + "N2": 8, + "vocabulary": 9, + "length": 12, + "calculated_length": 24.0, + "volume": 38.03910001730775, + "difficulty": 0.5, + "effort": 19.019550008653876, + "time": 1.0566416671474377, + "bugs": 0.012679700005769252 + }, + "_compute_raw_metrics": { + "h1": 11, + "h2": 34, + "N1": 27, + "N2": 49, + "vocabulary": 45, + "length": 76, + "calculated_length": 211.02748440752185, + "volume": 417.38083532105526, + "difficulty": 7.926470588235294, + "effort": 3308.3569152654236, + "time": 183.79760640363463, + "bugs": 0.13912694510701842 + }, + "_compute_average_precision": { + "h1": 3, + "h2": 6, + "N1": 4, + "N2": 6, + "vocabulary": 9, + "length": 10, + "calculated_length": 20.264662506490406, + "volume": 31.699250014423125, + "difficulty": 1.5, + "effort": 47.548875021634686, + "time": 2.6416041678685938, + "bugs": 0.010566416671474375 + }, + "_compute_average_precision_by_size": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_accumulate": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_pycocotools_summarize": { + "h1": 6, + "h2": 11, + "N1": 13, + "N2": 22, + "vocabulary": 17, + "length": 35, + "calculated_length": 53.563522809337215, + "volume": 143.0611994437619, + "difficulty": 6.0, + "effort": 858.3671966625714, + "time": 47.687066481253964, + "bugs": 0.04768706648125397 + }, + "evaluate": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "update": { + "h1": 4, + "h2": 7, + "N1": 7, + "N2": 10, + "vocabulary": 11, + "length": 17, + "calculated_length": 27.651484454403228, + "volume": 58.81033751683406, + "difficulty": 2.857142857142857, + "effort": 168.02953576238303, + "time": 9.33497420902128, + "bugs": 0.019603445838944685 + }, + "_prepare_targets": { + "h1": 7, + "h2": 20, + "N1": 16, + "N2": 32, + "vocabulary": 27, + "length": 48, + "calculated_length": 106.09004635215048, + "volume": 228.2346001038465, + "difficulty": 5.6, + "effort": 1278.1137605815404, + "time": 71.0063200323078, + "bugs": 0.0760782000346155 + }, + "_prepare_predictions": { + "h1": 7, + "h2": 18, + "N1": 13, + "N2": 26, + "vocabulary": 25, + "length": 39, + "calculated_length": 94.71013448036484, + "volume": 181.11039140121426, + "difficulty": 5.055555555555555, + "effort": 915.6136454172498, + "time": 50.867424745402765, + "bugs": 0.06037013046707142 + }, + "compute": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + } + } + }, + "src\\supervision\\metrics\\mean_average_recall.py": { + "total": { + "h1": 17, + "h2": 134, + "N1": 96, + "N2": 186, + "vocabulary": 151, + "length": 282, + "calculated_length": 1016.3428198225972, + "volume": 2041.2301364896723, + "difficulty": 11.798507462686567, + "effort": 24083.46899843412, + "time": 1337.9704999130067, + "bugs": 0.6804100454965575 + }, + "functions": { + "_ensure_size_results": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "small_objects": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "medium_objects": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "large_objects": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "mAR_at_1": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "mAR_at_10": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "mAR_at_100": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__str__": { + "h1": 3, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 19, + "length": 36, + "calculated_length": 68.75488750216347, + "volume": 152.92539048396907, + "difficulty": 2.25, + "effort": 344.0821285889304, + "time": 19.115673810496133, + "bugs": 0.050975130161323025 + }, + "to_pandas": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "plot": { + "h1": 4, + "h2": 27, + "N1": 19, + "N2": 38, + "vocabulary": 31, + "length": 57, + "calculated_length": 136.38196255841368, + "volume": 282.3891896920519, + "difficulty": 2.814814814814815, + "effort": 794.8732746887387, + "time": 44.159626371596595, + "bugs": 0.09412972989735063 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "update": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 4, + "vocabulary": 6, + "length": 7, + "calculated_length": 10.0, + "volume": 18.094737505048094, + "difficulty": 1.0, + "effort": 18.094737505048094, + "time": 1.0052631947248942, + "bugs": 0.006031579168349364 + }, + "compute": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_compute": { + "h1": 5, + "h2": 11, + "N1": 9, + "N2": 16, + "vocabulary": 16, + "length": 25, + "calculated_length": 49.663388279447084, + "volume": 100.0, + "difficulty": 3.6363636363636362, + "effort": 363.6363636363636, + "time": 20.2020202020202, + "bugs": 0.03333333333333333 + }, + "_compute_average_recall_for_classes": { + "h1": 1, + "h2": 2, + "N1": 2, + "N2": 4, + "vocabulary": 3, + "length": 6, + "calculated_length": 2.0, + "volume": 9.509775004326938, + "difficulty": 1.0, + "effort": 9.509775004326938, + "time": 0.5283208335737188, + "bugs": 0.003169925001442313 + }, + "_match_detection_batch": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 13, + "length": 14, + "calculated_length": 35.60964047443681, + "volume": 51.80615605397529, + "difficulty": 2.8125, + "effort": 145.70481390180552, + "time": 8.09471188343364, + "bugs": 0.01726871868465843 + }, + "_compute_confusion_matrix": { + "h1": 2, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 10, + "length": 15, + "calculated_length": 26.0, + "volume": 49.82892142331044, + "difficulty": 1.25, + "effort": 62.28615177913805, + "time": 3.4603417655076694, + "bugs": 0.016609640474436815 + }, + "_compute_recall": { + "h1": 5, + "h2": 8, + "N1": 6, + "N2": 10, + "vocabulary": 13, + "length": 16, + "calculated_length": 35.60964047443681, + "volume": 59.207035490257475, + "difficulty": 3.125, + "effort": 185.0219859070546, + "time": 10.27899921705859, + "bugs": 0.019735678496752493 + }, + "_detections_content": { + "h1": 4, + "h2": 11, + "N1": 7, + "N2": 14, + "vocabulary": 15, + "length": 21, + "calculated_length": 46.053747805010275, + "volume": 82.0447025077789, + "difficulty": 2.5454545454545454, + "effort": 208.84106092889172, + "time": 11.602281162716206, + "bugs": 0.02734823416925963 + }, + "_make_empty_content": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "_filter_detections_by_size": { + "h1": 3, + "h2": 12, + "N1": 8, + "N2": 16, + "vocabulary": 15, + "length": 24, + "calculated_length": 47.77443751081735, + "volume": 93.76537429460444, + "difficulty": 2.0, + "effort": 187.53074858920888, + "time": 10.418374921622716, + "bugs": 0.03125512476486815 + }, + "_filter_predictions_and_targets_by_size": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\metrics\\precision.py": { + "total": { + "h1": 16, + "h2": 150, + "N1": 112, + "N2": 218, + "vocabulary": 166, + "length": 330, + "calculated_length": 1148.322803574382, + "volume": 2433.7630123444856, + "difficulty": 11.626666666666667, + "effort": 28296.551290191885, + "time": 1572.0306272328826, + "bugs": 0.8112543374481619 + }, + "functions": { + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "precision_at_50": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "precision_at_75": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "small_objects": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 7, + "length": 12, + "calculated_length": 13.60964047443681, + "volume": 33.68825906469125, + "difficulty": 1.6, + "effort": 53.901214503506004, + "time": 2.9945119168614447, + "bugs": 0.011229419688230418 + }, + "medium_objects": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 7, + "length": 12, + "calculated_length": 13.60964047443681, + "volume": 33.68825906469125, + "difficulty": 1.6, + "effort": 53.901214503506004, + "time": 2.9945119168614447, + "bugs": 0.011229419688230418 + }, + "large_objects": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 8, + "vocabulary": 7, + "length": 12, + "calculated_length": 13.60964047443681, + "volume": 33.68825906469125, + "difficulty": 1.6, + "effort": 53.901214503506004, + "time": 2.9945119168614447, + "bugs": 0.011229419688230418 + }, + "__str__": { + "h1": 3, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 19, + "length": 36, + "calculated_length": 68.75488750216347, + "volume": 152.92539048396907, + "difficulty": 2.25, + "effort": 344.0821285889304, + "time": 19.115673810496133, + "bugs": 0.050975130161323025 + }, + "to_pandas": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "plot": { + "h1": 4, + "h2": 26, + "N1": 19, + "N2": 38, + "vocabulary": 30, + "length": 57, + "calculated_length": 130.2114326716684, + "volume": 279.69276394968557, + "difficulty": 2.923076923076923, + "effort": 817.563463852927, + "time": 45.42019243627372, + "bugs": 0.09323092131656185 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "update": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 4, + "vocabulary": 6, + "length": 7, + "calculated_length": 10.0, + "volume": 18.094737505048094, + "difficulty": 1.0, + "effort": 18.094737505048094, + "time": 1.0052631947248942, + "bugs": 0.006031579168349364 + }, + "compute": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_compute": { + "h1": 7, + "h2": 17, + "N1": 14, + "N2": 27, + "vocabulary": 24, + "length": 41, + "calculated_length": 89.13835275565901, + "volume": 187.98346252956745, + "difficulty": 5.5588235294117645, + "effort": 1044.9668946496543, + "time": 58.05371636942524, + "bugs": 0.06266115417652249 + }, + "_compute_precision_for_classes": { + "h1": 2, + "h2": 7, + "N1": 5, + "N2": 9, + "vocabulary": 9, + "length": 14, + "calculated_length": 21.651484454403228, + "volume": 44.37895002019238, + "difficulty": 1.2857142857142858, + "effort": 57.05865002596163, + "time": 3.169925001442313, + "bugs": 0.014792983340064125 + }, + "_match_detection_batch": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 13, + "length": 14, + "calculated_length": 35.60964047443681, + "volume": 51.80615605397529, + "difficulty": 2.8125, + "effort": 145.70481390180552, + "time": 8.09471188343364, + "bugs": 0.01726871868465843 + }, + "_compute_confusion_matrix": { + "h1": 2, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 10, + "length": 15, + "calculated_length": 26.0, + "volume": 49.82892142331044, + "difficulty": 1.25, + "effort": 62.28615177913805, + "time": 3.4603417655076694, + "bugs": 0.016609640474436815 + }, + "_compute_precision": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 8, + "vocabulary": 13, + "length": 13, + "calculated_length": 35.60964047443681, + "volume": 48.105716335834195, + "difficulty": 2.5, + "effort": 120.26429083958548, + "time": 6.681349491088082, + "bugs": 0.016035238778611398 + }, + "_detections_content": { + "h1": 4, + "h2": 11, + "N1": 7, + "N2": 14, + "vocabulary": 15, + "length": 21, + "calculated_length": 46.053747805010275, + "volume": 82.0447025077789, + "difficulty": 2.5454545454545454, + "effort": 208.84106092889172, + "time": 11.602281162716206, + "bugs": 0.02734823416925963 + }, + "_make_empty_content": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "_filter_detections_by_size": { + "h1": 3, + "h2": 12, + "N1": 8, + "N2": 16, + "vocabulary": 15, + "length": 24, + "calculated_length": 47.77443751081735, + "volume": 93.76537429460444, + "difficulty": 2.0, + "effort": 187.53074858920888, + "time": 10.418374921622716, + "bugs": 0.03125512476486815 + }, + "_filter_predictions_and_targets_by_size": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\metrics\\recall.py": { + "total": { + "h1": 16, + "h2": 135, + "N1": 95, + "N2": 184, + "vocabulary": 151, + "length": 279, + "calculated_length": 1019.3701056018623, + "volume": 2019.514922271697, + "difficulty": 10.903703703703703, + "effort": 22020.1923376588, + "time": 1223.3440187588221, + "bugs": 0.6731716407572323 + }, + "functions": { + "recall_at_50": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "recall_at_75": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_ensure_size_results": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "small_objects": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "medium_objects": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "large_objects": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "update": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 4, + "vocabulary": 6, + "length": 7, + "calculated_length": 10.0, + "volume": 18.094737505048094, + "difficulty": 1.0, + "effort": 18.094737505048094, + "time": 1.0052631947248942, + "bugs": 0.006031579168349364 + }, + "compute": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_compute": { + "h1": 4, + "h2": 10, + "N1": 8, + "N2": 15, + "vocabulary": 14, + "length": 23, + "calculated_length": 41.219280948873624, + "volume": 87.56916320732489, + "difficulty": 3.0, + "effort": 262.7074896219747, + "time": 14.59486053455415, + "bugs": 0.029189721069108297 + }, + "_compute_recall_for_classes": { + "h1": 2, + "h2": 5, + "N1": 4, + "N2": 7, + "vocabulary": 7, + "length": 11, + "calculated_length": 13.60964047443681, + "volume": 30.880904142633646, + "difficulty": 1.4, + "effort": 43.2332657996871, + "time": 2.401848099982617, + "bugs": 0.010293634714211216 + }, + "_match_detection_batch": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 13, + "length": 14, + "calculated_length": 35.60964047443681, + "volume": 51.80615605397529, + "difficulty": 2.8125, + "effort": 145.70481390180552, + "time": 8.09471188343364, + "bugs": 0.01726871868465843 + }, + "_compute_confusion_matrix": { + "h1": 2, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 10, + "length": 15, + "calculated_length": 26.0, + "volume": 49.82892142331044, + "difficulty": 1.25, + "effort": 62.28615177913805, + "time": 3.4603417655076694, + "bugs": 0.016609640474436815 + }, + "_compute_recall": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 8, + "vocabulary": 13, + "length": 13, + "calculated_length": 35.60964047443681, + "volume": 48.105716335834195, + "difficulty": 2.5, + "effort": 120.26429083958548, + "time": 6.681349491088082, + "bugs": 0.016035238778611398 + }, + "_detections_content": { + "h1": 4, + "h2": 11, + "N1": 7, + "N2": 14, + "vocabulary": 15, + "length": 21, + "calculated_length": 46.053747805010275, + "volume": 82.0447025077789, + "difficulty": 2.5454545454545454, + "effort": 208.84106092889172, + "time": 11.602281162716206, + "bugs": 0.02734823416925963 + }, + "_make_empty_content": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "_filter_detections_by_size": { + "h1": 3, + "h2": 12, + "N1": 8, + "N2": 16, + "vocabulary": 15, + "length": 24, + "calculated_length": 47.77443751081735, + "volume": 93.76537429460444, + "difficulty": 2.0, + "effort": 187.53074858920888, + "time": 10.418374921622716, + "bugs": 0.03125512476486815 + }, + "_filter_predictions_and_targets_by_size": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__str__": { + "h1": 3, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 19, + "length": 36, + "calculated_length": 68.75488750216347, + "volume": 152.92539048396907, + "difficulty": 2.25, + "effort": 344.0821285889304, + "time": 19.115673810496133, + "bugs": 0.050975130161323025 + }, + "to_pandas": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "plot": { + "h1": 4, + "h2": 26, + "N1": 19, + "N2": 38, + "vocabulary": 30, + "length": 57, + "calculated_length": 130.2114326716684, + "volume": 279.69276394968557, + "difficulty": 2.923076923076923, + "effort": 817.563463852927, + "time": 45.42019243627372, + "bugs": 0.09323092131656185 + } + } + }, + "src\\supervision\\metrics\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\metrics\\utils\\object_size.py": { + "total": { + "h1": 12, + "h2": 77, + "N1": 53, + "N2": 106, + "vocabulary": 89, + "length": 159, + "calculated_length": 525.5621136421613, + "volume": 1029.6416155236573, + "difficulty": 8.25974025974026, + "effort": 8504.572304844754, + "time": 472.4762391580419, + "bugs": 0.3432138718412191 + }, + "functions": { + "get_object_size_category": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "get_bbox_size_category": { + "h1": 7, + "h2": 17, + "N1": 11, + "N2": 22, + "vocabulary": 24, + "length": 33, + "calculated_length": 89.13835275565901, + "volume": 151.30376252379818, + "difficulty": 4.529411764705882, + "effort": 685.3170420195564, + "time": 38.07316900108647, + "bugs": 0.05043458750793273 + }, + "get_mask_size_category": { + "h1": 4, + "h2": 7, + "N1": 6, + "N2": 12, + "vocabulary": 11, + "length": 18, + "calculated_length": 27.651484454403228, + "volume": 62.26976913547136, + "difficulty": 3.4285714285714284, + "effort": 213.49635132161606, + "time": 11.860908406756447, + "bugs": 0.020756589711823786 + }, + "get_obb_size_category": { + "h1": 8, + "h2": 38, + "N1": 25, + "N2": 51, + "vocabulary": 46, + "length": 76, + "calculated_length": 223.42124551085624, + "volume": 419.790708660333, + "difficulty": 5.368421052631579, + "effort": 2253.6132780712614, + "time": 125.20073767062564, + "bugs": 0.139930236220111 + }, + "get_detection_size_category": { + "h1": 2, + "h2": 7, + "N1": 5, + "N2": 10, + "vocabulary": 9, + "length": 15, + "calculated_length": 21.651484454403228, + "volume": 47.548875021634686, + "difficulty": 1.4285714285714286, + "effort": 67.92696431662098, + "time": 3.7737202398122767, + "bugs": 0.01584962500721156 + } + } + }, + "src\\supervision\\metrics\\utils\\utils.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": { + "ensure_pandas_installed": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\metrics\\utils\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\tracker\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\tracker\\byte_tracker\\core.py": { + "total": { + "h1": 13, + "h2": 62, + "N1": 41, + "N2": 78, + "vocabulary": 75, + "length": 119, + "calculated_length": 417.2658875798205, + "volume": 741.2294241690098, + "difficulty": 8.17741935483871, + "effort": 6061.343839575613, + "time": 336.7413244208674, + "bugs": 0.24707647472300326 + }, + "functions": { + "__init__": { + "h1": 3, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 9, + "length": 9, + "calculated_length": 20.264662506490406, + "volume": 28.529325012980813, + "difficulty": 1.5, + "effort": 42.793987519471216, + "time": 2.377443751081734, + "bugs": 0.009509775004326938 + }, + "frame_id": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "update_with_detections": { + "h1": 5, + "h2": 8, + "N1": 6, + "N2": 10, + "vocabulary": 13, + "length": 16, + "calculated_length": 35.60964047443681, + "volume": 59.207035490257475, + "difficulty": 3.125, + "effort": 185.0219859070546, + "time": 10.27899921705859, + "bugs": 0.019735678496752493 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "update_with_tensors": { + "h1": 1, + "h2": 10, + "N1": 6, + "N2": 12, + "vocabulary": 11, + "length": 18, + "calculated_length": 33.219280948873624, + "volume": 62.26976913547136, + "difficulty": 0.6, + "effort": 37.361861481282816, + "time": 2.0756589711823787, + "bugs": 0.020756589711823786 + }, + "_split_by_confidence": { + "h1": 3, + "h2": 6, + "N1": 6, + "N2": 11, + "vocabulary": 9, + "length": 17, + "calculated_length": 20.264662506490406, + "volume": 53.88872502451932, + "difficulty": 2.75, + "effort": 148.19399381742812, + "time": 8.232999656523784, + "bugs": 0.017962908341506437 + }, + "_build_stracks": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_separate_tracks": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "_first_association": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_second_association": { + "h1": 2, + "h2": 3, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 6.754887502163469, + "volume": 20.89735285398626, + "difficulty": 2.0, + "effort": 41.79470570797252, + "time": 2.321928094887362, + "bugs": 0.0069657842846620865 + }, + "_unconfirmed_and_init_new": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_remove_stale_lost_tracks": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 16.36452797660028, + "volume": 27.0, + "difficulty": 1.8, + "effort": 48.6, + "time": 2.7, + "bugs": 0.009 + }, + "_update_state": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "joint_tracks": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "sub_tracks": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "remove_duplicate_tracks": { + "h1": 4, + "h2": 9, + "N1": 6, + "N2": 12, + "vocabulary": 13, + "length": 18, + "calculated_length": 36.52932501298081, + "volume": 66.60791492653966, + "difficulty": 2.6666666666666665, + "effort": 177.62110647077242, + "time": 9.867839248376246, + "bugs": 0.022202638308846556 + } + } + }, + "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py": { + "total": { + "h1": 4, + "h2": 58, + "N1": 41, + "N2": 82, + "vocabulary": 62, + "length": 123, + "calculated_length": 347.76289771739914, + "volume": 732.3661461775857, + "difficulty": 2.8275862068965516, + "effort": 2070.828413329725, + "time": 115.0460229627625, + "bugs": 0.2441220487258619 + }, + "functions": { + "__init__": { + "h1": 3, + "h2": 6, + "N1": 6, + "N2": 12, + "vocabulary": 9, + "length": 18, + "calculated_length": 20.264662506490406, + "volume": 57.058650025961626, + "difficulty": 3.0, + "effort": 171.17595007788486, + "time": 9.509775004326936, + "bugs": 0.019019550008653876 + }, + "initiate": { + "h1": 1, + "h2": 16, + "N1": 12, + "N2": 24, + "vocabulary": 17, + "length": 36, + "calculated_length": 64.0, + "volume": 147.14866228501225, + "difficulty": 0.75, + "effort": 110.36149671375918, + "time": 6.13119426187551, + "bugs": 0.04904955409500408 + }, + "predict": { + "h1": 2, + "h2": 10, + "N1": 7, + "N2": 14, + "vocabulary": 12, + "length": 21, + "calculated_length": 35.219280948873624, + "volume": 75.28421251514429, + "difficulty": 1.4, + "effort": 105.397897521202, + "time": 5.855438751177889, + "bugs": 0.025094737505048096 + }, + "project": { + "h1": 2, + "h2": 6, + "N1": 4, + "N2": 8, + "vocabulary": 8, + "length": 12, + "calculated_length": 17.509775004326936, + "volume": 36.0, + "difficulty": 1.3333333333333333, + "effort": 48.0, + "time": 2.6666666666666665, + "bugs": 0.012 + }, + "multi_predict": { + "h1": 2, + "h2": 14, + "N1": 9, + "N2": 18, + "vocabulary": 16, + "length": 27, + "calculated_length": 55.30296890880645, + "volume": 108.0, + "difficulty": 1.2857142857142858, + "effort": 138.85714285714286, + "time": 7.714285714285714, + "bugs": 0.036 + }, + "update": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + } + } + }, + "src\\supervision\\tracker\\byte_tracker\\matching.py": { + "total": { + "h1": 9, + "h2": 30, + "N1": 17, + "N2": 34, + "vocabulary": 39, + "length": 51, + "calculated_length": 175.7360428812364, + "volume": 269.55551316197466, + "difficulty": 5.1, + "effort": 1374.7331171260707, + "time": 76.37406206255949, + "bugs": 0.08985183772065822 + }, + "functions": { + "indices_to_matches": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "linear_assignment": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 16.36452797660028, + "volume": 27.0, + "difficulty": 1.8, + "effort": 48.6, + "time": 2.7, + "bugs": 0.009 + }, + "iou_distance": { + "h1": 5, + "h2": 12, + "N1": 7, + "N2": 14, + "vocabulary": 17, + "length": 21, + "calculated_length": 54.62919048309069, + "volume": 85.83671966625714, + "difficulty": 2.9166666666666665, + "effort": 250.3570990265833, + "time": 13.908727723699073, + "bugs": 0.02861223988875238 + }, + "fuse_score": { + "h1": 3, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 10, + "length": 12, + "calculated_length": 24.406371956566698, + "volume": 39.863137138648355, + "difficulty": 1.7142857142857142, + "effort": 68.33680652339717, + "time": 3.796489251299843, + "bugs": 0.013287712379549451 + } + } + }, + "src\\supervision\\tracker\\byte_tracker\\single_object_track.py": { + "total": { + "h1": 10, + "h2": 53, + "N1": 32, + "N2": 64, + "vocabulary": 63, + "length": 96, + "calculated_length": 336.79906504072324, + "volume": 573.818872655992, + "difficulty": 6.037735849056604, + "effort": 3464.566778300329, + "time": 192.47593212779606, + "bugs": 0.19127295755199733 + }, + "functions": { + "__post_init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "state": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "is_activated": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "start_frame": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "frame_id": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "kalman_filter": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "mean": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "covariance": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "score": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "tracklet_len": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "minimum_consecutive_frames": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "internal_track_id": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "external_track_id": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "predict": { + "h1": 2, + "h2": 6, + "N1": 4, + "N2": 8, + "vocabulary": 8, + "length": 12, + "calculated_length": 17.509775004326936, + "volume": 36.0, + "difficulty": 1.3333333333333333, + "effort": 48.0, + "time": 2.6666666666666665, + "bugs": 0.012 + }, + "multi_predict": { + "h1": 3, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 10, + "length": 12, + "calculated_length": 24.406371956566698, + "volume": 39.863137138648355, + "difficulty": 1.7142857142857142, + "effort": 68.33680652339717, + "time": 3.796489251299843, + "bugs": 0.013287712379549451 + }, + "activate": { + "h1": 1, + "h2": 3, + "N1": 2, + "N2": 4, + "vocabulary": 4, + "length": 6, + "calculated_length": 4.754887502163469, + "volume": 12.0, + "difficulty": 0.6666666666666666, + "effort": 8.0, + "time": 0.4444444444444444, + "bugs": 0.004 + }, + "re_activate": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "update": { + "h1": 3, + "h2": 9, + "N1": 6, + "N2": 12, + "vocabulary": 12, + "length": 18, + "calculated_length": 33.28421251514428, + "volume": 64.52932501298082, + "difficulty": 2.0, + "effort": 129.05865002596164, + "time": 7.169925001442313, + "bugs": 0.02150977500432694 + }, + "tlwh": { + "h1": 4, + "h2": 8, + "N1": 4, + "N2": 8, + "vocabulary": 12, + "length": 12, + "calculated_length": 32.0, + "volume": 43.01955000865388, + "difficulty": 2.0, + "effort": 86.03910001730776, + "time": 4.779950000961542, + "bugs": 0.014339850002884626 + }, + "tlbr": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "tlwh_to_xyah": { + "h1": 2, + "h2": 6, + "N1": 3, + "N2": 6, + "vocabulary": 8, + "length": 9, + "calculated_length": 17.509775004326936, + "volume": 27.0, + "difficulty": 1.0, + "effort": 27.0, + "time": 1.5, + "bugs": 0.009 + }, + "to_xyah": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "tlbr_to_tlwh": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "tlwh_to_tlbr": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__repr__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\tracker\\byte_tracker\\utils.py": { + "total": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 5, + "vocabulary": 8, + "length": 8, + "calculated_length": 16.36452797660028, + "volume": 24.0, + "difficulty": 1.5, + "effort": 36.0, + "time": 2.0, + "bugs": 0.008 + }, + "functions": { + "__init__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "new_id": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "NO_ID": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + } + } + }, + "src\\supervision\\tracker\\byte_tracker\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\utils\\conversion.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": { + "ensure_cv2_image_for_class_method": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "ensure_cv2_image_for_annotation": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "ensure_cv2_image_for_standalone_function": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "ensure_pil_image_for_class_method": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "ensure_pil_image_for_annotation": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "ensure_cv2_image_for_processing": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "images_to_cv2": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "pillow_to_cv2": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "cv2_to_pillow": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\utils\\file.py": { + "total": { + "h1": 6, + "h2": 10, + "N1": 6, + "N2": 11, + "vocabulary": 16, + "length": 17, + "calculated_length": 48.72905595320056, + "volume": 68.0, + "difficulty": 3.3, + "effort": 224.39999999999998, + "time": 12.466666666666665, + "bugs": 0.02266666666666667 + }, + "functions": { + "default": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "list_files_with_extensions": { + "h1": 5, + "h2": 8, + "N1": 5, + "N2": 9, + "vocabulary": 13, + "length": 14, + "calculated_length": 35.60964047443681, + "volume": 51.80615605397529, + "difficulty": 2.8125, + "effort": 145.70481390180552, + "time": 8.09471188343364, + "bugs": 0.01726871868465843 + }, + "read_txt_file": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "save_text_file": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "read_json_file": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "save_json_file": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "read_yaml_file": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "save_yaml_file": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\utils\\image.py": { + "total": { + "h1": 16, + "h2": 130, + "N1": 93, + "N2": 177, + "vocabulary": 146, + "length": 270, + "calculated_length": 976.907815693699, + "volume": 1941.2526308976048, + "difficulty": 10.892307692307693, + "effort": 21144.720964238528, + "time": 1174.7067202354738, + "bugs": 0.6470842102992016 + }, + "functions": { + "crop_image": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "scale_image": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 6, + "length": 9, + "calculated_length": 10.0, + "volume": 23.264662506490403, + "difficulty": 1.5, + "effort": 34.89699375973561, + "time": 1.938721875540867, + "bugs": 0.007754887502163467 + }, + "resize_image": { + "h1": 3, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 11, + "length": 15, + "calculated_length": 28.75488750216347, + "volume": 51.89147427955947, + "difficulty": 1.875, + "effort": 97.296514274174, + "time": 5.405361904120777, + "bugs": 0.01729715809318649 + }, + "letterbox_image": { + "h1": 2, + "h2": 13, + "N1": 8, + "N2": 16, + "vocabulary": 15, + "length": 24, + "calculated_length": 50.105716335834195, + "volume": 93.76537429460444, + "difficulty": 1.2307692307692308, + "effort": 115.40353759335932, + "time": 6.411307644075517, + "bugs": 0.03125512476486815 + }, + "overlay_image": { + "h1": 9, + "h2": 30, + "N1": 25, + "N2": 48, + "vocabulary": 39, + "length": 73, + "calculated_length": 175.7360428812364, + "volume": 385.83436197694414, + "difficulty": 7.2, + "effort": 2778.0074062339977, + "time": 154.33374479077764, + "bugs": 0.12861145399231472 + }, + "tint_image": { + "h1": 3, + "h2": 4, + "N1": 4, + "N2": 6, + "vocabulary": 7, + "length": 10, + "calculated_length": 12.75488750216347, + "volume": 28.07354922057604, + "difficulty": 2.25, + "effort": 63.16548574629609, + "time": 3.509193652572005, + "bugs": 0.009357849740192013 + }, + "grayscale_image": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "get_image_resolution_wh": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__enter__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "save_image": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "__exit__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "create_tiles": { + "h1": 5, + "h2": 12, + "N1": 7, + "N2": 14, + "vocabulary": 17, + "length": 21, + "calculated_length": 54.62919048309069, + "volume": 85.83671966625714, + "difficulty": 2.9166666666666665, + "effort": 250.3570990265833, + "time": 13.908727723699073, + "bugs": 0.02861223988875238 + }, + "_negotiate_tiles_format": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "_calculate_aggregated_images_shape": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_aggregate_images_shape": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_establish_grid_size": { + "h1": 4, + "h2": 11, + "N1": 9, + "N2": 18, + "vocabulary": 15, + "length": 27, + "calculated_length": 46.053747805010275, + "volume": 105.48604608143, + "difficulty": 3.272727272727273, + "effort": 345.22705990286187, + "time": 19.179281105714548, + "bugs": 0.03516201536047667 + }, + "_negotiate_grid_size": { + "h1": 4, + "h2": 8, + "N1": 5, + "N2": 10, + "vocabulary": 12, + "length": 15, + "calculated_length": 32.0, + "volume": 53.77443751081735, + "difficulty": 2.5, + "effort": 134.43609377704337, + "time": 7.468671876502409, + "bugs": 0.017924812503605784 + }, + "_generate_tiles": { + "h1": 3, + "h2": 6, + "N1": 5, + "N2": 8, + "vocabulary": 9, + "length": 13, + "calculated_length": 20.264662506490406, + "volume": 41.20902501875006, + "difficulty": 2.0, + "effort": 82.41805003750012, + "time": 4.578780557638896, + "bugs": 0.013736341672916687 + }, + "_draw_texts": { + "h1": 1, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 5, + "length": 9, + "calculated_length": 8.0, + "volume": 20.89735285398626, + "difficulty": 0.75, + "effort": 15.673014640489694, + "time": 0.8707230355827608, + "bugs": 0.0069657842846620865 + }, + "_prepare_default_titles_anchors": { + "h1": 4, + "h2": 9, + "N1": 6, + "N2": 12, + "vocabulary": 13, + "length": 18, + "calculated_length": 36.52932501298081, + "volume": 66.60791492653966, + "difficulty": 2.6666666666666665, + "effort": 177.62110647077242, + "time": 9.867839248376246, + "bugs": 0.022202638308846556 + }, + "_merge_tiles_elements": { + "h1": 2, + "h2": 6, + "N1": 5, + "N2": 8, + "vocabulary": 8, + "length": 13, + "calculated_length": 17.509775004326936, + "volume": 39.0, + "difficulty": 1.3333333333333333, + "effort": 52.0, + "time": 2.888888888888889, + "bugs": 0.013 + }, + "_generate_color_image": { + "h1": 2, + "h2": 3, + "N1": 2, + "N2": 3, + "vocabulary": 5, + "length": 5, + "calculated_length": 6.754887502163469, + "volume": 11.60964047443681, + "difficulty": 1.0, + "effort": 11.60964047443681, + "time": 0.6449800263576005, + "bugs": 0.0038698801581456034 + } + } + }, + "src\\supervision\\utils\\internal.py": { + "total": { + "h1": 6, + "h2": 15, + "N1": 9, + "N2": 15, + "vocabulary": 21, + "length": 24, + "calculated_length": 74.11313393845472, + "volume": 105.41561814669026, + "difficulty": 3.0, + "effort": 316.2468544400708, + "time": 17.569269691115046, + "bugs": 0.03513853938223009 + }, + "functions": { + "format_warning": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "warn_deprecated": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "deprecated_parameter": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__get__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "get_instance_variables": { + "h1": 3, + "h2": 7, + "N1": 5, + "N2": 7, + "vocabulary": 10, + "length": 12, + "calculated_length": 24.406371956566698, + "volume": 39.863137138648355, + "difficulty": 1.5, + "effort": 59.79470570797253, + "time": 3.321928094887363, + "bugs": 0.013287712379549451 + } + } + }, + "src\\supervision\\utils\\iterables.py": { + "total": { + "h1": 4, + "h2": 8, + "N1": 4, + "N2": 8, + "vocabulary": 12, + "length": 12, + "calculated_length": 32.0, + "volume": 43.01955000865388, + "difficulty": 2.0, + "effort": 86.03910001730776, + "time": 4.779950000961542, + "bugs": 0.014339850002884626 + }, + "functions": { + "create_batches": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "fill": { + "h1": 2, + "h2": 4, + "N1": 2, + "N2": 4, + "vocabulary": 6, + "length": 6, + "calculated_length": 10.0, + "volume": 15.509775004326936, + "difficulty": 1.0, + "effort": 15.509775004326936, + "time": 0.861654166907052, + "bugs": 0.005169925001442312 + }, + "find_duplicates": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + } + } + }, + "src\\supervision\\utils\\logger.py": { + "total": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 5, + "vocabulary": 8, + "length": 8, + "calculated_length": 16.36452797660028, + "volume": 24.0, + "difficulty": 1.5, + "effort": 36.0, + "time": 2.0, + "bugs": 0.008 + }, + "functions": { + "_get_logger": { + "h1": 3, + "h2": 5, + "N1": 3, + "N2": 5, + "vocabulary": 8, + "length": 8, + "calculated_length": 16.36452797660028, + "volume": 24.0, + "difficulty": 1.5, + "effort": 36.0, + "time": 2.0, + "bugs": 0.008 + } + } + }, + "src\\supervision\\utils\\notebook.py": { + "total": { + "h1": 6, + "h2": 15, + "N1": 8, + "N2": 16, + "vocabulary": 21, + "length": 24, + "calculated_length": 74.11313393845472, + "volume": 105.41561814669026, + "difficulty": 3.2, + "effort": 337.32997806940887, + "time": 18.74055433718938, + "bugs": 0.03513853938223009 + }, + "functions": { + "plot_image": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "plot_images_grid": { + "h1": 6, + "h2": 13, + "N1": 7, + "N2": 14, + "vocabulary": 19, + "length": 21, + "calculated_length": 63.61549134016113, + "volume": 89.20647778231529, + "difficulty": 3.230769230769231, + "effort": 288.20554360440326, + "time": 16.011419089133515, + "bugs": 0.029735492594105097 + } + } + }, + "src\\supervision\\utils\\video.py": { + "total": { + "h1": 13, + "h2": 60, + "N1": 45, + "N2": 80, + "vocabulary": 73, + "length": 125, + "calculated_length": 402.5191520723453, + "volume": 773.7280698600022, + "difficulty": 8.666666666666666, + "effort": 6705.643272120018, + "time": 372.535737340001, + "bugs": 0.2579093566200007 + }, + "functions": { + "from_video_path": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "resolution_wh": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__init__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "__enter__": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "write_frame": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "__exit__": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_mux_audio": { + "h1": 4, + "h2": 7, + "N1": 4, + "N2": 8, + "vocabulary": 11, + "length": 12, + "calculated_length": 27.651484454403228, + "volume": 41.51317942364757, + "difficulty": 2.2857142857142856, + "effort": 94.88726725405158, + "time": 5.27151484744731, + "bugs": 0.01383772647454919 + }, + "_validate_and_setup_video": { + "h1": 5, + "h2": 10, + "N1": 9, + "N2": 16, + "vocabulary": 15, + "length": 25, + "calculated_length": 44.82892142331043, + "volume": 97.67226489021297, + "difficulty": 4.0, + "effort": 390.6890595608519, + "time": 21.70494775338066, + "bugs": 0.03255742163007099 + }, + "get_video_frames_generator": { + "h1": 6, + "h2": 9, + "N1": 7, + "N2": 12, + "vocabulary": 15, + "length": 19, + "calculated_length": 44.039100017307746, + "volume": 74.23092131656186, + "difficulty": 4.0, + "effort": 296.92368526624745, + "time": 16.4957602925693, + "bugs": 0.024743640438853954 + }, + "_reader_thread": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_writer_thread": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "_drain_and_cleanup": { + "h1": 3, + "h2": 5, + "N1": 4, + "N2": 6, + "vocabulary": 8, + "length": 10, + "calculated_length": 16.36452797660028, + "volume": 30.0, + "difficulty": 1.8, + "effort": 54.0, + "time": 3.0, + "bugs": 0.01 + }, + "_mux_audio_if_needed": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_total_frames": { + "h1": 2, + "h2": 4, + "N1": 3, + "N2": 6, + "vocabulary": 6, + "length": 9, + "calculated_length": 10.0, + "volume": 23.264662506490403, + "difficulty": 1.5, + "effort": 34.89699375973561, + "time": 1.938721875540867, + "bugs": 0.007754887502163467 + }, + "_start_workers": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_setup_progress_bar": { + "h1": 1, + "h2": 1, + "N1": 1, + "N2": 1, + "vocabulary": 2, + "length": 2, + "calculated_length": 0.0, + "volume": 2.0, + "difficulty": 0.5, + "effort": 1.0, + "time": 0.05555555555555555, + "bugs": 0.0006666666666666666 + }, + "_process_frames": { + "h1": 1, + "h2": 2, + "N1": 1, + "N2": 2, + "vocabulary": 3, + "length": 3, + "calculated_length": 2.0, + "volume": 4.754887502163469, + "difficulty": 0.5, + "effort": 2.3774437510817346, + "time": 0.1320802083934297, + "bugs": 0.0015849625007211565 + }, + "run": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "process_video": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "fps": { + "h1": 5, + "h2": 7, + "N1": 5, + "N2": 8, + "vocabulary": 12, + "length": 13, + "calculated_length": 31.26112492884004, + "volume": 46.604512509375034, + "difficulty": 2.857142857142857, + "effort": 133.15575002678582, + "time": 7.397541668154768, + "bugs": 0.015534837503125011 + }, + "tick": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "reset": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + }, + "src\\supervision\\utils\\__init__.py": { + "total": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "functions": {} + }, + "src\\supervision\\validators\\__init__.py": { + "total": { + "h1": 11, + "h2": 113, + "N1": 65, + "N2": 122, + "vocabulary": 124, + "length": 187, + "calculated_length": 808.7339705579266, + "volume": 1300.4347100423458, + "difficulty": 5.938053097345133, + "effort": 7722.050357862072, + "time": 429.002797659004, + "bugs": 0.43347823668078195 + }, + "functions": { + "_validate_xyxy": { + "h1": 3, + "h2": 8, + "N1": 4, + "N2": 8, + "vocabulary": 11, + "length": 12, + "calculated_length": 28.75488750216347, + "volume": 41.51317942364757, + "difficulty": 1.5, + "effort": 62.26976913547136, + "time": 3.4594316186372978, + "bugs": 0.01383772647454919 + }, + "validate_xyxy": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_mask": { + "h1": 6, + "h2": 14, + "N1": 8, + "N2": 15, + "vocabulary": 20, + "length": 23, + "calculated_length": 68.81274391313339, + "volume": 99.40434618240934, + "difficulty": 3.2142857142857144, + "effort": 319.51396987203003, + "time": 17.75077610400167, + "bugs": 0.033134782060803114 + }, + "validate_mask": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_class_id": { + "h1": 5, + "h2": 9, + "N1": 5, + "N2": 9, + "vocabulary": 14, + "length": 14, + "calculated_length": 40.13896548741762, + "volume": 53.30296890880645, + "difficulty": 2.5, + "effort": 133.25742227201613, + "time": 7.403190126223119, + "bugs": 0.017767656302935482 + }, + "validate_class_id": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_confidence": { + "h1": 5, + "h2": 9, + "N1": 5, + "N2": 9, + "vocabulary": 14, + "length": 14, + "calculated_length": 40.13896548741762, + "volume": 53.30296890880645, + "difficulty": 2.5, + "effort": 133.25742227201613, + "time": 7.403190126223119, + "bugs": 0.017767656302935482 + }, + "validate_confidence": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_keypoint_confidence": { + "h1": 6, + "h2": 14, + "N1": 8, + "N2": 15, + "vocabulary": 20, + "length": 23, + "calculated_length": 68.81274391313339, + "volume": 99.40434618240934, + "difficulty": 3.2142857142857144, + "effort": 319.51396987203003, + "time": 17.75077610400167, + "bugs": 0.033134782060803114 + }, + "validate_key_point_confidence": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "validate_keypoint_confidence": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_tracker_id": { + "h1": 5, + "h2": 9, + "N1": 5, + "N2": 9, + "vocabulary": 14, + "length": 14, + "calculated_length": 40.13896548741762, + "volume": 53.30296890880645, + "difficulty": 2.5, + "effort": 133.25742227201613, + "time": 7.403190126223119, + "bugs": 0.017767656302935482 + }, + "validate_tracker_id": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_data": { + "h1": 4, + "h2": 10, + "N1": 7, + "N2": 14, + "vocabulary": 14, + "length": 21, + "calculated_length": 41.219280948873624, + "volume": 79.95445336320968, + "difficulty": 2.8, + "effort": 223.8724694169871, + "time": 12.437359412054839, + "bugs": 0.026651484454403226 + }, + "validate_data": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_xy": { + "h1": 4, + "h2": 8, + "N1": 4, + "N2": 8, + "vocabulary": 12, + "length": 12, + "calculated_length": 32.0, + "volume": 43.01955000865388, + "difficulty": 2.0, + "effort": 86.03910001730776, + "time": 4.779950000961542, + "bugs": 0.014339850002884626 + }, + "validate_xy": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_visible": { + "h1": 6, + "h2": 14, + "N1": 8, + "N2": 15, + "vocabulary": 20, + "length": 23, + "calculated_length": 68.81274391313339, + "volume": 99.40434618240934, + "difficulty": 3.2142857142857144, + "effort": 319.51396987203003, + "time": 17.75077610400167, + "bugs": 0.033134782060803114 + }, + "_validate_detections_fields": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "validate_detections_fields": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_keypoints_fields": { + "h1": 2, + "h2": 5, + "N1": 3, + "N2": 6, + "vocabulary": 7, + "length": 9, + "calculated_length": 13.60964047443681, + "volume": 25.26619429851844, + "difficulty": 1.2, + "effort": 30.319433158222125, + "time": 1.6844129532345624, + "bugs": 0.008422064766172813 + }, + "validate_key_points_fields": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "validate_keypoints_fields": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + }, + "_validate_resolution": { + "h1": 5, + "h2": 13, + "N1": 8, + "N2": 14, + "vocabulary": 18, + "length": 22, + "calculated_length": 59.715356810271004, + "volume": 91.73835003173087, + "difficulty": 2.6923076923076925, + "effort": 246.98786547004468, + "time": 13.721548081669148, + "bugs": 0.030579450010576957 + }, + "validate_resolution": { + "h1": 0, + "h2": 0, + "N1": 0, + "N2": 0, + "vocabulary": 0, + "length": 0, + "calculated_length": 0, + "volume": 0, + "difficulty": 0, + "effort": 0, + "time": 0.0, + "bugs": 0.0 + } + } + } +} \ No newline at end of file diff --git a/metrics-after-radon/hal_por_arquivo_depois.csv b/metrics-after-radon/hal_por_arquivo_depois.csv new file mode 100644 index 0000000000..131a14dcc9 --- /dev/null +++ b/metrics-after-radon/hal_por_arquivo_depois.csv @@ -0,0 +1,81 @@ +arquivo,escopo,nome,h1,h2,N1,N2,vocabulary,length,calculated_length,volume,difficulty,effort,time,bugs +src/supervision/config.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/base.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/assets/list.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/assets/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/classification/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/base.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/geometry/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/keypoint/annotators.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/keypoint/core.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/keypoint/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/key_points/skeletons.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/key_points/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/core.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/utils/utils.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/utils/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/__init__.py,arquivo,,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/__init__.py,arquivo,,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/utils.py,arquivo,,3,5,3,5,8,8,16.3645,24.0,1.5,36.0,2.0,0.008 +src/supervision/utils/logger.py,arquivo,,3,5,3,5,8,8,16.3645,24.0,1.5,36.0,2.0,0.008 +src/supervision/assets/downloader.py,arquivo,,3,7,5,7,10,12,24.4064,39.8631,1.5,59.7947,3.3219,0.0133 +src/supervision/utils/iterables.py,arquivo,,4,8,4,8,12,12,32.0,43.0196,2.0,86.0391,4.78,0.0143 +src/supervision/geometry/utils.py,arquivo,,4,10,6,11,14,17,41.2193,64.725,2.2,142.3951,7.9108,0.0216 +src/supervision/utils/file.py,arquivo,,6,10,6,11,16,17,48.7291,68.0,3.3,224.4,12.4667,0.0227 +src/supervision/utils/internal.py,arquivo,,6,15,9,15,21,24,74.1131,105.4156,3.0,316.2469,17.5693,0.0351 +src/supervision/detection/tools/json_sink.py,arquivo,,5,15,9,17,20,26,70.213,112.3701,2.8333,318.382,17.6879,0.0375 +src/supervision/utils/notebook.py,arquivo,,6,15,8,16,21,24,74.1131,105.4156,3.2,337.33,18.7406,0.0351 +src/supervision/detection/tools/transformers.py,arquivo,,4,15,10,20,19,30,66.6034,127.4378,2.6667,339.8342,18.8797,0.0425 +src/supervision/classification/core.py,arquivo,,7,22,13,22,29,35,117.759,170.0293,3.5,595.1027,33.0613,0.0567 +src/supervision/detection/tools/smoother.py,arquivo,,6,19,12,24,25,36,96.2204,167.1788,3.7895,633.5197,35.1955,0.0557 +src/supervision/dataset/utils.py,arquivo,,8,21,11,22,29,33,116.2387,160.3134,4.1905,671.7894,37.3216,0.0534 +src/supervision/detection/tools/csv_sink.py,arquivo,,7,23,15,27,30,42,123.6934,206.0894,4.1087,846.7586,47.0421,0.0687 +src/supervision/detection/utils/vlms.py,arquivo,,7,20,16,31,27,47,106.09,223.4797,5.425,1212.3774,67.3543,0.0745 +src/supervision/detection/tools/polygon_zone.py,arquivo,,8,23,16,31,31,47,128.0419,232.8472,5.3913,1255.3503,69.7417,0.0776 +src/supervision/tracker/byte_tracker/matching.py,arquivo,,9,30,17,34,39,51,175.736,269.5555,5.1,1374.7331,76.3741,0.0899 +src/supervision/dataset/formats/pascal_voc.py,arquivo,,8,33,20,38,41,58,190.465,310.738,4.6061,1431.2781,79.5155,0.1036 +src/supervision/geometry/core.py,arquivo,,5,40,28,56,45,84,224.4868,461.3157,3.5,1614.6048,89.7003,0.1538 +src/supervision/tracker/byte_tracker/kalman_filter.py,arquivo,,4,58,41,82,62,123,347.7629,732.3661,2.8276,2070.8284,115.046,0.2441 +src/supervision/detection/utils/polygons.py,arquivo,,10,26,20,40,36,60,155.4307,310.1955,7.6923,2386.1192,132.5622,0.1034 +src/supervision/tracker/byte_tracker/single_object_track.py,arquivo,,10,53,32,64,63,96,336.7991,573.8189,6.0377,3464.5668,192.4759,0.1913 +src/supervision/dataset/core.py,arquivo,,9,65,43,81,74,124,419.9832,769.9722,5.6077,4317.7673,239.876,0.2567 +src/supervision/dataset/formats/coco.py,arquivo,,15,51,31,57,66,88,347.8971,531.9067,8.3824,4458.6295,247.7016,0.1773 +src/supervision/tracker/byte_tracker/core.py,arquivo,,13,62,41,78,75,119,417.2659,741.2294,8.1774,6061.3438,336.7413,0.2471 +src/supervision/utils/video.py,arquivo,,13,60,45,80,73,125,402.5192,773.7281,8.6667,6705.6433,372.5357,0.2579 +src/supervision/dataset/formats/yolo.py,arquivo,,14,71,48,87,85,135,489.935,865.2678,8.5775,7421.8039,412.3224,0.2884 +src/supervision/validators/__init__.py,arquivo,,11,113,65,122,124,187,808.734,1300.4347,5.9381,7722.0504,429.0028,0.4335 +src/supervision/metrics/utils/object_size.py,arquivo,,12,77,53,106,89,159,525.5621,1029.6416,8.2597,8504.5723,472.4762,0.3432 +src/supervision/detection/utils/boxes.py,arquivo,,12,77,60,105,89,165,525.5621,1068.496,8.1818,8742.2401,485.68,0.3562 +src/supervision/draw/color.py,arquivo,,13,78,60,110,91,170,538.3671,1106.3251,9.1667,10141.3133,563.4063,0.3688 +src/supervision/detection/utils/masks.py,arquivo,,14,90,61,117,104,178,637.5697,1192.6783,9.1,10853.3723,602.9651,0.3976 +src/supervision/detection/utils/internal.py,arquivo,,16,99,64,119,115,183,720.3063,1252.7247,9.6162,12046.403,669.2446,0.4176 +src/supervision/draw/utils.py,arquivo,,13,57,57,109,70,166,380.5804,1017.461,12.4298,12646.8615,702.6034,0.3392 +src/supervision/detection/tools/inference_slicer.py,arquivo,,15,110,70,134,125,204,804.5529,1421.02,9.1364,12982.9554,721.2753,0.4737 +src/supervision/detection/utils/converters.py,arquivo,,17,116,77,148,133,225,865.0127,1587.4385,10.8448,17215.4974,956.4165,0.5291 +src/supervision/utils/image.py,arquivo,,16,130,93,177,146,270,976.9078,1941.2526,10.8923,21144.721,1174.7067,0.6471 +src/supervision/metrics/recall.py,arquivo,,16,135,95,184,151,279,1019.3701,2019.5149,10.9037,22020.1923,1223.344,0.6732 +src/supervision/metrics/detection.py,arquivo,,18,147,97,182,165,279,1133.4105,2055.2039,11.1429,22900.8434,1272.2691,0.6851 +src/supervision/key_points/core.py,arquivo,,14,158,115,214,172,329,1207.3003,2443.2411,9.481,23164.3998,1286.9111,0.8144 +src/supervision/metrics/mean_average_recall.py,arquivo,,17,134,96,186,151,282,1016.3428,2041.2301,11.7985,24083.469,1337.9705,0.6804 +src/supervision/metrics/f1_score.py,arquivo,,16,149,106,206,165,312,1139.6561,2298.2925,11.0604,25420.0409,1412.2245,0.7661 +src/supervision/detection/vlm.py,arquivo,,17,151,108,201,168,309,1162.486,2284.2261,11.3146,25845.0349,1435.8353,0.7614 +src/supervision/key_points/annotators.py,arquivo,,18,121,97,180,139,277,912.2411,1971.9467,13.3884,26401.2696,1466.7372,0.6573 +src/supervision/metrics/precision.py,arquivo,,16,150,112,218,166,330,1148.3228,2433.763,11.6267,28296.5513,1572.0306,0.8113 +src/supervision/annotators/utils.py,arquivo,,18,135,110,213,153,323,1030.4288,2344.1363,14.2,33286.7351,1849.2631,0.7814 +src/supervision/detection/line_zone.py,arquivo,,19,146,117,221,165,338,1130.425,2489.8169,14.3801,35803.9082,1989.106,0.8299 +src/supervision/detection/core.py,arquivo,,18,262,177,342,280,519,2179.8155,4219.0979,11.7481,49566.3484,2753.686,1.4064 +src/supervision/detection/compact_mask.py,arquivo,,19,207,169,324,226,493,1673.2624,3855.3482,14.8696,57327.3519,3184.8529,1.2851 +src/supervision/detection/utils/iou_and_nms.py,arquivo,,20,337,218,417,357,635,2916.0944,5384.6605,12.3739,66629.1815,3701.6212,1.7949 +src/supervision/metrics/mean_average_precision.py,arquivo,,21,314,244,445,335,689,2696.7496,5779.3439,14.8806,85999.9504,4777.775,1.9264 +src/supervision/annotators/core.py,arquivo,,22,385,434,825,407,1259,3404.7626,10914.1262,23.5714,257261.546,14292.3081,3.638 diff --git a/metrics-after-radon/hal_por_funcao_depois.csv b/metrics-after-radon/hal_por_funcao_depois.csv new file mode 100644 index 0000000000..f504404c56 --- /dev/null +++ b/metrics-after-radon/hal_por_funcao_depois.csv @@ -0,0 +1,762 @@ +arquivo,escopo,nome,h1,h2,N1,N2,vocabulary,length,calculated_length,volume,difficulty,effort,time,bugs +src/supervision/annotators/base.py,funcao,annotate,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,_normalize_color_input,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,color,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,color_lookup,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,text_color,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,text_padding,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,text_anchor,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,text_offset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,border_radius,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,smart_position,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,max_line_length,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,_adjust_labels_in_frame,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/annotators/core.py,funcao,annotate,7,25,19,35,32,54,135.7479,270.0,4.9,1323.0,73.5,0.09 +src/supervision/annotators/core.py,funcao,_paint_masks_by_area,4,12,11,22,16,33,51.0196,132.0,3.6667,484.0,26.8889,0.044 +src/supervision/annotators/core.py,funcao,_get_label_properties,5,20,14,27,25,41,98.0482,190.3981,3.375,642.5936,35.6996,0.0635 +src/supervision/annotators/core.py,funcao,_draw_labels,6,25,23,45,31,68,131.6062,336.8853,5.4,1819.1809,101.0656,0.1123 +src/supervision/annotators/core.py,funcao,draw_rounded_rectangle,4,8,17,32,12,49,32.0,175.6632,8.0,1405.3053,78.0725,0.0586 +src/supervision/annotators/core.py,funcao,_load_font,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/annotators/core.py,funcao,_load_icon,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/annotators/core.py,funcao,calculate_border_coordinates,5,30,47,94,35,141,158.8164,723.2289,7.8333,5665.2931,314.7385,0.2411 +src/supervision/annotators/core.py,funcao,_validate_custom_values,4,10,7,11,14,18,41.2193,68.5324,2.2,150.7713,8.3762,0.0228 +src/supervision/annotators/core.py,funcao,validate_custom_values,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/core.py,funcao,calculate_crop_coordinates,5,30,47,94,35,141,158.8164,723.2289,7.8333,5665.2931,314.7385,0.2411 +src/supervision/annotators/core.py,funcao,_use_obb,4,13,9,17,17,26,56.1057,106.274,2.6154,277.9475,15.4415,0.0354 +src/supervision/annotators/core.py,funcao,_use_mask,4,13,9,17,17,26,56.1057,106.274,2.6154,277.9475,15.4415,0.0354 +src/supervision/annotators/core.py,funcao,_mask_from_xyxy,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/annotators/core.py,funcao,_mask_from_obb,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/annotators/core.py,funcao,_mask_from_mask,2,3,2,4,5,6,6.7549,13.9316,1.3333,18.5754,1.032,0.0046 +src/supervision/annotators/utils.py,funcao,list,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/utils.py,funcao,resolve_color_idx,4,11,7,14,15,21,46.0537,82.0447,2.5455,208.8411,11.6023,0.0273 +src/supervision/annotators/utils.py,funcao,resolve_text_background_xyxy,5,30,47,94,35,141,158.8164,723.2289,7.8333,5665.2931,314.7385,0.2411 +src/supervision/annotators/utils.py,funcao,get_color_by_index,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/utils.py,funcao,resolve_color,2,7,3,7,9,10,21.6515,31.6993,1.0,31.6993,1.7611,0.0106 +src/supervision/annotators/utils.py,funcao,wrap_text,5,13,8,14,18,22,59.7154,91.7384,2.6923,246.9879,13.7215,0.0306 +src/supervision/annotators/utils.py,funcao,_validate_labels,3,6,3,6,9,9,20.2647,28.5293,1.5,42.794,2.3774,0.0095 +src/supervision/annotators/utils.py,funcao,validate_labels,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/utils.py,funcao,get_labels_text,2,5,3,6,7,9,13.6096,25.2662,1.2,30.3194,1.6844,0.0084 +src/supervision/annotators/utils.py,funcao,snap_boxes,6,23,14,26,29,40,119.5517,194.3192,3.3913,658.9957,36.6109,0.0648 +src/supervision/annotators/utils.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/utils.py,funcao,put,7,12,9,17,19,26,62.671,110.4461,4.9583,547.6287,30.4238,0.0368 +src/supervision/annotators/utils.py,funcao,get,1,1,1,2,2,3,0,3.0,1.0,3.0,0.1667,0.001 +src/supervision/annotators/utils.py,funcao,hex_to_rgba,3,6,3,6,9,9,20.2647,28.5293,1.5,42.794,2.3774,0.0095 +src/supervision/annotators/utils.py,funcao,rgba_to_hex,4,8,5,8,12,13,32.0,46.6045,2.0,93.209,5.1783,0.0155 +src/supervision/annotators/utils.py,funcao,is_valid_hex,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/annotators/utils.py,funcao,calculate_dynamic_kernel_size,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/annotators/utils.py,funcao,calculate_dynamic_pixel_size,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/assets/downloader.py,funcao,is_md5_hash_matching,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/assets/downloader.py,funcao,download_assets,2,4,3,4,6,7,10.0,18.0947,1.0,18.0947,1.0053,0.006 +src/supervision/assets/list.py,funcao,__new__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/assets/list.py,funcao,list,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/classification/core.py,funcao,_validate_class_ids,3,5,3,5,8,8,16.3645,24.0,1.5,36.0,2.0,0.008 +src/supervision/classification/core.py,funcao,_validate_confidence,4,7,4,7,11,11,27.6515,38.0537,2.0,76.1075,4.2282,0.0127 +src/supervision/classification/core.py,funcao,__post_init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/classification/core.py,funcao,__len__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/classification/core.py,funcao,from_clip,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/classification/core.py,funcao,from_ultralytics,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/classification/core.py,funcao,from_timm,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/classification/core.py,funcao,get_top_k,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/dataset/core.py,funcao,__len__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/core.py,funcao,split,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/dataset/core.py,funcao,__init__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/core.py,funcao,_get_image,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/core.py,funcao,__getitem__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/core.py,funcao,__iter__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/core.py,funcao,__eq__,3,7,6,10,10,16,24.4064,53.1508,2.1429,113.8947,6.3275,0.0177 +src/supervision/dataset/core.py,funcao,merge,6,15,9,16,21,25,74.1131,109.8079,3.2,351.3854,19.5214,0.0366 +src/supervision/dataset/core.py,funcao,as_pascal_voc,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/core.py,funcao,from_pascal_voc,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/core.py,funcao,from_yolo,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/core.py,funcao,as_yolo,4,14,8,17,18,25,61.303,104.2481,2.4286,253.174,14.0652,0.0347 +src/supervision/dataset/core.py,funcao,from_coco,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/core.py,funcao,as_coco,1,3,2,4,4,6,4.7549,12.0,0.6667,8.0,0.4444,0.004 +src/supervision/dataset/core.py,funcao,as_folder_structure,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/core.py,funcao,from_folder_structure,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/utils.py,funcao,mask_to_rle,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/utils.py,funcao,rle_to_mask,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/utils.py,funcao,approximate_mask_with_polygons,2,7,4,8,9,12,21.6515,38.0391,1.1429,43.4733,2.4152,0.0127 +src/supervision/dataset/utils.py,funcao,merge_class_lists,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/utils.py,funcao,build_class_index_mapping,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/utils.py,funcao,map_detections_class_id,3,6,3,6,9,9,20.2647,28.5293,1.5,42.794,2.3774,0.0095 +src/supervision/dataset/utils.py,funcao,save_dataset_images,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/utils.py,funcao,train_test_split,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/dataset/formats/coco.py,funcao,coco_categories_to_classes,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/coco.py,funcao,build_coco_class_index_mapping,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/coco.py,funcao,classes_to_coco_categories,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/formats/coco.py,funcao,group_coco_annotations_by_image_id,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/formats/coco.py,funcao,coco_annotations_to_masks,4,7,5,7,11,12,27.6515,41.5132,2.0,83.0264,4.6126,0.0138 +src/supervision/dataset/formats/coco.py,funcao,coco_annotations_to_detections,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/dataset/formats/coco.py,funcao,_build_coco_segmentation_from_mask,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/dataset/formats/coco.py,funcao,_build_coco_segmentation_from_raw_data,4,8,5,9,12,14,32.0,50.1895,2.25,112.9263,6.2737,0.0167 +src/supervision/dataset/formats/coco.py,funcao,detections_to_coco_annotations,5,12,7,14,17,21,54.6292,85.8367,2.9167,250.3571,13.9087,0.0286 +src/supervision/dataset/formats/coco.py,funcao,get_coco_class_index_mapping,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/coco.py,funcao,load_coco_annotations,4,7,4,8,11,12,27.6515,41.5132,2.2857,94.8873,5.2715,0.0138 +src/supervision/dataset/formats/coco.py,funcao,_with_seg_mask,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/coco.py,funcao,save_coco_annotations,3,6,4,8,9,12,20.2647,38.0391,2.0,76.0782,4.2266,0.0127 +src/supervision/dataset/formats/pascal_voc.py,funcao,object_to_pascal_voc,2,4,3,6,6,9,10.0,23.2647,1.5,34.897,1.9387,0.0078 +src/supervision/dataset/formats/pascal_voc.py,funcao,detections_to_pascal_voc,3,4,3,5,7,8,12.7549,22.4588,1.875,42.1103,2.3395,0.0075 +src/supervision/dataset/formats/pascal_voc.py,funcao,load_pascal_voc_annotations,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/dataset/formats/pascal_voc.py,funcao,detections_from_xml_obj,5,11,6,12,16,18,49.6634,72.0,2.7273,196.3636,10.9091,0.024 +src/supervision/dataset/formats/pascal_voc.py,funcao,_with_poly_mask,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/formats/pascal_voc.py,funcao,parse_polygon_points,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/dataset/formats/pascal_voc.py,funcao,_get_required_text,2,5,3,6,7,9,13.6096,25.2662,1.2,30.3194,1.6844,0.0084 +src/supervision/dataset/formats/yolo.py,funcao,_parse_box,3,13,8,16,16,24,52.8606,96.0,1.8462,177.2308,9.8462,0.032 +src/supervision/dataset/formats/yolo.py,funcao,_box_to_polygon,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/yolo.py,funcao,_parse_polygon,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/dataset/formats/yolo.py,funcao,_polygons_to_masks,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/yolo.py,funcao,_with_seg_mask,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/formats/yolo.py,funcao,_extract_class_names,2,5,4,5,7,9,13.6096,25.2662,1.0,25.2662,1.4037,0.0084 +src/supervision/dataset/formats/yolo.py,funcao,_image_name_to_annotation_name,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/dataset/formats/yolo.py,funcao,yolo_annotations_to_detections,5,13,8,14,18,22,59.7154,91.7384,2.6923,246.9879,13.7215,0.0306 +src/supervision/dataset/formats/yolo.py,funcao,load_yolo_annotations,4,8,6,10,12,16,32.0,57.3594,2.5,143.3985,7.9666,0.0191 +src/supervision/dataset/formats/yolo.py,funcao,object_to_yolo,5,13,10,19,18,29,59.7154,120.9278,3.6538,441.8517,24.5473,0.0403 +src/supervision/dataset/formats/yolo.py,funcao,detections_to_yolo_annotations,7,14,9,18,21,27,72.9545,118.5926,4.5,533.6666,29.6481,0.0395 +src/supervision/dataset/formats/yolo.py,funcao,save_yolo_annotations,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/dataset/formats/yolo.py,funcao,save_data_yaml,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,_rle_area,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,_rle_split_cols,8,19,21,40,27,61,104.7106,290.0481,8.4211,2442.5106,135.695,0.0967 +src/supervision/detection/compact_mask.py,funcao,_rle_scale_col,6,14,13,24,20,37,68.8127,159.9113,5.1429,822.4012,45.689,0.0533 +src/supervision/detection/compact_mask.py,funcao,_rle_join_cols,8,16,12,20,24,32,88.0,146.7188,5.0,733.594,40.7552,0.0489 +src/supervision/detection/compact_mask.py,funcao,_rle_resize,6,25,16,32,31,48,131.6062,237.8014,3.84,913.1575,50.731,0.0793 +src/supervision/detection/compact_mask.py,funcao,_resize_crop,4,10,5,10,14,15,41.2193,57.1103,2.0,114.2206,6.3456,0.019 +src/supervision/detection/compact_mask.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,from_dense,5,13,14,28,18,42,59.7154,175.1369,5.3846,943.0446,52.3914,0.0584 +src/supervision/detection/compact_mask.py,funcao,to_dense,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/detection/compact_mask.py,funcao,crop,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,__len__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,__iter__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,shape,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,offsets,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,bbox_xyxy,3,9,5,10,12,15,33.2842,53.7744,1.6667,89.6241,4.9791,0.0179 +src/supervision/detection/compact_mask.py,funcao,dtype,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,area,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,sum,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/compact_mask.py,funcao,__getitem__,3,10,5,10,13,15,37.9742,55.5066,1.5,83.2599,4.6255,0.0185 +src/supervision/detection/compact_mask.py,funcao,__array__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/compact_mask.py,funcao,__eq__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/compact_mask.py,funcao,merge,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/detection/compact_mask.py,funcao,repack,5,12,12,21,17,33,54.6292,134.8863,4.375,590.1274,32.7849,0.045 +src/supervision/detection/compact_mask.py,funcao,with_offset,10,37,35,68,47,103,225.9691,572.1227,9.1892,5257.3433,292.0746,0.1907 +src/supervision/detection/compact_mask.py,funcao,resize,8,31,25,50,39,75,177.5801,396.4052,6.4516,2557.4527,142.0807,0.1321 +src/supervision/detection/core.py,funcao,__post_init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,__len__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,__iter__,1,5,4,8,6,12,11.6096,31.0196,0.8,24.8156,1.3786,0.0103 +src/supervision/detection/core.py,funcao,__eq__,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/detection/core.py,funcao,from_yolov5,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,from_ultralytics,3,10,8,16,13,24,37.9742,88.8106,2.4,213.1453,11.8414,0.0296 +src/supervision/detection/core.py,funcao,from_yolo_nas,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,from_tensorflow,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/detection/core.py,funcao,from_deepsparse,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,from_mmdetection,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,from_transformers,3,11,7,14,14,21,42.8086,79.9545,1.9091,152.6403,8.48,0.0267 +src/supervision/detection/core.py,funcao,from_detectron2,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,from_inference,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,from_sam,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,from_sam3,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/detection/core.py,funcao,from_azure_analyze_image,7,14,10,20,21,30,72.9545,131.7695,5.0,658.8476,36.6026,0.0439 +src/supervision/detection/core.py,funcao,from_paddledet,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,from_lmm,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,from_vlm,3,16,12,24,19,36,68.7549,152.9254,2.25,344.0821,19.1157,0.051 +src/supervision/detection/core.py,funcao,from_easyocr,3,6,3,6,9,9,20.2647,28.5293,1.5,42.794,2.3774,0.0095 +src/supervision/detection/core.py,funcao,from_ncnn,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,empty,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,is_empty,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/core.py,funcao,merge,3,8,5,9,11,14,28.7549,48.432,1.6875,81.7291,4.5405,0.0161 +src/supervision/detection/core.py,funcao,get_anchors_coordinates,4,32,23,46,36,69,168.0,356.7248,2.875,1025.5839,56.9769,0.1189 +src/supervision/detection/core.py,funcao,__getitem__,2,7,5,10,9,15,21.6515,47.5489,1.4286,67.927,3.7737,0.0158 +src/supervision/detection/core.py,funcao,__setitem__,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/detection/core.py,funcao,area,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/core.py,funcao,box_area,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/detection/core.py,funcao,box_aspect_ratio,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/detection/core.py,funcao,with_nms,4,9,8,13,13,21,36.5293,77.7092,2.8889,224.4933,12.4719,0.0259 +src/supervision/detection/core.py,funcao,with_nmm,4,9,8,13,13,21,36.5293,77.7092,2.8889,224.4933,12.4719,0.0259 +src/supervision/detection/core.py,funcao,_merge_obb_corners,3,7,5,8,10,13,24.4064,43.1851,1.7143,74.0315,4.1129,0.0144 +src/supervision/detection/core.py,funcao,_merge_detection_group,9,22,13,26,31,39,126.6368,193.2137,5.3182,1027.5454,57.0859,0.0644 +src/supervision/detection/core.py,funcao,merge_inner_detection_object_pair,10,36,26,52,46,78,219.3366,430.8378,7.2222,3111.6066,172.867,0.1436 +src/supervision/detection/core.py,funcao,merge_inner_detections_objects,3,6,4,8,9,12,20.2647,38.0391,2.0,76.0782,4.2266,0.0127 +src/supervision/detection/core.py,funcao,merge_inner_detections_objects_without_iou,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,_get_sam3_value,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,_normalize_sam3_prompt_results,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,_normalize_sam3_prompt_result,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,_normalize_sam3_prediction,5,9,5,10,14,15,40.139,57.1103,2.7778,158.6398,8.8133,0.019 +src/supervision/detection/core.py,funcao,_build_sam3_mask,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/core.py,funcao,_validate_fields_both_defined_or_none,2,5,3,6,7,9,13.6096,25.2662,1.2,30.3194,1.6844,0.0084 +src/supervision/detection/core.py,funcao,validate_fields_both_defined_or_none,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/line_zone.py,funcao,_multiclass_config_property,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/line_zone.py,funcao,__init__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/line_zone.py,funcao,in_count,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/line_zone.py,funcao,out_count,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/line_zone.py,funcao,in_count_per_class,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/line_zone.py,funcao,out_count_per_class,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/line_zone.py,funcao,trigger,10,17,12,23,27,35,102.7061,166.4211,6.7647,1125.7895,62.5439,0.0555 +src/supervision/detection/line_zone.py,funcao,_calculate_region_of_interest_limits,5,9,10,19,14,29,40.139,110.4133,5.2778,582.7368,32.3743,0.0368 +src/supervision/detection/line_zone.py,funcao,_compute_anchor_sides,5,10,7,13,15,20,44.8289,78.1378,3.25,253.9479,14.1082,0.026 +src/supervision/detection/line_zone.py,funcao,_update_class_id_to_name,3,5,5,10,8,15,16.3645,45.0,3.0,135.0,7.5,0.015 +src/supervision/detection/line_zone.py,funcao,annotate,7,32,28,54,39,82,179.6515,433.403,5.9062,2559.7864,142.2104,0.1445 +src/supervision/detection/line_zone.py,funcao,_get_line_angle,5,10,8,16,15,24,44.8289,93.7654,4.0,375.0615,20.8367,0.0313 +src/supervision/detection/line_zone.py,funcao,_calculate_anchor_in_frame,5,30,20,40,35,60,158.8164,307.757,3.3333,1025.8566,56.992,0.1026 +src/supervision/detection/line_zone.py,funcao,_draw_basic_label,3,5,4,8,8,12,16.3645,36.0,2.4,86.4,4.8,0.012 +src/supervision/detection/line_zone.py,funcao,_draw_oriented_label,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/line_zone.py,funcao,_make_label_image,6,13,10,17,19,27,63.6155,114.694,3.9231,449.9536,24.9974,0.0382 +src/supervision/detection/vlm.py,funcao,list,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/vlm.py,funcao,from_value,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/vlm.py,funcao,_validate_vlm_parameters,2,4,3,5,6,8,10.0,20.6797,1.25,25.8496,1.4361,0.0069 +src/supervision/detection/vlm.py,funcao,validate_vlm_parameters,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/vlm.py,funcao,from_paligemma,6,10,6,12,16,18,48.7291,72.0,3.6,259.2,14.4,0.024 +src/supervision/detection/vlm.py,funcao,recover_truncated_qwen_2_5_vl_response,3,11,12,20,14,32,42.8086,121.8354,2.7273,332.2782,18.4599,0.0406 +src/supervision/detection/vlm.py,funcao,from_qwen_2_5_vl,12,23,18,33,35,51,147.0615,261.5934,8.6087,2251.9783,125.1099,0.0872 +src/supervision/detection/vlm.py,funcao,from_qwen_3_vl,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/vlm.py,funcao,from_deepseek_vl_2,5,16,11,22,21,33,75.6096,144.9465,3.4375,498.2535,27.6808,0.0483 +src/supervision/detection/vlm.py,funcao,from_florence_2,7,18,14,26,25,40,94.7101,185.7542,5.0556,939.0909,52.1717,0.0619 +src/supervision/detection/vlm.py,funcao,_extract_json_from_backticks,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/vlm.py,funcao,_build_empty_gemini_2_5_result,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/vlm.py,funcao,_parse_gemini_2_5_item,5,11,7,14,16,21,49.6634,84.0,3.1818,267.2727,14.8485,0.028 +src/supervision/detection/vlm.py,funcao,_collect_gemini_2_5_items,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/detection/vlm.py,funcao,_filter_gemini_2_5_results,2,5,3,6,7,9,13.6096,25.2662,1.2,30.3194,1.6844,0.0084 +src/supervision/detection/vlm.py,funcao,_build_gemini_2_5_class_id,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/vlm.py,funcao,_decode_mask_for_item,5,14,9,16,19,25,64.9126,106.1982,2.8571,303.4234,16.8569,0.0354 +src/supervision/detection/vlm.py,funcao,from_google_gemini_2_0,7,13,8,16,20,24,67.7572,103.7263,4.3077,446.8209,24.8234,0.0346 +src/supervision/detection/vlm.py,funcao,from_google_gemini_2_5,3,4,3,5,7,8,12.7549,22.4588,1.875,42.1103,2.3395,0.0075 +src/supervision/detection/vlm.py,funcao,from_moondream,6,14,9,16,20,25,68.8127,108.0482,3.4286,370.451,20.5806,0.036 +src/supervision/detection/tools/csv_sink.py,funcao,writerow,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/csv_sink.py,funcao,__init__,1,3,2,4,4,6,4.7549,12.0,0.6667,8.0,0.4444,0.004 +src/supervision/detection/tools/csv_sink.py,funcao,__enter__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/csv_sink.py,funcao,__exit__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/csv_sink.py,funcao,open,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/detection/tools/csv_sink.py,funcao,close,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/csv_sink.py,funcao,_slice_value,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/detection/tools/csv_sink.py,funcao,parse_detection_data,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/detection/tools/csv_sink.py,funcao,append,2,3,3,4,5,7,6.7549,16.2535,1.3333,21.6713,1.204,0.0054 +src/supervision/detection/tools/csv_sink.py,funcao,parse_field_names,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/tools/inference_slicer.py,funcao,move_detections,3,5,3,6,8,9,16.3645,27.0,1.8,48.6,2.7,0.009 +src/supervision/detection/tools/inference_slicer.py,funcao,__init__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/inference_slicer.py,funcao,callback,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/inference_slicer.py,funcao,slice_wh,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/inference_slicer.py,funcao,overlap_wh,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/inference_slicer.py,funcao,iou_threshold,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/inference_slicer.py,funcao,overlap_metric,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/inference_slicer.py,funcao,overlap_filter,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/inference_slicer.py,funcao,thread_workers,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/inference_slicer.py,funcao,compact_masks,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/inference_slicer.py,funcao,__call__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/inference_slicer.py,funcao,_collect_detections,7,13,9,16,20,25,67.7572,108.0482,4.3077,465.4384,25.8577,0.036 +src/supervision/detection/tools/inference_slicer.py,funcao,_probe_remaining_offsets,4,7,4,8,11,12,27.6515,41.5132,2.2857,94.8873,5.2715,0.0138 +src/supervision/detection/tools/inference_slicer.py,funcao,_run_sequential_inference,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/inference_slicer.py,funcao,_run_parallel_inference,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/inference_slicer.py,funcao,_warn_obb_sequential_fallback,3,5,3,5,8,8,16.3645,24.0,1.5,36.0,2.0,0.008 +src/supervision/detection/tools/inference_slicer.py,funcao,_apply_overlap_filter,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/detection/tools/inference_slicer.py,funcao,_run_callback,7,27,15,31,34,46,148.0334,234.0233,4.0185,940.4269,52.2459,0.078 +src/supervision/detection/tools/inference_slicer.py,funcao,_normalize_slice_wh,4,10,6,12,14,18,41.2193,68.5324,2.4,164.4777,9.1377,0.0228 +src/supervision/detection/tools/inference_slicer.py,funcao,_normalize_overlap_wh,4,10,6,12,14,18,41.2193,68.5324,2.4,164.4777,9.1377,0.0228 +src/supervision/detection/tools/inference_slicer.py,funcao,_generate_offset,8,16,13,22,24,35,88.0,160.4737,5.5,882.6053,49.0336,0.0535 +src/supervision/detection/tools/inference_slicer.py,funcao,_validate_overlap,3,9,6,12,12,18,33.2842,64.5293,2.0,129.0587,7.1699,0.0215 +src/supervision/detection/tools/json_sink.py,funcao,__init__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/json_sink.py,funcao,__enter__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/json_sink.py,funcao,__exit__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/json_sink.py,funcao,open,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/detection/tools/json_sink.py,funcao,_json_default,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/json_sink.py,funcao,write_and_close,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/json_sink.py,funcao,_slice_value,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/detection/tools/json_sink.py,funcao,parse_detection_data,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/detection/tools/json_sink.py,funcao,append,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,trigger,5,15,11,22,20,33,70.213,142.6236,3.6667,522.9533,29.053,0.0475 +src/supervision/detection/tools/polygon_zone.py,funcao,color,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,thickness,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,text_color,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,text_scale,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,text_thickness,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,text_padding,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,display_in_zone_count,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,opacity,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,font,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,center,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/polygon_zone.py,funcao,annotate,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/tools/smoother.py,funcao,__init__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/smoother.py,funcao,update_with_detections,2,4,3,6,6,9,10.0,23.2647,1.5,34.897,1.9387,0.0078 +src/supervision/detection/tools/smoother.py,funcao,get_track,3,6,4,8,9,12,20.2647,38.0391,2.0,76.0782,4.2266,0.0127 +src/supervision/detection/tools/smoother.py,funcao,get_smoothed_detections,4,7,4,8,11,12,27.6515,41.5132,2.2857,94.8873,5.2715,0.0138 +src/supervision/detection/tools/transformers.py,funcao,process_transformers_detection_result,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/transformers.py,funcao,process_transformers_v4_segmentation_result,2,4,4,8,6,12,10.0,31.0196,2.0,62.0391,3.4466,0.0103 +src/supervision/detection/tools/transformers.py,funcao,process_transformers_v5_segmentation_result,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/transformers.py,funcao,process_transformers_v5_semantic_or_instance_segmentation_result,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/transformers.py,funcao,process_transformers_v4_panoptic_segmentation_result,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/transformers.py,funcao,process_transformers_v5_panoptic_segmentation_result,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/tools/transformers.py,funcao,png_string_to_segmentation_array,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/tools/transformers.py,funcao,append_class_names_to_data,2,3,2,4,5,6,6.7549,13.9316,1.3333,18.5754,1.032,0.0046 +src/supervision/detection/utils/boxes.py,funcao,clip_boxes,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/boxes.py,funcao,pad_boxes,3,6,3,6,9,9,20.2647,28.5293,1.5,42.794,2.3774,0.0095 +src/supervision/detection/utils/boxes.py,funcao,denormalize_boxes,2,7,4,8,9,12,21.6515,38.0391,1.1429,43.4733,2.4152,0.0127 +src/supervision/detection/utils/boxes.py,funcao,move_boxes,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/utils/boxes.py,funcao,move_oriented_boxes,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/utils/boxes.py,funcao,obb_polygon_area,5,16,13,20,21,33,75.6096,144.9465,3.125,452.9577,25.1643,0.0483 +src/supervision/detection/utils/boxes.py,funcao,xyxyxyxy_to_xyxy,3,8,9,12,11,21,28.7549,72.6481,2.25,163.4581,9.081,0.0242 +src/supervision/detection/utils/boxes.py,funcao,scale_boxes,4,12,8,16,16,24,51.0196,96.0,2.6667,256.0,14.2222,0.032 +src/supervision/detection/utils/boxes.py,funcao,spread_out_boxes,10,24,21,39,34,60,143.2584,305.2478,8.125,2480.1381,137.7855,0.1017 +src/supervision/detection/utils/converters.py,funcao,xyxy_to_polygons,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/converters.py,funcao,polygon_to_mask,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/converters.py,funcao,xywh_to_xyxy,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/detection/utils/converters.py,funcao,xyxy_to_xywh,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/detection/utils/converters.py,funcao,xcycwh_to_xyxy,3,13,8,16,16,24,52.8606,96.0,1.8462,177.2308,9.8462,0.032 +src/supervision/detection/utils/converters.py,funcao,xyxy_to_xcycarh,5,11,8,16,16,24,49.6634,96.0,3.6364,349.0909,19.3939,0.032 +src/supervision/detection/utils/converters.py,funcao,mask_to_xyxy,4,10,8,13,14,21,41.2193,79.9545,2.6,207.8816,11.549,0.0267 +src/supervision/detection/utils/converters.py,funcao,xyxy_to_mask,4,9,7,14,13,21,36.5293,77.7092,3.1111,241.7621,13.4312,0.0259 +src/supervision/detection/utils/converters.py,funcao,mask_to_polygons,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/utils/converters.py,funcao,_base48_decode,11,23,17,32,34,49,142.0957,249.2857,7.6522,1907.5774,105.9765,0.0831 +src/supervision/detection/utils/converters.py,funcao,_base48_encode,6,10,8,15,16,23,48.7291,92.0,4.5,414.0,23.0,0.0307 +src/supervision/detection/utils/converters.py,funcao,_delta_decode,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/utils/converters.py,funcao,_delta_encode,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/detection/utils/converters.py,funcao,is_compressed_rle,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/converters.py,funcao,_mask_to_rle_counts,3,5,3,6,8,9,16.3645,27.0,1.8,48.6,2.7,0.009 +src/supervision/detection/utils/converters.py,funcao,_rle_counts_to_mask,5,9,5,10,14,15,40.139,57.1103,2.7778,158.6398,8.8133,0.019 +src/supervision/detection/utils/converters.py,funcao,rle_to_mask,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/utils/converters.py,funcao,mask_to_rle,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/utils/converters.py,funcao,polygon_to_xyxy,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/internal.py,funcao,extract_ultralytics_masks,5,22,13,25,27,38,109.7171,180.6857,2.8409,513.3117,28.5173,0.0602 +src/supervision/detection/utils/internal.py,funcao,_decode_rle_mask,3,8,5,8,11,13,28.7549,44.9726,1.5,67.4589,3.7477,0.015 +src/supervision/detection/utils/internal.py,funcao,process_roboflow_result,11,28,21,41,39,62,172.6597,327.6949,8.0536,2639.1146,146.6175,0.1092 +src/supervision/detection/utils/internal.py,funcao,is_data_equal,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/utils/internal.py,funcao,is_metadata_equal,2,8,4,8,10,12,26.0,39.8631,1.0,39.8631,2.2146,0.0133 +src/supervision/detection/utils/internal.py,funcao,_validate_data_list_keys,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/detection/utils/internal.py,funcao,_validate_data_value_lengths,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/utils/internal.py,funcao,_merge_data_values,2,2,2,4,4,6,4.0,12.0,2.0,24.0,1.3333,0.004 +src/supervision/detection/utils/internal.py,funcao,merge_data,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/detection/utils/internal.py,funcao,merge_metadata,6,13,8,13,19,21,63.6155,89.2065,3.0,267.6194,14.8677,0.0297 +src/supervision/detection/utils/internal.py,funcao,get_data_item,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/detection/utils/internal.py,funcao,cross_product,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/detection/utils/iou_and_nms.py,funcao,list,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/iou_and_nms.py,funcao,from_value,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/iou_and_nms.py,funcao,box_iou,6,27,15,30,33,45,143.8917,226.9977,3.3333,756.6591,42.0366,0.0757 +src/supervision/detection/utils/iou_and_nms.py,funcao,box_iou_batch,6,27,15,30,33,45,143.8917,226.9977,3.3333,756.6591,42.0366,0.0757 +src/supervision/detection/utils/iou_and_nms.py,funcao,_jaccard,4,34,19,38,38,57,180.9737,299.1319,2.2353,668.6477,37.1471,0.0997 +src/supervision/detection/utils/iou_and_nms.py,funcao,box_iou_batch_with_jaccard,2,7,4,8,9,12,21.6515,38.0391,1.1429,43.4733,2.4152,0.0127 +src/supervision/detection/utils/iou_and_nms.py,funcao,_polygon_areas,3,9,6,10,12,16,33.2842,57.3594,1.6667,95.599,5.3111,0.0191 +src/supervision/detection/utils/iou_and_nms.py,funcao,_aabb_envelopes,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/iou_and_nms.py,funcao,_overlapping_envelope_pairs,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/detection/utils/iou_and_nms.py,funcao,_validate_oriented_box_batch,4,12,7,14,16,21,51.0196,84.0,2.3333,196.0,10.8889,0.028 +src/supervision/detection/utils/iou_and_nms.py,funcao,_normalize_oriented_overlap_metric,1,3,2,4,4,6,4.7549,12.0,0.6667,8.0,0.4444,0.004 +src/supervision/detection/utils/iou_and_nms.py,funcao,oriented_box_iou_batch,9,15,12,22,24,34,87.1327,155.8887,6.6,1028.8656,57.1592,0.052 +src/supervision/detection/utils/iou_and_nms.py,funcao,compact_mask_iou_batch,9,37,28,56,46,84,221.2791,463.9792,6.8108,3160.0746,175.5597,0.1547 +src/supervision/detection/utils/iou_and_nms.py,funcao,_mask_iou_batch_split,7,16,9,18,23,27,83.6515,122.1362,3.9375,480.9112,26.7173,0.0407 +src/supervision/detection/utils/iou_and_nms.py,funcao,mask_iou_batch,11,40,29,57,51,86,250.9309,487.8286,7.8375,3823.3565,212.4087,0.1626 +src/supervision/detection/utils/iou_and_nms.py,funcao,mask_non_max_suppression,6,11,10,18,17,28,53.5635,114.449,4.9091,561.8403,31.2134,0.0381 +src/supervision/detection/utils/iou_and_nms.py,funcao,_prepare_predictions_for_nms,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/utils/iou_and_nms.py,funcao,_nms_loop_from_iou_matrix,6,12,7,12,18,19,58.5293,79.2286,3.0,237.6857,13.2048,0.0264 +src/supervision/detection/utils/iou_and_nms.py,funcao,box_non_max_suppression,1,3,2,3,4,5,4.7549,10.0,0.5,5.0,0.2778,0.0033 +src/supervision/detection/utils/iou_and_nms.py,funcao,_group_overlapping_masks,6,9,8,12,15,20,44.0391,78.1378,4.0,312.5512,17.364,0.026 +src/supervision/detection/utils/iou_and_nms.py,funcao,mask_non_max_merge,1,6,3,6,7,9,15.5098,25.2662,0.5,12.6331,0.7018,0.0084 +src/supervision/detection/utils/iou_and_nms.py,funcao,_greedy_nmm_via_iou_callback,5,7,6,9,12,15,31.2611,53.7744,3.2143,172.8464,9.6026,0.0179 +src/supervision/detection/utils/iou_and_nms.py,funcao,_non_max_merge_per_category,1,6,3,6,7,9,15.5098,25.2662,0.5,12.6331,0.7018,0.0084 +src/supervision/detection/utils/iou_and_nms.py,funcao,_group_overlapping_boxes,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/detection/utils/iou_and_nms.py,funcao,box_non_max_merge,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/iou_and_nms.py,funcao,oriented_box_non_max_suppression,6,23,14,27,29,41,119.5517,199.1772,3.5217,701.4502,38.9695,0.0664 +src/supervision/detection/utils/iou_and_nms.py,funcao,_group_overlapping_oriented_boxes,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/detection/utils/iou_and_nms.py,funcao,oriented_box_non_max_merge,6,23,14,27,29,41,119.5517,199.1772,3.5217,701.4502,38.9695,0.0664 +src/supervision/detection/utils/masks.py,funcao,move_masks,6,27,17,32,33,49,143.8917,247.1753,3.5556,878.8456,48.8248,0.0824 +src/supervision/detection/utils/masks.py,funcao,calculate_masks_centroids,3,16,12,24,19,36,68.7549,152.9254,2.25,344.0821,19.1157,0.051 +src/supervision/detection/utils/masks.py,funcao,contains_holes,3,5,3,5,8,8,16.3645,24.0,1.5,36.0,2.0,0.008 +src/supervision/detection/utils/masks.py,funcao,contains_multiple_segments,3,7,4,8,10,12,24.4064,39.8631,1.7143,68.3368,3.7965,0.0133 +src/supervision/detection/utils/masks.py,funcao,resize_masks,3,5,6,12,8,18,16.3645,54.0,3.6,194.4,10.8,0.018 +src/supervision/detection/utils/masks.py,funcao,_resolve_distance_threshold,2,5,3,6,7,9,13.6096,25.2662,1.2,30.3194,1.6844,0.0084 +src/supervision/detection/utils/masks.py,funcao,_filter_labels_by_centroid_distance,4,8,4,8,12,12,32.0,43.0196,2.0,86.0391,4.78,0.0143 +src/supervision/detection/utils/masks.py,funcao,_filter_labels_by_edge_distance,4,8,6,11,12,17,32.0,60.9444,2.75,167.597,9.3109,0.0203 +src/supervision/detection/utils/masks.py,funcao,filter_segments_by_distance,5,9,6,11,14,17,40.139,64.725,3.0556,197.7709,10.9873,0.0216 +src/supervision/detection/utils/polygons.py,funcao,filter_polygons_by_area,5,12,10,20,17,30,54.6292,122.6239,4.1667,510.9329,28.3852,0.0409 +src/supervision/detection/utils/polygons.py,funcao,approximate_polygon,8,14,10,20,22,30,77.303,133.7829,5.7143,764.474,42.4708,0.0446 +src/supervision/detection/utils/vlms.py,funcao,edit_distance,6,18,15,29,24,44,90.5684,201.7384,4.8333,975.0687,54.1705,0.0672 +src/supervision/detection/utils/vlms.py,funcao,fuzzy_match_index,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/draw/color.py,funcao,_validate_color_hex,3,5,3,5,8,8,16.3645,24.0,1.5,36.0,2.0,0.008 +src/supervision/draw/color.py,funcao,from_hex,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,from_rgb_tuple,3,9,8,13,12,21,33.2842,75.2842,2.1667,163.1158,9.062,0.0251 +src/supervision/draw/color.py,funcao,from_bgr_tuple,3,9,8,13,12,21,33.2842,75.2842,2.1667,163.1158,9.062,0.0251 +src/supervision/draw/color.py,funcao,from_rgba_tuple,3,11,10,17,14,27,42.8086,102.7986,2.3182,238.3058,13.2392,0.0343 +src/supervision/draw/color.py,funcao,from_bgra_tuple,3,11,10,17,14,27,42.8086,102.7986,2.3182,238.3058,13.2392,0.0343 +src/supervision/draw/color.py,funcao,as_hex,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/draw/color.py,funcao,as_rgb,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,as_bgr,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,as_rgba,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,as_bgra,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,WHITE,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,BLACK,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,GREY,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,RED,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,GREEN,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,BLUE,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,YELLOW,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,ROBOFLOW,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,__hash__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,__repr__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/draw/color.py,funcao,__eq__,2,9,5,13,11,18,30.5293,62.2698,1.4444,89.9452,4.997,0.0208 +src/supervision/draw/color.py,funcao,DEFAULT,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,LEGACY,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,from_matplotlib,3,8,5,10,11,15,28.7549,51.8915,1.875,97.2965,5.4054,0.0173 +src/supervision/draw/color.py,funcao,by_idx,2,3,2,4,5,6,6.7549,13.9316,1.3333,18.5754,1.032,0.0046 +src/supervision/draw/color.py,funcao,__len__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/color.py,funcao,unify_to_bgr,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/utils.py,funcao,draw_line,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/utils.py,funcao,draw_rectangle,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/utils.py,funcao,draw_filled_rectangle,3,2,4,6,5,10,6.7549,23.2193,4.5,104.4868,5.8048,0.0077 +src/supervision/draw/utils.py,funcao,draw_rounded_rectangle,4,8,17,32,12,49,32.0,175.6632,8.0,1405.3053,78.0725,0.0586 +src/supervision/draw/utils.py,funcao,draw_polygon,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/draw/utils.py,funcao,draw_filled_polygon,2,2,2,4,4,6,4.0,12.0,2.0,24.0,1.3333,0.004 +src/supervision/draw/utils.py,funcao,draw_text,4,11,9,18,15,27,46.0537,105.486,3.2727,345.2271,19.1793,0.0352 +src/supervision/draw/utils.py,funcao,draw_image,10,30,23,45,40,68,180.426,361.8911,7.5,2714.1833,150.788,0.1206 +src/supervision/draw/utils.py,funcao,calculate_optimal_text_scale,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/draw/utils.py,funcao,calculate_optimal_line_thickness,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/geometry/core.py,funcao,list,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/geometry/core.py,funcao,as_xy_int_tuple,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/geometry/core.py,funcao,as_xy_float_tuple,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/geometry/core.py,funcao,magnitude,3,7,5,10,10,15,24.4064,49.8289,2.1429,106.7763,5.932,0.0166 +src/supervision/geometry/core.py,funcao,center,2,5,4,8,7,12,13.6096,33.6883,1.6,53.9012,2.9945,0.0112 +src/supervision/geometry/core.py,funcao,cross_product,2,8,7,14,10,21,26.0,69.7605,1.75,122.0809,6.7823,0.0233 +src/supervision/geometry/core.py,funcao,from_xyxy,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/geometry/core.py,funcao,top_left,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/geometry/core.py,funcao,bottom_right,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/geometry/core.py,funcao,pad,3,8,6,12,11,18,28.7549,62.2698,2.25,140.107,7.7837,0.0208 +src/supervision/geometry/core.py,funcao,as_xyxy_int_tuple,1,4,2,4,5,6,8.0,13.9316,0.5,6.9658,0.387,0.0046 +src/supervision/geometry/utils.py,funcao,get_polygon_center,4,10,6,11,14,17,41.2193,64.725,2.2,142.3951,7.9108,0.0216 +src/supervision/key_points/annotators.py,funcao,annotate,4,8,6,9,12,15,32.0,53.7744,2.25,120.9925,6.7218,0.0179 +src/supervision/key_points/annotators.py,funcao,__init__,1,3,2,4,4,6,4.7549,12.0,0.6667,8.0,0.4444,0.004 +src/supervision/key_points/annotators.py,funcao,_get_covariances,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/key_points/annotators.py,funcao,_decompose_covariance,4,7,5,7,11,12,27.6515,41.5132,2.0,83.0264,4.6126,0.0138 +src/supervision/key_points/annotators.py,funcao,_iter_ellipse_params,5,9,6,11,14,17,40.139,64.725,3.0556,197.7709,10.9873,0.0216 +src/supervision/key_points/annotators.py,funcao,get_text_bounding_box,3,9,8,16,12,24,33.2842,86.0391,2.6667,229.4376,12.7465,0.0287 +src/supervision/key_points/annotators.py,funcao,_resolve_labels,3,5,4,8,8,12,16.3645,36.0,2.4,86.4,4.8,0.012 +src/supervision/key_points/annotators.py,funcao,_resolve_color_list,2,3,2,4,5,6,6.7549,13.9316,1.3333,18.5754,1.032,0.0046 +src/supervision/key_points/core.py,funcao,_optional_array_equal,3,7,6,12,10,18,24.4064,59.7947,2.5714,153.7578,8.5421,0.0199 +src/supervision/key_points/core.py,funcao,_normalize_row_index,2,11,5,11,13,16,40.0537,59.207,1.0,59.207,3.2893,0.0197 +src/supervision/key_points/core.py,funcao,__init__,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/key_points/core.py,funcao,__post_init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/key_points/core.py,funcao,confidence,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/key_points/core.py,funcao,__len__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/key_points/core.py,funcao,__iter__,1,3,2,4,4,6,4.7549,12.0,0.6667,8.0,0.4444,0.004 +src/supervision/key_points/core.py,funcao,__eq__,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/key_points/core.py,funcao,from_inference,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/key_points/core.py,funcao,from_mediapipe,4,10,6,11,14,17,41.2193,64.725,2.2,142.3951,7.9108,0.0216 +src/supervision/key_points/core.py,funcao,from_ultralytics,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/key_points/core.py,funcao,from_yolo_nas,4,9,5,10,13,15,36.5293,55.5066,2.2222,123.348,6.8527,0.0185 +src/supervision/key_points/core.py,funcao,from_detectron2,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/key_points/core.py,funcao,from_transformers,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/key_points/core.py,funcao,_get_by_2d_bool_mask,7,23,19,37,30,56,123.6934,274.7859,5.6304,1547.1639,85.9536,0.0916 +src/supervision/key_points/core.py,funcao,_normalize_getitem_index,3,17,10,19,20,29,74.2418,125.3359,1.6765,210.122,11.6734,0.0418 +src/supervision/key_points/core.py,funcao,_select_fields,1,5,4,8,6,12,11.6096,31.0196,0.8,24.8156,1.3786,0.0103 +src/supervision/key_points/core.py,funcao,_reshape_selected,4,15,14,28,19,42,66.6034,178.413,3.7333,666.075,37.0042,0.0595 +src/supervision/key_points/core.py,funcao,_getitem_by_normalized_index,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/key_points/core.py,funcao,__getitem__,2,7,3,7,9,10,21.6515,31.6993,1.0,31.6993,1.7611,0.0106 +src/supervision/key_points/core.py,funcao,__setitem__,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/key_points/core.py,funcao,empty,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/key_points/core.py,funcao,is_empty,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/key_points/core.py,funcao,with_nms,8,14,15,22,22,37,77.303,164.999,6.2857,1037.1364,57.6187,0.055 +src/supervision/key_points/core.py,funcao,as_detections,5,9,8,12,14,20,40.139,76.1471,3.3333,253.8237,14.1013,0.0254 +src/supervision/metrics/core.py,funcao,update,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/core.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/core.py,funcao,compute,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/detection.py,funcao,_assert_supported_target,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/metrics/detection.py,funcao,detections_to_tensor,7,20,13,24,27,37,106.09,175.9308,4.2,738.9095,41.0505,0.0586 +src/supervision/metrics/detection.py,funcao,_validate_input_tensors,5,14,9,16,19,25,64.9126,106.1982,2.8571,303.4234,16.8569,0.0354 +src/supervision/metrics/detection.py,funcao,_get_coordinate_metadata,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/metrics/detection.py,funcao,_validate_detection_batch_shapes,3,12,8,16,15,24,47.7744,93.7654,2.0,187.5307,10.4184,0.0313 +src/supervision/metrics/detection.py,funcao,_try_early_exit,2,6,4,8,8,12,17.5098,36.0,1.3333,48.0,2.6667,0.012 +src/supervision/metrics/detection.py,funcao,_get_iou_batch,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/metrics/detection.py,funcao,_fill_confusion_matrix_from_iou,7,18,13,24,25,37,94.7101,171.8227,4.6667,801.8392,44.5466,0.0573 +src/supervision/metrics/detection.py,funcao,validate_input_tensors,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/detection.py,funcao,__eq__,3,8,5,11,11,16,28.7549,55.3509,2.0625,114.1612,6.3423,0.0185 +src/supervision/metrics/detection.py,funcao,from_detections,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/detection.py,funcao,from_tensors,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/metrics/detection.py,funcao,evaluate_detection_batch,3,6,4,8,9,12,20.2647,38.0391,2.0,76.0782,4.2266,0.0127 +src/supervision/metrics/detection.py,funcao,_drop_extra_matches,2,3,3,4,5,7,6.7549,16.2535,1.3333,21.6713,1.204,0.0054 +src/supervision/metrics/detection.py,funcao,benchmark,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/detection.py,funcao,plot,9,23,15,27,32,42,132.5713,210.0,5.2826,1109.3478,61.6304,0.07 +src/supervision/metrics/detection.py,funcao,compute_average_precision,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/detection.py,funcao,_match_detection_batch,5,8,5,9,13,14,35.6096,51.8062,2.8125,145.7048,8.0947,0.0173 +src/supervision/metrics/detection.py,funcao,_average_precisions_per_class,6,15,10,19,21,29,74.1131,127.3772,3.8,484.0334,26.8907,0.0425 +src/supervision/metrics/f1_score.py,funcao,__init__,2,8,5,11,10,16,26.0,53.1508,1.375,73.0824,4.0601,0.0177 +src/supervision/metrics/f1_score.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,update,2,4,3,4,6,7,10.0,18.0947,1.0,18.0947,1.0053,0.006 +src/supervision/metrics/f1_score.py,funcao,compute,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,_compute,7,17,14,27,24,41,89.1384,187.9835,5.5588,1044.9669,58.0537,0.0627 +src/supervision/metrics/f1_score.py,funcao,_compute_f1_for_classes,2,7,5,9,9,14,21.6515,44.379,1.2857,57.0587,3.1699,0.0148 +src/supervision/metrics/f1_score.py,funcao,_match_detection_batch,5,8,5,9,13,14,35.6096,51.8062,2.8125,145.7048,8.0947,0.0173 +src/supervision/metrics/f1_score.py,funcao,_compute_confusion_matrix,2,8,5,10,10,15,26.0,49.8289,1.25,62.2862,3.4603,0.0166 +src/supervision/metrics/f1_score.py,funcao,_compute_f1,6,13,9,16,19,25,63.6155,106.1982,3.6923,392.1164,21.7842,0.0354 +src/supervision/metrics/f1_score.py,funcao,_detections_content,4,11,7,14,15,21,46.0537,82.0447,2.5455,208.8411,11.6023,0.0273 +src/supervision/metrics/f1_score.py,funcao,_make_empty_content,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/f1_score.py,funcao,_filter_detections_by_size,3,12,8,16,15,24,47.7744,93.7654,2.0,187.5307,10.4184,0.0313 +src/supervision/metrics/f1_score.py,funcao,_filter_predictions_and_targets_by_size,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,f1_50,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,f1_75,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,_ensure_size_results,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/metrics/f1_score.py,funcao,small_objects,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,medium_objects,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,large_objects,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/f1_score.py,funcao,__str__,3,16,12,24,19,36,68.7549,152.9254,2.25,344.0821,19.1157,0.051 +src/supervision/metrics/f1_score.py,funcao,to_pandas,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/f1_score.py,funcao,plot,4,26,19,38,30,57,130.2114,279.6928,2.9231,817.5635,45.4202,0.0932 +src/supervision/metrics/mean_average_precision.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,map50_95,2,5,4,6,7,10,13.6096,28.0735,1.2,33.6883,1.8716,0.0094 +src/supervision/metrics/mean_average_precision.py,funcao,map50,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,map75,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,small_objects,2,5,4,8,7,12,13.6096,33.6883,1.6,53.9012,2.9945,0.0112 +src/supervision/metrics/mean_average_precision.py,funcao,medium_objects,2,5,4,8,7,12,13.6096,33.6883,1.6,53.9012,2.9945,0.0112 +src/supervision/metrics/mean_average_precision.py,funcao,large_objects,2,5,4,8,7,12,13.6096,33.6883,1.6,53.9012,2.9945,0.0112 +src/supervision/metrics/mean_average_precision.py,funcao,__str__,2,7,4,9,9,13,21.6515,41.209,1.2857,52.983,2.9435,0.0137 +src/supervision/metrics/mean_average_precision.py,funcao,to_pandas,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/mean_average_precision.py,funcao,plot,4,27,19,38,31,57,136.382,282.3892,2.8148,794.8733,44.1596,0.0941 +src/supervision/metrics/mean_average_precision.py,funcao,empty,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,create_class_members,2,6,6,12,8,18,17.5098,54.0,2.0,108.0,6.0,0.018 +src/supervision/metrics/mean_average_precision.py,funcao,get_annotation_ids,6,15,12,19,21,31,74.1131,136.1618,3.8,517.415,28.7453,0.0454 +src/supervision/metrics/mean_average_precision.py,funcao,get_category_ids,3,9,10,15,12,25,33.2842,89.6241,2.5,224.0602,12.4478,0.0299 +src/supervision/metrics/mean_average_precision.py,funcao,get_image_ids,4,10,7,11,14,18,41.2193,68.5324,2.2,150.7713,8.3762,0.0228 +src/supervision/metrics/mean_average_precision.py,funcao,get_annotations,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/metrics/mean_average_precision.py,funcao,load_predictions,8,28,17,32,36,49,158.6059,253.3263,4.5714,1158.0632,64.3368,0.0844 +src/supervision/metrics/mean_average_precision.py,funcao,eval_imgs,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,results,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,stats,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,ious,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,_targets,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,_predictions,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,_prepare_targets_and_predictions,2,5,3,6,7,9,13.6096,25.2662,1.2,30.3194,1.6844,0.0084 +src/supervision/metrics/mean_average_precision.py,funcao,_compute_iou,4,9,7,11,13,18,36.5293,66.6079,2.4444,162.8193,9.0455,0.0222 +src/supervision/metrics/mean_average_precision.py,funcao,_evaluate_image,11,35,27,48,46,75,217.5787,414.2671,7.5429,3124.7579,173.5977,0.1381 +src/supervision/metrics/mean_average_precision.py,funcao,_initialize_accumulation,1,3,3,3,4,6,4.7549,12.0,0.5,6.0,0.3333,0.004 +src/supervision/metrics/mean_average_precision.py,funcao,_select_evaluation_indices,1,8,4,8,9,12,24.0,38.0391,0.5,19.0196,1.0566,0.0127 +src/supervision/metrics/mean_average_precision.py,funcao,_compute_raw_metrics,11,34,27,49,45,76,211.0275,417.3808,7.9265,3308.3569,183.7976,0.1391 +src/supervision/metrics/mean_average_precision.py,funcao,_compute_average_precision,3,6,4,6,9,10,20.2647,31.6993,1.5,47.5489,2.6416,0.0106 +src/supervision/metrics/mean_average_precision.py,funcao,_compute_average_precision_by_size,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,_accumulate,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,_pycocotools_summarize,6,11,13,22,17,35,53.5635,143.0612,6.0,858.3672,47.6871,0.0477 +src/supervision/metrics/mean_average_precision.py,funcao,evaluate,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/metrics/mean_average_precision.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_precision.py,funcao,update,4,7,7,10,11,17,27.6515,58.8103,2.8571,168.0295,9.335,0.0196 +src/supervision/metrics/mean_average_precision.py,funcao,_prepare_targets,7,20,16,32,27,48,106.09,228.2346,5.6,1278.1138,71.0063,0.0761 +src/supervision/metrics/mean_average_precision.py,funcao,_prepare_predictions,7,18,13,26,25,39,94.7101,181.1104,5.0556,915.6136,50.8674,0.0604 +src/supervision/metrics/mean_average_precision.py,funcao,compute,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/metrics/mean_average_recall.py,funcao,_ensure_size_results,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/metrics/mean_average_recall.py,funcao,small_objects,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,medium_objects,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,large_objects,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,mAR_at_1,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,mAR_at_10,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,mAR_at_100,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,__str__,3,16,12,24,19,36,68.7549,152.9254,2.25,344.0821,19.1157,0.051 +src/supervision/metrics/mean_average_recall.py,funcao,to_pandas,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/mean_average_recall.py,funcao,plot,4,27,19,38,31,57,136.382,282.3892,2.8148,794.8733,44.1596,0.0941 +src/supervision/metrics/mean_average_recall.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,update,2,4,3,4,6,7,10.0,18.0947,1.0,18.0947,1.0053,0.006 +src/supervision/metrics/mean_average_recall.py,funcao,compute,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/mean_average_recall.py,funcao,_compute,5,11,9,16,16,25,49.6634,100.0,3.6364,363.6364,20.202,0.0333 +src/supervision/metrics/mean_average_recall.py,funcao,_compute_average_recall_for_classes,1,2,2,4,3,6,2.0,9.5098,1.0,9.5098,0.5283,0.0032 +src/supervision/metrics/mean_average_recall.py,funcao,_match_detection_batch,5,8,5,9,13,14,35.6096,51.8062,2.8125,145.7048,8.0947,0.0173 +src/supervision/metrics/mean_average_recall.py,funcao,_compute_confusion_matrix,2,8,5,10,10,15,26.0,49.8289,1.25,62.2862,3.4603,0.0166 +src/supervision/metrics/mean_average_recall.py,funcao,_compute_recall,5,8,6,10,13,16,35.6096,59.207,3.125,185.022,10.279,0.0197 +src/supervision/metrics/mean_average_recall.py,funcao,_detections_content,4,11,7,14,15,21,46.0537,82.0447,2.5455,208.8411,11.6023,0.0273 +src/supervision/metrics/mean_average_recall.py,funcao,_make_empty_content,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/mean_average_recall.py,funcao,_filter_detections_by_size,3,12,8,16,15,24,47.7744,93.7654,2.0,187.5307,10.4184,0.0313 +src/supervision/metrics/mean_average_recall.py,funcao,_filter_predictions_and_targets_by_size,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/precision.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/precision.py,funcao,precision_at_50,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/precision.py,funcao,precision_at_75,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/precision.py,funcao,small_objects,2,5,4,8,7,12,13.6096,33.6883,1.6,53.9012,2.9945,0.0112 +src/supervision/metrics/precision.py,funcao,medium_objects,2,5,4,8,7,12,13.6096,33.6883,1.6,53.9012,2.9945,0.0112 +src/supervision/metrics/precision.py,funcao,large_objects,2,5,4,8,7,12,13.6096,33.6883,1.6,53.9012,2.9945,0.0112 +src/supervision/metrics/precision.py,funcao,__str__,3,16,12,24,19,36,68.7549,152.9254,2.25,344.0821,19.1157,0.051 +src/supervision/metrics/precision.py,funcao,to_pandas,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/precision.py,funcao,plot,4,26,19,38,30,57,130.2114,279.6928,2.9231,817.5635,45.4202,0.0932 +src/supervision/metrics/precision.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/precision.py,funcao,update,2,4,3,4,6,7,10.0,18.0947,1.0,18.0947,1.0053,0.006 +src/supervision/metrics/precision.py,funcao,compute,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/precision.py,funcao,_compute,7,17,14,27,24,41,89.1384,187.9835,5.5588,1044.9669,58.0537,0.0627 +src/supervision/metrics/precision.py,funcao,_compute_precision_for_classes,2,7,5,9,9,14,21.6515,44.379,1.2857,57.0587,3.1699,0.0148 +src/supervision/metrics/precision.py,funcao,_match_detection_batch,5,8,5,9,13,14,35.6096,51.8062,2.8125,145.7048,8.0947,0.0173 +src/supervision/metrics/precision.py,funcao,_compute_confusion_matrix,2,8,5,10,10,15,26.0,49.8289,1.25,62.2862,3.4603,0.0166 +src/supervision/metrics/precision.py,funcao,_compute_precision,5,8,5,8,13,13,35.6096,48.1057,2.5,120.2643,6.6813,0.016 +src/supervision/metrics/precision.py,funcao,_detections_content,4,11,7,14,15,21,46.0537,82.0447,2.5455,208.8411,11.6023,0.0273 +src/supervision/metrics/precision.py,funcao,_make_empty_content,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/precision.py,funcao,_filter_detections_by_size,3,12,8,16,15,24,47.7744,93.7654,2.0,187.5307,10.4184,0.0313 +src/supervision/metrics/precision.py,funcao,_filter_predictions_and_targets_by_size,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,recall_at_50,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,recall_at_75,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,_ensure_size_results,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/metrics/recall.py,funcao,small_objects,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,medium_objects,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,large_objects,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,update,2,4,3,4,6,7,10.0,18.0947,1.0,18.0947,1.0053,0.006 +src/supervision/metrics/recall.py,funcao,compute,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,_compute,4,10,8,15,14,23,41.2193,87.5692,3.0,262.7075,14.5949,0.0292 +src/supervision/metrics/recall.py,funcao,_compute_recall_for_classes,2,5,4,7,7,11,13.6096,30.8809,1.4,43.2333,2.4018,0.0103 +src/supervision/metrics/recall.py,funcao,_match_detection_batch,5,8,5,9,13,14,35.6096,51.8062,2.8125,145.7048,8.0947,0.0173 +src/supervision/metrics/recall.py,funcao,_compute_confusion_matrix,2,8,5,10,10,15,26.0,49.8289,1.25,62.2862,3.4603,0.0166 +src/supervision/metrics/recall.py,funcao,_compute_recall,5,8,5,8,13,13,35.6096,48.1057,2.5,120.2643,6.6813,0.016 +src/supervision/metrics/recall.py,funcao,_detections_content,4,11,7,14,15,21,46.0537,82.0447,2.5455,208.8411,11.6023,0.0273 +src/supervision/metrics/recall.py,funcao,_make_empty_content,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/recall.py,funcao,_filter_detections_by_size,3,12,8,16,15,24,47.7744,93.7654,2.0,187.5307,10.4184,0.0313 +src/supervision/metrics/recall.py,funcao,_filter_predictions_and_targets_by_size,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/metrics/recall.py,funcao,__str__,3,16,12,24,19,36,68.7549,152.9254,2.25,344.0821,19.1157,0.051 +src/supervision/metrics/recall.py,funcao,to_pandas,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/recall.py,funcao,plot,4,26,19,38,30,57,130.2114,279.6928,2.9231,817.5635,45.4202,0.0932 +src/supervision/metrics/utils/object_size.py,funcao,get_object_size_category,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/metrics/utils/object_size.py,funcao,get_bbox_size_category,7,17,11,22,24,33,89.1384,151.3038,4.5294,685.317,38.0732,0.0504 +src/supervision/metrics/utils/object_size.py,funcao,get_mask_size_category,4,7,6,12,11,18,27.6515,62.2698,3.4286,213.4964,11.8609,0.0208 +src/supervision/metrics/utils/object_size.py,funcao,get_obb_size_category,8,38,25,51,46,76,223.4212,419.7907,5.3684,2253.6133,125.2007,0.1399 +src/supervision/metrics/utils/object_size.py,funcao,get_detection_size_category,2,7,5,10,9,15,21.6515,47.5489,1.4286,67.927,3.7737,0.0158 +src/supervision/metrics/utils/utils.py,funcao,ensure_pandas_installed,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/core.py,funcao,__init__,3,6,3,6,9,9,20.2647,28.5293,1.5,42.794,2.3774,0.0095 +src/supervision/tracker/byte_tracker/core.py,funcao,frame_id,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/core.py,funcao,update_with_detections,5,8,6,10,13,16,35.6096,59.207,3.125,185.022,10.279,0.0197 +src/supervision/tracker/byte_tracker/core.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/core.py,funcao,update_with_tensors,1,10,6,12,11,18,33.2193,62.2698,0.6,37.3619,2.0757,0.0208 +src/supervision/tracker/byte_tracker/core.py,funcao,_split_by_confidence,3,6,6,11,9,17,20.2647,53.8887,2.75,148.194,8.233,0.018 +src/supervision/tracker/byte_tracker/core.py,funcao,_build_stracks,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/core.py,funcao,_separate_tracks,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/tracker/byte_tracker/core.py,funcao,_first_association,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/core.py,funcao,_second_association,2,3,3,6,5,9,6.7549,20.8974,2.0,41.7947,2.3219,0.007 +src/supervision/tracker/byte_tracker/core.py,funcao,_unconfirmed_and_init_new,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/tracker/byte_tracker/core.py,funcao,_remove_stale_lost_tracks,3,5,3,6,8,9,16.3645,27.0,1.8,48.6,2.7,0.009 +src/supervision/tracker/byte_tracker/core.py,funcao,_update_state,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/core.py,funcao,joint_tracks,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/tracker/byte_tracker/core.py,funcao,sub_tracks,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/core.py,funcao,remove_duplicate_tracks,4,9,6,12,13,18,36.5293,66.6079,2.6667,177.6211,9.8678,0.0222 +src/supervision/tracker/byte_tracker/kalman_filter.py,funcao,__init__,3,6,6,12,9,18,20.2647,57.0587,3.0,171.176,9.5098,0.019 +src/supervision/tracker/byte_tracker/kalman_filter.py,funcao,initiate,1,16,12,24,17,36,64.0,147.1487,0.75,110.3615,6.1312,0.049 +src/supervision/tracker/byte_tracker/kalman_filter.py,funcao,predict,2,10,7,14,12,21,35.2193,75.2842,1.4,105.3979,5.8554,0.0251 +src/supervision/tracker/byte_tracker/kalman_filter.py,funcao,project,2,6,4,8,8,12,17.5098,36.0,1.3333,48.0,2.6667,0.012 +src/supervision/tracker/byte_tracker/kalman_filter.py,funcao,multi_predict,2,14,9,18,16,27,55.303,108.0,1.2857,138.8571,7.7143,0.036 +src/supervision/tracker/byte_tracker/kalman_filter.py,funcao,update,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/tracker/byte_tracker/matching.py,funcao,indices_to_matches,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/tracker/byte_tracker/matching.py,funcao,linear_assignment,3,5,3,6,8,9,16.3645,27.0,1.8,48.6,2.7,0.009 +src/supervision/tracker/byte_tracker/matching.py,funcao,iou_distance,5,12,7,14,17,21,54.6292,85.8367,2.9167,250.3571,13.9087,0.0286 +src/supervision/tracker/byte_tracker/matching.py,funcao,fuse_score,3,7,4,8,10,12,24.4064,39.8631,1.7143,68.3368,3.7965,0.0133 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,__post_init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,state,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,is_activated,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,start_frame,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,frame_id,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,kalman_filter,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,mean,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,covariance,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,score,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,tracklet_len,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,minimum_consecutive_frames,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,internal_track_id,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,external_track_id,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,predict,2,6,4,8,8,12,17.5098,36.0,1.3333,48.0,2.6667,0.012 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,multi_predict,3,7,4,8,10,12,24.4064,39.8631,1.7143,68.3368,3.7965,0.0133 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,activate,1,3,2,4,4,6,4.7549,12.0,0.6667,8.0,0.4444,0.004 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,re_activate,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,update,3,9,6,12,12,18,33.2842,64.5293,2.0,129.0587,7.1699,0.0215 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,tlwh,4,8,4,8,12,12,32.0,43.0196,2.0,86.0391,4.78,0.0143 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,tlbr,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,tlwh_to_xyah,2,6,3,6,8,9,17.5098,27.0,1.0,27.0,1.5,0.009 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,to_xyah,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,tlbr_to_tlwh,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,tlwh_to_tlbr,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/single_object_track.py,funcao,__repr__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/utils.py,funcao,__init__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/utils.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/utils.py,funcao,new_id,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/tracker/byte_tracker/utils.py,funcao,NO_ID,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/utils/conversion.py,funcao,ensure_cv2_image_for_class_method,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,ensure_cv2_image_for_annotation,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,ensure_cv2_image_for_standalone_function,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,ensure_pil_image_for_class_method,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,ensure_pil_image_for_annotation,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,ensure_cv2_image_for_processing,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,images_to_cv2,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,pillow_to_cv2,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/conversion.py,funcao,cv2_to_pillow,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/file.py,funcao,default,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/file.py,funcao,list_files_with_extensions,5,8,5,9,13,14,35.6096,51.8062,2.8125,145.7048,8.0947,0.0173 +src/supervision/utils/file.py,funcao,read_txt_file,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/file.py,funcao,save_text_file,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/file.py,funcao,read_json_file,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/file.py,funcao,save_json_file,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/file.py,funcao,read_yaml_file,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/file.py,funcao,save_yaml_file,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,crop_image,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,scale_image,2,4,3,6,6,9,10.0,23.2647,1.5,34.897,1.9387,0.0078 +src/supervision/utils/image.py,funcao,resize_image,3,8,5,10,11,15,28.7549,51.8915,1.875,97.2965,5.4054,0.0173 +src/supervision/utils/image.py,funcao,letterbox_image,2,13,8,16,15,24,50.1057,93.7654,1.2308,115.4035,6.4113,0.0313 +src/supervision/utils/image.py,funcao,overlay_image,9,30,25,48,39,73,175.736,385.8344,7.2,2778.0074,154.3337,0.1286 +src/supervision/utils/image.py,funcao,tint_image,3,4,4,6,7,10,12.7549,28.0735,2.25,63.1655,3.5092,0.0094 +src/supervision/utils/image.py,funcao,grayscale_image,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,get_image_resolution_wh,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/image.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,__enter__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,save_image,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/utils/image.py,funcao,__exit__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,create_tiles,5,12,7,14,17,21,54.6292,85.8367,2.9167,250.3571,13.9087,0.0286 +src/supervision/utils/image.py,funcao,_negotiate_tiles_format,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/utils/image.py,funcao,_calculate_aggregated_images_shape,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/image.py,funcao,_aggregate_images_shape,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/image.py,funcao,_establish_grid_size,4,11,9,18,15,27,46.0537,105.486,3.2727,345.2271,19.1793,0.0352 +src/supervision/utils/image.py,funcao,_negotiate_grid_size,4,8,5,10,12,15,32.0,53.7744,2.5,134.4361,7.4687,0.0179 +src/supervision/utils/image.py,funcao,_generate_tiles,3,6,5,8,9,13,20.2647,41.209,2.0,82.4181,4.5788,0.0137 +src/supervision/utils/image.py,funcao,_draw_texts,1,4,3,6,5,9,8.0,20.8974,0.75,15.673,0.8707,0.007 +src/supervision/utils/image.py,funcao,_prepare_default_titles_anchors,4,9,6,12,13,18,36.5293,66.6079,2.6667,177.6211,9.8678,0.0222 +src/supervision/utils/image.py,funcao,_merge_tiles_elements,2,6,5,8,8,13,17.5098,39.0,1.3333,52.0,2.8889,0.013 +src/supervision/utils/image.py,funcao,_generate_color_image,2,3,2,3,5,5,6.7549,11.6096,1.0,11.6096,0.645,0.0039 +src/supervision/utils/internal.py,funcao,format_warning,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/internal.py,funcao,warn_deprecated,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/internal.py,funcao,deprecated_parameter,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/utils/internal.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/internal.py,funcao,__get__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/internal.py,funcao,get_instance_variables,3,7,5,7,10,12,24.4064,39.8631,1.5,59.7947,3.3219,0.0133 +src/supervision/utils/iterables.py,funcao,create_batches,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/iterables.py,funcao,fill,2,4,2,4,6,6,10.0,15.5098,1.0,15.5098,0.8617,0.0052 +src/supervision/utils/iterables.py,funcao,find_duplicates,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/logger.py,funcao,_get_logger,3,5,3,5,8,8,16.3645,24.0,1.5,36.0,2.0,0.008 +src/supervision/utils/notebook.py,funcao,plot_image,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/notebook.py,funcao,plot_images_grid,6,13,7,14,19,21,63.6155,89.2065,3.2308,288.2055,16.0114,0.0297 +src/supervision/utils/video.py,funcao,from_video_path,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/utils/video.py,funcao,resolution_wh,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/video.py,funcao,__init__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/video.py,funcao,__enter__,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/video.py,funcao,write_frame,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/video.py,funcao,__exit__,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/video.py,funcao,_mux_audio,4,7,4,8,11,12,27.6515,41.5132,2.2857,94.8873,5.2715,0.0138 +src/supervision/utils/video.py,funcao,_validate_and_setup_video,5,10,9,16,15,25,44.8289,97.6723,4.0,390.6891,21.7049,0.0326 +src/supervision/utils/video.py,funcao,get_video_frames_generator,6,9,7,12,15,19,44.0391,74.2309,4.0,296.9237,16.4958,0.0247 +src/supervision/utils/video.py,funcao,_reader_thread,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/video.py,funcao,_writer_thread,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/video.py,funcao,_drain_and_cleanup,3,5,4,6,8,10,16.3645,30.0,1.8,54.0,3.0,0.01 +src/supervision/utils/video.py,funcao,_mux_audio_if_needed,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/video.py,funcao,_total_frames,2,4,3,6,6,9,10.0,23.2647,1.5,34.897,1.9387,0.0078 +src/supervision/utils/video.py,funcao,_start_workers,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/video.py,funcao,_setup_progress_bar,1,1,1,1,2,2,0,2.0,0.5,1.0,0.0556,0.0007 +src/supervision/utils/video.py,funcao,_process_frames,1,2,1,2,3,3,2.0,4.7549,0.5,2.3774,0.1321,0.0016 +src/supervision/utils/video.py,funcao,run,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/video.py,funcao,process_video,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/video.py,funcao,fps,5,7,5,8,12,13,31.2611,46.6045,2.8571,133.1558,7.3975,0.0155 +src/supervision/utils/video.py,funcao,tick,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/utils/video.py,funcao,reset,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_xyxy,3,8,4,8,11,12,28.7549,41.5132,1.5,62.2698,3.4594,0.0138 +src/supervision/validators/__init__.py,funcao,validate_xyxy,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_mask,6,14,8,15,20,23,68.8127,99.4043,3.2143,319.514,17.7508,0.0331 +src/supervision/validators/__init__.py,funcao,validate_mask,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_class_id,5,9,5,9,14,14,40.139,53.303,2.5,133.2574,7.4032,0.0178 +src/supervision/validators/__init__.py,funcao,validate_class_id,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_confidence,5,9,5,9,14,14,40.139,53.303,2.5,133.2574,7.4032,0.0178 +src/supervision/validators/__init__.py,funcao,validate_confidence,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_keypoint_confidence,6,14,8,15,20,23,68.8127,99.4043,3.2143,319.514,17.7508,0.0331 +src/supervision/validators/__init__.py,funcao,validate_key_point_confidence,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,validate_keypoint_confidence,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_tracker_id,5,9,5,9,14,14,40.139,53.303,2.5,133.2574,7.4032,0.0178 +src/supervision/validators/__init__.py,funcao,validate_tracker_id,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_data,4,10,7,14,14,21,41.2193,79.9545,2.8,223.8725,12.4374,0.0267 +src/supervision/validators/__init__.py,funcao,validate_data,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_xy,4,8,4,8,12,12,32.0,43.0196,2.0,86.0391,4.78,0.0143 +src/supervision/validators/__init__.py,funcao,validate_xy,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_visible,6,14,8,15,20,23,68.8127,99.4043,3.2143,319.514,17.7508,0.0331 +src/supervision/validators/__init__.py,funcao,_validate_detections_fields,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,validate_detections_fields,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_keypoints_fields,2,5,3,6,7,9,13.6096,25.2662,1.2,30.3194,1.6844,0.0084 +src/supervision/validators/__init__.py,funcao,validate_key_points_fields,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,validate_keypoints_fields,0,0,0,0,0,0,0,0,0,0,0,0 +src/supervision/validators/__init__.py,funcao,_validate_resolution,5,13,8,14,18,22,59.7154,91.7384,2.6923,246.9879,13.7215,0.0306 +src/supervision/validators/__init__.py,funcao,validate_resolution,0,0,0,0,0,0,0,0,0,0,0,0 diff --git a/metrics-after-radon/mi_depois.json b/metrics-after-radon/mi_depois.json new file mode 100644 index 0000000000..d07ca28462 --- /dev/null +++ b/metrics-after-radon/mi_depois.json @@ -0,0 +1,322 @@ +{ + "src\\supervision\\config.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\__init__.py": { + "mi": 63.74014936937565, + "rank": "A" + }, + "src\\supervision\\annotators\\base.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\annotators\\core.py": { + "mi": 0.0, + "rank": "C" + }, + "src\\supervision\\annotators\\utils.py": { + "mi": 48.682299587593235, + "rank": "A" + }, + "src\\supervision\\annotators\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\assets\\downloader.py": { + "mi": 81.65419137342202, + "rank": "A" + }, + "src\\supervision\\assets\\list.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\assets\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\classification\\core.py": { + "mi": 58.06429475373086, + "rank": "A" + }, + "src\\supervision\\classification\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\dataset\\core.py": { + "mi": 41.66201117496284, + "rank": "A" + }, + "src\\supervision\\dataset\\utils.py": { + "mi": 59.65711155220216, + "rank": "A" + }, + "src\\supervision\\dataset\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\dataset\\formats\\coco.py": { + "mi": 53.44967374947408, + "rank": "A" + }, + "src\\supervision\\dataset\\formats\\pascal_voc.py": { + "mi": 60.165233236403246, + "rank": "A" + }, + "src\\supervision\\dataset\\formats\\yolo.py": { + "mi": 50.12873587118398, + "rank": "A" + }, + "src\\supervision\\dataset\\formats\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\detection\\compact_mask.py": { + "mi": 25.26843613160484, + "rank": "A" + }, + "src\\supervision\\detection\\core.py": { + "mi": 15.706410264069852, + "rank": "B" + }, + "src\\supervision\\detection\\line_zone.py": { + "mi": 39.758410197423565, + "rank": "A" + }, + "src\\supervision\\detection\\vlm.py": { + "mi": 30.565624147338244, + "rank": "A" + }, + "src\\supervision\\detection\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\csv_sink.py": { + "mi": 65.84774008907647, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\inference_slicer.py": { + "mi": 38.313078315559075, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\json_sink.py": { + "mi": 66.2655996887249, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\polygon_zone.py": { + "mi": 62.07390876036888, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\smoother.py": { + "mi": 58.7494965444356, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\transformers.py": { + "mi": 70.0376428384057, + "rank": "A" + }, + "src\\supervision\\detection\\tools\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\boxes.py": { + "mi": 35.682912967703025, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\converters.py": { + "mi": 26.896168601464833, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\internal.py": { + "mi": 45.18180797708275, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\iou_and_nms.py": { + "mi": 27.284450962907226, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\masks.py": { + "mi": 49.42464274677599, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\polygons.py": { + "mi": 63.29136737707571, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\vlms.py": { + "mi": 67.2801534822581, + "rank": "A" + }, + "src\\supervision\\detection\\utils\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\draw\\base.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\draw\\color.py": { + "mi": 45.50893596792294, + "rank": "A" + }, + "src\\supervision\\draw\\utils.py": { + "mi": 62.74342158480082, + "rank": "A" + }, + "src\\supervision\\draw\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\geometry\\core.py": { + "mi": 61.798795509769285, + "rank": "A" + }, + "src\\supervision\\geometry\\utils.py": { + "mi": 71.90618369506942, + "rank": "A" + }, + "src\\supervision\\geometry\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\keypoint\\annotators.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\keypoint\\core.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\keypoint\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\key_points\\annotators.py": { + "mi": 35.96042639704176, + "rank": "A" + }, + "src\\supervision\\key_points\\core.py": { + "mi": 30.699780871238666, + "rank": "A" + }, + "src\\supervision\\key_points\\skeletons.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\key_points\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\metrics\\core.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\metrics\\detection.py": { + "mi": 37.05866062572759, + "rank": "A" + }, + "src\\supervision\\metrics\\f1_score.py": { + "mi": 34.76068184502129, + "rank": "A" + }, + "src\\supervision\\metrics\\mean_average_precision.py": { + "mi": 3.2103557427773173, + "rank": "C" + }, + "src\\supervision\\metrics\\mean_average_recall.py": { + "mi": 35.51405657793091, + "rank": "A" + }, + "src\\supervision\\metrics\\precision.py": { + "mi": 33.402917403418, + "rank": "A" + }, + "src\\supervision\\metrics\\recall.py": { + "mi": 35.48155344921449, + "rank": "A" + }, + "src\\supervision\\metrics\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\metrics\\utils\\object_size.py": { + "mi": 55.24992048623798, + "rank": "A" + }, + "src\\supervision\\metrics\\utils\\utils.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\metrics\\utils\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\tracker\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\tracker\\byte_tracker\\core.py": { + "mi": 40.92986336325105, + "rank": "A" + }, + "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py": { + "mi": 67.80339634909727, + "rank": "A" + }, + "src\\supervision\\tracker\\byte_tracker\\matching.py": { + "mi": 45.303415801323766, + "rank": "A" + }, + "src\\supervision\\tracker\\byte_tracker\\single_object_track.py": { + "mi": 36.581150611002535, + "rank": "A" + }, + "src\\supervision\\tracker\\byte_tracker\\utils.py": { + "mi": 90.14540124941266, + "rank": "A" + }, + "src\\supervision\\tracker\\byte_tracker\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\utils\\conversion.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\utils\\file.py": { + "mi": 58.74379408220088, + "rank": "A" + }, + "src\\supervision\\utils\\image.py": { + "mi": 40.17591006834741, + "rank": "A" + }, + "src\\supervision\\utils\\internal.py": { + "mi": 68.84898914903948, + "rank": "A" + }, + "src\\supervision\\utils\\iterables.py": { + "mi": 61.66267771103371, + "rank": "A" + }, + "src\\supervision\\utils\\logger.py": { + "mi": 86.56239735560584, + "rank": "A" + }, + "src\\supervision\\utils\\notebook.py": { + "mi": 74.31672637457959, + "rank": "A" + }, + "src\\supervision\\utils\\video.py": { + "mi": 47.27137129264925, + "rank": "A" + }, + "src\\supervision\\utils\\__init__.py": { + "mi": 100.0, + "rank": "A" + }, + "src\\supervision\\validators\\__init__.py": { + "mi": 39.7549289317202, + "rank": "A" + } +} \ No newline at end of file diff --git a/metrics-after-radon/mi_por_arquivo_depois.csv b/metrics-after-radon/mi_por_arquivo_depois.csv new file mode 100644 index 0000000000..8017281b20 --- /dev/null +++ b/metrics-after-radon/mi_por_arquivo_depois.csv @@ -0,0 +1,81 @@ +arquivo,mi,rank_mi +src/supervision/annotators/core.py,0.0,C +src/supervision/metrics/mean_average_precision.py,3.2104,C +src/supervision/detection/core.py,15.7064,B +src/supervision/detection/compact_mask.py,25.2684,A +src/supervision/detection/utils/converters.py,26.8962,A +src/supervision/detection/utils/iou_and_nms.py,27.2845,A +src/supervision/detection/vlm.py,30.5656,A +src/supervision/key_points/core.py,30.6998,A +src/supervision/metrics/precision.py,33.4029,A +src/supervision/metrics/f1_score.py,34.7607,A +src/supervision/metrics/recall.py,35.4816,A +src/supervision/metrics/mean_average_recall.py,35.5141,A +src/supervision/detection/utils/boxes.py,35.6829,A +src/supervision/key_points/annotators.py,35.9604,A +src/supervision/tracker/byte_tracker/single_object_track.py,36.5812,A +src/supervision/metrics/detection.py,37.0587,A +src/supervision/detection/tools/inference_slicer.py,38.3131,A +src/supervision/validators/__init__.py,39.7549,A +src/supervision/detection/line_zone.py,39.7584,A +src/supervision/utils/image.py,40.1759,A +src/supervision/tracker/byte_tracker/core.py,40.9299,A +src/supervision/dataset/core.py,41.662,A +src/supervision/detection/utils/internal.py,45.1818,A +src/supervision/tracker/byte_tracker/matching.py,45.3034,A +src/supervision/draw/color.py,45.5089,A +src/supervision/utils/video.py,47.2714,A +src/supervision/annotators/utils.py,48.6823,A +src/supervision/detection/utils/masks.py,49.4246,A +src/supervision/dataset/formats/yolo.py,50.1287,A +src/supervision/dataset/formats/coco.py,53.4497,A +src/supervision/metrics/utils/object_size.py,55.2499,A +src/supervision/classification/core.py,58.0643,A +src/supervision/utils/file.py,58.7438,A +src/supervision/detection/tools/smoother.py,58.7495,A +src/supervision/dataset/utils.py,59.6571,A +src/supervision/dataset/formats/pascal_voc.py,60.1652,A +src/supervision/utils/iterables.py,61.6627,A +src/supervision/geometry/core.py,61.7988,A +src/supervision/detection/tools/polygon_zone.py,62.0739,A +src/supervision/draw/utils.py,62.7434,A +src/supervision/detection/utils/polygons.py,63.2914,A +src/supervision/__init__.py,63.7401,A +src/supervision/detection/tools/csv_sink.py,65.8477,A +src/supervision/detection/tools/json_sink.py,66.2656,A +src/supervision/detection/utils/vlms.py,67.2802,A +src/supervision/tracker/byte_tracker/kalman_filter.py,67.8034,A +src/supervision/utils/internal.py,68.849,A +src/supervision/detection/tools/transformers.py,70.0376,A +src/supervision/geometry/utils.py,71.9062,A +src/supervision/utils/notebook.py,74.3167,A +src/supervision/assets/downloader.py,81.6542,A +src/supervision/utils/logger.py,86.5624,A +src/supervision/tracker/byte_tracker/utils.py,90.1454,A +src/supervision/config.py,100.0,A +src/supervision/annotators/base.py,100.0,A +src/supervision/annotators/__init__.py,100.0,A +src/supervision/assets/list.py,100.0,A +src/supervision/assets/__init__.py,100.0,A +src/supervision/classification/__init__.py,100.0,A +src/supervision/dataset/__init__.py,100.0,A +src/supervision/dataset/formats/__init__.py,100.0,A +src/supervision/detection/__init__.py,100.0,A +src/supervision/detection/tools/__init__.py,100.0,A +src/supervision/detection/utils/__init__.py,100.0,A +src/supervision/draw/base.py,100.0,A +src/supervision/draw/__init__.py,100.0,A +src/supervision/geometry/__init__.py,100.0,A +src/supervision/keypoint/annotators.py,100.0,A +src/supervision/keypoint/core.py,100.0,A +src/supervision/keypoint/__init__.py,100.0,A +src/supervision/key_points/skeletons.py,100.0,A +src/supervision/key_points/__init__.py,100.0,A +src/supervision/metrics/core.py,100.0,A +src/supervision/metrics/__init__.py,100.0,A +src/supervision/metrics/utils/utils.py,100.0,A +src/supervision/metrics/utils/__init__.py,100.0,A +src/supervision/tracker/__init__.py,100.0,A +src/supervision/tracker/byte_tracker/__init__.py,100.0,A +src/supervision/utils/conversion.py,100.0,A +src/supervision/utils/__init__.py,100.0,A diff --git a/metrics-after-radon/raw_depois.json b/metrics-after-radon/raw_depois.json new file mode 100644 index 0000000000..efda79c50e --- /dev/null +++ b/metrics-after-radon/raw_depois.json @@ -0,0 +1,722 @@ +{ + "src\\supervision\\config.py": { + "loc": 13, + "lloc": 6, + "sloc": 3, + "comments": 10, + "multi": 0, + "blank": 0, + "single_comments": 10 + }, + "src\\supervision\\__init__.py": { + "loc": 287, + "lloc": 39, + "sloc": 283, + "comments": 1, + "multi": 0, + "blank": 3, + "single_comments": 1 + }, + "src\\supervision\\annotators\\base.py": { + "loc": 12, + "lloc": 7, + "sloc": 9, + "comments": 0, + "multi": 0, + "blank": 3, + "single_comments": 0 + }, + "src\\supervision\\annotators\\core.py": { + "loc": 3382, + "lloc": 1092, + "sloc": 1811, + "comments": 28, + "multi": 1127, + "blank": 426, + "single_comments": 18 + }, + "src\\supervision\\annotators\\utils.py": { + "loc": 487, + "lloc": 195, + "sloc": 266, + "comments": 5, + "multi": 129, + "blank": 90, + "single_comments": 2 + }, + "src\\supervision\\annotators\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\assets\\downloader.py": { + "loc": 95, + "lloc": 42, + "sloc": 46, + "comments": 0, + "multi": 25, + "blank": 24, + "single_comments": 0 + }, + "src\\supervision\\assets\\list.py": { + "loc": 82, + "lloc": 35, + "sloc": 66, + "comments": 2, + "multi": 0, + "blank": 16, + "single_comments": 0 + }, + "src\\supervision\\assets\\__init__.py": { + "loc": 4, + "lloc": 3, + "sloc": 3, + "comments": 0, + "multi": 0, + "blank": 1, + "single_comments": 0 + }, + "src\\supervision\\classification\\core.py": { + "loc": 200, + "lloc": 64, + "sloc": 60, + "comments": 0, + "multi": 94, + "blank": 46, + "single_comments": 0 + }, + "src\\supervision\\classification\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\dataset\\core.py": { + "loc": 969, + "lloc": 267, + "sloc": 448, + "comments": 2, + "multi": 389, + "blank": 128, + "single_comments": 4 + }, + "src\\supervision\\dataset\\utils.py": { + "loc": 164, + "lloc": 80, + "sloc": 117, + "comments": 3, + "multi": 10, + "blank": 34, + "single_comments": 3 + }, + "src\\supervision\\dataset\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\dataset\\formats\\coco.py": { + "loc": 648, + "lloc": 201, + "sloc": 357, + "comments": 13, + "multi": 187, + "blank": 91, + "single_comments": 13 + }, + "src\\supervision\\dataset\\formats\\pascal_voc.py": { + "loc": 355, + "lloc": 155, + "sloc": 197, + "comments": 15, + "multi": 88, + "blank": 55, + "single_comments": 15 + }, + "src\\supervision\\dataset\\formats\\yolo.py": { + "loc": 477, + "lloc": 185, + "sloc": 319, + "comments": 2, + "multi": 99, + "blank": 57, + "single_comments": 2 + }, + "src\\supervision\\dataset\\formats\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\detection\\compact_mask.py": { + "loc": 1306, + "lloc": 434, + "sloc": 477, + "comments": 68, + "multi": 545, + "blank": 224, + "single_comments": 60 + }, + "src\\supervision\\detection\\core.py": { + "loc": 2960, + "lloc": 618, + "sloc": 1758, + "comments": 21, + "multi": 640, + "blank": 550, + "single_comments": 12 + }, + "src\\supervision\\detection\\line_zone.py": { + "loc": 944, + "lloc": 341, + "sloc": 586, + "comments": 2, + "multi": 224, + "blank": 132, + "single_comments": 2 + }, + "src\\supervision\\detection\\vlm.py": { + "loc": 986, + "lloc": 425, + "sloc": 618, + "comments": 10, + "multi": 190, + "blank": 171, + "single_comments": 7 + }, + "src\\supervision\\detection\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\detection\\tools\\csv_sink.py": { + "loc": 241, + "lloc": 85, + "sloc": 116, + "comments": 0, + "multi": 88, + "blank": 37, + "single_comments": 0 + }, + "src\\supervision\\detection\\tools\\inference_slicer.py": { + "loc": 639, + "lloc": 286, + "sloc": 430, + "comments": 4, + "multi": 107, + "blank": 98, + "single_comments": 4 + }, + "src\\supervision\\detection\\tools\\json_sink.py": { + "loc": 215, + "lloc": 71, + "sloc": 87, + "comments": 0, + "multi": 92, + "blank": 36, + "single_comments": 0 + }, + "src\\supervision\\detection\\tools\\polygon_zone.py": { + "loc": 290, + "lloc": 126, + "sloc": 171, + "comments": 0, + "multi": 70, + "blank": 49, + "single_comments": 0 + }, + "src\\supervision\\detection\\tools\\smoother.py": { + "loc": 184, + "lloc": 57, + "sloc": 58, + "comments": 6, + "multi": 82, + "blank": 38, + "single_comments": 6 + }, + "src\\supervision\\detection\\tools\\transformers.py": { + "loc": 250, + "lloc": 68, + "sloc": 109, + "comments": 0, + "multi": 100, + "blank": 41, + "single_comments": 0 + }, + "src\\supervision\\detection\\tools\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\detection\\utils\\boxes.py": { + "loc": 417, + "lloc": 100, + "sloc": 108, + "comments": 5, + "multi": 234, + "blank": 71, + "single_comments": 4 + }, + "src\\supervision\\detection\\utils\\converters.py": { + "loc": 738, + "lloc": 195, + "sloc": 189, + "comments": 6, + "multi": 399, + "blank": 146, + "single_comments": 4 + }, + "src\\supervision\\detection\\utils\\internal.py": { + "loc": 431, + "lloc": 193, + "sloc": 277, + "comments": 1, + "multi": 78, + "blank": 75, + "single_comments": 1 + }, + "src\\supervision\\detection\\utils\\iou_and_nms.py": { + "loc": 1461, + "lloc": 532, + "sloc": 703, + "comments": 40, + "multi": 502, + "blank": 218, + "single_comments": 38 + }, + "src\\supervision\\detection\\utils\\masks.py": { + "loc": 475, + "lloc": 161, + "sloc": 341, + "comments": 7, + "multi": 54, + "blank": 73, + "single_comments": 7 + }, + "src\\supervision\\detection\\utils\\polygons.py": { + "loc": 116, + "lloc": 29, + "sloc": 37, + "comments": 2, + "multi": 57, + "blank": 20, + "single_comments": 2 + }, + "src\\supervision\\detection\\utils\\vlms.py": { + "loc": 100, + "lloc": 26, + "sloc": 33, + "comments": 0, + "multi": 51, + "blank": 16, + "single_comments": 0 + }, + "src\\supervision\\detection\\utils\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\draw\\base.py": { + "loc": 14, + "lloc": 6, + "sloc": 5, + "comments": 0, + "multi": 6, + "blank": 3, + "single_comments": 0 + }, + "src\\supervision\\draw\\color.py": { + "loc": 572, + "lloc": 166, + "sloc": 217, + "comments": 3, + "multi": 237, + "blank": 118, + "single_comments": 0 + }, + "src\\supervision\\draw\\utils.py": { + "loc": 420, + "lloc": 94, + "sloc": 209, + "comments": 6, + "multi": 140, + "blank": 65, + "single_comments": 6 + }, + "src\\supervision\\draw\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\geometry\\core.py": { + "loc": 202, + "lloc": 82, + "sloc": 77, + "comments": 0, + "multi": 86, + "blank": 39, + "single_comments": 0 + }, + "src\\supervision\\geometry\\utils.py": { + "loc": 51, + "lloc": 15, + "sloc": 14, + "comments": 2, + "multi": 23, + "blank": 12, + "single_comments": 2 + }, + "src\\supervision\\geometry\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\keypoint\\annotators.py": { + "loc": 13, + "lloc": 3, + "sloc": 11, + "comments": 1, + "multi": 0, + "blank": 2, + "single_comments": 0 + }, + "src\\supervision\\keypoint\\core.py": { + "loc": 8, + "lloc": 3, + "sloc": 6, + "comments": 1, + "multi": 0, + "blank": 2, + "single_comments": 0 + }, + "src\\supervision\\keypoint\\__init__.py": { + "loc": 13, + "lloc": 4, + "sloc": 11, + "comments": 0, + "multi": 0, + "blank": 2, + "single_comments": 0 + }, + "src\\supervision\\key_points\\annotators.py": { + "loc": 972, + "lloc": 332, + "sloc": 471, + "comments": 0, + "multi": 380, + "blank": 117, + "single_comments": 4 + }, + "src\\supervision\\key_points\\core.py": { + "loc": 1342, + "lloc": 371, + "sloc": 754, + "comments": 11, + "multi": 359, + "blank": 223, + "single_comments": 6 + }, + "src\\supervision\\key_points\\skeletons.py": { + "loc": 2646, + "lloc": 15, + "sloc": 2636, + "comments": 0, + "multi": 0, + "blank": 10, + "single_comments": 0 + }, + "src\\supervision\\key_points\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\metrics\\core.py": { + "loc": 72, + "lloc": 28, + "sloc": 22, + "comments": 0, + "multi": 35, + "blank": 15, + "single_comments": 0 + }, + "src\\supervision\\metrics\\detection.py": { + "loc": 1148, + "lloc": 374, + "sloc": 588, + "comments": 6, + "multi": 415, + "blank": 136, + "single_comments": 9 + }, + "src\\supervision\\metrics\\f1_score.py": { + "loc": 793, + "lloc": 380, + "sloc": 500, + "comments": 12, + "multi": 166, + "blank": 112, + "single_comments": 15 + }, + "src\\supervision\\metrics\\mean_average_precision.py": { + "loc": 1697, + "lloc": 751, + "sloc": 1140, + "comments": 93, + "multi": 216, + "blank": 238, + "single_comments": 103 + }, + "src\\supervision\\metrics\\mean_average_recall.py": { + "loc": 793, + "lloc": 371, + "sloc": 507, + "comments": 5, + "multi": 158, + "blank": 120, + "single_comments": 8 + }, + "src\\supervision\\metrics\\precision.py": { + "loc": 826, + "lloc": 387, + "sloc": 520, + "comments": 11, + "multi": 168, + "blank": 121, + "single_comments": 17 + }, + "src\\supervision\\metrics\\recall.py": { + "loc": 768, + "lloc": 368, + "sloc": 492, + "comments": 3, + "multi": 155, + "blank": 115, + "single_comments": 6 + }, + "src\\supervision\\metrics\\__init__.py": { + "loc": 40, + "lloc": 8, + "sloc": 39, + "comments": 0, + "multi": 0, + "blank": 1, + "single_comments": 0 + }, + "src\\supervision\\metrics\\utils\\object_size.py": { + "loc": 241, + "lloc": 85, + "sloc": 86, + "comments": 1, + "multi": 110, + "blank": 44, + "single_comments": 1 + }, + "src\\supervision\\metrics\\utils\\utils.py": { + "loc": 9, + "lloc": 5, + "sloc": 9, + "comments": 1, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\metrics\\utils\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\tracker\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\tracker\\byte_tracker\\core.py": { + "loc": 540, + "lloc": 260, + "sloc": 388, + "comments": 4, + "multi": 63, + "blank": 84, + "single_comments": 5 + }, + "src\\supervision\\tracker\\byte_tracker\\kalman_filter.py": { + "loc": 193, + "lloc": 65, + "sloc": 113, + "comments": 0, + "multi": 49, + "blank": 31, + "single_comments": 0 + }, + "src\\supervision\\tracker\\byte_tracker\\matching.py": { + "loc": 75, + "lloc": 45, + "sloc": 58, + "comments": 0, + "multi": 0, + "blank": 17, + "single_comments": 0 + }, + "src\\supervision\\tracker\\byte_tracker\\single_object_track.py": { + "loc": 288, + "lloc": 223, + "sloc": 220, + "comments": 0, + "multi": 15, + "blank": 52, + "single_comments": 1 + }, + "src\\supervision\\tracker\\byte_tracker\\utils.py": { + "loc": 37, + "lloc": 19, + "sloc": 16, + "comments": 0, + "multi": 12, + "blank": 8, + "single_comments": 1 + }, + "src\\supervision\\tracker\\byte_tracker\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\utils\\conversion.py": { + "loc": 178, + "lloc": 74, + "sloc": 92, + "comments": 5, + "multi": 41, + "blank": 43, + "single_comments": 2 + }, + "src\\supervision\\utils\\file.py": { + "loc": 211, + "lloc": 72, + "sloc": 67, + "comments": 2, + "multi": 104, + "blank": 40, + "single_comments": 0 + }, + "src\\supervision\\utils\\image.py": { + "loc": 924, + "lloc": 280, + "sloc": 653, + "comments": 8, + "multi": 145, + "blank": 126, + "single_comments": 0 + }, + "src\\supervision\\utils\\internal.py": { + "loc": 208, + "lloc": 57, + "sloc": 77, + "comments": 0, + "multi": 90, + "blank": 41, + "single_comments": 0 + }, + "src\\supervision\\utils\\iterables.py": { + "loc": 103, + "lloc": 30, + "sloc": 28, + "comments": 0, + "multi": 56, + "blank": 19, + "single_comments": 0 + }, + "src\\supervision\\utils\\logger.py": { + "loc": 63, + "lloc": 24, + "sloc": 25, + "comments": 0, + "multi": 23, + "blank": 15, + "single_comments": 0 + }, + "src\\supervision\\utils\\notebook.py": { + "loc": 117, + "lloc": 36, + "sloc": 45, + "comments": 0, + "multi": 50, + "blank": 22, + "single_comments": 0 + }, + "src\\supervision\\utils\\video.py": { + "loc": 560, + "lloc": 242, + "sloc": 346, + "comments": 2, + "multi": 136, + "blank": 78, + "single_comments": 0 + }, + "src\\supervision\\utils\\__init__.py": { + "loc": 0, + "lloc": 0, + "sloc": 0, + "comments": 0, + "multi": 0, + "blank": 0, + "single_comments": 0 + }, + "src\\supervision\\validators\\__init__.py": { + "loc": 363, + "lloc": 151, + "sloc": 291, + "comments": 15, + "multi": 8, + "blank": 61, + "single_comments": 3 + } +} \ No newline at end of file diff --git a/metrics-after-radon/raw_por_arquivo_e_total_depois.csv b/metrics-after-radon/raw_por_arquivo_e_total_depois.csv new file mode 100644 index 0000000000..9b4d474e25 --- /dev/null +++ b/metrics-after-radon/raw_por_arquivo_e_total_depois.csv @@ -0,0 +1,82 @@ +arquivo,loc,lloc,sloc,comments,multi,blank,single_comments +src/supervision/annotators/__init__.py,0,0,0,0,0,0,0 +src/supervision/classification/__init__.py,0,0,0,0,0,0,0 +src/supervision/dataset/__init__.py,0,0,0,0,0,0,0 +src/supervision/dataset/formats/__init__.py,0,0,0,0,0,0,0 +src/supervision/detection/__init__.py,0,0,0,0,0,0,0 +src/supervision/detection/tools/__init__.py,0,0,0,0,0,0,0 +src/supervision/detection/utils/__init__.py,0,0,0,0,0,0,0 +src/supervision/draw/__init__.py,0,0,0,0,0,0,0 +src/supervision/geometry/__init__.py,0,0,0,0,0,0,0 +src/supervision/key_points/__init__.py,0,0,0,0,0,0,0 +src/supervision/metrics/utils/__init__.py,0,0,0,0,0,0,0 +src/supervision/tracker/__init__.py,0,0,0,0,0,0,0 +src/supervision/tracker/byte_tracker/__init__.py,0,0,0,0,0,0,0 +src/supervision/utils/__init__.py,0,0,0,0,0,0,0 +src/supervision/config.py,13,6,3,10,0,0,10 +src/supervision/assets/__init__.py,4,3,3,0,0,1,0 +src/supervision/draw/base.py,14,6,5,0,6,3,0 +src/supervision/keypoint/core.py,8,3,6,1,0,2,0 +src/supervision/annotators/base.py,12,7,9,0,0,3,0 +src/supervision/metrics/utils/utils.py,9,5,9,1,0,0,0 +src/supervision/keypoint/annotators.py,13,3,11,1,0,2,0 +src/supervision/keypoint/__init__.py,13,4,11,0,0,2,0 +src/supervision/geometry/utils.py,51,15,14,2,23,12,2 +src/supervision/tracker/byte_tracker/utils.py,37,19,16,0,12,8,1 +src/supervision/metrics/core.py,72,28,22,0,35,15,0 +src/supervision/utils/logger.py,63,24,25,0,23,15,0 +src/supervision/utils/iterables.py,103,30,28,0,56,19,0 +src/supervision/detection/utils/vlms.py,100,26,33,0,51,16,0 +src/supervision/detection/utils/polygons.py,116,29,37,2,57,20,2 +src/supervision/metrics/__init__.py,40,8,39,0,0,1,0 +src/supervision/utils/notebook.py,117,36,45,0,50,22,0 +src/supervision/assets/downloader.py,95,42,46,0,25,24,0 +src/supervision/detection/tools/smoother.py,184,57,58,6,82,38,6 +src/supervision/tracker/byte_tracker/matching.py,75,45,58,0,0,17,0 +src/supervision/classification/core.py,200,64,60,0,94,46,0 +src/supervision/assets/list.py,82,35,66,2,0,16,0 +src/supervision/utils/file.py,211,72,67,2,104,40,0 +src/supervision/geometry/core.py,202,82,77,0,86,39,0 +src/supervision/utils/internal.py,208,57,77,0,90,41,0 +src/supervision/metrics/utils/object_size.py,241,85,86,1,110,44,1 +src/supervision/detection/tools/json_sink.py,215,71,87,0,92,36,0 +src/supervision/utils/conversion.py,178,74,92,5,41,43,2 +src/supervision/detection/utils/boxes.py,417,100,108,5,234,71,4 +src/supervision/detection/tools/transformers.py,250,68,109,0,100,41,0 +src/supervision/tracker/byte_tracker/kalman_filter.py,193,65,113,0,49,31,0 +src/supervision/detection/tools/csv_sink.py,241,85,116,0,88,37,0 +src/supervision/dataset/utils.py,164,80,117,3,10,34,3 +src/supervision/detection/tools/polygon_zone.py,290,126,171,0,70,49,0 +src/supervision/detection/utils/converters.py,738,195,189,6,399,146,4 +src/supervision/dataset/formats/pascal_voc.py,355,155,197,15,88,55,15 +src/supervision/draw/utils.py,420,94,209,6,140,65,6 +src/supervision/draw/color.py,572,166,217,3,237,118,0 +src/supervision/tracker/byte_tracker/single_object_track.py,288,223,220,0,15,52,1 +src/supervision/annotators/utils.py,487,195,266,5,129,90,2 +src/supervision/detection/utils/internal.py,431,193,277,1,78,75,1 +src/supervision/__init__.py,287,39,283,1,0,3,1 +src/supervision/validators/__init__.py,363,151,291,15,8,61,3 +src/supervision/dataset/formats/yolo.py,477,185,319,2,99,57,2 +src/supervision/detection/utils/masks.py,475,161,341,7,54,73,7 +src/supervision/utils/video.py,560,242,346,2,136,78,0 +src/supervision/dataset/formats/coco.py,648,201,357,13,187,91,13 +src/supervision/tracker/byte_tracker/core.py,540,260,388,4,63,84,5 +src/supervision/detection/tools/inference_slicer.py,639,286,430,4,107,98,4 +src/supervision/dataset/core.py,969,267,448,2,389,128,4 +src/supervision/key_points/annotators.py,972,332,471,0,380,117,4 +src/supervision/detection/compact_mask.py,1306,434,477,68,545,224,60 +src/supervision/metrics/recall.py,768,368,492,3,155,115,6 +src/supervision/metrics/f1_score.py,793,380,500,12,166,112,15 +src/supervision/metrics/mean_average_recall.py,793,371,507,5,158,120,8 +src/supervision/metrics/precision.py,826,387,520,11,168,121,17 +src/supervision/detection/line_zone.py,944,341,586,2,224,132,2 +src/supervision/metrics/detection.py,1148,374,588,6,415,136,9 +src/supervision/detection/vlm.py,986,425,618,10,190,171,7 +src/supervision/utils/image.py,924,280,653,8,145,126,0 +src/supervision/detection/utils/iou_and_nms.py,1461,532,703,40,502,218,38 +src/supervision/key_points/core.py,1342,371,754,11,359,223,6 +src/supervision/metrics/mean_average_precision.py,1697,751,1140,93,216,238,103 +src/supervision/detection/core.py,2960,618,1758,21,640,550,12 +src/supervision/annotators/core.py,3382,1092,1811,28,1127,426,18 +src/supervision/key_points/skeletons.py,2646,15,2636,0,0,10,0 +TOTAL,35428,11544,20816,445,9107,5101,404 diff --git a/src/supervision/metrics/mean_average_precision.py b/src/supervision/metrics/mean_average_precision.py index bf1740e728..d47f8d716a 100644 --- a/src/supervision/metrics/mean_average_precision.py +++ b/src/supervision/metrics/mean_average_precision.py @@ -1055,7 +1055,6 @@ def _compute_raw_metrics( for max_det_idx, max_det in enumerate(selected_max_detections): eval_img_data = [ self._state.eval_imgs[cat_offset + area_offset + i] - self.eval_imgs[cat_offset + area_offset + i] for i in image_inds ] eval_img_data = [e for e in eval_img_data if e is not None] @@ -1210,7 +1209,6 @@ def _compute_average_precision_by_size( self._compute_average_precision(average_precision_large) ) - self._state.results = { return { "mAP_scores_all_sizes": mAP_scores_all_sizes, "ap_per_class_all_sizes": ap_per_class_all_sizes, diff --git a/src/supervision/tracker/byte_tracker/core.py b/src/supervision/tracker/byte_tracker/core.py index 2855a1cbd6..e57cbc722f 100644 --- a/src/supervision/tracker/byte_tracker/core.py +++ b/src/supervision/tracker/byte_tracker/core.py @@ -340,31 +340,9 @@ def _first_association( det = detections[idet] if track.state == TrackState.Tracked: track.update(detections[idet], self.state.frame_id) - activated_starcks.append(track) - else: - track.re_activate(det, self.state.frame_id) - refind_stracks.append(track) - - """ Step 3: Second association, with low score detection boxes""" - # association the untrack to the low score detections - if len(dets_second) > 0: - """Detections""" - detections_second = [ - STrack( - STrack.tlbr_to_tlwh(tlbr), - score_second, - self.config.minimum_consecutive_frames, - self.state.resources.internal_id_counter, - self.state.resources.external_id_counter, - ) - for (tlbr, score_second) in zip(dets_second, scores_second) - ] - else: - detections_second = [] - track.update(det, self.frame_id) activated.append(track) else: - track.re_activate(det, self.frame_id) + track.re_activate(det, self.state.frame_id) refind.append(track) return activated, refind, u_track, u_detection @@ -392,14 +370,9 @@ def _second_association( det = detections_second[idet] if track.state == TrackState.Tracked: track.update(det, self.state.frame_id) - activated_starcks.append(track) - else: - track.re_activate(det, self.state.frame_id) - refind_stracks.append(track) - track.update(det, self.frame_id) activated.append(track) else: - track.re_activate(det, self.frame_id) + track.re_activate(det, self.state.frame_id) refind.append(track) for it in u_track: @@ -429,32 +402,15 @@ def _unconfirmed_and_init_new( activated, removed = [], [] for itracked, idet in matches: - unconfirmed[itracked].update(detections[idet], self.state.frame_id) - activated_starcks.append(unconfirmed[itracked]) - for it in u_unconfirmed: - track = unconfirmed[it] - track.state = TrackState.Removed - removed_stracks.append(track) - - """ Step 4: Init new stracks""" - for inew in u_detection: - track = detections[inew] - if track.score < self.config.det_thresh: - continue - track.activate(self.state.resources.kalman_filter, self.state.frame_id) - activated_starcks.append(track) - """ Step 5: Update state""" - for track in self.state.lost_tracks: - if self.state.frame_id - track.frame_id > self.config.max_time_lost: - unconfirmed[itracked].update(remaining[idet], self.frame_id) + unconfirmed[itracked].update(remaining[idet], self.state.frame_id) activated.append(unconfirmed[itracked]) for it in u_unconfirmed: unconfirmed[it].state = TrackState.Removed removed.append(unconfirmed[it]) for inew in u_det: track = remaining[inew] - if track.score >= self.det_thresh: - track.activate(self.kalman_filter, self.frame_id) + if track.score >= self.config.det_thresh: + track.activate(self.state.resources.kalman_filter, self.state.frame_id) activated.append(track) return activated, removed From 75246967df4abac68be47e3c2ada4f0bbf9d2f6e Mon Sep 17 00:00:00 2001 From: Edivar cruz Date: Thu, 2 Jul 2026 02:23:23 -0300 Subject: [PATCH 32/32] Adiciona arquivos finais do trabalho --- ...3\247a\303\265 de software_compressed.pdf" | Bin 0 -> 1139290 bytes ...rio Trabalho Manuten\303\247\303\243o.pdf" | Bin 0 -> 3830684 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 "Refatora\303\247\303\243o, manuten\303\247a\303\265 de software_compressed.pdf" create mode 100644 "Relat\303\263rio Trabalho Manuten\303\247\303\243o.pdf" diff --git "a/Refatora\303\247\303\243o, manuten\303\247a\303\265 de software_compressed.pdf" "b/Refatora\303\247\303\243o, manuten\303\247a\303\265 de software_compressed.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..54c13e2c68bb008c6a30c18953eb985b40d5e98b GIT binary patch literal 1139290 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ℑylWWW{~G8HOPF6!$QMn-8{zlGfW=@Y`QFcw$BMw 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

9p=UfoGw0-emYHKHGvnqyje6qX$X%+ri$R6 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 Yw?{hdP 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%0A1#sRF-5*@K^I7|^(k%#nr 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 z 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

k%r}2UC6+CKlvaBff|9Y#d~TL(#Eh_ba#dfQR9( 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%0AG9j(6)0vKE;;lbDZgB)23 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 z z1^q)+e*-kV#+rBD%&PIJBjcb$MSK}DZn9=3t=Gj6tdMdU8EtY33=sa5G$&z_hBHo2OZF)yP^+)niJHXK$w@tX)*T z2{iia)r22G0l5To?xt@K0fqWvF)~Y!!o6||43@T?UakxklF!E>OlbxBi&t%IehE@k z?Cs;M%9zTeR@%b9T8aFR-fMzQsVCq8YDfAYq)Dqm5_tYZj!5Anm{hg&&*u&+Ri}de zJZ-zUD#8p*0xH_NI(mP+2@k{F65Fxh?yT_Wj?C7Ul6y-1)23(#f;pn{>e|TkFGuR1 zR}w&>2RD%PY?Di`3m+MEW@^7L?7r*icJA;U*Od0L&aM;J8}P}0-y$T_*xQo$fyF3} z$7EH7gnq3JjPWv$9b6bg(s7G!m?jIwKnzU}9|r{`%&5X~fhQZ#OJ&fl=jPY+*XbX~ zj(ducwm3$&J>Lj+a3+_pN|)2z+*a&b>c@VzNmh?Sa=3J7Xu#UM)1thxPb{43~$zq^@dQ883RemB*S`AVx4?t*{Qt-ECN$rvr0w2ay#r1C#&{EP`-o!6_;E-bR~ z6n#b2RDt&kft<@Pb#VSN9>t#>JUbt4jNnC?V9gi2hqF&{-*gwfb5{^t^Pu`olaQF@ zr~xwPF5KCF(BO$dmfYX-V#t-#Dod^W|;$uTGn^>#HS4Wev^kG7OG% zPohgD=SE)(u5H{#-zBCV3BKbu8<_RB&XD+oSZ0;_uD!P!TD0|^L0WcTP=r=niTP`@%e#}qEH{pBo%!l*H z9q&t;qxHUW)Utk>%GruPU4#$e?>GW4=N#pXPtNO$8Y&wD*iIAVtjlUF-)A-sy;8h- zd%wBW_n3nRZqDQ3ZxSp%$5BU>2N_Y6F4nl{ z@$<2>`(2Q{-nhzD<~>YByPLX+Qb4#lv36E=ly9g6CqXD^AUsw!h|v<7WW8!6tCu`EU? zj_jK0y!jNO6%J+urVc1R*qO_;4rtLVdX=jg z>z8nW`Yg@xH2IdpYWzABWvB*WY=b*LT-JQ8tq~0F|PIBaz z-P9ukS`0|P)xOxopcV}QF~ZbX?Fe)Jt_6?NJ8UHn>(*1c7+|9;cf9N%50q!3xBuJ; zqXQNp-Z0n+v<>g{lnhvA!IoRTy~QVN88S5&UM8oO*;S)~MqBQ|{Wh&zZ8@iRrY3 zOM*8VbAl%CA5FJgKlJ2bb^iocdWc6>9{40j3SW!*V;hA9wqZwfQG7G6@O-`goh=c49z*ZJ|^Oc*ufVqwd&spUq%T4ge(Ukmyi3sfHZk(FlYvZRU zeh`rt@P-1*cuhJmJQ_wG)WrZ>K%~E?&RRSU;nt#r;D%rLDY_YNb#CKzwYwJkPz@t` zusHHC6<$2g_hRx@6)`H>kJ(ZY$A_@F*ncHz($&u7?(JPRS6==oju&4S9wb!MQr^ED z(_1pO&z#3*wv1KgkcwUErFp=Ao`k;dm$+^BczP%Ea)hVxko7=zwO^Vo9=3nSU!H3lJ<*8v7=`8G~(%nc~pi>8fUi#_Jwb4tR9P*#mtT#GSpVo!BH zx76R4Nzdy!*jM22#rlHy4N~rtdJzBxr2H2vkJ7#5>v6lP!HlKgrQPRHKt8HnZTIDz z7~;e-Qzd!a0FvyIG?!KCCVG~pPA^ipP^rZNJs+9PT*)cRlfi3}GeI&=1sO%!jrGL4 zkNc^(!!j;X6^D0%KWn0vT0MonIpQ9BYKI@Pw@mD6HYpu zNbSe0Xcq2>hj1jhAvz|ZClWAqEd~?qHt{s^PY;kfqz^sqIM`R@75gv?1?+0ar;1Jr zaZClYb2Zu@Cd@#A9;WwmDXF8^;#sDL9e7P4d{nD%eC(58^s?y)nV-DGe!F|c&UfBC z8vJ~=P>5`C+YaH&+k4-~*>XX=8f7ZQGkIbf8Lbm(Z>`1?P0Nu2*cK~`J@qOLiunVr zN!JP2V}R|GZBM$^59az%K-C1!-)aXDGzjW&g%^s};nnoFY7n{*5%mUNc;{&u2WQS|NTPPi6z(gJ`<9^obb!60|tdA2WCe~CnOw{8aK1B*6K_Cy?kq`rbhvuS;^@=V z0%c#p0AT1Kqkv9ka&b6mcqhpx=E)bq=}Nl8g7FqJ-4bmUqwYl}x$ zpUKkPLQX@_@eJ|uSf_0<@jE_O_so{6}U9bAF+a< zz-h-N@y6{p^dxT9jE=<`IDjmQ3HQd$d`7~ND!JeWu6bj78XAM&y>;a9IH%&8N8fU8 zonyh0W$r8C$8MjuWg9NHu5fU`=aserQAskA`r_5o1(zEIH;WtLhNE!}w)ly{9GnqX z=8qjl_E8JSZ8NcAn^P6J5f`T4Ab4miQ6@9tE++*gf8P;x@JQoTM%~b{QvFcfy$spR zPW`Yo##Xe$V~S0k=s(p137EQQQ79>q!K)~VB9xw9YgIeF96((6;jWj|sf(5!{iLNK zjm50aUI}AKGnOQxCoVf_ieOHnd3#+An0RYwTIha+PYsJJJWiUxelM z*Tu;2{=WC>m{J^JR>5ZLk32f=(C_!TbT4=2uehD(l3|Rx3cXyL@2(?XR;{icGB2CN zXTMvD{{(JEy8l(8GqAT03*+?0c&YYQ)8X* zc;&?&;C@Ec>EWc+)zwL_tN;o zl-BhwRV=+yzU;4pgvD7bMnxS+10!Q6j>YgBNU5Q~^bpK#`Jf5TEZ2Ova^d1y;SsIb z&Utq`cpj27Q&KZ(+g4RKzC65R9wvPcfJ?WSz1Qn>_N8!sQ}vasVK=^>OzW~WFU%V3 zw~U7ADu#=R7kT*6Wths0Q!Un*@u^f(g)DOiXE_$WY$yeZMU55l&S@H-SzI0~Q)tw< zVR1#NHS~qn-OsdluTH}76Ysik%E3Il$mQi75YL>Lb}W=;6{>q|h3aL0xOt(DSG&!v{H#sZMo!)K8 z^*Owg@3cU#g00Xl6i3_lQP;b{!XCW3XYa|sDp5=jkKf#3g8~O+u-MRp>lzLUP`x1B zE^dsJBvtimUwqzabfqFEuq?W$40FmWg!t`aJcrkOq8ZU!nF$iR3&G8nxx0Flr8xH` z6CU0yP-qPx&RoXv=weT!H7IR8h#jT|UuM??Cml3+=a_$ux?E_(7nFnoTfH{KJP}!r zUYC-UkuP$d)^<(^C6s3_&noC{6{|O~#gnC&G1vLJpTKp$%$oU%k+xKZ=$-cwdC2mE zFmfgMAoU7KgA@w9oey%j68urL)J`K!!~TnYW=7q3%=>ns_77su$Uil(vh#Y`R(K6e zwGOXR(ov&v>pxvae>pcLsGd|-b;S3|3S&*nom*4skS8@)4OMUvH7Vj71`Zl#(mEl` zG16ZW#Bs?iaKvx9Q(h-e8^YDgUXBWyOg@r~GM~9i>d^1JWEXF`tr5k*I!0ssk@CB# zB!xe>k?f&FYUZR{5KDb;)m1UfPh}hO;AOSg-E-x|NX#^udauB>y((|zm1DF03Y0iW z>~^hSIykrG(99l1efJVht1ov+SW@{Y%1A2p!zz`JeU?a7?)*WlY5INXyPv|_AC(Fb zS-~`d;Pg8r|1z|vE1|_bACBV_84tDXocz2_uV#(f@D=Bgza$07mN0(opo%-zN&K&h z#~ECo8R{a>l!PPOu2481HkQdl0pYYCuS0cF4M`>-CvjB!NFBpXZQp}(6pCZQZamea z{+O!MQ@K)vvwz5g6X6`egZ5Lz03x@=(71A4{S{eF-#B4^l%~mzR6zndlHB06a=Ik- zIa;X%jSk%RGPpFOibH7E>UQPZ<}`)UNf8|VLTB;*HN=D3^rgewPHU; z>I4gpnDQ3<%+gYVX3D2x*!KTcV?5pVAaaV~BPKQkHEC~uyrZr)WacY~+U=oZ1N z`?1q;^?+l2->JUBc>s}Z3TBBDhQRX@`4bwZF=3z7?-?9LyDYtU?R*4ElE-wk1`TIE z&6Bef*`Se((i|#q6lpf+d^u*ehqO;sNkx@>o`gZQivtDvO+@!oCI9lY3f-rk*VHk+ zc|%;;v|Y=5%{QX*eSxwl3__f&xmMJHR8mx4-0h?Th`fL468cw6>^K}PC5H9AgpFRs zFjapd3!{I?xg8Uzb&#UgmD!>%s3q;#iuWnLcQ;hWd zFWqY?e4kf3uWZ_<*xtv+e_RD0wyictJ+L&?(8ZEgB767So5)0>{!F}SM-p*w>5+#v zT)}o$#@YkRC>-?grI2sKFkIWG|E>J!mrNJ|gDZcONzGMKxU0L6vc>R zbg#W&(ZseFc!M%MVQOxf!q|)7YS`JgV_nhY=j0JQa48oQ_WHfiQ{-r+UQ+ z6Nf|+%YQ2*YnTWHM0nV9|DOH#8Gk{0ffNI!9RL%UD=75Io!LgecVWW|_I$5&WG9cD@Nfm_(2!HWE}6 z!@c}F-=UUTsFC|Og-sq;@iAct;Sd)Yp2S^|zdunX&f}{u;5|Z||6es5o<|KxBlRP~YVKjjLPT_63hTeXJM#`@RpZ@mv$~pg& zossj*A5yo0?%>So-$^^tgK0QeYu5lbTsX9-sG)*M^Chc|PISq?i@cm&A8dm~_roM3 z2(FLiuU1}dB%x%=7SYkRPrw|D7ysEP)T!{i>!kJ_L!PlU2)ZNsi;DU$EM6!|%#q<; z9fB*5MF&A(@;t2g;^MUQ2?R2sR!>z3N__y~o_2jA8PTkYN?gir`&BVwtgc&Fw{=hx z^=(xh7Mw?|iY*S)NVFHJsx0Bxf?k1(6c`)h&7mYeC3v0?R< zOc!v6hruh!9na)66uWNl+p#tgB?1*;yQ;8@0wUxK%#qWD#qm$Y^ZRns9i0c~khwMQ zA>AvApr`;vhb(IZFnvh9dXnDtE!AjVG*bG_k9UD{k_AO8K7`!=LXnk(k#hC8s4haX zrlRx;t@4#8O*Leri;lv_D1Cprfwqk@E=7Jdvq(W)zan`Fzh1LFd}D^5vEWsbNSsmw zQGlbXtdW%+=?5?EzP&WKrj;0=v2Y{iQv=6Gnz|6$&jNg;`Xc4Sfzvk2uT0k1zMRQ3 z*@FXzs_Pxp$Mr||sfG(IL^_AaVhN~_29~M|OSi}!;#akts%INb`rK^9Nbm(PGK5}! zEH4XqX}+`a4$*n77S-iLfva-vdM?%-J6CdN!c}>~GP^M$`P?gKrD4pmA5d(9POh`yZQ3slR_CgsRf_5c zW>UVJc~fORpQ)pIQGYNrcRz!@+<(VP;i);}bTbzit3Ezkv4O<8V0Hn z%%D^LvYro7Y6JMbj}y6^Rj~<_2pY|>`p<%|&Ue-w@}FC9m%3YaRbMG?KX`dB38TH2 z#Z{7Q#5u#4Io;*Sy2QdFFJVR%cZUIGnOhHVlU9kg~Xs2z!S; zv3U_rc3<|mIT$R&vvX}G2u`dB4kCR+5|&)m>Pr?W&n^NT+pz1zep+zHg&T9UCcGA3 z>~T^5aLi1HuznSpx~Tp1O0r|hJNstj9pQ3E5@m_)m17-$%B+^=EJ`Om`5xgoVSpm)!L58NcMbJ^PXV z_U}9Y;lj`wIW@Ojm;B#({ok!(WCbbJE}`EU#=vK&;2R<_GV$NYh5h^8g1gTdSK%B-hirX^HaWSH3izX^9ecW@KVJ=UFD-R zM(j8C0i@0gA@uNdFf1;lgkVwK6I&>7K|=A%TUn6&MK|PN_6lDA#}ThB`T|`DHYPTB zAYK%L*zqHU=kb#KB@WDBex3NS*dh?X^y8$ocWdGa9n8`6EdC{<>7!!=u7Y=>-fUJ-o9g}dkq{(0I{3pR%xAwSy4C1ba;hozh3_@s{vGh5%>Qb- z-cCHu{q^n6LzVJ^8An41Ngt5$OVkF?{*265y(?&|O*?GN&0GC5*)V zpHxm$k@zABGj{wh=Jg*U&#ywzUx89&IL2MNoC}IrtQPN{;9#koieRpVobAOswgJxE zcrbnXbNkSr2mJA(?jKo-w?R++33a#;MXko40sl4TfE}(X+pi%P{RwrL?fZ{mx!eDn z22Yi2DHx<(bufC(D?$)8MezO?At0}UkEzbso_i?EF-mptX^67fQ%mQ;3{McLo`)du z|8rX5wk7`+-Bd9BPJ=DTbhTW-=siN=vxrgbwt*`Z^R*G<2T7O`|BJBr&jICUZ{;Ux z#q(b5)z|b^7@M1Kv7QmCOizDo8@S3NvM=mj2DdTtpCYCIn`X?vVEGp;e})C)R~|JV z%xfl*`+Gg=TNPv!5J&N13%52?OkV2t;5^R~o61C3S*oVE(BJ`|pu?`05Sh$z+Wo#YDvwN7XiE1;`rX@ zEM&0`qJ1%vGSvhaB}PjAM2Rx+tS*`Op!B9wxo2w3wFxMb>wS?0g84}6Pp@B{P(cSYzXYjc7H zz@L}*QTD089MtdFtKh{j{v4}g{`Ltfyu{xr*aK9Hzj4fL4Rf@Zy0=#8^uA94;eme8 zI5$iXU-tYWh(iNN$%;BIw|*G>TQ^6>5^!YKK&heK6bb- z*{9O$5ka1o0r;k^U?cgajyYVo`N5y2M?rKmgetJrepnv8wwcoHJwK9=p$E^#-(3ML z#7XEgbu`gLdhtmC=KtFh{a>U0^P?hJ9&!x1d`Q+7c=z^QQWWXirP{C7aQ_9B-*DZj zz@3RUkV~+@VSI>$J&#D_E`*zBS&a7hMlzn_%gGFVXLT7_|##F=QdCf=k69_k?9sT}UWiGMCtxDX=yDBO3J ziWJk-FktM=o_MaBC=Ol$@4X1&84?kt_J z1`Fca5V}^^RSOR<-dU$;clJeswt9X(@tbJv6dR*j5e_xRvxYlErU&MQS8hD@DC z?1bzRii`1he@%Th=o1=bnGvTq*UFWY5O)+$vsq~lUQEQ%u3meodC)L znhQskUX-eg6r`y8#61opd~4ALI3-KM)2LylKX@r2Mn^t6z2VMOH+t$*G)mSJcPuFm+($eXxKHmxRej|MhJ){ESMpA6M&W`G4b@N#3vj!t(TUWao<` zD@}Y2?y@Ym6yYN0`iUHt|tAD-_48^w_TG2xE5B<)OBN54V)T=&54by$8j{ zLEAVv!G$66M9U#xaxS@d+mn+Vz1H^RIaJy;0VDV+4?eNHd0U(lTs+2iu(`8Wu-ES+ z#Q&PBb6K;te4ctIsd6#K?3m5Jj=~D;gsXSi<+rc=PRnHg2@4jp)XYadL?FHY_`Fd3 zkhRt>)kH(82sxtHf|FgWl^)(RG2iH-5<=@vHpDIIe|H56P?exrB%#h@oMcgg%;jD# zEg8KHG73)3ZgVzxM=Zlq7+@PrBcL%AKEHpTsqqi)_$)TiJhrr=jf%Emezb4>O->Ml zsrtw7$Nhl;{gxSwchou;;O0G_AX@VbZHz}Zx7p6KknTuFJ<$}Y+Emb-n9$Iki+>_+ zW%e%2qUqykpz*_l6Ux1FOxKq4NATyuy?PyZW7)3HOy9<+bhRnc_U38Wms{G9;y)Q$ zBK-EDbJbhFxYvc&59Tv5VP2lg-yo<4&-7X*tM$AwUIK0UPOg&O2ivNa7=w@Q6u~?f z+aEqBEtgJ800Y|JQIb)W=8(3l94>t-yZw8geA1MSw#Dtt2T}Zz{JrSfx)7vslZ;9n zK53RZZjhsG*YY%FW-n(2AgZgevY!%w+NI~E9K~%JIkJMKT{iA)*6`4cLz|s!MU?9s z9QCrOmi}Bdi+#7Ss7lNnrE59A))`Vv2DP!H&GYiA$^^(Yz8A&fX)f=S{g*7`5>sL& z*?WP4AJ5xlQm!EwbxKz)_EwU95P1~c(szx#qCNoclVN5kP!w~v*R~g*xT=IuOvXo) zTSK+k(pICzQ}cGr#^2xakv>y#{Wi6!#$J3%QwiZh#R7HG9XY2{(e9eryHKEvLcF0` zoZyZQGGRZOs7{$J{2+{MUS7ZK2;SOw(-!|#Eir+BW8M44QPFd>BZa4e-stfq1q+Ez zA%d#us(}|!z~nHvz+IdTHZokf(1j2f^AXE>17HB%B03CuvpIt?~m zdJLx*)^?9%V(cucMtj|_9F+pKE=-%tDSDUbxU->^6lGz@r*fK#U`@Gl_Nt$aq$r# zT*uqwX*}GQT=+ZgWHFcQ-CWQr-W|qb(-fX_s}M9s#-^&8)yf(+QoJ(z+=9eCG8Mlj$>U<`U3_lbowG&iBFGcNKHa`C7{-(3n<}ht6 zoTjUCp11)n?4ATwWxbt-*|KIuMS|2Aky$~?*U*Q^%z_F?MT6paG=JZ#hnP|?>`7u7 z%FQ*_cWPYCB*c28-0r$4{o75&rIc4+FFD#;&AyvC@QL0y1NjD-j;~azcvN1^YtHau z3AN(sU#RLHEH#^RkjeEeU~&k0+#|#6<}alA&`I<3o)xXc?3X?leY`CwfabGM+<4^} zCuc--Tw1#qs$&da@%I$~K!pO|k!HZ-JP_p-l}nyblf_y$c@=_iY3nxS2VbXyPWy-I zolgVQ<+|TJd+U9n8nZP8$!S0twh*5@F3=8FnP_~p9unt{3)d`wy<1FS;n=y3`!&y* zLG-as@KUh*v3T*&EBT2~?kd(*IBMXLNL);Qj&9GQ8+M!RNwB3QL2t}L5;M%RJRLwn zc#MQ_-)+-g^ql0VU~Wz6km7yftJ(nWhO&?FjI6vt=ectX<9lUx!}>*7X(i3+EA;ms z=!Y1?_f@d-q1bE&JVEAr;JvRCxRh`0_CRgMWS|Lsbmxh529}o`dxxk-_k~As*G;55 z)w7tbdE0ae4wzsQ1It+{HEal*1G?Kz)e47VzE3h!_0s{HD~hY&?=SB^ZbA}?oY{mt zs;fC9*3c41RTpZ|Xuj_nw{YLhbVa2i@gUOCTdCIH5FdpM%U8mFo$s0+zOS2)i1Di% zLlX8ors@G#Wv4t4YNqL6i*WiRBh}H@ql;xcp2SRz3wIXKD`RXE78>^HeInEium-RY zz!4NlwZ#B1zk?HfzIQEHsO1>Gr_H1xRY3KHFx3obm&~B|MDlUv=DsPjs^1y@JS3^L zqu`=|grewcof&F657R9&y7xAx;w0onRzJ8__RJ?0c*~8gjn&cQlZ-sILqi}^eiHo> zgEKT;W#kQk2+F~3H6Qj2LVt!dE?nz-Ln0LUfmiZmpiyo?FqTO_dZsVeMR*?#Ni6%? z(|N%VQ2gOp%mW#w^9oH+pr?PTmj1i_Ho&S(QJcW?WZUhj?ww8eHUz_$eyREyU;$wL z><2H?9(a3UxG_}?)#*FAEz#!}Q2Fc_M4O7QdX^@B@*WpvlIwpFvfVDww*0jcTT{Q= zzu0Tye91#-B=!Gm?>nHP+LA>ZL69t2$&!&Ik|l#=38LgAAVSkNNRmt=NR%KTAQ>d5 zMsgO(0wTFlqD{^;xq+tn?fiLf@XdJdg!liN_y1iB);i~`t~z_yuDH*xDy-NXQYTfa z&`&tgxn2orG-2CiY&AQ$DHOoHOM-9D0q(02^kWQHI9}y~=B;}99<%EO%Xi-!#7n2N z98*0BC%{mX**kn+lfpFPA>uICy;$+`h#~rrdB`6N@LE2{w!Z(6KF z0joB^qkGt2LhaqKav)KRn&7C$oD%Z};b!+i$#nEt7pl1O$JaAYj88ZI3H_wX$6}7B zpVnKo3Qq5UD3%JsCYP4jlw*Y0m($fHtUI@vIx;)sc~zEl=XV!0tZK7P_=_fC5pRzY zY)Hw)3>0{H>+TM5*57v9a5&{yzH2gy)ZAat%FOoJ-}N1RE0;jtopMC8$% z*PxmazIjA&5=U0Sd-PykL<#lrqWl&pEar2paOBb3SO_fu>_$r+ohusx6#?6BUJ_2U zx?)JQe|P{jZ|Gy9G&JsDn;&A4MsY;VwnqyO@ebvb zCqxD-5>NAlJb<@ssvbx(05`6}lfSV(QhDEfsgX2vc9(Ms6GUfxX|i5C$|N}%={R|c z<`~_661Rcq0WID&q_1aEU-A(t;g2kNl|6_=&HnJfMv4N}ak()$cJ8k>JIejdaz1 zTHMlXBV@p#oeS{E;G5{ryd4>^1}3B)jA@^&9z$jQ=nL2WQauZkuESX?r!P>TnsF%& zODA}2O$9dOc^LgX&ehAHb3hvu6JA$2HC{Oy3To{ zlVW(a^irTDoUZwH+c{t$?UPmKl^Ne+M>LgN$Qh0UWII0lFPE7lewvD^J0#H{l3X7c zP0g$KsyY>QC#1Pg)-~X#;5(Aw+iC**J$+N7lG0ayDNPz}Yvqswy1q7m=K_d6Yay~I6J z_Fl^IB}M~T-E09_@lB@dkfQ?zyWRg}*W)a0DvMa1E z=K!BlrVH1AM=K|XuhZF^5_>i1xZ#2-<+t$av0*9Jp1Htet;)yAZ(Nc-3f@vSLwOm< z|7ucr(u~>J>kY)sQKhah1JOWy{^8#C74GEV!raw#1~8pU8Z`O&wD96HSpX>KHyAE% z$1m3w0?J`eozoAvQ~|g$;W3|)Yu8x>6avy-E;$O#gK6#+>K{LoNw2Q`C52^!%7U|Z z7`EOl(#y1?2kZ~*7xqanP1t$8vrzODhGs@WaV37_^!|SFxG-d-FLfG6k_%r;T6Ko~ zRu>7L$Ry{KMXv4I31dbnFQ}k(DKw1di(oQfCneHAr9LSyLp6TEI#zQ;7nnSjo;ohc zOJ6cYq#01Wn);;q0s5*o31qVq@AI<>DgUDdV4BmFD%7JYD$#4*Z!eyXhL&2 zyCx>U%C^bJYCU)e=)i?A_TilmVfpK7wDz}-i?8=a%;Wk?z42&}3QM^cIvq5*w0sUI zP4yE=1QvG)IPh1~2{!>7aJ&2VKZ&ec{O5cyYx~^-+T=_zSaxF)aaHEw$ zz=OTJ_P!4~EI<{f47o+dAN>#y#`nt}T==~Tia8x)=`yf>>&7~gF$p3V?)RDo{q4t>RR=&r@thO^hW!7q80 zV9i)7B)cbnRZP>{>G?-B{^6qR70}owWFE$JM00F#HG_zkY%Dn2WjFO~47w(~JO2>x zh8*RO)+ql%^eHg6jS47{U9bOH(<#YFH z#rPok974&5qI7S{3Ob*G5g%ILW^B@>Yx%7W;z{IBA}v%KPF<5LEreBEb#jzEH&YLw zeIIF4lN;9DVM>cr?j@MW;>gqA|Cr z{srBw5;g3^BadYSzyXV!OPm;7l#$WH7NY&PIegNcooz8~akWhG08bIHhxYwAO<3&1 zV6~VRM&u$>>PO;bm>@XF9b-6;=LOEr>=VX6o`8c!-Hl!2Og@KfJ50x{2FlUrC0WAD z=TxDk2izRb69p%Z?^0QLXUJ>DnbeF(*_6op!Up2tT5ZuZL@+%c-S{t_TUF#kYn!!U4MdF5?% zl4x6IDm_-lUca@)I&}*oY-P|ytJEFHe;AFo*ri%_cNE2Q`7q<~3P0_a(bTGE%vc|) zgMLy=)VX3IC?z(7J^RS~srXBF6SqIkk5GloQ4a-nl7v^>l0WT93!CwMv1&GOf$ttn zpoE4kogFyq>U70*pU>}Rl5&)`Tv@vfOkQxwA=iq?Wm6rk1WRl249mjJkPx&--#Gwc zoKuaENwajPf~D}nMwC5o)Z#LYpv!u8-@K?G(m>M zAU>PeIbSP{PyXzDL)Q(@G=((BTvwVTN+vx6XzB*y$a>g(LHWNS5N{CZTw5SK?Fnq| zS)8d#=vA3 zNy#)_Y`GGs^|1U|rM$<%7gltv*dlmBSTMfMbL(1aus|*2ln!3ZxXJgheG>|irCfJ< z1I5Lccc=-sKSC$bRI?%HfaQpmql2Q-@pfqrBW!smCx=Yu%&mcCIr^F`+bnyU+h%4S z#h>Hrm#9%8RG)f_DjKpKbUJvvqKywoFSy=i-H3I0!!a|C=hz9i$uM5h+FFV2pojoz zwCSbDTbT3vz)W3i=T3nx014&GnILa5+4tuuLMH(fwxrE@D>YG-ys; zoucrfdUTUG)jH3S%5WVB68!v@snYE=8n!OD|IMcFOO2Vg0RIO*-BLCAI*N=3|SLAM)WqOjHHrrvFzg}im>+HT?EVV$;`bgNub+-A zWfE%&pyl-;2d%REWco$W3m$gy!@p`X`*$52`s+ldf3%vC^DlF=ekalR-LC=vl7+-m z@YAmNuiNweEC2u9J6$UO*+U&lr@rH(Z+I5OZ(H_Oq)zPiHt3yl>jEAT~g8UD;WqVO8Oii#c>X3DMbrI+8Pl@ zC`1YxU5gyVd#foE;d;$77-lot?zd~DHGCT~aq=8G(lJhZbG6|f?O1bPphGEr!h(Z2 zu8MRd#uT(Q{TaO4eAI_EcMa%J`-o-RF2+}rxsoD4(WEW#LW5Tdt3KePC-mih79tU}!<@rf_(M zn_@gR;z!yrJ9~*6iIGkr?myqL?T`MM|8Mut ztS=+EWC33{HLV2BqRtONIjc`8RhVW0o?!p49H~!nR3@LlzO~f*ME{DeW)r) zoVZ0CRa|+I;YFM*AIq>!DDd&2D)SmCcf0Us$FF4)%l=QA=>I_=5|hq!?mfr3fn zwbyFGujB9PI(I==(*+P4#%4LX_OP|pOFWmfak%;=yNrD!%*jS)Bqd$l{C}{wta?k% zYJ)eB`W{TQBgLbKgME3CaTE&=#o-Y!Mub}F;Njy^SR>Rzm9YnZTqvkfG?y0pyXWli+UQ}N$=G5;i;!Jl~dVmhSiT+%6 ztpuX`^iFcLkc*rkd%P9mo`2`|k$hE)J z(T8uG11k2nj}g_FIF<)Z)$gIz)~orTLxVlH5oeU3z^--TmiQlw@CVEvFn_@Oi!j$R zNF)%VX&1{G(fz~ajDAYKZW>W?ydLYRE6iZ@6-%$Bx@z|1$`Ai{>>NPbj*L79u=oy~ zuA&ufJ1^W3S6G9-NitodX6H#?k09Naep&8Sgr14BdhS!hi@csqSeEH2R+xn zGPZvKxczCBN%1uQ_Whu_s}n?@u7_Ih&sEy}8ebFc@VBk4xth=dPs5uDtH~+)Beuhi zGhY^Ca_&9OV)J|FFFk*1qKPs3n8iP{*vYI=jEBmh z^4Q=jhn}>|t6aP>$9J)G2N4OG$_?eT3nrj% z=oS3)wEnnJ;!w6|w|N6-^st=pE6GynSGz>_LmKz@RT>OsCm%n{%W839PeFc@KH-29 zir*nHe3aMrwaVoMa*353N*me;@rQ6mdRI6 z)@v;OGJ(G#y&v(#vDsizh40K)MGxc5aV)C2AIoViVlya*$_$^Qli3EGspEkdRtQnERP&3&LFa249JWcUl6kV+yKVQd@6@8gCd$s9iDYG;13uAqqnqb{Fo5l^w(|Ws>KbaR0aF8%@(qrUFnrB)L5?w` z36D{e4o;&~HCL&dD7q6X57j_l1)I?MtlyBCp0(X;@r=&n!XE!kNkw}+u1$g`5vYa` z<(C)lthkrG`%t2%`;A1#O5QQE6X5-sqTPil$?>LoQrE&GWe7oRy+ANzmplLLIb_ug z{10{Kbi;cQ_wc`nVD+E7n1p@vP(BCfyw{ZHFUbnffAqmMR~si<+a7QzaAD5*wGFim zy0DRME$+ z{TihESq?i^^WjDIx7Soe%O5cv^tZ(OY|Akz{94ohj-s}Z9{QgQK2|E)Wu~nY+&h(- zU>(H&?2c_R;Hd0ZHkbtc#Z2bVL@hjt1zhrQ;Yslz-eAVWgyR_wCW>A=2ShSmyzx0Q zsPg4lH)^I%uyo(#)kwXJU7tz%{MRa}n*$NKp?@TlyZExlK4oDyk1wjpb-mMN^xv6+ zzXvXJE!i`ct!w#FwzNbhY39$On>@2N@xxr{2CbL3W6Tx72Lw9HwiudNZd-3dL`|+L zaq`0KsI6dzj!&7J29yIg^t#H0-TdEMqw}Iuiz6deb7~usJo!vp)Nb5qGl8nZV)X;< za2c%aNVEAXfY{^lqk3tCICQ?Nhccb$Ln7Mkiqpw^C&|#Yzoo9!gv6G%? zo3o~)Xnp;z2h}HDlemN8253@MY1TEqEh?o+!=nBE%*n6!Dsg156&XpU6U4&CJ4$mJN` z@#%2s(c3m=6hL%k7kKzj8FjIT>tJ8?TZWa%l-cHcWT;gD;}c+0t!(~?YcHY~PX=)% z<>8mdAQd0_olV@|I5d2{b8x3Y(6?_JIvK)OJJ9FP4tZzv_@zx z2bmwfV~=*96aBgyaS+I=rog9q$$IDGx`Csq4k!=zJ(i`JxQ!z=VoX6a9jTX$>mavg)+iV_f|TgfR*0tnM*T%sNRK0`nI1A8kEvuTyPrxRI}b z8;H}aJdiEd{Pl|mn3+pZU$mC>wptknjP}OL%AS)uKSkzM9^_!c_JFX zm)~f##5v(Ub~k`N?9#acI)(m;Okcu?&?!LZ3|noZhDe!CcCEo zRpYquvfN{;IQ9G4(6Ert!gjZKMK&2_vmrCQz49OubA6N-8!>i!MQT&wBfltKA=nnD z0e&q+ew4YgmK}A8;e(}n0bdaId5NBy-6^DRA+5w}2=#G+%yI_sVR@+^x}!}1XT4%B zD%>ltnG^BIwsRyt7p--UmH4V^4;;IX`urYIk}DxHKv8G{VMo1~Z$T8vV|Nx11*C$& zcB}EyWj~%|-9=H*0}j%R64mfPE6L^{H&!;)@N&?*#;+4aw_Jd$Ch}a@uuG@0U=alB zhV^_?@fzVrxYrYkY?=Hn2)DeQ#1ft8`2+9Xa{sRA{zhjg7Vz<`RM5T0HTAyS%tuyNNEY!?oXi(u6!x-MVmCadfY(8D{Cgmo6=_fkzWMIu#{Gu3BEvzm)eL=p2)pCa(_$ zxj!pMU!_%U1#xPsjwSBr96>_Kxk}@r7S*Y!rrh40YHD(G16j7$`ncJ@e$Ph{wJ|dm zOMX9;lbg6&M+{funw-r0l9n0f&vJA~rU#k*Nui?LIRjzm%k+{BipN$HWFrLQz(U}G zD!{|tR^LK`bk(V`TtuYW2=BQti}23Zh+BiV2jcc!+U2@qul^ivN2q^kgslCwd#!M(qb=LjHBOb@S&d}S@XcSiiwWGya)nu8fNylX`%7a2O87rZVy)h*ee6k zdxK6`E6B&_{v9fUydVDD(bYoUp&jM}n?#`m-*b^Ae@g`rns14d9dxDe z2vK(sQ2lgRVzOcPaTQk;59*zJ+ctuOrOJ{Bx$do%tz_ABd(U%k%8oxU?5!W2zpafQr4Y|Mb&%hUvlj<^BU{{N6qk{I6$w<)mE2X&Y)jU{;d% z6p$>5yZ|dR(-5z zfv1ay)6H8DYslSd2rM;G#xc+gP+?~L$ zxH>`jmNShJEZ#h#0Z)P;$xv*wv}>>O32^gF;d9C>SXDlk$qvu{^{5LbpO^>op4_zz zd=05)mfs-bx?qhfEIGX-fzr&FRC3NknSc}ui~6fZLY& zExblosMZVZbyo;WDe;Sp>COzo`V%uze!v=@OO?-yVto z(MaToPRxYa6s@niwj$xv(LHCT|HLaZF-x(k zmBGV0o&%1hj9}-~K!GCzh))iKXT}4iqa&BERSYK(dMi;!K45Dr%2~}4_YrB_7M{OW zq4WK1q4pCUgRN>m{*Ha$kXh@P*D@VD)@jVtI$VaeI0zlNnI7FGXO(T>Z2M2i90BKf z#^;r0Gkf#Bj6aJet^DQ1cnATlv2UW#7=QXf_g$Dfbc0Omr-$;zs$}R81v)PRiq<$+8Z= zUwdqMZ7czmb@W#)A8L9kZFGrWag6^P0(K2Af1#xF_@vKgr@-v(4A8?3xnB~riqpKv z;}quHTus1WJ{5W0WCtLSH)+AGNX5=vByJqqllj7XRbMboIM62<<#+#4CLR1cv>wH| zt8Tt(y@{#m<}kToC_8(B>fE}a+xK4?p$0HrKQD_O`!9V85}L!NW#OBpye^9YpqY5bNZ^34Fy-jI>U@Z0;)6@ zzVt$IhgyL8XZ)?zHGpv2^SxJ>!alWgT~8}xtx;vYHeeiw*}Q84TsoEi52(yVhqP%Q zmkk%kA=E7C3iS&!Z^e^{fi57}us9Epd8-u(`9ic_C*;-X#g}p)% zj)8biw1~Dd^TmLuWu(LRQvF$r`_;R4$^qv1VkTlD9Q74iCbtsQ?0b#y%-MKlA9IO* zPvyyyHDy6QL%`<%_Dwu)hE7QWoA=*Jnb5EOy@ms%*HCF{pMQ_>(5OUT3Nr;EwNfTA znAbnUyz{_n`SnYfMu&olL1_?NmSFicJU-c&|+Hh82ZmKUJAa{`L3Sh%`gJolimJPmu_ zCVCsVyq=?Qbgb>Fl{uWM1W8qVxI^Wpiutsw%1h2Pvmc=ZS5(6Ki^o0q=Y1k8hqXd* znw}k9k2luxuZ|tAbF;O84Au+6ejwS$x|~tx%cLy@4(TR2B{|>eHNGtPTKmjA0*se< zQu;d1=~<*tmgu6mNEN+5weQtW$)=e#f+38&6Lk!2Nzq82a?D+W+^!69v1>PbqhgC} zAS_lnHl0qbH2|6LkreivF246XoE7HWoCCrfqI}eLf}H_MkNUm`3~(lhm3mK3?Q9js zTt!v|FuZm9ReePsZgd^If_)$zOKiC7%631Qwb&)HPNAImn#Yk<%eTNV@p)lmtiA)c z>}^TWUYf(r+I8?ujDBA-HJse;EFk{Z^cc5^mUsj;`EGhxcac9ChQ=fYCaZo)nwe;X zQIBgmbVXQkl!3LV%GgpxnO}ou7-MX-^@jGl#SscMPAaScu9^|UT);}^6~HRsd?eAO zVG}#M@fUB=j%$LF8||gEX+FBoUMUZUsdw=19eLb_UFB(!In9c5R0{vbx9e6&qand)na?yy!nXw2S?rw5T9G2BnP*Ggd z;gh3d<@}dey3)Pv(q1O4b47);Pe|a*e`r%JMb}@NWjAoXW^uxHn$U}2kr)0nWf1!t zad#~(rP|C_fRVvS>pt^4zCpCFsK}{CzqKT$!bAdVHl0y_`P3I_yE#a*`0QRfQ6?{v zotFZfNmbRdEoFIyWzgy|fMqmcCJ#w|f}ArJ>ip}8>Bu~p%k5FqXD=|}_S1Mt*_;Wo zVyKVCjVDrmSWpco3}mO-<@b}mgtL-HbaMCMnOLhw`3yy={)eU1Z=8y+acj7rKqvpx zZLWi$%eTm@B7cSNIY)@s!X}u%9m(pcvSATlgg;}KvOXYF6Hl4e=kh2Gj`LpF4rBGf z@4pRW>2-ExlRihW=CDQC=Xj)}fuF4p8$5Vp#YoCZn5exxvaz1@J>9B5Byft%oUMdB z!7_pabHi(NAaHN>6YIQE0mX$Qq-V73)G!iuSXNNJ%XHe~!52__s%d_q{YcE3yvP{VVqwFtjg%`FcP&6l z1zBDZwsd#Bk351Tv=H#!?V>=t7Al8|hQ~lvh_RXFiuBfGWDu`??p9y|LM0T;YL$;o zUU{v?+T_Zg#fr6VrYjrP%^HSe2P=R3g?Uuo|0Mpa81OCC`t0wdb_L|5UL0?}cASo) z4A!Z_SztIeLDzFvBVidlPFCV5Fh%M2l(kckxCijLNhT|`t7mpGkg_ErXI?h!=u}%c zi`Gfk-~8Q0C%luO;6i6b-0CEkbi-5Ou}G7Ya)fuMS{Z1q*JNz`x25@*5676y4jJIPSA`*aq+jw^#nTLwv2 z^ExWY*vzo*`t zj~Ve>M?Y_4!RXXJ%t%=7e3c?vOvbuRk~Dg`w@E zCnrtiRbuN(@~1I~UfT373`C`iJUC-Q41lT|fgzjZ()}4M8#PUMpLi>8k{quF%Cy95 z%CDQ@sh6E1X%_tbH4W%a3@GNS^B`4_ak6}po#4aS4q0i)r-Hq%DBLu09}-Ey%?rzk z>G2KFL=hAT8_^8E<5Jkw`iq#xfmPQ-KQ`_J-_G)P1I_v z6ysJ>9L|z~cqDWo&g}-iVeG|q#?z4BkeV{IC0^OfcJR;Ipab6IWv-YX6XnpS+#{|4 z!viA91shi`o#9%qJ~Y)z0uV2*@&TUATvrX@U%V%{q7BIwMi`fCHv71+BQoA~5IA@6 z=N{D9jZsXAA%+g?%r<<}V`m0a5F+z2n3mSuQOqp2SWx`i>m3;9cg z0)Rw^;x=Z**BX``eI47lcv&0d$?Uhi;&(;gZ5}ELCpd#ugb-Ja{B!K^66O&HsKa8d zn(nf>>8ODS%}f67WYLn%6aSDWPeIg#8o!_JAoY*Q>1<)iyIwQzTz6n23_sEN$~oS7 z=ip?trIqDvX(*nrej5mXWM^n)s`2u~PKl;$nmY}`tsJ!Ke6bOi4x@fL$w@j3juBQ9 zE=W?`j22|a>x(G&m668vT?f2E9ccds_7gOnZ>KPy$Lm;+@Z^sa!DBTj5mMoE2vzMBR_?K)Q7xkqg`T@eU1SGvJsA{xLbSg$&%0-307+!_bi&fPVREMoX`^QvBFaox?Rw4P?5mT?B4 z8{FCS$6G)?U}r)#VWf_tpyGh2?4PS386Tf6`fqbpiE`M{jmAYx`2E0*k=qc{Q&vRM zypOh7SpQ{@-9$uLy+G4@nVD;&oU)0hjn4L+QEfmMduMyV-|>6wk@Sn@o-8A@K(9(z zb@c$pOYz4;d3+0$;5)!`$gpLr9H~!4EymhqyMgSTy3Han-@w6Qo3pH%@1nzuk=Je7 z=@7_yTyW9;k=jONEJ)kjJ-pg=QxOu{Sd~_*Y8_oGH7X?A8vT2slOw4#hPB)BWKG34 zthySLwdxStafyrB?P6bazr+mw^n(d)-11400;Be~wPe<4iY5iVB#@ zZEcdK&kTd1$iXUedTsdT6-=?y*`lw&^T)vnEj1bD&$wW#6&O@KOFXzd^Mu{t=i6#D zfACRV+KCgWW)r*j>)$mx%#;Qf!xS~<-&^#XqVUnoiiY%}3nn|W&83f}m=+p6eWAU& zT7ANLFd6Q;d>%Si_)i}>>55ek{wW;wUw+E<$Ej4-?C{ zkC92`DV|g8T2swPcq4{HWF2mBV)ZSg{rR*Q z+QxUgQZ_#mmOnXPqC3i8XlJ`xgO%!YdxN<>x(oD<+J3i~i@TN)Z}QFSuQ*@gKe;nY zeJQs;1pbXM-cIOcYL;#lVt&-fPi;w&Kg)g?>rs+_7chowIJq{WG}<<5u)4CV&>?VW zd*=0?eZkF_symll!+xtM%hItrE{X2%v)L3?bYjl|Yo7WSZJYATqzgu}yuBz<4aT+quvt8eW^N~BDaI_3a z1l9iJjPYYXo_tog9P5Gn_=wIwM@BN9@o(b_tU45e*v5Xz+7?}81wNS@6t=yPWBOix zRqaHo7x@WS>4$s@eS`Zta3ScwPdO4|biIB_`1GySuHLN1xcYH3y_#t4`tAR)yY%L*_oVAA__rKxZsf1qQ z#xFa;3#c;?h0XptEtEfFo&`>Gn*~ltS3s5DI~AAV|MLC(CgAw)zxN{;!&EPsaj%-s zsS$O9YssB0lUu9M)1A{$74TXyjIi z-Wdcn|97y>H*#sbkrpqCVwenijjcu=F(NN-{6nu#iFmi4L8AIuAQ1f)*ZP@I4|ZEEC~l$=*U#TRASqs! zYiJW&V<%@v69b$7Kz4?f&`eBhgbalLfp~bJ>BTIpolP7G>BX!KoJ~YbjO>g}py_2y zY|Wg_37I*Wq51fr{};J?_6T6g5|0sf`-7&LPFXF{WGWP3enWDZ8sNIi5+H<}_{lHQ zdOKZgVmncbX*w*(g|IFkpny6)H|C_WRuBEzjUZpJpAk+dCVlrwtIYOh4Ao$~&Lwmr}gDI9+ROMA}}x(lVNl)n^usYcJZZ5T18zTTh1 zn}81~?~GZd4@7O+y2hsSydJ)tFk=}j)f>}(Fmc!Q(I2a7rG2nsXv|{bt(K=3Vpj`w zH2Dx)ydPHOC;TugiUgAE(ol1OI&B@qhm-craRR2BK#=843sGxtsCTGWVuBh*`z338 ztbyC)D09^|ax>8gXB4yJVzTG@NS!T5o57vPBt`b7@F#Mqt|~{3N&Bw+|Hq^Z|1XOw zd)S*0(kmF4{WGMnqn*8wojaix10g#dCldn$BOxOT3j-ks<9~)a(Dbq<#uf(uR}6ri z^FPlZWPqjzm^j(FI2xHa5&p+tW50xVc6Qv zQOVxG$b?XfUQ$?C$iT_On2?#{KSKR8hmeJ{lY)t(u$_&)o$Y^^;P^igs`dX4Q9^nV zVdeiu>p!ah0{_^yaU#^Rb+NYoA8jkT7+704dl0fQ{4>Nqtp63%ER38?od2J&zUl!} zSJ_-)=!O*3L`)X5kQD4>D{q#ND02>S?m_}B1_Mn_wIyZ4lOkCpqut)FU;o(6^}6NU ztMIyc>ACgVz3t^JPq^JJSRUrYG)gz);oPil<% zhsOL&4M~IqTc8$rT!NBvyqr?4HouTK*OMq0r2JJ4($*=wKu7J5cv&mSkvG!)H}%Zd zfxL*6&t~%r?3E7#gWVP>IZ;WGnSS@s@W{;2)ENEUUO{_sadPuCiV2zus|%d0Fo_Y0 z60;KwggAv6h8nxuZkq2maNVyU;-VdqvEg1HjI_+u+=PsjoFpxPCOB1Hd3B|&wWY0v zjn(bz7C!?A3(td#v$d(Kt*?QDg@=iYnVa3u-rd>j(G$0x1Q7Hh|MwTU-YaBpyrQC_ z!b0C;NbuD|4=~?F$|kNksA1&UyX$HNr=B)hH^F`HD+>4wZ;1^t$OqpvPO~<%Gxx5> zM?{lfEMuNuL{lEtM@Stb5Dpkr0S~G-5a?CiEawC#3o{GBNJjU`1qpRi)qx2Y66|=4 z)*MXnhKjuuAMXRNqCiDncGI>dIGzvHW2Hq-?hTk-Pm?m-FTT8vU^bTG{s4>F-XU5h z26b5YKR6iXOoa?~GWY%Zz4rZ0N{-zt@1MAMuE-#a(gSpr_IUiDkZU*Uz6i2zY;Y zssYPhn>p|E7d4)tkS%;*<&5(y2tEu0ALcD&d<{<90}}zB=ph$<4aAzR+!*8Sg8Pt} zp6u;~mp?MOanDVQ1V19`!o1DjPsJuTr4{^cYL=KQm2k)WfQS5`5IWEuw1{F|ex(*| z*S%vW!{9`S40*qs33*QK3$%L< zfi9m$|L8s{Lfe%dg#)5eirzJE%fpGJF->B**a3Uxi_G8<8}i+I{I-!MAzHi z%zWW`lA;#y;t@lv(Q@2j!-Mt*v|w@6%R?)FYN>zvF?=Ezwg(2)vKn@itlXmBD|@i) z%q_0LSJH1tsu(wP9&p2R-Whw)(t z8_Qu_#(9jZf7M?_ zyg-R}pm5$s8`PJXQ)2d20b=#1s4MC-3p0qNo8UC{qJ}?UqX4*9R3czwlG%FzoveZnC>Q(N5{Ni$KtDgXZPm8H-&If=wxg>`ICU6Hj;wc_!@Jc=Kpn z**BWBjwY+F8-R&Z3JsS}}|T7=zu+9o@F!Wb_JT@A}@VEGay9G;FYVx!Eb zPdU0X=r`%D95*}O9uSGRd%y}8N4^;(#IWxH1jd$aISfQ(X9>{%7B7~1jg8M!Yl^iLC12#ui3f+U#662NCyMWL8@K@gR< z%7~whRtseX?ywfdMWw;#l2A%e((NzwHKd`8DORt-`X|jE?l!WzKb* zS1FqgO4N?_w0q4&ms{z+fXUE#OW>R=x5hjn21oq_yw^l{AvZh2Mz1UIMg=FT*+c|uH~a)s57juN*MRuERk%I5XbC@7 zG#jpa$Q>#!q#ZL8G=%4j0ss*7sis!ex$dDF^NZ7tE8d8rNAQ5$lc(mhfXl(C$ew)h zth$FVk&2w5D~h%GjitE+^T#Qv3@xs$ew8UwQX$kL_iZ6fPKo`B-sNTL8Xx)(1$0fp zLvJl@GGO#Pp9;ts5X2-B+1QN#{I}g;b5|@fR=j8Dc4nolL9w3r(%yV=k2X!8b={^Q z<+Z&7I7;op&e?^$e(s_vvJ9&@s^>XOFs3xlJdnqjblerI^?h-0V(xhij-X zz6a}Jpe}UE9XPa@1>KWH`bZL;mCAea+hZ7YgJ~*ftD}FcajvHfwU? zZxy9wy>`ai$~(^jT~Xs78S&7%>BYvIdtz#C#wnSe#6O{w6^)UoZG;;27AbQVIh%%z zkP!AoTwKn4Ng6cVhZ?d9nF~>@3pi65tZ$~VzR;2z>Y4I24Cdwv_Z%{_Z2T z)?GQxu7VgywXaP$W{r+wdOR2k545@45O&W;qaGB5iZWc56rMvsv#YAXvj;w0cSdqHoG%t> zt%3iS;k>v|ddIu)8U*?fox*Qe}mL*kdnG1AybIWTiNyOFyAe-mwQQ zt3BbtSEZI)p9eBnRbYsx5*#MP3E8mXH<#6+7N^K6GjEp1;Up`Fw-;>lQu54Acpbw*C?(GT9FsA@dc0|6YZ8iH zp*8N(#S_-XHa#B&T~gB+MB)~{`YBDaV{H5)X&UwAMm9x+4fP1q@=1bw{aj-!Pagf0 zvtf=pr%!6}EWn20kYcQ4Yz#rCsxIDPC|;|7bWU~Md3dusbOp5e$qb-20;f>;yt%1x z?D)(@jSrhHE&?Tjv7#Ed0%t6$M?KIyV?LzitT-4q zKUoX=lf_m~;x61X7Ed2RB5t;4aBiWJF(BhDJ$H=O}p5U0tdEDf==)5zWfcfIlrK8jFIneXuML z42>+8kF?t{i&LKX-yj){CH^RXJcL~OR4e^|~`EtP^W&`$nyeGrQq)A>y2Da&6 zkUs32l0J;8t<=`q!+?YDEl4Ccus=Ouq2VAJz}!-kM`Jv0%Of!>j#@C1LiosezkP-A8r1c()%faGRL+St(-ArL+n=*&@p1#~`)zHYap3tf>_l3wYz1Fl52C`Z@MI*yT15{@mo0YfkU&MWG z>N>gn>(u=jv8#>5G$y%Ya5{p!BGV4Wyvpbg!MgcF(FJz?Z+2O*`2$B zQ?;;`u+$D5GL7G(nO+(qhB?x*yF>I|Rn%LERZ!EW4-bh4$Tr>MB zu&8Ir_u1f}i8qqU={0kL(S=zt5eE?AqaPwvHj{OVL{s-^mr$|_WSg#d$Gj_v8;HnW z^5mDOfY2MBKb=$@hE(wF4JJ2}hu)FlC^GV;1SURW=9z~UfU+q^M~VtDZBj^qXkTRo zKf1~#=J{PuC5}S&{Twf{ydolzCdxnsO|Ooxo~E~soWWwijgzJ{aGIiZy0@ER%#3M2 zPz(DH4L}5OTc~nZO(4Qf@+8IAaJp&93p)+jDVQCFl0c86NG0wX=odA7CK|> z?9e9lk;@5?n(7rrN6}?dY&v&YFV^nuL36+GEbSvzCIyZIIGw17-!uY=g-SN9%98$E=r`1=8}tdrJGgOYNy)F{Du95@J~`KL`=Vo(#?& zxdup%!f{VlAU3mGk~Td6+K`tl&ebjPu)+G%_01rbCRV9m9MzPxrGolWiI_W5UN;RX zOI(5vtmc64I7Wn_Ay6tDB}?zA4Ut|*oBvxenBK~+=q__>(-n4?bw>EKYh%nJGxc6h zQ5C@&zVnUE85t@8-Ar;Gq+KrhvqXc9t&x}$owjdbSsOuZt{u1C7z=}0g9v_J z=qI{c-u}tT}AC=+Z;Zw%-0>cL?^*_u~OV!3YKsXGaQvP8b_$!&tqTPOpP;aOcRy zFI~qt6+=3CRQ47;6}njZ)pmSob3jW8r^Wudp%A;EvR|47Z(D%O7q7N=izLhqS^7o)$;Z$qjpfR%u(B_ z(^}TbfA`yv{GRJN|53Q>3;fk=%pouatxExPtHmwOo)KeFotjzq2D?{gBW+`h1EEAa?r|`PX+wSmP^H zrJs_B=AjnF25<1@2}mZ69cR>q{HN!G0m;rBcWl=`xTT9qo~jHCq3Jj@VJidjA;EvM z4~e2(!wOqrKF%Z>c!9XDYL5sDEq+E;DTGR)&K)U2D9py9aQLfe8LGj6|Fxoy>C5j4 zX9SxgYe_vZYwqg?=WsN$W!e!$@V=ePQ&b~KX%N_tI|!M|+rHDAWcoDVsgQ7ck$c(8_vm3dC<#G<$ z;aqXY1_&4D`vMEFLexX`PxKCQIc~On&B#UNG6M$yuM9LuwC(BGDBDhPczcn+jP4EH zWht#4FMSAC;%V+k^B!o?`Yz`L9lTu%?gBlLY|BGk^q?Md^SrLoJ&od(#bxT*!VQcg z^P+;HL>%5Y*Ji~1qW}<7_jS8#%YM7;Q?XaT-Lw+T^XE3R{&_=Gz3BN|usR%CX4X1C z?HgL>^noCVWRhPd3XQ$;`FC!=_&iSli0huu4QjUB+aa%>y2^sB9NjvCoPaq+p+o0FWu_e`#{1knDr8^Pdp%cT`AwBIV^Y95}Id9wZU9 z1%-z3e9?bn@&ZBQ1I^+!r;NO2SZ^-0i^tqe`V7$`_@Q$Rab7|ni|~a}W98^z&Vw}U zLJ2T9VV*S;-Kg5UW(Sl{&6fpX6yP}QyeC2))$yFz6I!s&PJsr^Nopuoi&Y_uz zI{4oWhA@P)qzBWY|C-Q$I7cfZxbZUtm_dkog~PxjA~vC7eKajuXpnAS{@N1u+im!w znY|Oo3^;7b&Q+@4CHSTD=nX(s%>jaFjP+Y4xlVM*PNy(Awj_}^OU2z~8mZnjp_3Ja zH~gH!sD&>?IBp&YC=0bGgk${uX`dIUeLMo2R8SWH(m7l?9Np`^WjdQl?ZQ5U;3MU9x5z@pYTU$Hd zB2SJ~dydu6Go(|O-EzUCm$7dGog~Qob>Hm4l0uQ)Rut5}R*qvW>$>Scgz0xfxZn~6 zILF^qRMa1B>Sj>TnI0C~xe|98-n_m6I*UcO{u*4fAs)0{cs=|*Zo8U-tKH5mPvE3a ziVlx-0lxqM0dN7ml=YM@)mll^Ipuiuh_0K;GUJ3x>V=-2ARH~ylOxBJR>dE=z@;+$ zT8_y5-*M|LueDt3tUJXg( zRiUFNPc(&3AY7{(ZHWU+j>?Ah1HhZa2?1brkQkTSBsk@~VY6rwR6{T~`c&s7imuTe1j@aKAjkgUe|~(|;HKz8bximS2VG5vg!HL!RRFtu%qh zcWRR?^0rF|`B+C-k`|gRL~%iwM4P9(|Lypw@zo`x#;rNt3KiUyhQ<0Zx($WHXMh++ zNhD1x?Jv{5I1jA1&V+}nKz^*9hXWiK`4DGw)ZTpL0Irj*V_ruW5#rIpLAF4~ALw&K z-@NW;rUmp&9-dYTvDr+8SAHA75O?7a3E@4y*U#!u z44J0I^T=qQU&F-zxzSiGG7YM;nJ#G3-u1@?r|zPC|B&!aSi&`~S_v5bS#9;T6f*>T zwhl$jdP_`HGW(M1@Yw2OF$m4gW<7#)$f5#s+ig34y+Ic3W}=R8t0idl%#r*$+l_60 zh&`y%9k6z3G5R1I=kEGgGEZQjnx{0P{ozB_2% z%2$Np@`Hx>lY}bVQ{Y%Fj771@1(h)mU$qUV!K;~F{Wv2N?kh>J4A_m~X3n5kfM0&K znSFce@AsXxSzWg|t^ei>nm|k^0k9Bn!PHFkWto>BFI}9}P0p%|mN>VFmU!YUrf3*c z%r#c(JtlVoy1!NwY1##xPV@7P!bn?}IHx6UW8JzWj7ADAL+lRiL*iY(%kqm+?MX?X zD`+!APgu~M=33-AW(w-SH!S$ANym&ve6Y9LWR6tATza1UzJQyWZbuqRyq%nwOw^8y z*szmzX3%T}Qz{REl3nAYYT$CN#lcwK)PBPXZ{-ZO+xVY|7xp)Gvuy~%t4Y39QX>fR ze#%!j^_q#cbssaYLgWV?Igkimg*a5zLYvR7Rw`f5QUr#!hJ_}rTiU@T7sN|I+Ad;M zujWA>0>L|6`N9fYU*Sl?tVESmrDv_pRfR`HhuCU$?s;GFzfR7Y@(%hwtFTEFhILT~ z<^S8;q3zmq>)iBTbEbnz4s9UfhF|s&hb;yx<=66_gBgUlUI&`t=z#%r7$^Xyp{yy`rki*k%D=bc(suTZB5wTXreUdDD1lwu$ai z!f42rk$nzX8^&HLF^XK6^#Z;Yx9M30E4SlBNXev@dSoQWP+0OeOA<~n@Y7al?c*DC zOzS*;SEy(dDeut33p%ho;R%TFmTrK2m~0;GI39?|<7%2w3{JT>QGx}5`&=d|k z0Dp&qWRTgZaUM02^AXZx2CjwS&eA?_NYpG{1hTl?C_5ZQYWakhmt7I2#Xmg51T%8W5Pt^(KrZH(Y~LxvnYCqExfkZqU!aVt=#dD4CQFA zWb9eXTWl$mX%Xq=N{e?9sxfUfY9;J8#Oekvb}&4*x;c2XbxT+mj!zK`UlTdArUOK? zOkn-mTtWG4o=?PI{h}RYGxqy`Ipn^i$Q-JbU}DaS@t^pc-bJ=VK4an_{ z$&;6>^Do|{Un0s+<=jnjHEKe0;_#hi!fyXQ+UPVbHL1E8^D@HUU}F*rS8nThU)Rh> zTls;DOX3XPQk0O@^ExL}`}l^b=X4!s!ec`(2|fbBi<}ZHN&R4X0`nTmq{q!ylz-2G zC`{JeRh={jJLKd(?_>sL_ea!3S~FCoB0i@Atz+%yYDxP<6wbK^!d3rJz+3@Ist5!L zw?2zTv$uO2l2}?H_Q0sZUQmb64BLU+DOua+g*eP9QV}?kuayZDKQow=cx2dG3o}VE zNuW-UmOnuKB^h2qnoFQ^40s^=)$`Ew2qyA}$sVG@g?~Q-7pEJRT;+yz=X4YXvm9CA^{%4*D=4h^KMSx=7$( z!IoUx9Xm@>JD+l3#A^w%QR=jCW7n$J0zA4=&43ff)6@*BHM7_G#$0AYSjuGvIEc^{ zjlG7^374y2FPke!+0X}CBzA2Hf|O1?V2V@Z=r*eL8eQsa{&t|2zahKMu{J}lzRKQp zO&s*#;rlIggxj2qpm7<4V*@H@^KFin8HV>pO-h*TvCfshTYicmpfKpMjqu9RS_@N| z^$WUL+6s8bIP5KrNF`$kc+zYS$u?c;{{dA%s=tS)JfXAY4Iu#YnPn1I36_)O31~tx`u%uVRe}t`Y z3l3;{VeGHye$u@@$9_WQ#D2OCew~6d{i=kec*UL?RW;zYq^L0Spd%bOK_3T?(7{v| zbVcAmxEvL%Zf)q7KPw{{{1}E+fp37@J(@rVQ1CwKDs$|PDKwz=9vskX`)TnmwKi+k zh(O1+x_|0+Yz(Rj~>g z(%!P=^_c{A+u7hsT4L8(Cdo=}6;Jv1p{8f@XE*HZjV2e*3+mssatuJ6N#%mX=OhPj zQB~GKrmh~ecL7fOe>I#YT71sln>7qIWol!3fUVlz|K*&}LHC`uZi6A&>S^M^mkL&E zq7wA-7oSfWJPH|6!onMQTs~-1Q0e&Zx)PR(&%fyw#^6Q^oYC8`rj`?fT-}J|=c#o3 zhBUYY%4E*jw(d$CJVKZ69sW%C(wCp^ZSv+4QE*nI2&n}h?QBemti5Uasg%c#IW}i2WdS0Yb5uxmZfu8g_wLFg)0nmBSNA~L`YOX67kmk8@}p> zJXA|CVgF1M4shqxdJvY5t?)i$7S0-N^hvudPlyzY2*b>~tOYIbJ2NN9y$Y_qZcynt zC+~2%un#p`lr;U=atsQDF~wMqqfF4$d3Avz?hA5Yn(V&e3V5W+@_j)fwnE zV>ixSkRzS>b*;e=)|#wX_l=~G)^x(_nT7lfWFfs&?|E-{*oHsSAv%~mr3jHy9?`C6EU$s~Xe(LkpHh{WXL&7aM7)jkGavxrkI z$bMkXxEnXqAt~B<6mF|4+t;ZlTLNCu7K`6rZcIjm$A;j*H_`ACN$IznN+1v)seX) zqx}f%=69mC$~;lugz(}buffyBl3%Uhz*0Zn*&!oJ3wy0%{uCCO56E z!tbPY;`nyIjb^=%X90=7XSi;9od>+Pf_{ER==C!J-a?uKE$)*UC8Cjesb15Zx0;{R z=Sb(RDy;_Q$TACmvBHeeei3eQWcxFriic#NlYL*YF@|``Y=sIq`-e$*lr=B_E=% z<=LE2W7Vv!>303xTI6TOMJcJMUU5q;)xE&Ri0b&FBhryQHs0uD^{Jsk)}Ry53_{`g)BmOB(s`XV*?$^&!te zgEXYEYg&6n#=i-MD?jsQPkY5BO1nm=NJJw(XSPPhNTKB_HF4x!cRz(Y`$(O~R9nZv zuqIxrGgj+0y(4m^0jwlCVrTcsRZekVhzH2WWpCP_|pzXsK zTm;3fL;puFBBE7zfb03zFkIM~kt7A<;%LSk`#n2}&4vSCML_46h!Ji5`~H|!&>`OU zYQgWL7IQ08TT5I7ruBw#Y|MqeLn3ax5xNQ$=Hq?pEjozHGhX zQJ)M4Zk>To=Nmr%A{Z5KfEWe%b*Zy#jqHi_!+3*vRT6RPXtOQ;r8oYc@ zh%~4c>pHDI$Q4d3bx1%oZS&$y;exP-TK1rl=J@CFjEcbVq1V?%DOnLoYgjG4#tmhi zl+fU7m<}5nb7~EwMyJolShKt~-wQ4Yk^YV|52iq9Q@*ScQhrO^p5xY?gg%iRFOg{6 z_}ge>*WV!VL)Ru@ziF+XVwLLTZtp|dMs<#&N4uXl_-PGzO6IM^Oq*1^=HhRcrolxY z;NF=2SrlnM`&XnH(!zr5)m`Rksh%=@Wj3PcJ_XXVItE(A8Myq1bPO!6J-_SrYvK>l+WQ;K0@Rn9!0<1IiF|DQm852g>+`S zlGzJL5WP4JsuVIUvTl1vxo!xK@nyJh3cF_NBr^~A`My5+g0SAK0T~}eP6i90Czkb z0k4fspC}+qR4y~Tc*-?gRUek#9svhxrHeF*=yzZ`o3>f9d<4d*gZ5G5p0vU7af zEGafpD`_Tn`~-JA8KASeua-T_0wZ&}=XnJ&Sr*yDr^(sf%sg#Pmf%@wt~IUp1;{H~ z%Qv_Edz$K;BDF2Ir`s|u1dIe)(w?$@3Lv3O-@QVrxl*kbT2yw%&U&S#@@t6w`?DfM zO6z_1TfY!_N#>`G+zCcR?Fx*NKEUlmWDrVU{KuV29+LZQ3Re}nHgQk zQV)-xidPc~G%tRT1tRC5SG$|)MJk|>r|~VN8Q!2s!(`_ zht5B@rf|%&!CrVEN3Tmgs5pwWJ^=?FoT^4QcUaHXp+EG7ZFVAka4#lAT6yy?*yT^Q z`3I|;I==^U9S*$S3T#+A1}}3XO!nf~`r9D?{HzK0gA2cZ{hmwn8VGU^!MjQaRA=aI zaNs?nzx>{=mp>Z{ejhFfG;gxqaPB3IXsD)m`Th?O{vTZEY=}%=89~?w4mi*^G^qB& zJ%XzGXoL&7u7jZ861;$r!l@ecjhqXtt^f{115QLU^|#B1*$#rESnJl?BP+u>N`b14 zHkl(PMwG_ewgjKZ%`sQ)(lx&379ub8zptqnu}vq?)mpt?NsL2l({`d(-zQ2*gk8^2 z;Vp)Km~MyU9aIQp8wcwpO=xxDrf%m<;HTLm9ken}EvMjN1%U}4T=l0PQo4JW5FNlw zJ5S6b@tiK!-RgF6lS_c9>=Plz0b9G-chnqGV|fx1n6Hmp)F2fjR*6ad(+YkG`au%k zA`mzgMJc6cipoZp=;7J@upALD@Q4k|aJCrqJ z{HvQgWV!a{T^nXA)@c^IHon|3T7kro(1M~utHLK=D%rmD-9;(#R4eJbH23*eF7k#K zFgWn4Vf~&R94Hwc)?*RSLGXC!XU2$l*2A-E1gaZ?L=Qx(BmsivQ8%=Oq0@Xnm zI9g6&?B}1qe#@o)fH2pKtK!N?gTJ>I3K5RzbR7^h*y3 zzS9wx%bi9P{V+MCVOhHj4t(sByzpD+I|evle%uN3>y(G$5Q2aHNi_Ifx&MLt58MxM zOCmSwcUa`|&x6G)66&+=$yG12$KGyLc7L&^H9hv66VVs#2jBpTIOXNR)gBI9d`flk z#tAVHu%Bnmv7g>#1#NRF{_;~z@xKx>;n@AGxp;MKPSdP>_w$ixcY!0J#JD@kR7FD> z)EJSqEo8yaf`l00!0qYl;F0a`MYq|AwEIlHRd1h76a39A?U$d0-={R;zy(0ih2N`; z|MhS!JAQB=aA6y=@9rO9ZEN+pWjGJ#cxE8h+t-HDY**{RNEi!W*(v z|F3|3ur8{V5wi1OGArM3wdxfDS&*slK67z7RZIJ^?1}2%&btBWYG=fm!>E_ELP1f2cw3|=GtFdXVYkfTI zbVGlLFp>V9b@U&||K*U+P9L2nwl%*#tqXB>z+v>0S|C8KH(LT}!&D~zdfM?x7b+Xn zf9PSDAxNBVG{HdrZSD**HS)q@cyGcocJ?Z5?Dcx*+g6@!{oaB_$C}R&LkG3|84PqB z2bwW&f&-#~pe;neIcwRK?qjA+TPzjk&U^6uHZbOaG^EXJ#4clek=w%KQb0Mwh{Q=pqK#pwO-C-RV>Gpy!XIf%(BLY6Q|ySN&3q#*^02He%4tbE{Qe1>y4Kn0bfx+nvr4)UjUMgg%C==-tZ+&Ui_7`rVr9Ykk8XMPZo?t zG$`9L0O#pHQhST36Q`~JnEB12YY~bkO7A@1lbyV4?aJamRY1=G{~>b6@|y*T`%{=6Sl{wTC#H!5_Iv)wL|^aRcxRa@mh}nS`Y?wYkE4U1A*IDAo~)&HO}cdx z%}}TpJ@rr6wlH`tyFff4onZZ``*}2Nxr+k*NkL|)m(EoxgyebuK=O+bt-F;{eTm_s zY4quF!;1j+;chG5{bk9$6gB1$g^zmIG_jtNdCaiLDF|cAx!m9kwwk z*1kv<}DHtQXdRKkH#%hbBc8!=C`qbI2EpE-nlGpU+JL1+aZ z{M7^@VB>;1TbO9<^uZ@YD4BxGa7ohCR#RSV|S_gJ!wySQ0sk+j-rFa1tAST>6P zADUAYJNB`Omw{uP?WDRt(!62l^m@2^-fS?L7jN@T)tDev;&x07h7ZDKC>4KfmSa;l zD=WjUw(3e?f=Jid_Td1w*~m5Xv6s9zZ?d4rGqo$<78yh;{lOw6FZB`ou>ij*c7jit ze+`CN~|HPgEV^u^ne7IWfeHjhSkyGG*d8dgLpdi;bGlIXO2VnS`_iO4%@_MN==;vm2b#-yiO0ThfLbE!r!zk+ zMag3Rv3{me&oC0(H0C~8SCw$jZ;Z-zpF87XJ(wcuvGXl7>9t}c}Gi7>ccF6? z4d0J02O7k@ES07-vTxoJsUKqS6QZNfU~v%$I&n7L^m*3r#fVa|Jsn0fav)|9=OHQ+ zGi5wEFite0_QsX;>PD>>7e2NmafGs|kU^d9km8&aR4|7w z{wvp68i5VL#;R27T`%UmBD&)|I6%Wfb+F!WdR+mn;gWe+9qYB)9S5CnD7B<8#vhTm zfW@@SlCBl&;k+hlfW&;&=IwTOH+X-n*7k}G2@WKopY)>V|Mhh|npt^r$rOvsmi@zo zmw2_Z6@?y#W7VtQJmu0yEd-|WxF@W7Y)wK*uqE)iRz>(Bo-8>O%~L&!j0J?G2os zyU`*Vs<8cz*?1`rmZRq@D#nPGYX%OihohS87ucwS?QGv3v;Yi& zpz?>Bp6)H_j}6~i*M`hD2;-e>s0rB>tlo&LRlVWhrr2?H`o&SOU6;vf++jRrsCBye zfV>0gmlA2AT(NIU0HsAh2t-RqO;a`x1FN-|X+B3+a@d)ep8*U3Q)d4~RJ)u5%KGA;Fvqs9nQo?6@4pEqUy7&bzm& z1)r)B&1@)5HL3BE`c+RnU}V0c&bt(r`1%g z8|ySR6sqfP9IZiYG)|NTH^9kdDT5}lx?*|w?p;PiEgl%<X2+Y-W}wJB#a*9s&b1(=_}RPW4ivk-AACcEXVP-Oh%OS>f*uu zbKJ&(rY&0=&AWRtyG-{e1x#{W{fA}4@y2v4tgX*8P(SDQ@foZoTXb4$iH|r2YkAq2 z7uam589a)J#TM~hQ9eMl6|=RqPQSm~UPvmNgM=EgkL=A0wJx$CwVs4PLh6;ukdjfh zyezU_-Lm$O>gQ&ZSkZn(cRH*V0+AI~Q}D68gOz&!T4cJz@z6Bdv45K!Bx(E!Lnk&} z0H)R=l?*UkS1DDim1=%1d2-Ym8~rH!zICx-r*jFu*~rD4%vWD~r_2?~NvF5u_i!D;s4Gj8K0Ds><%|p{ zXU5Fky)u*_J#32#5o)cjdusa6Lh&6<$aC@w&~-k@k`*wh2F84z31*hyG~~7z zSLyWxnc6!BX4cjw%AmV`Mx_b`%*4HT!oMN0777g|r1F!Dci&UOvDt!M01^wml_k4}HwN84<4G{2X^;Vi>Z;?_ zj_pTW*6Aw!=PcSK`Fh}hE@W%nNf3wWb5B#h)_742sRpTvq~Y-h18#v)J!-tHIo{Zq z*UaDEP{EUzYI*8ZVtG%_+|8y&XfUMGZl4e-W0vb3mj{K!qWX0eABFtwO1gj|Ld003 zr$gZ(QGTz=UyQ88)Mu1@ggbv?nPXhcI!$y};I3)a>uXx$M0q)@r>xLZo0N)3x|YHg z*GH1Xs78z4bUQ__oXF(dwFEW3C@^7XQ@JMX*VBD~O;z?eF&noxs02N7rYTxU{#*qI zZmixIOKRYrjF0vE2t?CVyf2LZ6c;{P%j!WlXq4gm?zREwmG4KW{F>;sRSzdUveA`d z2Ww-$Hrv=J9Z8>}=hNA1Pkf{I8jE_d)smJ;A&@txp$8KI8%oWMRBsZB*Y*n=W;j^Q zvx`@aQDMqR%UnOMasQK>EjVWKI&-+YI7gQpupMx6lCCfW(M96j)a}H26G1HOK#RU;DAW}6k%{fOe-OnS9?inxpi7FB4hH8y;4<%&OlK~FA#+g3%qB_4~ zhEjd;Y~9%HWN3h=9O4B{-%o(pcmfl1(L3m9h<Un zgs8(|?`LD;o6Aq5%RKZUjm-hoN6@v0Q^(Q=b_HBV)Y>PRBcJ)E4_1b~1vhA@wqLKh zt}Qerw+}DaQQ<)th9DFs2d&c_16a#p3$|0?U*9tOs&;BZnqx@3DPu1MIEb2ZU=9zHb^xb zx&!-hmjc{NMR0|wRUV*|JMQ7*XRp zYDgCG9MS6jUs@qnOFGVygAE=BXMJqqD5&mWID7wgfv?7426lzh@uk-u-tzVrt~@-TM* zKEbqXIG9a7<8~(ccpR@|Zi!=gdWRpxn*r#5Hq;9cFnq)-!L~a$Xv1GH z9y@4j;=k6UnNbW82Q-b?yu=C>AvN6FUVcG5XEh$l+-XLFQm9FFO!G(2iR$ZumCkfp zlkWl@*a`^*!dF*Budnd(?i@o|4jWsRh+}9$%uk&PD?Y`>^129ota_J@uk9z-wi)7B zND3w#>zTvyl4@PEL_T>Mv4_8ES+y;@G5|K$HjkATkmGZnB+&_=;9o-o%Ku_f!>{TU zY7lATlW^EaM9LwFh{rGAie9-i&FgfrTum9FckeY5_KlkLwChU^h!m#GD{nflv2Z`{ z{E6NmLF3ROv*3~~;MrC+>&?mg01gOE!_E-OP^_jpS%d>e({Mnuz(P|bErW>EFRiIz zGs*{VmZ>G#->GKYPPjaoxpk8GbrrM=Fxd=%xiy?0!GYm4N6=mu9N21rK^{Af_hqyC zY6(nojM3O&aNEo^X$}>X#q!?3Bj-3@WT|~#h7^ARRcJ39=;4I}^>E;HD9d~%)Mj@= z-a6}Z-`#eD`%8P=@piV{`5QRR*5t3AeQrWkK(_fUtRkPgXJHH01=O66;DD1D3MkRM z$d7yRRXf+HOjs5(v{V$oqfnauRony722;tYt011|4d)hJlX%cQ@Yxm|C{VR7OT52f zYUyEOXLFDJ77-Lj($LT;dm`9_@lnZZDFsoOBhs>_d{Z3{9FT_8delUl&#E!;d^0lb zN2s9jLq8l?Iz+sP0uErV3JH>l&uobBqfy)v*IyPbU;<{qGwSBxy)#5d3;XGSm3*#- zlXHYt+rW)Axr``?-r%Q?aBMvr(=fsB2ee#z;bwLU?oAkxe=HmTRe+DTzVFq?Y?6fo z$>R-B7btUesyCnBu_~z^6ozo#bKj4MVa8#HfoL6HaH^oBbo{*?@Wy?ZVQ)lsqC${{vsxPZT;oTf1jkg zH1U{L^TMWpzQRDo`2NeV6#SqiA-p4~I2_QA4?mBo{&PuR)-+Myv2D{KjG{DVY|NZi znsyJv(})~td_{Bra{1Y%az45*)U#t!(qptrRr_5I&o34J{a1@WV5SIr?D*MZR?`?o z5sW>KR*~qce+);LhVp8rrRU!dQ;o>^=}3FhUbKZQsM{wvpgnS;f_H6M!SayV+<_$` zwR}DEp4!GghW*SREM0ZU-;>>PrnQo%w3B^|XA^<(-T;;6)Q_XgpN!vypeM&(S*z}E zjs|olSfc7@ZxR!I{Zm;ukfQroIkG;~9oO!m@neSUgguWQ==;@<#fx=|-|NvXlr;iQ zL|wX;iAM_!F#WD0onSIAlT8e$VT?&cdfDFwiS!SVcQEeAJE~1KRR?wQT(A3Q{v&kP@7`>msNzs-8 zsP-Lbb*^c7QEuXibQKzY>BiuIHif`}BnWSqli*jV)ZvaCEr-?>d?s?FR)^Ce4>&+D zo*7eZ6JU1u+7@?nBh~;{66B|m+&m_dc{^USKRssiE|O~kaD0%0Q#HO}e{85w3Fydt zCvg(?86rd}l7nc1be^K^u<%d=JYvQ5@}G-^>|C;@&V4Mk+6!$|g`;YphJJ0u1BD8J z@t4Pvqj^d*Wa-8LlG$e{bHk*@Y7|dA878^T1$UZ|qDh@M4>GR~0b+wf<;isR(0Qs2@>-mG` zH3qDmiKqDkxIa6h=wB;S|G%}pg320ftiOY&Wx3Yr@$_)}$~~!^ny^tWq_1kc zpciFi!GR1hlb!7?Z?`rrWnlyqcraf97uXes<32>9iW`8)w-W{70CE)6421!94G$08 zQ%&9kZQ^@P)<_-iX0E*PmJnzQhpKMP|IYvh$~Zzw_ZRG4uYhWBI2@xV#&|?8gQlce)|z6UQJ$|8eD# zI5qLHhzS~wlK@e~K;iuJ;G`;E^omQo>?KcWmJhxd+5+F)n$oXS_wT{2ZVyaGHw_Lv zJ%$7OOv67waCePa3MfJEH&j_aZWkTq$o*`plfJo(YZnJ>{CAM|Uo4?Z)wRFo{Ww{p zKXbTNV0+bBiB`=o-6&B?tRiRWg(wB&e@S=!XK46goxk9Rms-Z}(3fV&&9dXl;$|7s zKAUJaGX6;p{IlMI7XKTx{2vnjL&D!lp!?y#%==S^{b#fGvc^tVnhm9xG)YjrJ*VDL zoDhxlB57NZTKlK%U}LC6@8h|ouW{W^FTGzwD$R!Eaw4a$F<6UmR_~Q#QVH5q}<=eJ!z$*w;!IgY^ z6@h5l!29-}U}Cb}=wg8R+<*f|U(?PUzRz0tHJl$ZB2)bb;eQbR2jTxJgr1tM@mzU? zY99oP8?&EDr(jNRhq!`a-qm0j%1?(1Uu{Epwq>j=IPgsX>}RPcO3v%M&q}#+FkQCd zY=0t9w$oNmBzVmblkXdz%rYF9A>M`q=SYrl0E#ZZoqwsWxA5Jhp@hrR+%(#xMsLm^ z+or+r!|@Pa`ldX>OC$b<8UG7YceYng9e48;rW$uSKB`zni4ryZ3Gi^LHz)YNuMHm< zds$PswRDzvsegT5$`-k`0Q0r4tymj!HTw^an)hPWu&Glh$;9^q=MM>yVt zPmjmRpQEzEfvsZ6!^J4Xc!LE#TUS5@{h`L>&Z`h3Uhn;B*cl<%#vHVNtpX0zw*U|R zE0F0z>dWdT4`p91jvtlt*r_t2F#ISh&}CT`So}ttPdlx?X_~GN6e=P8`7`hEWon=0 zmOz`{BiG3MuquIiSWnVRI()dDYX`ZznDw)_H-`0C!mmyo>#(J;tU#81MiXzsYh^X-jp$XE z8%th(7g2#YVDw+rMtdXEFRh}P>`b+Py{lTibq(Lo*`Kuog~GD(hfM3Ai5oie%|CqZ zll4FrNZ>5}<||6{S9&JX=?7!%tXm*LRriZC1g7+nrmd$Kdm;BfTn% zoXdv_W4adM86CMjtb@LvRc}e~Qav_9=`kw|S0yF-Sn4H$!D^!^S~~W@0O&CQx0VaZ z-3)M)eQ!z`MjxkMfwFk_syqt$o+vpT(U|U-nJ!sbc^Dj!=RJx_iTLz7Thxm~*-4I9 zrmA6J{NX#y$qzWT4Gt1s%P8zh{d5EQ>znk^7}avCzWj9AT*S&h`UfugcXRY8w3AUE>a zbSUt2rQB4Z!N1Q)>PtbH;69b6&f|`<^ZS-O5wsjU{VToa%!QSGWi>ia9`sKQX}Ucd zVX!+X9WOd*5$SBIcC5cWTxvBSZs<#tZe@Q$l?XhG&f*E#UVgUfKTEHnW%kNzM(gI1 zSgd?ym=~uGHB7`nFVXjmd_N;f0uuY_)T{X#V{K)^?I;F@yx0?d%XwC$w;@^2NS_pSredvU^3FAN z2!y$hs7r#=ZcnH?@vSIxQ6P7cCc^TnW#vR9LZ}ZSUciBa=Z;7nLzP_PRqOP1VJzdH zjwX_#2S+u{l4yMvr#j`VMK)>K@p0ApD68_^>4wrp(CYUb2VdVGH-2)P()>W=4bn%| z#KMpx0oLwJHfog$K91ztX_*z40xo9o)lh>YIf90``ziMKqCWOy+%J!lg9CmLoyXIU z)hQW}Z`Vd9-kb8~TV*cxz#(g@=1w@xh|<%YVt-4+rlRniN>iFE5nZ`%z-Yi!*0IXE zRLkw15u!t9KwfMX8dQXDwSSTv9I^F6^VNTT=pGQTR1TqHnzFH%uNP2N^J8U=Z^2_> zU)0n@dn1T#gqvuFa#L+!Tz1g7#7#*p80npWNsgLM`qxnljGW_O^=Z~JB?9UvKJ)uj zpWh<9N9gLQ+<+LWyUsj{qs4%cj4=O}D0zm}F$gA6#|x_o8ms)!=gFI?S)O5JyJe%y ze}6#*eMXa1H#&1-YK3$$lgXQRt?bxAij4{Jm6hE?dE&rsUTIl-FvPGKTN_lPvv9cuDCY*pdpv08CEiaJ;h zA&2N&)dW9GVe~o|IkK@e7-fmn=*CRp>T<#DY-_M8-rW>D)B(q{#K(t%vdS!*b_0HtnTh%4{pJD*!<^MM&7v%IxDwz3 zo8u=sF=HOAJi}9rA*C<4jytQP2F7w-=U@`!TSth*O^gu92gv{+Ven?o3i#wg&nP!^ zo{>KglFrF7Vad?cmp^v?#s=vLV>@@+oZGwzbHXO5`WCw|hbW0!oZLcE&Uqq>GRjsb!O|o844Gsw==swg=kw3MnnC!b9Sg-1e?) z>7^N-D4<(zmta^M4Lwc7lqSn9NotGRC;ixGAO)4oxMORtRC`0Ai=#CJ<$wCQ9D$y$wuA$?4w_BB_FLb(Fm0K?6jz# z{X8kQ$$h>Wl9Y8bf~cDKAqoAnr9@s!RszvD;)iCc@dx`G}iy(UWNq=!ABuFeYOy{oGk z<;%iwORd}-F+AdxBUqA!=5;L&G?WP8xDX|DW(SUQN@HM0>?3lU{ZJ50>~Q*^0~`&g z|K)E~7192*VUqT58z$8XM&2GDwm{e^)HSl85I>|tvUpGi;7~Bbys*7JEY$v)kibn{ z&?jmb0wV&qe*&F919d}Mi^!AiMM*Hje0sg!VB1w9UjHgL2`KRrY;`$|M8;NpE!^sw zf+zPI#8K_ubJc^@f6w@tvoGH>B8a0nPDBu=kKiBU-12MQ%N@#iW3K{>-N}!%t}K0N zv=L>{sW(Uq%4*WzyaWc6hUxuJk+>{vx(OriijnUe+y2gvA`RkNs;raVcbgEEE+~oA-=TsF9L-}L7i|epW>X!TAjox<$ zB%+}p`VVyScj$IMJJbj{oDLhi#Ko`lLxp2>*y#NkDwX;;x?9`ZyA*sV&>!~~NSBee zoPV6yNzcOfpr~6$iOh2ua~e*b53Yoka@vZ@^A%<_3+TohXPKXV(KLF^Tt8|xZ*cGU zfXJnl%Cx>_!0~wfnznXxlJ=DT7eir=DQ}_E8n7Q|_wEFE1QGo7`q8H*k@ap4$i>Qd zj3}TE#NP5I%WjI#VM5@AxJd6>g=0}u<_0jnxL1LEBzmJ(qJgcEv5ZI=uDj zHT%|d6>KL3x2L(}o>@7Kww8W=yx$mg>$j>UKE%MND%mV?XVxsiNnK%tNjWNtDQZ*h ziVOKW<#Xv2+$G)q%pGkW_n45rFAwkY8?vF?hFZumiw*31-RH0GAJ7?V?4JNWrjkEH zrvQ_F^JYFWMp>347J?nPt#zc}G~fkW%Qo8_Rg`K9WyIYve3s5Hge>PgroMwyJ0LzQ z&1%vg{dmP>d=K|)+d&cQSI|=GbCU!YeBZk?t7a$_eQCa`+fzm9D}}+#+Bf}q`6k|> zswCc&NS53lE}&SGs34H6Y|bZ6Icl+U*9`~fe%VY3r;f0n-A{aX~UTf$eHL5vL3d2>>?t)YeZCBkx4qCgHmF0~#=p&0n zQL`A_Z@JD~Aq6)4rZFn?UAG^-NXqbMrgdd#&O5Rq_aX;}qJI*hWuX7mabySMLb9A? zhx%=R*Cs9HKgr=1q@DY3R29E{R0Z40(5FImeSPr3@W2TUkfQr|N(rd*o$`HOrYbgn z?!^8oLVJnH205!F?1}}J)Ml+#0hX79rLY_s&$tn0$umA7hy8qxZ{Y+e5m_HVTSecO zqpr#a-b?-<;^h*Ku!Yj++0_)g$IY5=eef{^T}nL+!{yyOd8r3Jk*c&)vABpeU=NFJ zs|9Km_$KH3Ld`)l7(4VFhv;pYI|#aqXW8+zkNwZNC7_TTb!k*5jg2d8 z!vaw|xynoYqhHUXtelRB2ocRH+-1@BqNSQc=`JXC8c}P!eM+cNJlb43JHnArE7KI)>zoJB1HQh-#s`Whko39r3d-T z2<4s1#BNQg$-wk&HE7rq@VNY%a+{Bk6s|;4)AAaO3lH`9HF+=^`uR`zs%EH8sEiP< zE)ouC4sLIzj6=HEhBsJk=W8OhTs-x|?858?pF?`W{|+_c4hKT1wqLqN@xywoPPg!q;GF z?G^&J*tcYYqR9_-``;Cx;YIk`lTXT6r!baJf7#(tA9y}-710-a!7?eH*JqXPT2WDL zh3}-nt|b#7y?A=OKLu*_=5f*@5zI^<~+o={^k*}p^k_V{aoXT&#>lT)p$FILE|M&^V_zs zWR&qEP&4Eszb~X&{O_2g=6tdhlhegF>`g$b&Q`py5Q? zt~AZw^XBV#-)YGDBtmCf_w;YF0Y-<*mUe8CjlpSU_FaVc`SsaQSk0E#D1C3lrpa>I z>vlO(K9uPGynyHkG7Zk3+WOiM{X0O2u1MoJsC9L4wwi5+ ztefs`KOBy4YY`!Isx!#JwiHRPLYW=}>}q&YR~+(;JSTrU$y~H$7%7e&daCv$LrBvo zjxB&|g?qKLu95u2u)lKVAIf|U4z)af(pbF^5Xj25#WG4Q(aG`D?z9&@x9`Ww=-=Hn z_`&m1e3~*y<7UN16Jk8Z1GpzBp!>O6!X$)2u$rR1yrhetfszu!pS^3(bqELQ5vmZm zx^tUfz~egX6k)P}IDM?kOii5tY-PqV;$;wxffVHlQC*>{&7AH~+7MUA?U?R)G?yv# z*tNJ;gloIK_H>D|5Y+m{mAN_Psd^<9!V*IPtLe2v=Op%lm^%-&G$iK*iylkhEy#hd zYJ&owPnCQ+kLf>8>)Au&S#oA3gIxpTBZv}i*n%Jw>VojS^sOR|$NPJTj*6agEUOf* zJi?vx?P+hG#49gR^tjcvpks$r3jt0&9EpjhMWQ>AxOT}h8)kp)JEw(`v$4?N2*l{9 zujBOdUIaD4xpTH7)joo$#_KFT3eCufzyq+;Mf(0#B|}&p9B74z;Cr2`t=xq5Xn)<7 z4@8$mCqeW}?lCA|FNBrk03~~z*t3uF%WH?w(Uk*2q>0O0^#0@v`<718f7ygXRz!PnE#9K9#blAeZ+LbI2GQPz1!h&jcAJztvK zUWdMYqr#tdu83&GnS2GI-S216y7nQ+)Y?+#KSfwH>7fUg+4?t0V&hOT%HtG_>>m=I zAHD>Ih#D@P{Dj*8oKGajDBX?X?tm{+OnRqs2u zy-7M!aFt!>n)RC~9?u3rk&*?Z4!aDK5x%zmz&AM$;cF4YeemChd%$W{;K?!^z)LT$bTkibEDI_~d>PSV z-bGn(9-4)R&V^xRc)rH~K0v|0)-_)Dc&lxy>H)&9MEE{kf{h^}mcRE!%Kq=s%N8;1 zcTYTqvFSJ8*AtlWpwi}3dryUojx)buO&?_WwXCr%0S1M--Rao~=%>NnF8qUtFmL!y z20}Xw&6RCmsVI}4es{KO5PqR2F3uH{l!FE_jZZOO)0|I_&~TeJMNYzjM)l#N>P8FB zHVauRKLrUFTuyHf!dM)p)M zK?B$u)(~!WpGHqiEn!moQ|7VrE*w~YCMPh}o^2%R#u{dZ(q&e3zi;MDHP&gCCPUK6 zb)Cj%iV>#Lie@Jt*0`qAZ%Z?@uWxLJdDGuGxD$QMTWB>%>25P+8`0Ex`GC~6YNE>_ zvs+;T(fwsS;f{k8T(qE#&CvRq8MUF|elm}72C@(fw z0Jv!fnvJ~F2tL8q1&`oE*M^v*wzn(FM!+QnX<~=6+ytC2VhlXu*8b%r;=-17(DcsD zbAKDqp(Y}ixOn$_02lYTe|HoZh=9zcdHMhf+9&;OpnvHr)H&I|e$C}Y$<-geVuHwR ze%yEbPaj?M`+$GCaryT^{|_#H7X)8fROc_kVPOanU%Erkbg`mq_2SpZzVA_I+_|!l zvt754QW?BKW$UnDOIBP{C@_*Y5@Vr<3&|^xS)Aox_mO25@Q*0Kdz*R|cr7>w@~lq6i}s z=)EvV|UVvhWp+rYq|brlw?U=(Ba}jg)FTk zW7^l@aPO^K$r6_$J|J_-AK-Bh69mIq^_;$f@%?(@YHv@9XWQ zH6$Ex03c4mo(|v*2hS!dZQgg0iLct|k=d`Ft;L&Rm25gXx<1um)k&)_`KCExX#(@_ zvBiJ-*Z;5kmtX9os=@kOYgpE~+FuEMkTtQ5kCz=pDTatT5rZFVF1U9z7d%%6{^cjq zprUpIlzJ@d949UdCMfyKPeg?BAE^IdLjkTA_uMRr+~~C}jMu<-^@ojj3@!%N);>S* z=Ukc?KKgeg{qpBBbRA|k&|q__BQ)X7yxUwi#dHQp-fWz8ZD~z!2U{fX^H?MwZvak& zYV3&UvK*1UJ}^Q27uI*_?)xWR>=AM5&j3{aZLpV@Falus)=yymT?nU1k*`PW`W)8N zI5KkGHC&-Olt|kDku~_OQwr|x&u7r&TFh@iIdULnkA&26vKevFrucF|GdG4n%T`06 zoiSjQu~6^AE7LCgPQgtLLgeGWH2%K=_k*_%KNg3`pOSIQL!CcZmysRrv}~m8;GBMr zFfa6u<#OIE5tY@G zB?QuJ$8Sz{NRe|&VpB=tHs1~-G#I=J{pXY+A`2xS~9#c50D{#(; z@-_SWr2EUY=Hz{R(9z2GinYhJ(uipGIvjW&1!Y7TH~aGj*Dp1Qf?Y2n0QWwG1Jmhn z024SIV{UGk5!hikN0mQ6{a#x7@BKXECvF=4&W*QlNze}aWu7mw>n&XVPc#5sYH$a1 z0bdH9b!x5bWupG_bNTPj5z+iV8p!_(YP{Sa_J=nDho7075d+#Uh|~YN96GiO=8s@x zB{el*PV*;hUr`ts`XSkWka z|K+f~q@BY&k94yfyR5DS8Dq@Hy{=F*l&oLd$HsH=wXvkKG4H`b&n;TX(ghTf$t2&e z3h1_f?cfVtxmmrNYr`Vc^$9?xl3@APW&*?#hjZkNdh zT>>Y6CzplvQ41jVm%lAYw4`@UNIGx%bYAt;Ycz=7n?onat>b`l5NWyW2V6SxhDrbu*+g84AO&KZss(98RD8Gd>U{`+GmN??b+C~uAPQ?|}K zL-pV*U(=F5DxjzSJDknq3Tg8%IuMprsFAFwsJO`{G#)}qX$fJ)5Wrcn73sXSG)O(S-6c31oaMVILfIWK1i9KS{d{8|4iVvDcSGM&sV0E zz5+@kF#dGoP6&(;DJsiVR%y_Rrmn)n4l9y#Q)0qJNLjPO-wB6l$R^{iyiFUW z6<(dVjU4UDb~hF62h~_ywE?baoO=zv+>ok{3gyqHnd_9v8Gw;_{f$8%Aom8kB^3S-U; ztR0*xAS1X6^|OVFN5BCH>vg*^))5qLdqKllTbz{;PE*L+2e-G%y*c(L$({@pIp%#0 zEsA&i_A&C_bL$uVk$aLukfQ6;%^fyu_!W;oH$O~pPqH-GJh6FxTV3lu*ukWeAbjbG zSBWL)nyYuGKHYF4&6P?cK1Pm_gA`ngv&J~T#Na8G@(P99Cu3teXU}U@f_paZeTx^P z);tgBI>FrBlRnzeEH^%aI!~_cS)8%K zG`0hoXX~`Xu7<*aMBu6Jv7SPit094wJXg;`zJhF(uOXk1ood?)$o<9JPFe3hcD$6| z3vVLq!D#Vvnsw%JLB4}_$aOCY#m;Y3!`f$^-5!r*D%=Q)3#Dva;dK?+7qlIL{@R^SrHwh2&|ec6P5XwCP4S zFY}T%yX=CE&^-d4)IGzM^j!4jWl(xfDw;yjI!6q(L|5#!+3zH_vDGF1GLbGA{w`dJ zqisp2JHW}@a7NJW!0hNswUD9r$=b2%%~vd0;jQISI-gC-tKO0F3iBA*i4w9xNpj_E z3Hv+DEtkM~vVqQ}UT91&Crb=nq0PWB6HT4^3c>FDR`S}4i{)u=KK zrVww$Sr4a~gA2`&huA6}jz5aUw`SvL8}`1-jdyjG)TyjgM_Ysa4X5GWb9-UY7Ay1Q z9ro?RXgq4!vlfT18)zj^%@Q5g&#q!7?6*XPb72t9@Ea@6_{otyo#8uMqBn(9W;{0J zo3Cq&bEh-Y-{6kZ$)Cql=0- z*ki+{Wkz>|PX-_b$S2(l>XM18Vr$96-hAU zpnF*=k;z5>=+*e(yxlKB~drW0sFQX ze3T zd0uv-d_gL>(?F+mFmABAtb*#Am5unmi6_%}viW2Pr9;2B;O8G_hc8XJPYr?QZ#p4} zjz3Yw``xdxba>KanNwS8P0Fko#Yx|9vZzfQU7Z?|Y@^!cnFiN3oLA77OCP!?sXu|mECdCtQf_h3Zt_|tk(YU%d&3&-Q_l&cNH?n^Y> zE#B(hXwu&>*BvLBdYZ~}@+{wa_>&cEcq|R}UJ1Wu?z}ZyM?3zpn0s*~hMO3eHx2qa zTvV$Y7ut3x_m)R7;WpFD1YGyM;mS&GVMEm&&Z$vgBt4n+*;U1TF7e#82hBUR16_xo z?n-FyjG!7K!~*s|ise0utLs{BX{xp*bN=QnDYLnTE)hlyeUMA+{8vsr8%?epvy-{rr@SlGD~ef9fT@+8InXU zf1wVvOO7XjL8eBcj^mc}%97PAmHJkS93KdHV+gsdiQ-$16$Q@>OtETCNZQ^VYnI45 zpkN+ygaaq&(;N^Tf9B^tEzs+2o?HPxy4$O#+}Xgbyoy&1@sX6LUib?e-`Bk$PCHU8|W-l~X)h|Gy)DRHYvbnkMU z{pj)T;w=7Ia1EGSY9-Pw1-JjgM~r^Ds=$Qc_O2Q5>1h-k5dFS(b@BeYFxd$bA6aTv z9J-Iat#3_oNzl6GIqgF6U7l2Vh(7n^d-zBQ2S&3|dJsaxSk?4T#@WZQx%DQZYJR+w zLe_2|C|GrS2o`M?YY(YC+w=qK8K7mtZJd zMF?2%#Kojk)0L-;c`9(?-SI71aGeR<+Apkl*!OUE2RFs6V+ z287|)i&Hu#rNK@Jks8crJCqs)WzVoY_Jhwg;`uc_lkU|;nrnZ$ruwRd^vhv zMCRzjY^ko!*>v+!P}|=SrgcXRf~Tpyxwtnh?7yPI>TCZK*3W^eVj6Dme4*$PB}o~=`T(&<;SXd0qdyN|-!;Q;fUPgf+-qW+Fj00XKH2MprIsJE)@AwC#m8dqNpW>Mr$Xq5Ihd~%abxN^~(du}Hr+!ov2Ki<-P z`@Dm$Tl`7Y4)?||#5TJ-`+4`rwyQJB?yB0YvlwxA-n3DZbCv*NnQlKRN#RP@17(kM z>jU0E#VK(w@10gqBZOhct9j(;X0lPBaU9;QYi;wCsZ|KSA&vKJ0~a11|18wXDp zi&F9<`~>%`{CBznammvJZ}M9YpeJBkG&lI{hTp`dhRjUah=qPb9ejQh_yqO(&rDdZ?jh`fdfxh zsP=Kn;Xs2y_&Nm*>_z$X(YgY9R8a_}y1tI=qq6!Ke7~4S{^v{?BY|6NkYMZkMvt_} z5rP)oFEYGTdIEi#%2fpw{BWSfw424_cJgUwjwDJ_61}8+t#Z z%4$h7e_iQn^)$3iLgf=7(qa-zT~cS0`}1JCTfACGZ&4DEdP$e|Dcp647DrJXS_C#+ zr{5P@M2Qd3+wXq;xanTXCY^av2Hv-~(>v^D@<>u&+>*Ti(7ex02y-M;3|n`v^d- zvc`+P*5I9(9~58}k!4II8FvSmGS88i(AP=S$*M>+sVLtMnXATMJMUT*S?Pq@XsDc#dO(bRh7wN*ZnJ%b%C@e=v)lQQ! zjA(auW$5JGGWSAnP%j%;Uk@geHG4lDI)0O+1HcDf{6uIrdjj~+U|Rv+h`mI4Rw6qyeoVm&GZ zCEBqkDz-oOYgM0Yam+MKG+;mF%5Ti={mI5Hp<}-y+05xKLsX3F&7lXfQB@LJ8SWIy z)dMW-bObt@5AMD2?oLTiK<`mmfdhDu6Nq5tdY0ckOPl+hQB?sHmLDz%NX{}-U8CIy zQs#e?=1RmfJJB0I?o?!s-I0WbOd)hvlmptwT>ar5SY`eKwJelPKMp#*`c3-EWG>AO zTI)64cgmZN1tObzJd52VMy>+PiC*sFUAiiF*M zK;Bc^5fw22Wghz-pVZ1N{M=ds>uSgys;}NxKStG1LMB{kn$fjJ@DdHN9ny*K-4=Z7 zPP%r%exGQr#N4oViz$EIc-%U#O$t=}i^o3y>Qv_+cCY{S-RyIrGns?z5aIiWyMkoI zo8)eVRV*&f6l-7CdJd$m@%$6B29gzmn5%@^=ia=3Qn_mMM7>6fd+XNz3`&19KiJV~!PY$>6ctrH*B*6HhL{9Qo zS58$IYDXgI7&ZBzzOi#_En-xD1qJK3s)r9=?e9I~m85!OWFRbs9t3VCuL!bBJ~8t4 za4N7i=Q=0Ke_uba2?@@8WgTh$Hv16aK@`yWi(KvHnAc0RCNdW4Mox3C8QSf)n1LH_ zn_GR5%(HwwI{64m-LvGlC#Su|c5O3a)YVxwSQ#RAm!60iKa8)?rA;-~de%9@&_%=N zL|nq5%>o$SE|0KFJr3I){+5Sg^(Cy1+4QStjyG@_@5?1ZnVWWj+z7w?(i^w`}^ z&}I;j=9Wqf6+|l^5szEEkL|$`CePoqpE@n3;dzg(WW)p2;p&&?x~{a?OCqr7;^*NE zO|sWXV=y>aUnJPO4@Qi4+HRN6e+fx4nt5~gQ|n9@AUBIeaYu+E3w7}R%lmzID`Kq+a7!X<76!D@rwc5tig z^s#SVqe&K-x^F-CRY^<3>^WU&jfWSf9M2*ui-vqh#Q4B|3NB`KyC;?HdAN11uEmPA zEtme=G7TnqQ9x+qE^8r9Rpm9=c@$szrV5a5^jFuQsYN|hGy8}6y=_!mcklU#eoDcv z(`uq_B(v=Fn6LSe=yS6CmN{85c}>Oh!Ta)HH$rC67|lDBHu}k`o^m;xRPN*^bJYzQ zl8i4hO;KB#q&g+8@%IO4-}oHfyAmthtAJMI?I@O}&F>M;X&G-Ekv1C69?|O1<$TcW zDyRVK-?1s?OrFeTF^4U4kN5uPaQXj750}5NRHcBfsLQ~XleZ$Um|}&U8!ou;$m7kf z2kGJGkWU!=91`+psop~O;eh%GtZ1rudeYR^>WZTdH`A}IN&WCna&C~15~Z>gH7w-VMOy~WER z+MqJ^g}JtUPq##R(4jlw-?Q}@cmKTnRn>@b-IK_4D;??Z#g3yq)g<~IqKs-WvU}9n z?C)@AK?KZW_5T3*1#Q#QVeU%yg}Nuq@|@8ou19vqgPJDq^UT!<0cg;&!#Cx0cDpv#0dKn?rzrh3c}-V*5r(PCCyg`R7>9Y_`H&6<2Ql7jqr|T z3@6&^bJu??x2+s)C_#q^&xJ@bgbcq=ZTuoQV0+oAz=ncxB{zS# znP_Z#^A^>8Ny4H6OM4y7iIR$Viy8wFd9f1*-I+sI&{7Eas6B0c8{9(-2N0PmB@tRq z{`jiB#odz}yE~l`R5-^f@mu(=KCq#UOqOEM6n;~w%LsB^>CYgNqlhp$=_mW}7P{?( zqvB}Ne;+hTQbDv^)$K4sG^}Uga%$?w^(3oeOQ@iPzH2f-Q8)ItP+!lPUOoMiZCg8x z)%b#v2#lm7oLE+WWBXt(-Y?Fh1&h!Q*{kIJ)urU^`&8cL``-b&RIASXV=en{WBUsUN!rG`@HqH=K;6aa42Ljc_` zuY&{LO+TH*T|Wo&v-UuQO996t-`y)5*p8h5_ZAd^zuo=mAa3?bIPhLe7Y=;Xhj9-o zijp@#>5i!OnJuS}vA>@NF1ra@Rvl^BCI*K(eINed0ESoFIp)|A3qtA&iCXT5t;mlg#VE6Pm$^R=@9TzetVb zMK-FxJCn<#^j%`4@Oz0H9Jnmq%j8&Q|3wPa>+kNc9M#{bF9+kT9(Gb^bM~MO>b<3W zY}xx`xJzUW)p}Om#}1`FUDF5JD~N@>EaWeua#Z~#2>$mo^L#Q}{4Ys-b#XF&E_+gn5<=;z1|K}8N`_59~cRA#l*_Xe_yKlW2{4$1|tASm7DM~l= za!x_@Ki%>EZ!4X`quD{*vYN0f#iBRfZStl41OHg&5XK(*I?^B3L;s)C`hO_+f0BY% z{Z0%+BD8_?1DoqIE8;>m>0@n2Df4)b!7>|bfBE>SIW`!Lc}#_aR$aj-vxN6F#I)pU zrn)G3pSZ>loJ0{u8n|?~FdT;h?(9&O4Q7}Z8(0Q3V`{Fqx8iWB7Ttke%qLCbXxPj7 z+CsiqXAc(4O96IvO~F%u1Ad7a;GT@070I6gcfS^7y}gc2Acd}zEyt1O=oJ=HFo62B z7d;o@7`po#mim|W(_lB8qv3!^EGXky{p|r($8j$KV#WFq7G0xh4xuDpqSuG99GNGq zi{cccR|%0;LEEKeMJM}J=ZwE#)K$Ixrr8+3D&(2^osUp6DdPx@w9rwtEg~h+6g=hM zq-?Of(h2*u%;yQ@Yp>1ee9WY-Kir8La7ScqS#SVL5Fy26+2sE4V~sI2=&3d=dLcrq zi^ub=Q51#q9lmte`OrhDkb?7JVlJfBU7 z$p7P&Z@~W$K@rb@_1u|Ljm5Rc))XJc2^Rt&^cmRbDoLz7BrgRUoWrtQi8lp$(KEom zAv8Cu@`1*CTm-Fn&i9!mW`*y%x|2}*f782pGU59n+_2wU82y*VRR18Axibw?8SNr& z%UqQEp8DNFyV33;4|L9kzXt*E`L*1$ZN+{A+pv6 zi^HQ@M)pMFt9B~$kV-!nS=8+M{Fj)(0o89{ye__dwi;)>F=I}sm8q!WP&+K}>7JCK zdP3#u`^S&m$MH)GguAo`EUdv6B2)T_Yvp| z_J%b?$Vekfp8Olmf}K9<{j$4tS@jo(iAn9k9dg?;#%%5$yfLq^9>qS5F3314epQF+ zX)n6o1^yvIpgBPbumX>B@1rmpPUD>rWb}hV(zD0g!@jgUns3y2)x;mj^wsyiJ1jte zEk9eKW6FkxrPaZYGSgdd8s|7}r1`#sC3eIsyTs!q?ka7U z7jpypgAg-E@5U+4;27&s8+)8@^Uv>q+pDO~ zoe7a{{!H}5_DB$`ki-b`Fp1%r$mIA=w*!o5Nf&3kOfy$_DxFyCX}$&7l^!^tSy6vO zqF8UuE^AU!oJv&JTbSTdP20sOq`d4Ozl*TS{CW^}%Y4ixP58}lY1wOjB{gF1k&)Qd zIJy@@+=-SN<|3UGpB{$Y^H~bpM=JWwZq`XbBRV`7ogpQiC`=@htOpYkLgdVw_iz67E?&fbx- zS6&*fbN`FSGb}oB#tdeR;l(O_+ z_=I)coE8O^B99u+p5RNoH?4QU=PCmu;hwUp;G0C^EUl;?Q5fm~C#v5X|8(dwzDU>0 zxxUk~rOMl^BDj+)C%0Xy2|COSb^-zvYc$i0L&R%3Tk{6K8TbQLT8zh2B@+ z!J?FgdIiLQRKYsJM?%(&iuKT+0`?~MneO*_9Tw=+9 zqhe3I^pU>zaZ^V?nFexc*Dj|!)!Hi5^6Jty1o(8x%?Q+jgG}<{?uYya^ofOcds@+f z7EXnb0hYa_r{XP#FL?eZe~gwt6fXPWnKG&ld4-M9hl`Z0i4RFEoAi>w2mE z*)2&I5N>GyuGy`YA`7Se_{_5EcD98=!z5V=XmW6UIdm954d3j@w-)9lUwf_>cRg?q8kb8;3P|fPdp=(K&dZLvSBg`KVs~Yx46?0f z+Q8M#o{IT&%-*`YSIW{`%r!=L=%6i(rjmAz6hl&Yt*vy?kvhNr?Su@5u>;ZBdgDAc zGRwiw$hNm!AIp$Yy~3UbepzREn=ZvP&(j|gQYwYhI(2VU!Ws@aSKSP?jFIlKxU$bw zpg+F6iD_wRX-(!C603KTTsWq|wL(jo!$aknxYzgg?Wb#MVspAu_K6B*0PW<(OebJN?8vkEDEzrdVR)$3B>XE`H~+;M?0!&;j}`Pw^= z=h;r6Vqiy|*fDKME24xo9!v8Z!@j7#9pbGelKF2UmCdft!d9F!8W&6O+C6Z(1eA65 z2T^F~Ra}nz!K4{Rg4U1n?%ZY zd+?T&Jy9FVu*)9I!7`?u?oGg8(6M3zRca@$;DG&aYnl#RVC?TfN5jjJcAhBpIjSuA zT}bqLmzion{JcT@TrEmRl5hI$6d91lN+p?PJx+K~JahZ0`e$2Zvn(}UrbS)6N4Ht{ zUX=a}HdXzcH=7)B=#H@xy2a-}*eED!_}$62vJ&|@IO&xS`t&7Z(nvHZkTavqf&GXg z?rN_L73lg~hEf+~^iAHni+x7S`~Vu0N^Q202ELscddq2{{oZjX5STkPpr z`Pw%O$mT}(oL(=zzP)Za5yEMkWo`GOag(scw)=L}YeB;_MG+A9GN`5Z3{M2gK_^LV zGb8J!PLBCZMfk#a*$sVXe{U9tl&5ncTGn`5qcJxOPF(345-Hx@QN{1s`jK}W&JBt8 zo!pVQ9e8iR%9lfft8c%;3@|N6kuq|_8q0%Hd{!{`LcOew#FiQ2FC5VIAnoS&DRkQ48FVRjJ#EmbFFaQN7F^NV*kyk^jw0c2vu@G z&TMBZ{RiQ;6@(<+1Zf2f43mTLb@_If`X(D$!!;-wl&0JsIi+ zuWG*f$%SZOW`6ok*)GD=fae1JPNCYT7?EJjV)gdIv5H&pUw=`-wdZ!McQl?xt+D&3 zarlTR-w_gM(%4gSq&B{Bcf>9Dwt&jIGb+(Mu}#p>gMJMGCbpJ3mDFePQ~4cJ>knKt zee@XS>Ko_hVL$2jm@e*ma?-W=E5(YZOD3JXt`9|9)sIaXY)*a>S28 z$m3*fV)3*R^r@G?#b@=32fDNsrWuneItJX|zA5HH+p0sU6Bi*&X#L?sS3c^>L47O- zq*POXe)K`8JU5`<$j-X2+r;ROwP$Q|}A(_b3UK?m!SC<>`F*A_Bd{7NHKD9O#vW1`TTYG{Vd;`dpOkzaw!{%zIEII(MdMt=*Ciy! zv|ltEy+!wo*1IxU^@PfM{Fc3jyRetMkH|%25YCbThHpX)_7Qo1@Uo6cmegpvX>~1> z_JqU9Wnv<{7W3zbC#$IB0S`2Op)OTDdyv{&%HV4>ptMjZC-`24qLwZ)wHG5#uV-`2z>f9-UXNuW+qUPB$2a4(J%4 zvXZUMQ~bbvjrwX_5Y>}}M}Y3;AdeG{mz)y&tDTK)_Z9=06K+>Ky2+3M$2zk3KMW6| z%F)*%t$Hdq+!Q6T1JW*amn?oURW+~sFtg02$X%OIx?;5dxK5_F+6>Fv7v6qmPM4-@ ziJnN)y#q|@nL!7CGzo57ej~f;w@|sZZy1-st^91uB5+JJ)&F|K@>|*UyMV(2ewR1s z+wH6K6bs*r0IgH@Z7VWVreF%u3;vsg%pO z$2iWVC_TNRDkoYsH1SNJAi~SyLX>Q#GQu1-<|iunRH4+jYvhff-_BAf$IURqG>p+c z23J1r-PQZ<=q1tJUgz#j-1_PaRZCNpVSYR)*|YEHoI^UAsMdjG=*rUiyvHQX=7eO| z4I4Y{BF13U!FO!dDJ$@@v`zy}=l02XpIF8hR22oz9P)eNHHH(M+BQ6S_ph?VjO3W>9>zjvn**aaFN5-idRb{u=%KLgJ`_M0rIdKvm z>C&WNrWz5QyG^jJw2M<2S6WY;A8XrQ zE!3BsnUgOZ8#@cro_K6&tcutvHK|FDa;=aszTaP&#;6>&s>1H!K6`gFSbp6tK@Xbl zkr8&R$)MT3*dl#E8m@6J6=|Zk5Dr>=Jz&4y2+sfu$_qs;DK*x974mwzylPy5Yhhp9 z8PJln<9O&?0`EDyZCf!g8Y(ADnsq788a0tAWur)IUV!7)=OC! z?Ne|G&&Et<)$MDliJ!eLPt!V+0R~2@0Wa6h7Y>AXy+R6^u1Zy}uA8JGcheqxvP1Yb z71cY%qhfrREhGU~ge$J;zT*qChq)}n>bE{_$hB(v?M$msR>W}EoXW-t+Zypj8T7bl zAD3RYuVD}2Y8L#{tbS4l>htc>oNI#MoEzKZKk0_`9QS0xf%}2jfDoq5Qhzi1rA&Wb=QC z?T9?#RI5iUSvp_a#+I*eZD9|ht?BfsQLgIN`->srOqP>9B2*23(oo)?L}zoiJgXb= z)iuAy%ezxR>M7`UEr|`GmtwBjb( zq6*vZY)agi#O&tZw+*Xyn2cSH&%U$t#&k8UZd-$)py{2UtxxgX6a4V8;J?txQm&j*ole^hAr8@jPPgoAIl#ZvVS5=4UuY1h6#a zyL?wMWWYnK$JD;Pob&MN4Jc|_q5r_G>E;q-;T^3f?h|E89`VR;;n6264QdJKbNT$= zVoxQia053>1;~J$CW=NV>s>d+GdNLoVV@pG#PbmhA4#xMEnEFj3WH>{tMl3{a-)4{ z|J$?i>k*Zc5kRry^MemXEcWLNR(^NUFnV_u^Uwgrj#_%H^>I*I%3|XQi41rK`+SMg zy;TT3l{0>aVEGOs8t0DuNZ}e_+b)X6=v5dIi-gXe>13bD=UrBwfR7wbC=UBRwBOfX zmzWDT@ps$)1>%+A&@gm32QT#?3~h9i47lb`2EeGvfap9Do1N7T2k2lEh%ebO`|lvg z+{_M7>%6`ofv!J=QS7bb9BRNpqW@^V-?AZA$Fp7X-bmSZq2du!r~GkjMNVYE8P9+J z+7gH$i1oo%DAV`e90+ST5}?@;gDz|o4{%o=sVfV5i1~&Z|6|C}-;J4fvqB@C!Q}(n z&Td?pd#=AM^ToR~t>Yy2fSe|L@|Gn1BE9mhO!3xDnqqDE}3I_@$ zU=Wwm|5}#f1x3v{I|R-k7#XH=`{+l3=`p444a<=K%CPy@r3gpsFjPcfgrB&_^@0z! z4BW5uz9~ok@dM)joN8FF( ziF262$M;KcYl*8?B_X+B@a8i5%Zu7|*mL3VWX9|YlXspHJp!phRG|b%>f56E6N=Q! zR;L7O$DZ)UA-Hg*j}||f1XO4=Byps$OxX!6Bm^5Pl;V?kVnk#x(!o zx7hu#C#DAY1Rdz;Qq{1lecgc?%RBKSA9px&==bxtR`1b_&A;`2x|onI;Hfiz>xq}- z8#Kc`B=JKcst}*~Rm?Mp#P+HnAbvt7tiXlc&BvKh_jTtv$=9D0WJl6(kDQ-D(t+U3 zu@ud!a3e9OkB%hvrdYyoj>oVAWNHO#fgeN}>X9M^fzA$?=Ro4E1~)4cEi27Y=z&XM zFzUufpRoEl-`>$iI$8S6%jhYu>DTc~7M<+qh{^2D99qY;!Zk~fnYKH#`m;Sf6q{-r zxP{RA>qRZaq+a<-&)zFn*6%iRNDz#TB_6oe>3#*letUZ??V~>=yJOU;v{*+dJ8udZ zT4tZ>(-Cw6@Y+LswUq^ap=?mnuF3Izg&|KR(HRz6;qKvaK?YUlgt33}DlB7e!Dk=- z_|>N?I|nfb=A~YKMbo#tpPva7PBdU*Sp~brb;;9Y%UrTxC_n#!jvB>EmFM9j5!v}F zE?1oHTI1J{SipR7vVQrrxS-2(%C=L$*M~LBEA7K<&kS_>vT4Ln zXJZ5yt3GP^+%V#zGL$MxMUXe1flZ?HMw*^d2S=0zhu(PXmI!s}=0sv$wHwH^KE;jy zYJ~LiUOBRGb6|UYMkWaLK}vlxH+GBTw3J2(KDo0I>e=gKTYO&kq@Y({N#15z_{0w8 zl3s1|u*8@9j@wK0ktaDHd8sgJfxcDUerXYstF`3TB<&SD&k2DeMKHl$A%ee(1}S~c ztAx0aSS~QeY+%lfEFV0W>A^03!F3yr1sgBA_=8gjI%h3z*wUX-w$g@D`L{P_VuoUQ zb-d1&z3vp}4MVUMpo<0Ss;~^>K58x^4FReCT+9&AKCTb%ZyckJU?(|F54(Rg=2|LS zy?2gXJ{+4mJ5<^F(23u6kWP4eDO8?;#ax_DlAR3bg4aDn99Qk}_fz@`VO$WH>JzZ; zuz{Bdw&orLcZVcDzVR{R%S)N;Oh|>rUu& zL{9W8^y|J|qblAJe^qmVX5DCS&`vX8uWRU?!BbFy#n=~&gz}j##BR^0=|!MH9tPyhzvgZ|o3d3kL5`g@y&DANpUJ8vn?Ii5Ngc4|+b7h0)4Tb#pW{JXe-pS1@5 zuh$w#sA;XP!bg_ZERM6I%jZtmKNkwXfB~PylN#~@qi{6+h4lZHfbond> z!$W$y%ZF#lo>$x5jidBp5EFq;2b;s_Phu+!BLkE?U>j>>09FRn0UZV{m+ujYRwSXu z3;#k5Pd+0s6{!_z6csGuYZB{Zg2s*#A1;;r&*SodBEhodT|Vtz!AU*-;&dF8w**hb zX|~I8mz4^=4k^CVf3YD^g)h_$PMR5ktz57n1D=SIWI!H{vpXDb$$+*O-}b}ZRh#T- zMT5fCP2>E}K`i|+g4Vs}%~2~A>xKzG;kd?PUkj3kF|f?NV{~Orw?7)EW3yv)j2-RR zwrwXJ+qOHl-9g8;laAf7ZTqI5_q^wv|F~zId%xT@D1Y<_At3=PKPh>KQmT#{DjK+IVs(P)J z7t~{t*T_=qj{6Sv>ETQEEn~?JsO36`J;uE%2PQ%uap6?%Jt8oQdEO)2Ni5u9^e@pLNQJli2`ia=>Xx=N z0i&#dy7+qHE#l4NacG;iX-98z{rcUMgj7)!>Qx03M>Y)n1B!7YuQqHT4({{z>gv)( zGlBz-s}5>>ZR>^ucfjX4)>0NcAHUXhH@x_v@V2jCP(bYF3Z%C;?9(ps1F2UlL~}3F ze!pb*7^K@Zo_0+e_(CsX`Zk9J2de~CWZYV$(BqGA4`GLM42=lt=r%R{l#1s3(4u`4 zYGu!Ky@*5TvDo=8NOrLDqsHNd3P(jHeg_wg0p^Ayk(KFflE$$NyVn7N_c<~LZnJf` zTB%p$GQc+}h8u4{_lc)Wiqi?~PjoDVJIRhi@7M$`@5fXjfafT@Yk2r$vyGyG^;VDXI$=)HS zZ)>!oqZ_wda?%Y4C21piF;M#NKgv#X*h1eS-hDy5u77=FbPn8)V z1!w{MLzX=yf*jO%Fl3qZnQ;k)VJjie>3ra9na?xVI8-I2K?kJAs z=5k8;6h08CPu%tB?9ZZzGe{h7e2hx`+R=`=ZfFdJRdqD4ce_9f^%A#WO>B%Eog7RI ztp7gQ8d}0KF*6Y{68(MR=7wbuwXkwBaUfz4wK8xr5jHWhH8z1|kT$U~b22Al=HP(k z<%Ru^;%=D(iX)bI0OXDn8Yi~GVm3NRV*SZ&N9jPv2PjaAr6*r;iS#2`!Pqk`Wby4h z52++wFtG2!dO0yol8{k5YmRO(2$NyhB9al+NL%+LuXdS+TENAju@j{wZ7Hv342UqL z5-ppFIYg#=1RA#Nq09M2U$k!BgWH{%BgcXbFB;Z!pL<1CV{z0L2dL2ROy*=!JKC#N z)6PvL@#}i~f9P`DAX&jJ>Mm;8jN5+U%2U;dgI+0+2_l_{4ny#M^PYO{Td$4iQTDV5m? z%`~k1r|zh;k8=}Ny-9d)LQF^9@Tq zJ0pnlr)*<^YcT(?)0VDlZS_yt3G8-lB-{2;ox4hQ?`G>aD8SXr$Nw;}fd4kG%I%<`XQL~U*URX`N*x4-{ULKMJ61YrAD;R|0thhtE2R{#D^;EB~oH9G^}6TY3H^ zQ6=?($be-m^}fKOQ~Ihk0i5-|ZdKAAMI6F0FiGj}3lWB;U+ za5Av6FcPpav-)RH{x&K24?lE&g+Rx|1|$Li8Ci%pSb?A8`}gNhMK@t0V)@T8`A>$} z|3`-YRp`Ii`V{V8&i@M6z|rJyh5rxiDLETD{ewXv3E{uwe`Uq=$%llnvaOheu#ABn z5rc&BC$APx?*C*fxjTNcD`8`5OT+^FS5s<#A*%&s{X5)@M9j?0Iz#|=A|@6h;3tLv zY-~hY%GfPW$MZ&~~UvVRZmzl|XCr?~$oEBRUOKP{uq%y>i~BQnUQXEw>uSsvLRRhqD= zXjp>#Q0Etrg{Z1uqTxq9O?sIlE(S=jglRd(sCnh>Oo2PwYqHh|F|L8rn8`;rTARQ_ z=)QoslRRhLN82G&Q$ZE?4tm7FQ71GhrHKLP+rI77(Hwe@)}EMf;Lje!;sZG~m5bEU ziHKt*d1>^cpjP3+Fy(mExw;g=vP|XtYY2>49EWn8&{Dy8a|TG~*fLK66~klQ z8Julq#0fdd$E-!8&WMkTAw z;hLQP!MHL1#l*kI=D!s0Q%U{}w7;33O7s5`pCUG&zRtqN?7vV*C;o5!GdB3tmru+( z5@|6p|J4u0Pq--Cs@Pck^^czb{EH{W|Bjr0Y~8%Uzs1A zT@@$h{rY&_Bv^~05WXeeJR4 z(fGNGX3H+9w^G5%#oPA3O-9Ob0JYznMYAO_=sLjcDaE}p>b#q^wh010`8UB#u3<}vqAf`*Fx z>4a3H^u>VT19*~2Sf&d>8p!bPt(1fLk+7?5u?j8b+6**PE!V^EqJj$mI1L?KVep zZze}IT3lDExqOjX{=|@O66-w3h~(ejoa|J$7$0cjof}WrFk!6z9NR_m==CFSz>{B5tlc zz{NKZ`e*yXbmu{LJ@Lz74o$23h`me+N$NK*hJOUX1yJrS`n%93>?oX<} zg#XPm|I6?Ef9aW7nE!7E;y=QU|7Ig3tpACK)GUlY<68g|69AUsKin!SJMeFZt!y2X z>>4nnrpcD6SE`0W354O;&_f+k`R7E=CKF#Xrh z{1a7w1{Btx_Qb~7%Icpm=yQ_U>eKZRu`zy%>XYg}+zkusr`!5JEX3&>r271LBYTW* zoT4IGp@1e;5m%8`p_B+&qtk&XN*pG#eBAjt{ZV`j9o^d6ujQ96?@6A6ZjOh${tKUr z2cL_NJ@QgTtBchhGqRF) zsd1N&X`#lK3ffGtYm!XvnReO=L(T1(h|$kC54*5K-bEGfZ`Jq0duF8K?Ck81ZjbOm zLGYiij;quk*MzS$ey%qmV3J>%P!a6FkzjC;VAf&fK|xTdXKa1DeP4;!_(cUogu22H zS@H#+tT&-hnXVDgjg^(r(S^$>^6~h4ggP8Aez4|np;|&9O8DdxSLp-+8A7H z9`2rQAMf8xEKYuS^Xm)m4wW9J%HApCKIaRW!x2r!ls?KhPWkxR*OiNL+a1u1)^?3F=6cseshW@PQM2dJQ*HnhK{?A#> z)Q1*k_+TgYfefYknLZH2Fn8Eq|F28R2?$npL=t2Ki0uM2S~9)I8|fWz1i6YK;CkN1 zF|Gl)YWB=MeEm0&sc{@1e)nDQnsstoU_vTJG7_m)(*m6dKOcZ!bu0ACoz}YU1GEG% zKfhDfM^LNlfg#%i;`@Kb^;PlDJIjkOztQZ@bqV4}Qt&^&stuc}X-+1B>FV^{;Ku9+ zeq0FD4R64pDtg$jlB2%Ezi7c;t&>iRJ)zOaJG1lei8?<`V1GM{2D$3`vcs4ArWcxA z2W7OpBS9XP%0eN?iYQluH^|jZRXraH&YK@;TxHj7j!g?P_s$o(*hS?Z{sqR#?9DWg zNYv*KY0G4m*SmgOvU$hUXrV4f;9%) z{;c|6u-%!p*|5iCjoWEdKGo$`n6-4L=Nh8xmMjJuF)|2E>=L-hceQRPPgf1Fw4YSxT=mxo1C77U`6sUwnh2@*%7I z5fm$~>d#Z;DQs|lKSb0qkJFdklo^^ewkORmxygX$upM`pe@1XVMP`WJ3|%ig+noh> zqkNRaXe+Nc6U|>tbL1mz_PFyVoAGdzGx4L}PO1DUcOmT=ZI%~|b7Q7p+Uj{2>LPF+i*W;|4>xBY$Ty|h-;*!fwK`~ebEEDo3$fUQ##>E;Omcdn z9P98^HV3v3<(A<5mWmMF^M&M`Ic^>R5NI}wvU}hAOUYz7i%r{~A0-lj9hqq=r8{od zSs%boiX9p4j(|UXd-<6e?GC2^3K1ZeYX7ftf7n@UYvl3y28|beKZq@-NP{p$0wvNXaxQ`s9bAilEI@_JnPSd1wo` zJD|{DtW=v#g%(eBTHfGLVKydt#szTrHf1s`{o*RhdS9|mi{?AL2&g6Bdo#Fb4s1@B z4zNxDnpVat@%Xrs2PXc(7&r8yxkmQdd~fK_>+MBiWvAQP3m zR7P{~^k6!33nS00ZZn@3d;t0z$gZCGb?#*IglaG_ks@2>{pmsgwasMp5$|<>!J3Hw zwFLsB-!`Vks*QY!x!AOVnT9Di1M0|%Pbb;h^BNFBU{eZ)Mo1UYWJY1{LhQ;dw-TUh zJr6d-6Uv)mBS2Ww_S1b+$sO9ovS>^>-?T&?@1@Tra{YcLN&=^180QG2)3*BTt<=e1 zwCo^+h~fYS);zkW+>t1H%}nMl8sR8ay8|XgZH-IrJH^S9j%^21$UT^9Ag4g^cj`$Z z9eU#G4Zw{B>?l5ptEsGpFc5a}YP6OrpNA&_JnAh7Fa8%Gm6VDQ`*Ji{G_&nAb+F5< zM7iMz7mb2wQ}(BPx4G^XN4FftADq^ZN=HDC-io0v+L*Ku^PH8UE~GTb9gcjc_eAu zHX`^9Wc>-Px0>q!(q)|j zih1@xcRwl^=v8TSeG9|7Pz}OqC6Rm3w3J>^eyP_S`EAX7zURp))9$#w@bg>WHVmnmr$Nkb$m?ugL0W?41t?nUguEuiC|VDl+-^% zn#bEkYe+a(FRXk;Z&bWN&;HGjl(zOZxOVE|-17Nk+|QVVcFt2?cNL_HmCd^MPj zf0k7LYtx ze0ei^Y*qIaC&vO^S9n-G$~kuS5_$G~pYt^sE)0b^NRO`9@;vyN6Zt*|w~tKRmA5og~_EQxauy_ohZdZmAk*@7+oJ_d{2$gbFkwibs< zvqQ1gz&5H#n)l!(YU{RI{XO*fgLm2iJoYWHbgV6ita4WX;P6}@+WNh9Z^Me#jXXJw zptj8S8ysQxpOrW%Tp*(_(@&#EXFY-D?#Eeg%TrO$AJaGxFa8=kUFV(8Oy5xnB5`Wp zM0arx(lM3Kvk92z&+NlHu8+Ur1WMnK_Ffq2?j1n}e;eY2r~koL{Y^LqQbl3e_SoSE zue5yIQt2+b4t6;ULo&S&UiMsOkiTx?6Gb#J*NL6`My3@P03W%_R4U}D$KN}>VbJIc zUR)IgKW<1IhF=?5lh4lL;~X&%aYsx8;W6%4#>L!EOeB~ zd+Ftc3grdgcu+WAgzoC8Ur1`7zp0Zj-IbRoyC1EGz@PS^cN?1O+|#o7h(WQpWfshY zW2*U;st_-dQ1JpwxvvLtQYd35fS{VkZ&yq~mJj3Xc-SCEq^h6G7hG%`d-yD06?Q)S zapPzf^l^GGTUB3LBBkqQh0XIxrK|+cE2q5As(olo=MvNM5OCJPIFJmhV3dzplYoAl zS6v-mkP+$(t9>pZtb~D;OYZ%zLkEtuJRUZq5TeRYp#LOjG4e}}PKi)A{ zgnVe;`Ra#0(r|^^XY;Sq77sKWYpbViclFVbLG3ecQZf@vkBpIIHBbQr}msufYmjF4y<8 zKOmucHwD8ME%>DCV+aws7e)0mgA!1OSK$g=t`@PW^(tt~oh1OXU*KnBArZkpbm-%R z?0SBJKwv>=Egja8Uc4<{E-)-TJ%r{t+auvIRvS!AQ10E;@8YO%0u5<*hb^L7yIOSc zBQN=)gUMFLqiDPyH`Z2skyJ78F0o4a=znMa7*iy`tiAExjw!l(y?B^B)d#_Q%yn{j znn1tL|7Hgh0RdgQ<3ew9FSLSesTw%nn|UX1V0|tU9>r=+FMHx`DGp%-qU@U#khie= z6gm{^J)tr^HV2>P4xWb#f=hYsJ$t|2tFf8KI>TA5Rou0I-NGpq@=Zfs5mmOoAt8mP z3^xi9nsZ(YE%rkFGgR%bf*cPPaCuoxHe>p7$Gn@l%KP zK-OZxV%OAaxM`{h{9rv$^Rmh}tE-oe#^=f0gkx5@0AB0J%Hfc8B>L=`6CMM%u0mt?^r55tckElva}JD+KUfEN zI(z-EpI7&lc`jsN==o`d%x8dsmp+9UO)9B<|KgaBmd${b^~JG#D}NL*<)9@=Y=Y5Q zCEx0yB+}~Q;`3^UB$en99#2{N7ldXCp|R$a*rCk?xcF@Kixmajc@@c=CS7)*4Av!ohS9QBss#}2OzQNxmG!Zrm=v0lMC3cO`&Tv^W= zR6tCvHf(_#JhU!QG~KtP_ohXCt@G^Wwu;cN(%*vo~$}B(eg6l29ZgUJI-DyeNrrjY2jLcu- z;wpAsObHDDSdB^LR(cZ03=Ldtf(KXG=$m^8opyh*)ajEX1H! zbwb3{0*}R1-jlI;*uU*3>2V~Me_Gnk>3A7yZ0!!Oq|2MyI^G=k3X70d%mRrvbhQmi z`{0igpd@g`Zini(J=Mh;u34~8TJY6^7Srf;c+)7D`U2_Rfu?c-Wf&UU;D*`sk0 z1g&@_+IbIoVD;C{7w2z21E5ay*fx)`k1{p_J@l5SDd?gZi7u*;OJ{#-CSTh)&ggy|$IPMtkr>i|d(ua98S`|?A*RDDZ{rh>e{Qw3 zr0#m~vgu-z9jIXsJdO!d^MZb0QAGx)XO*3Vult;8L7^y7-}}g97)+m4Z}Z)|?C74R zi_O$qV?3JQh1d>d6xAYCjI|U4ac%5GFGZ`EHs%TI9puex8)q+j&R4N-8-hkT!&l+t zn-gB1(e_f7e(*f+4x$hXNDVh3zw{B-fXI|J8P_hubduSNZG&^LcYAz4p%l{}+GzHf zbjmE6VxmsC>IZXe6K7KR zPd=P?EE_TmC7;eRmUxC34}3Hr{NiFH^)BJ^tUy(%Bf7OxE4C};KCPr0v(dVDi&c^@ zRQcl~;0}52iI@X?kfJvmI*thqYS4E*7mjRCbw;>K%fH6v$C69PXBNiyB%uFlV{Eg# zpjqe1UQDBJ--LQ`f{ZupePe2h?r^-%?Nw@g_#~*z&t~-8qlK5$!nQN}bQJ&*rfcHn zVUa}rOT@t~Ge}@JI7gp|q`3wF)0&0|U9Wms05i|(!eC~YslYB7l&N4tFD2R$g3Yjc zpvZ%nWyk4@d-b9%u zOHn?8q*rio~H;sQVMo+EM_*zuM8Qxs>uBmPd1}-i1%ghEA zk(e!$jI%TA4&=4d`N4}URK$g-@nVEOokmS{1MshG>Uh=f4x4<1)GXsd~9xQozf=XXywMZ- zineNR1$W;7Oe5C{)aoP{+sWr}7EB_mleB-MF1_+zvUrI9#a*dIvgj639JsEvXLfni zt{zF(l-)M}A`gXwpxJ67m@a6{19zAO{I zoP+NLt>%|vdzTa1n{TP-OXO*`^XNcewqI!<7|TYmX&8O@8V7=957gv_WTcm(>K3QF zAUL+UJl+p4Ip(`QKyoTR4poN@- zkt`7KU1OJ~jxT<)<^7`nUX;nyTZp;EF974F@+afLmSK`{=#*TrhyMQ8{&o&@vZ4#4 zEIV>zAozO~RjYYOrpj>BB38F5x3BNEPmuYDo31#oL$I~S)qctkZ z0^o-LQyXp80%$Zkq{6mYsZM%`g_0IZTXSWyRE_Ddf_{`6KS*5H2OP*`O)tnCMknWC zHPcnt8+)r-5}Q}16YcJ0IPA&H(KhzXnz~bU%wi}VUe5<|J?^_XLxB#mZS}1V@{_aR zb-6a`JtCwZT(mWWq`JpYI6zp(&-*D;usXP%We#Kwi5~4#Ph^jvb_AI?e&dx3jmygF z`*fk3@IUxStcbF_ExTgr$cHg{e!eO0*9}`&#o&)0G87s3pn(D=rmHCtcsSVm{@ldDWxKH*FSpw37pb09Wo-$)gpuu6f}Xcw;W5{XECC05X!s?m2mR66_DwBa>f%q z5uT>bSIU#il;9d_4!D*;Vk5@Ho00k!i4^-~NXG*ShPZj?2?OUP1M2Bf1GTq^ljJly z51P8KEN}dvw6oU1itvYp54%z-vF~rS-lT{*XPrw=944$)#*j{F4%~u+U@c$&7v2xY zL;R7VQGfrhKNHDVk@Jgo?b6{oF|hK4-3gxrLVg^Q9)>YUQFGDdnEy`ic{*9EmJ8;l zndi)%p&mi1S+I8(Spb_PfulwpVGFZi?Egb{<)l&5QT!+ z1_lgX-?t={q~kkRpcZ zo}_7y*0XgDtNHp?$@!@XLyPFn3g4n2#^FxZdRO8EUcbT56_cjfD7dSjKMlDhdjZ0! zx$g%tPqVX?$cO;^Kb{O$q@k|dX?*C36P5hlaNS>bG=S^w3jMl=gZHJ%Pvct*8L|A} zg!R2PzB5XO2r^JD2;KheQ(P0+8?NIUX)?bDMOp3%eof^u+YUfAWWGFQcp#*~sV6ze ztb4he3UdX6)*~&{{5hyf!fsqbO-&d=i4=#U$;e?r?l-KXl7P>W!$S+5IUCFJho?ZM zNy&i6`1#a-j$=km2{fLHcX`Y6XS9rH?N?zocG+87kkn~gw&)wVNSGi0a_(8aa$&2I zyycC_OK!4aNilCx0faiL$sRMgj+3C_GCiyOx_eTnjXdL)P_@>BoYvv89rXquuzU5y zRj)vBs4Soa->kzI-!yPJT~J!rr@&fFUi?M5zBt$t?+P~Dh9~-ZxZZo5poUTDIE;L~ z_>9BV(s8$vEzV-1F&JDq-WVF$5aOku^^{Zju*hRH7Beh?hcpf6fOP5QNA!%*NZbe0 zx73>@S$B#owH!4Iq`sxOu4DTBctXMm;D*B!q85(1lNmCuwSvOZ^*#J+#=E0)Mn42tI#o6WcAYAZS&&X`w-|6Nx$t$ zqIyPVx2Yr`$%+l)%B0<$j>38L0~?3jkO%wx6#^0c*bnLIZd%gOY+U3V{*Y~DMrv+;=hMYZ<^3 zS4`F4fHwWoYUExf&k2x($Cm5Q8G;ApbHA>!zn>7+6+^?hPAcfG&as&0&S1=|IXG|> zz09c&&?7vTlDP)0okA=@LKwSQFuzlJ3*=(0-q91%46oQd?DmYWYp-qy!5wTz4ybEAq)xejA93yn+hKWhs^Chr`lBYnb}9vq zk*J+kLrqpF~CK?AeD^KtrHkEJwJFI;Zc9UCbo!*?$kL zT{SDhLj3ZzXM)+N{0fY5&(>E!OQ3}XT(C)}q6jkw*$ZXan(7>!{B!n-=D2Pw<;N)2 z%xtvjOMaEv*nG4vl=uOv(jD~Qp0=}35 z^fq4ESMpU^!#TYu6zL)RPel3Dlp?VDv@!jJ@$Xp~-zI~`iudPxhJ$Z~L?hEZA(Bk9&RxHn1_u#7?Xs4c#*W7GNTxaGONK<_cHflq1 zl|5sa= z_s*WGwX^pFJMA0!*zgJWMl)jEP4w9GF;Vrhbh>sV)G>-p$HNgT1Hd-#DwwON`^(P9 z`E1+jQwUA#oom+kh10reu1HVsI3|_cHRCYJ*!)coee)EeYG4S2QWaU^%g0(%v;T_e zLi!4Kx3|K9UvKkD)W=Goq2WkWs5pV5ymvNWn+UT z+$J)87KOy_X@H*zKr{TJ&c@nia5Pu-38HtOl6JEFit5M@lYhRsg!VLjZ@9cYmsil^HSoDF zfB{x1!*dHD2akum!r01gm6_0zj#7}AvqhN38j1hir_6)&Oo$~U%DU^k>CZC?aj>=p z8|S!sIM*tc1_GVXT@scttR2xv&E@r~Iq=T%8%&BPOQq#Qf2hl^Zsi#bM!{%l(vcdwv!{1*DuEXvW6(WTo7MAEo^w zI!75I)4o+0`m@?Bc9gXREGq!x+oZi+p{Odm-D{O?Wxv=Q zLCwoFCvH0b@!rIPimFhnsn&~J9H!4;-DM7%DFf_u6KO$c$_kzHwWm&EaV7`WZYb87 z@*;7YeyoAUPX{F$ozUOdmXy&gC(QgVtL9Y?fY87yRO=78y=?hD?L@$b$wI%c$86OG zFK}zX4+7R^%%{?pt|0P|)ex51Fg*FJig&qu(86x|cw{~`ady{M<7|Ty=`*&9jWcJc zH%SVFAM%|Rhp;Uz2&z&R`4NyKFt}PbmXx$Ku?;wp5z}NGmHdDUJ`|a*dCu00VhThV z@Nm283vb~0*~#O;d2$2Z=SS$uA?s}W;|Dv}RhHd>E@bHsku%^;SibBzqOAVZ*BUNg zSE+b!fm`&(Hix6{@Col0RH-DtYj7Oczy!5w7U)TGyUmsPmZQ{yExE=*0zSaLzC&5j3_lWckD z9HQ|i*W_F>WXcgXnq`Z|zph?dwhG3C<(Hnetp`S=nvP42+!X7&Z~QBh|cgnnh@CWWcI??`0YxK=9?p9kWb z>|kF_Oj1uwfAs-PzFF&HwqDTEHs06h`Ipy#)qYa>yNWy9#hKO>@&)GphhMmwo!A$} z0}X3C*b|Ru34txeDptnA zT}0mIe8G_TY3yo$_or#Sav8bKhj#giEEE%x!yx!PcYN&`t2Kh{djZou{*QDofOGh} z5v#^l`hf70<;zoa>r=(pr6lZ=T0N=Jy#{%UUt%daV`YZI*E4 zlGQqg6E5b}pCTyfxWEn%08Dt^SG4HGIUib_wA^u{{CpSf`G+rtEX3@0u&jwuXO6OT z^p&_Chv#-)MCoSy$JnXWIcKl|EvEEk_hvCC8*Fr*G{pM&(p3@fos8X_CdwQb!V1|~ zufO2NbjG{N)fkF-*c9UjjviAfg1p%bLr9RM2|Vj>+R8-&dMz^o%ms8wiONPDUsmX1 zrCusoTcqQXt4xMxQnVhK=o=W8Z4}y8F0d!w1nD3$C>U8058NB*WN;7DX1@4vUhy=2 z-o`sO>Z$uwb35xrw1QULhPfZm!4aE50J5CjY9v$b!@j`Qfyv!ZQcbFM5W8r<)R_aSD?&@JdNXK zbKEO|&;YD>h2*SgTYI@-4D*l~52a7WCIaKuVNB3gP*u1u%om3(Xoh2uA}sDfcpVVh z<3lx=q+*iJbiK!BxT3YguZa=}?QF1FEyUm<;-}6o;cPn@_VEegSI_hW;113|HhS-` zG(Y`{n$K9_X^QF~)Ttu$9V~#8Ku9U<5FlBR;7UY*uA00@UMf)do*XVP9uCOo*x+>K zGVos#qUI}jdr3=?-NXRD{dqh0`@{Or&)3;{*S?JNhu8cn!tzQzJs zjOq#;Nl$juq_PHrgid&pHN`dWTMPrC{g@N;s9n>vseJio6TOrlPdB3=Y&JYeijX@8 z*egq{z&#qO$y#9E;Ic=n;sR|tfN1q5;+V+w-e06L|72L#)?5U_Iq~d^^nRLs#hmXc zJdt}z2w1S3{4&xfkom`>Mm6I_AA&N>cj=p2a5&&lFBuIFNYfoj;A_ z!_%!nDOHkF|2xkjja{C$3Qu>ZGRD;!^>*hmLRtk|+w}7MC|V@;T?5qiH7o+m^QBX< zn9}{T_*X-0dsyPg&Nn9;&8jDvGUdblb*1MERZa_nfp(}3nWpK-PJfD_$7HE}fRt(| z9g`kv>sHzHj=|V#6pBsH!!OW_%*?O%dHPY(CoL8z5ic>l3=<7yd|kdmG^U$5)pgL& z#i7E$Z+S>;-zd}!cKcK{Bf#{i0mFC!dn+bt{$#Y^v&l7wj>KyblqqQ00TN72EwQ9u z9iOH&ll`+GRA( z*)a_5R`UQdTd!cHZbE7S_Pom)qw7j*Q(vO78j1)WT5(qdrgDx~vepsk0$shbwk`0-|YwZLRY5i#~;KW~tYg+XzXTG@JQb6Hbl& z4o|GvDzslCbHCa!@WwDQHZNp9#)|`VV?f4-PkKzUB^#lA`-M{k8Agr49$M>HQca~t zX@&6Q*whC5v2iUQJEzc#njBG!_q2IS6qmKgT^qu*XvC+b){7?z?#OYy ztYH^-(R!Ry?{C7pl#>-(^3R z>xe2&-?}fh$+ntVjcy{}{O}pqE8LxLUSX1U%0Uw5n zik$9gx4LW8-2bFuEY#4wnB^?Xe=|0I@=uFYEx4i(HiR6X8CDp+J3qXL-4)sEjs^F*bwhxJfdqOwQH?5<^wqSI{kKy@I#1J@WUgOX8i8JFamSso4=WhRj zmm6xVCZE=$sMoquK9sClS+gRMiXr7`jt~C}m^MPjODSLp7M2>iTg$;CJrq<5k6y~^i{;v>_AFe7v1bY zp;d2`I!up*bE*+Y{Ks9zdY%$0Ptx>~OO6Fbd>Cgjob?IeHwPj+7oX02UJ_+>0mIsA z6NBs0-{bo|=H~8Of39AoH?FyJy5?N*ro}?I6#d}5Jzd`Gvonh-r#jK=k_sepM&li( z52sm>FoYgnxzX@SD+}*EuIi?Brs-g3;Q$4bY3=bAoi0p{J#yB?biC@hJ=nZ;Bh$|7 z(ei0<++F^q;!BLUWw4x4cBM73h>Ii~4?cw>=S#jT;-?xiGD%WhgAlln*;~ozo1jKC zzKJkwcLs#6jeqzWWlpznf%xt!xJxCyS$vZpZm&Ph6Dg?k*Y_M>P8$>#VO@yXusm=I z_M=e545pN*g6qJbq6c1{o3pSfSfz($GFGq7M|pLM=2h}yp|UXTyDa&csFwKezu_3n`0dN4k#EhM0y+;|>?_{bl^?GI zaH?yeslLs!+nFQ`7$;`17Na7h2?zuau}!aEf(cwE5jCdD5P+V$8r&~&NJ*8~R>#1R zyIcsLX_D`*6=I5XanoPEG_1VL5WnE4WIY?;;9+|OBlnyv`)&e0CJDd1gX`V-(qLeF z7yap)_nX4(vD;jcQ)s7N=Ci$cGu(N~X|cPL+kUUsj)7h6%g&CmASWH6;j##8K|X)P z_V5I)AZ&wt&iJmF@5thLn9?L0B@4qFkWsX6KY7*k)%AketjO&qP|oC}f6Fh30wP3G zuHozXHn^v&!k2+KJ+se=(ttICE(8K`Vajlz1CuVEuMGaH^+QV8CARv>wp?l*cQOx^agY#3P!LOx@^&`ZA%{Q`<<(vhscnG4 z63!9f=oV7<2RH~HSJE85k#jR8%|;eyjbGv%tTfM($Cl;c2zRQdGv61G4?ZH_4`^cM zf~MwZjDlWjDD8^XxBOVt!dow@`5bp+SkI*DnET9#UNY1}WL0Uh$87B952&Ee#rd6b z3zp(MpxGbtbx_d4d+>?xQkd!w*RlrqwFOZkHETCa7e0x?taM?CLPQrjY*$#n$jeO2 zI8}T(j}1pDd;G~Jm-hxCaVTjZ8BWJx*gy9OH1mqtlexKk9-bebeGIFvM`GItYQxS? z&1u%S;1;F@7tAlfgQU`LQUnP#<=8zQ*te-deNfjs+wS!6?uuN+7%(O)Udw~i@(iJy|fe3P^-FgPl zq0Ku}g?e>^srvL5d*8L?OQ`rZAWt%dLWYm;6o(^I{#Gdd)66BlI}f-;*L(x_e%a5a z=h-|M!^!(hea}lwL1a4HHk%kkbFar}*GCoav|MP5VFL~!ev;qSN8Pkf$MJ1X?EE&` z>2p0>^5Q*5uA*tNU=*hZn;_VS=7oFuKxJkFl4xuoIC~?YxQKhgOI1M0na?&|l%f~Z zTd&*l^1>xf-eW=H}?29 zjumWRV1uA`{VugwEE!#vF7E)%-KAK`8l6|`%cdzl1?VB1j(NFwTN4PCQUq{t-pTtb zLjFB)aEJ4zgr^)?m3W$V;jyv(P0?~v_9*oJYbYd)v%yXH)TRIi zf?dvg#ML@11g~&Kh#2x<|HaOR4UPAAj2A3iqbF_ZNsdNtKHKX`u!jAh=x7mNki~ML zj-_S+aRY3V|`Phd>7?IvBo5X&Ll9ZU*PW| zDZvT~m&o6<^z7r3z2@QnF91$JvA?h9)PWdf<}ap%<8q=X@}dw*^K?ndmj_71)>f#m ze*B{;!V{bRA1JfP{C`m4!woltV#;j2xH5MF@pKrW^Qr;deG^i%# z(hV_*C&eD{bE#l|H;Z-L&VXEO&*OMx=p%cpSi1qMSILmQdt8oFpMkkb9sha-vqfUCET3&=!zf{~*N#^P zy8#J#mJ4a*_a}7c_gt8I1|pEBgDb9^1$xhLL` zVsv0_4?*X;au2HZcNQK1$J96oIWs#AGpZfrs;AbzIVP9iSGw=F*aUg{kLNV%?A3Uh_H<4Pvv5-=zU zef$UfjkcHTv2B&_^I2)5$Nlo_m}TGJsDiG4b3RwDP14g|k4bz{Q${Q&AFWB{t5Z_F z+Yry4UdJKD`M6z&omA+Kj2K@pz^NJANTXlQ zD!Qv83-LW&YoKSgvV0@?Uam_Smr!eN7W$4IyfHO$ZXLjN5n`-;w>E#vk#M3gthSxQ z!t;g^&MJq#<*09Kr1VpfW5Pocg2R3yhBW) z?^TZ@lOqks_KhxqZ=Z5ti#LFB<#@W@1p7R#)5zADSrbs?Db0%zC!$lu?Ka!h%r!OT z?#;-iNl$Oy*M9j@6)iNYMSif%fWjq0hsfN2q2ug0U$DK%=>7Nzme^&KMWL|HYOfzs+Njvpbz{_ZfH$lh92~(QZp)3nkBV1iS0*qtNxo3-P$qK68z(B?^;~k$i7u?eJ?M_FVJqEE%o{-tG5KctWeM>+OA2ozN|GXfE%;1U+ z2S!zjMjYz(TGUq0>$}RLM}s7Jrh?tbJ|)0rLv3Xo(ms#GUEt?&q^eeB^DCJ$MO?TWzt4yMqYE5 zW@Msn4c?^vZX6hW(i-b9WD!#&OXTD&4m@)f%}%=ILGM=CKn-DAR9)RG?#S_h-ALQ5 zs1Nw&}Q% zsEeeEqa?M)Z@jCEWJk`uKrsQo3_^x@p3HPK z*LZ-eNs;Lq8D3ib*yir;%9$v9V`)iKWmF+$yX@-1PrkzK{G?{kL%ztcH>V=r={8+f zx9n@T7vAikUH$L+<^m%&^ij}0+A1jwX*rT3f@$X`buk^9Jh(iTsS&(SC-~^x7P$M? z56q$=MCR#S!=DUvb*97meZG@IMyoD~P1)_zhj$*UE&&wwVt2V431+ojayK>2 zv7F|`=!{tK?+M$P?<8w0Eu1MvuN}K=wY7AFeXLZD>H$G2AR;X8RrI(>;j*@0UR1IR zshEHko{mu4+L|5DlVF(63WG6#!2WhfjBdAHKNfbT;`}}9C9DULZ%)UeDgsPXH%J?j z?#a=XiS0^H`O>{A`BAo;pOM3TFZb+2s%yY&TEWs0tU;6cTK5o;Dr`_wk8J6??I`er z6d2r14757()KsvPdSRy)%WxA(S>UBpL1mNZK0D*3VC}IZeO>{r~Tk5y$-DYt0$0!w5JGzoR-VzXuI(nq(JMlhuBa7H#>fI zaGGs;$+8^IU4A|)U9?E6&V%k9A(G6lyZ+nUdYD`_BbXoGi9GzY(`!%EK-G|7ZtS2f zl=^n)%Z+L8qh5ywl6SqShGwxj^?8P-U61%$&T)0MP>Ie-i?uW6o#Sc6e5Pap_lZuthv%~yU#`owSYEVDw zI(-QgU0706IA6&ojLN2O&zx7;;tN;G&&?4h+a1a|n!sJqIx=|Bq1T|Kb|e?gsDBw} zK4Uuqm{r*|v{K%y45cDjEy=TGiL^Aw0z1YDgCzQ4G8Fc(dN`0Sp3{PToSwSQ6Oq&M z8tuh1$u0EAFpKE1$6>88=RtfRg{))mq@Br7ZJerRjKAEz#A>tE(@_ z^yP<{ljx7}o2cyr*~klvt(drj>M3DVcjDxV@m!j>X8c#tm>I=KcYf?rEQYI;Z-ssj zZ4;DP>R-?$HH^z#jWt=laIH#kku`nbr7A=2m?OaR<-_Td6P1PuU4|#>O8?3t8d|)XDAnErFzHBl%Q8ndBlQ0FTW>hce6rH0P$)J>(#UwA>p;ZBHtHfXct8OoN3 zd%g+>W~lng3ZSCk*EG$yg8j|$C??4+GH2p>eB3Q$$3F~ z{H!o)N!M`tvQkc#?CwK;^r4{Ss`7z)P@xKLaEwI7+Zk3a+2{L@jS~b`Al!+WlM_0p z{c54CJPMV;mE-e|QB}{sd;pSJO~U5MwY<^GqhCe6GSsrdv2%Y>o@XKpmCTj8_tIZg zVt2Zu6PdC;s|H8MiQWAEJX!XVe=E(m33>n96tyv{=%*0DR2EW7|7?&PmbG1E*+Xmn zcPoV1N#?Om0Xer`Hb!il)6&13kf1q_)ZpsmZOdM*2^5%6?&Wfp4}~a&o?!${sya_#oE#F7u{g)$oz9 zddq>_JTq6|@u*K5-()n!K^Y`T58P2^w2ixDs1KtW&dbXb7mBGY{-Ed^%Qp-K>mHF= zpB@KYHbJup1Acuy;;-i+zb!Cv&roK;-=)FJOvuL9eGhdI%Q1id#*N>658bTagBJ}( z8aKv_E>R%y26D;kFp42dEACHQY306>1CSP zwqX@=!JeT0O)DY6xsMUseMjY(%TJ2uY;q0!Te4?XT3)#-8!7}4CwdH^Yy5jFV{3~# zb7yThke~$3Z7JJeRd3Y_pUf*&Dl+yc(0O6hk?tOvfi%n}&WFa+bvR#l#^ylmaPx2y z+lg6XfwQx?*i`te4S0DPu|FXw$d0v!yZoMxYzciwRz>_Y_B*8S9eq()Yd@_8UP=IV z(V6Y)_}1Zab9}wTW&+6@r}RhwmKt``2`9vUhjh7toHp9QA79%))=Xs-mK( zimsNKx3l1`;5}F#G+tEkXeE=vbEC8Xv&F4GY9(Ov@bclK^3n=NE$ew9E%#qv`ucf{ z@MP%cl`X(t6dOSjsbTO|AuPm=>H6|nj6&G%#AsjrHF%SZ5$2DWg|6hpD5PA%LMy<{ zMp;(V@e7#)T9sOXE`1a3g`~4mmY6;FY<uF^)uM-DKT}3pS&>NcY*g`Q}L<>*7b}n;F%*2x| zAh!da4Hvu&-X}4pBL#}h3&;#GR^+uMWo+#96QoRj)=OaJId@%rOD30~-EMG$JnMuI zOY=ZQpb1NHzjy*qT2AC6koXrI)IHxGZ29$X4qc{^6IaB4y?mh1%cxcyEaz%0bkhZE zRV)eP3c~qi@zUFb(PQ1N#>QnF_ox%)CDYe$>}>k=fy*5Ck11xO0L?#lx6(Ov-AT>0 z(&_H)j?0zcH>%^`r)Oo2ODm$C$-_w_#qfSs5_N`+>cvQp{LmoU{cv zG!i>tfUIq5V!*Ll;`xJCNEH?LXWwOh*37=sy|xYOj@~B=Ug*I*FkMscO|`HQ8}5B> zORjJdpGu7ZWdC{4>}I7#t&;Ke)=oI2-8kB1b5zJW?u9-!apZd-Lp^W<_8+}BFu>Jx z5jq+!P}J_*BWZuI97c{VKO%I=;GRw3QA)Fi3yB5V|4fro)AaSb>$=^2t|N|*lKIm0 z__w&3o;Q?! zaqN~xQy}hpBu3DP=mXWy5lSyFuC2qdv`qgb&2d2x->92lc~|4@)Ra=@RGQe!T4}L1 zK>aVQq*pn#vyDJ*yqD$mBr?sNTZc&)3q6cf-0sV7UUFUD85-5El5HnGDa5KB+S%kO z-}O7}AK)fE^#Hj(WjSfYNV~->+OW87}G$UuXU_(75Qer!q7Q2c%-xnUK9> z=0fsHh5Vm&l_{8 z$-E&Ai#uSbS-)>5Q=HQ}swX?Yyeri~}o{ML{{y{^*U7q(Ff zK`-tJHHGok!UD~mOIN3ZZCg7Rn&suE2^(6GePP?1hQe836n%Zg7+%t{w~lM&(&*_< zAJsPJsr2(_&*1<&ZICsJeviO(Z?4?2FQRw?_br>@4?~ec>KbGr_MXJuf}ud+FOnNk z2!1lC7pmZEJe9EW8a$reG8Y*QUNDu!gdF;Mo&wIpgFrPLLHW5hn}b*;;c>O|B2QZb9sVsdTrPQpa0Gs`VO=CWm{B zgTk8b@|4sa*VHAvPIPzM+fgasRjklL)8>}bbNAZQHfEkp)ZH}u`AH?>la+HP{#7A* zV^CwKc}H9e>~L7Una62QJ~~2)%yzxv@vNt>CIk{zO(Gxb!{>@WH zIQM}H@{|%#7O5Gzx%VT3z*P7E(Yq;p0$XlcchQZ;!q4rZZy6J~-+F3FqC9qe#?H85 z5DY5eR$MW=5ii9}Nbx>f(~)AaIglyi)!+I9{WE?+1GAHu(<1YOpRy7df{V7ogJI>( zaNw`y%|iG{}Ue|4Gss&VpDh^}6&pr9BLH7k$C zTKM*)`momq{1?e)9xzM76}c+jGFK$~kdz5Ia(DJE^#Hd@rHm_Geo@AlDmwSr?_mFz z^waG|;ZH6&NZ+9UUt+uxwokV#$`#D$O-1N($M>$~WAp?yR3% zWm-Xq?&9#G@|g(A(0DTry-knbN~oO|W;>p6=^J2c;i$~&dl2du8?gH!bV9-M!So{i z&Z{`{$nUn7?wa7^7~f5n6;i8s;n8nNzMv&dyh~I8h~eOlkRV!Afuw`TH?T8(1!q{h zH!u63${TjIBaKlk#Yapl=7;@m`SYyG`z_6}kDctf7@nSe#vwzlu=oh08ASJIJ9Nj? z`-Hc*RQo)LN^>Q!4|0@iAR{wuNv-oZI@g~q3Hfl@o4dR#t??9`IXzt*?HFVI$!#Ha z9+Xrwmj7zkvmzpweS#*^{!XfuNOggiH>>&cIQ5EK*2mEYXf%Di7g}JC8Xt=;;gk2Q zTt&4`6EZyesRO}S5Y)6;3f`xc^-pJ>dro?S(rd?rm~FEvvc{bE^&`l-U!-u%RQH)7 zYatfFoE@6HBxDTlS@MT%gkGf%AHF~ACtBA!09f;BIg>@V9AM>rr(Wzvd+!0le#MM@u|BdPr{7;$#6Jb?g)-c{~UD9VF%B}S-!lw zw79Geub%{)^G7Y^IKm!bC0e1xkC@dR-ew$9{2c0Xlak#`>!mXBK%7lz6fmLox zg~zaOdK6^J)R8gORT>;r$y@rDfbOv9;(c?(eDia6iSWD2is6W*<5Fc=l?&|~4R6Vi z)=*e^$6De(K^Yt<`04V7u_I(;J2$&kRMS>Io<2T0pT9PhEe zXBf#lVKX_Po#Lm`1-3mTDtmKLOZO;ao?|!M5Q7L}z=66)N;MV3j-te7`{`}z-}1@G z67RKSn;=sN_pfPJ#&-BQem1Tf&1Zj63*17jeo|r#VaPIcd5bc(W$oa8(~_oqPU9&u zW5K+@o)}R%72$dXj4{?E9-3vsMBPV_#n;ZPC0nl~BfEz^<_vB1|6_rbp~V5^H^;C=?tbG=RFrcHHx1ce)_nG7k>C zoR;ud{1pd6=Z8@j+qk&djG@`Z(1@!F9E?yM>+3Ex5L0GO_>`5`r8$7K#RM9 zGt6UX_B5iUbNKL*<5p^M`Dc??AKq^H!~*Lc@54gN6*|Or%*_gkX@wRF*YqoV<_&a> z?zF8;3l&ev70+8~p$|A^PPx?ZK@AvkP4Vl?ir+7WiXlA@b$gX)o#&#iQg12U-F{Rc z^Qetskd(KQKM8w_jp?x0xs}R9m5_EO_dEHkk~;j{*>&Ce5#CC6t|zUnsbAh49_DQ^ zx9&-?<%%Sga8+hWoLSsN-xGe2_^#aDlI)3lPXJKH8|-UVNA z+iNXpRTGs?t%cjNF?lC2a*elF$OBhivpFbQ;O6Klv6L)M63|&P3fst3<~vMajj4JF zeJ*Dr1!-12SZ{POB@eSPyFrC*qz@7x$~VcD9Zq}Xnzc_JC3FI19(fH17P@iImm9n5 zye!@2i-zcjp`z9{*j=rq`o>PeXw2VP{!+u6;pdZoG1m-Z=Ihyi#k1lcghl=bjurn- zy5@)VbNlwn#R6}Ez`woZ^7ofst^`i{>D6_`wS(!O_diMdd7Pjta}jcwgkySbqNcjG z>_^TlFx-I2TZUcwyhK?38(G(~tH@b}clLUc_B>A?`3ZLLi@dF`r~`NC3NL_2L$h*1 zUYGd3Ap2k=sEW>?DT6(h4zi{bqbsH1AzndwW0;LF?^eWNn{eP{7ZUHHCs*4z^1SAa zR#$l}Z`9}FH&qTtYldrLI568H^VgpSo&-qUlOCc2mMc0QF_G50os%Cg z#q)7brMTG7(SCEy&(C2(Mq6l_AlNN48sC+vJxvwM6Y(o;oYP+wolb~Q$d_$OI_DOKS34C!1DopX_mldHhd#G6A`b1-jnp$z`#CC4z zb{oM)gUX!Rn=dc|VA4c@C@5WlR?$Np1l6wP{`rRf(e=ZB)~)VeNx#}(|A)i<>zEM# znA`rGelkk>Z#)AmdtD2$p!T;96)$Z!E@pg(1K)X6E^%rC7aZ&5`xQ?8jqS7a>2AXT z)0!Qt&+J3qf)7#|!cFKRWe1DQ`(94cGI>pTg9KstMpy{GGMqj78EI>dd$<1*bqfv{ z?Izu#*^PdKmCd62T7I=D%FpiRD#)tnYK_!u-vYBKf0X`F`tOwHUv>V|LP~Qnt&letAL=W#)UV@v${wVyr z!fG%H9OyXl7u{s0+UGXCM)nn``n)I3{*I)(r8EiAtXim!Y=5UWd1M>le5i>IWoSTr znpEGo0sHxQ#$4h#<|M3fPK@l2vOmiHm9nF&d$^@PpJ?#|ud-X8|Fpko&RUhk*vx~ZarrJh}BL*{DRNR9s+%B~-U|E*j;LdfN?D&%GL$ny{@_E_0~ z{=O>mP$uNY|B>4Je`x7%wo}tp-56eHK9`b)Z8)3Rc&dtW-Rl1PllPe2Hqq8xf>^F_ zaH;;>2;Rv??%!DA;0u8cm`8r&pP~?skBJ^ES;7IY80dpu6NA%8>5^)9P`(6lhNPdg zl@y>4>nnx>iOkl2ir?lK20haQ{}$S=7tzVu7C3N7Sot%u?DZV7!tX(0=7rta!A0~$ za~5`m+~7g zk7Ta=79%zKz0T`2?#8%)VQ(vbMv11n@*6O}N}ANGbbbW~nhoaQz&XYw9GHCyzM4Tw zzlulL6;cz%T|-0d-$6<@TB`zb+&n*|5zWAdQ;!Ys{=U{GK+^kfD6|)OSW*^x($Xxb z{Zu5IwBq~M&ZZv_qrchNnEhS$F4d_#KaR?na=i;F7QaVUQQg#$59s`llZO9|68=9B zr~9!^xzBT$D-!J@^IoDc*$0ny1NpxzP_F|2DEzy^>O`b*U4?YR&#cewxNm)BCFUbp zGw{5=P0R}ierL2ZVzqy~mCJZm+@Ah9ObnfFO!VJSqvqO16YD%bqdz ze+ORP;O|cY|Ch_OIOmv|<+w%h(93<_TCflhH+}v3L(AxIq8c{-?!X9@(5Z1nkkbT5 zt}>JT9}~}9ZP2-Ls_n5m^J+#6YDMnLADU5s=I^UpssEP?l{^JHjKRrz4saj=L1C-^ zB0t?0s52a(^-G4G!X)aOtC)K^W-Rse8bX^XB+mJ7q}}=9%@b-XMyVs^s0*!lVlKs2 z#+hLu3kUA|u@+bDz+Ce^tt=TOhaEZ$h`L=1o}&hb2R}pVha{9Ct&C_{(wNtv`CEG0 zX6Q{D8kvmJ>!%qHVDybqNsY3w7I2-WmNlB*qA!yd6Imz+OsCA|XIqZX(_*N&TcTv0 zoG1NDQwv8<7>nuv_y|s^XEBBh7gX!)j;Crv7K45&yI%G^?Cwe}D zwDMHz`P>Doz=ASlQNb~aM&gymR#I`J}UK90G^WN0hTYEF_)<;GSgWf@Y-pg}`i`lPub zagch9yg<~_@C&{Pj&+}ru;xhBVb&vSY^AJ>$ji^J7G4h8-OPnqXx@CW%#EY;LuE?% ziisDbee>?`+ZDrujmZ=9O+ij$ZvMWOjv!1v)@kyz9tg0Q5H%m=1)#f zC+h3&W9SClK}FJ--A%$3$QShFm@vR`KN)!u>N1J>+P3<#ga48_vmRuYTJ58^Tcgwd z^h{k>vO8g%dX$x?easr!NZ&JoA>L#nf&=@jrx|iYO0B23LnFrb2{DIS_l@xZIoc_< zAC2N_>orbs;540$8qbnR7$SyMKUC34q}n zHd2ugI&(UrVpNxLyIZtF32aU`#7o?ivRaDmEVwCPu&TDJ|=JO^4#)FpW z?;AQ|HKxu)-W@OJuFa5?fC<;bzXcz=f%|C4qdPmP`n>r98#C7Kx_xoJqlYqX6*pCC ze4~~OrEJXluU1iuRn)O5ZCi{%Yk)fYdx_5E4}opM0uIVR+syIGI~PL-)~yz@vV#RF6}*%VA$Mv+;+*g&vwKY-NoFs4^!C`wg%9!i?<7yw zi%%eRP{!Zqy2WLLC%p6}mbJW2HRE(Kz?NZf9l-_Oh4#BD&_G@Ar5$1G>X13&~BWvPPZrhn@2}f(fc5Ydl#aY4%REG zkfdpBW~JS4q`?yg<-I+!U#-Rc_=PI-=_k#KPu(V4(WNR5W*2WGz3)1rtp{8$3CA}y zHFXpHUOVbB6TjZ3i|c;*-cmg>G|FAAtbBJ}Z(P^K(eb_$TCD3cjvFe^#mG_2hB}Lr zdiXKWtMet3rX&l+)22Jad+w|1cs;9z=BAEpvN~+^vg?!$htt$NE3_0Kr@bTSl&ib7 z-WZx^iJD&WF@onHO4Mb_fpN&2uijc2);0R7he>qc3dYaTtr$YY(V zI~8NY5N$FwE|L(XtAg>pXTiS|DWdE7g(S5w`iZ?5IV<6W9!M8^CXasA4Qk*B`YyG{Twb$dE~yn09^UI`pmf(+Xk~ z+?eZzSRBY238{+cw1`T?^jp`$$=vLiaa$?|R2G=>m;Lzfaq>MXd0Vwo4%i=RC7IP& zeP$?~=dLaB{ZYB3_3R9te{yZOoWY+VXr9`;6MR!s0-t663&gl?Vry- zN?K;=Vv~-IG~v0V1=!36)n26b^mm53L;g4>d?SxTnL-33eyV5=i`2D>TRo7~Ugd{=k|ERz30O~dD<4}}%YIXoI zN2{s%FFAU@=GxXh+^mVW=Hv`H-=7GoYRM@te*MyvWO~Oi``U96%Z4lnCYEfOJ^Bh> zrSWD~_;I>Y60z`j^v8&zBs;NENLYrFvnW=R5e5@2isFy3_BuH5HL~k&z}D!kN$LkJ zBU;%mn%sdyd$*rUEq|GdPKIZByJPOfd72$6j zy&v59P1xpU;qy@(uG$pQ6-1TYm8ww>DSMDbYu{c$XOt>->Tc4lqgfn<#X4|Z&)Mr&6mqGtKms>G$A-q>+vdF?%ZJP%;E1y zx4F=|SlH*XG};O496;-;Eos~XO<9;U^w4$KYBnJ!@e_VG-<@4MPjWfhaOJXbwv2ez zVVZ$^P{=dUI7=0t`X|8Ng1yX7hS`oh-G)e>%rGytvQ6FRYk~u$G0hW-0^|@S*DT$# zq1NvA5jP%f#2#$@)=!?ola56*uay2>r{!4WhJS6w6WB3OT2Sn9SI!+7?9q#Oy_~ zjk>wHo+bT~kr(Q%cK!D3n3e>|BVqRXR->>}Xb9PFC?k!zw40?3I%tGGwkv`*X_MQ| zgdyusev5IFIt=`vocyu$*$w8%Ygh`f-(F|-oL_uYv`_6A!oL6<<@f5Z-Sy&o*;q9Z z_B!Q$Y9x};7dz%R*S->FR&d{9>6@4-1=(lj+$QLxh#OwhK6chzXcG7wFnFtKDmG-$7b82HDjW+D)y$@h(onAY|46{%=gO=Y#uVPJ(;)X=;BO1)B18$zfgS|NYtP$+O6F9U{4E2vv#1m9Eh z0Mt-`;50o5M)WA=n+p3D|8$k{L4naV5bN~Ow0pF@2lzb~PvS599=(~VU@Z^QQy~SZ zD%jD49zIB0onl7)v9ebvdYuwCm<%ieW+}tv$#n01^LLX!VePtUG5*F4 z(!UKb;G~%`+nRt^IgC1@c`~LbpO;@Ia0w>Ow@ovv5lOtWuFl$f7=hh<%jI#uFmv?v zKH`w+)w)+@3^;z*QhZItW?ow6{NpHP9}Xz%O&e*Hx%9|b(LA|HHg!a;mGGO`4E_fn zntHzqWE}Z6lwwsuZS{=9yb(7ekgQj%hlZLb4f`7!DC#=R3xOU2-SV~Q$70W(VLl`& zl;8CiAt~)R0q47DYcTGFb=S`}k41b($nk^?N&s;mjv2CU;Lm`ye;3bVnd@rM4=0i* z=!li6!aRS9HQKmz$vwyTl4L&_#&XH5Uc6Ih}1u z(FwONVoAQyN_EhUdvX5L>(6l>_iPFM@{#~>d23zT{~YCfapGMzP2JZDHGT?a73~V? zJx9MniqYCh*}YIY5^`t4&%f6Kl2&VkG>kjqvE$1Ftz~rDgM#P--Lj&+9}(ssCsoXf z1+zOz7>Y&b3|xF*uHtY2EJd|j@G}^yP!b$yOz~#XJ=L5U*4FDPS5VnJ)tAqsBYTfd zZM>iB)Id`*QXcf}%>?NmmoddNc*HU5X%1N;w}G=B=s@-Ic-U^@M5 z&D|fE8al%e4*P~fVCt>pR{tC%K)cQ>t!?7&{1xpnG7GwRE`G_kw9AtEnMt@Ya<53eo2JR} zn>s4mnQZ<|rLiwn}i$Z*q z=P5$BC+d?rY#jBXc6icdwmE90aY5JUyVt!JA}yIsW`qaSIOv~d8Ws+d%n<+c>ri<+ z#BFDQ>`hT~M|>Td&G~y{PMbCN%DEe~V*Mpsn0eA#wmU6my~KSDIAC)T&E4-|yP;Vg zk0d1L!X3hMjAYG3>2%x_e3F}+?Be~AN7sR*6r%igW&}CT z^9R~d=T0m?)Mq_64+5pyDCo>g$7Yn@BjxrxFf0C)QBC)8#&g~BZcF0$%stpxbwedj z$`j+4ueVu;MdB??2B2b2T%-HeBu0hxeic3+GkPu^iY3hZP!4o)zaVPp2}-PI~2IB542~^cMaP6u*~%F z$Q)3NlP;N7_HlDE%OEiuYwIVgas?9>k?S{H%Cok(GF3Gm$JtbE3XXw;Noe-=qn?$|?P>DFH zu|(8wwE=$8HZy8RDZ;p|YMXb7ZmZZwF81}^3PLQhQ{#_ub2`#~c6tqxT>j%T^7Q&T zJ7X8;{A)l5Y#hgvcT4y5xm6DS=G4|GAfY{%Ys{ zd^zLlOB||b9ap1PAZM8;PI?gy(p1)!ha|so4xk6ZK58YeAMYEOom32Xzl=qHjIt1s zhOrO6s;=*rh46GV7o2CLX6f~EB;!fpTXhxG&RzD*nBm$p&O|Rui^ki4uj;jW{3czc zv7n^<`1P!hvc0~qgGqtefA7*SZ~3EI#cH(~9;$SkF#+wNGWsCdni9P=2uD9%Zqza1 zj8W^scNHv;+V-cWBZ2$Z<{1KRFm8XQ)bV6(59q@X_6B+K=ThB+Q@f$Pq{PRgG=5zp zt^stXFNIGTa^XO8%^o^*-v_cSEol(AW$ zBB&6vXE9i6iDOA0KQi#}!GB+@$5tUH&IL>;*aLjea900mjeACBzD0#*fMeDz39-Up z_HO=_4KYf2aSCw)Kt)W+%`@MxI#1hB=QN`W_^x{krquZ}1`-%Et`jQK(sB-}NZQAv zp9)MSaJ$c#Fr9_`o;oxskf$;knmgn;={^o6v1O>Td{zJEjSfu{^U>G&lriqy5V96h zg>jY_^Rm12CRk71UwI2{z7+_5qGdU+11_&4GtSj-e|zxldtYuy%S=@)a9^T$HFG~Z z?=izUl1+q=Ui(t8$tO3A!&Jrq5y;(Rll+GG^o$!FHh9iBXYH~{xa>{BNNMfL%tP$y zKC*jD)sG*C9#fa1P~B&&R~;-v)0(C0|ySTXO{^=X-iUrsrRDPG%g&m+VnZ_s_eKovmDh13#7 zn?<{ubi)k`k|SlAYiJg;>k^gEKtnU=J6VtWKIJ}$Nk8|#w^I^L6#k2(~RuMOS2 zjPe0nJ-q?g)8EF1FuIhd^v9O2UgyGvq8VYj22i#2MI+8q^y!cXubB|P33-ft!C9uD zo#;-g7^Rswh4g*qfjXH?LqnIRvl~3Nlk1vWJq5Ef>X7H)A0}7b%Vv{=Mtr`<$eHLuE5$e~gYK(I|Sigp36G;@VJ1OU-M! z%x0it8xFW`eEBj;q16&Sd|E5d{<c}kXzieoMMum8(13$zncSSa!)|$R8gJ6_4_UNhXj9&_1!&FD zllekRmZ%cM;a8=JqSRm1u^~o2R!$jDl(Lp4M;Bd1rYk1i@0FxMksrJz8s+x-+_QW( zj2knzv$a@fk|mDpgEC+Lk`Ad+u(cz$Im^!cTLm(|eP|fVbM)7$=y#BWk+>|Mafo*e z)iX+#`pArNuc{%p5V%L-X6kEzu{I!v)O9t(M|6G)G68|@v;gCfx6tv&8*a!dRpJ!i ziVLOe(0_nx2OOz38~saWSmfxkZ5}^w7c+j7*zCzW4=;P^|&`+qb2Dr~_&eADe8L>~BuPs;sQM;UT$D9+W!2I&ksnwsUWeBe+_ z6(ln&lr6lyHwz6V^}kp+!vM;U!B}g@_FZi044M2WQsnNbz;Ul``3P6OO0(vKL0_7~ zTK;6>#}9BI%8tird3ztzp_$iQvUIW0ptFrYjOyNm_i>TO|6Hapj7M4d&y zYMP}9U#7C?+ha>Nbxm61IUdf7`1&baOqBICxH-Qb4kX1lUS4or{f!jn`ZM^Vf&xms z(vU)RYEviSH?341kB1S0X`r6(8Qz|Y8YYZ;`C+G8ZtT!~@WuHE(lRNneAv^i*D}JICvm}hr za_16d3l8jzr(XG;gfdtF6;7Qn)MLmojh&~#`u2{o2svMEs35NpdjB#ik1M*kjp4$* zkmX~41{hxp4$NuJ{CWJQhCJwV%*Sw_v-XB8alkcR)9fnn~PuqLeOHFZsKX*oIrlkscbv7*K+ z5P;@Uh*;S$(MZUk25fGRL8)7J)O>Q^h{ zUq-Ksxgk&1YhUB@YndDTP&H%A1%;q8aGAD#bFpkUZl<9HCX*0rhK13DLN0f6yK|cr ztzhZ4#q95r#Gw#Rx7R-3z(}#EeB|ZhH2g&IwpXXLs%69F<_z_pUj(;y6TfwZGTZ+i zJ#Z|#XJu;zf@^#azOF0i<%H4+T~Jx9IWTRSoVs$keGDPMwvqXS=0y4MTJJ$RLWJ3w z{!~(TD-zVZmR;k>oXn8p^rop=&bfOlKD!=o)HW5T-PF(klODy1o+1qE>cag(ZYs<| zarBGdnDOxY?KTwK$cVtZqT*t>f4Is1k8+d6+neBp(pT=3ZO!m^P@uXy+6bg#>u$6P zFn@R{!Qd}aD+RbNzYCsNdZR&y`RU-z@G{{cwyUY1%rUS3T-Ec6g(r2Pgy=p+57Eyd z*}r}s`(I4gj<`p(uI2ufw`Z>&xUOH{H2W6}g?}ae@`Z+fXiHtUWqz{QmDg`o|M?es z|0`c3S9f=%Pi*7YL4FvaM#i*#^G3aH37Y?%Sp!2__IN=noX%Up3*@TkiKo%~{6ePb ze7#eUXhE|k+O}=%wrzX2ZQHiF+qP}nwr$(Cd-^};%*5P?8}m|;6)UqUEAdck<;u@; zM9yB3(C{$w4L|JH3GcFft(6GQBzHvh0AN`oX{<^yvm*JV-@C~_s%<2=8k_Ymxz-do z@LJ`zNa4Jia&k+SHA;-<&Nm;0pmV{or?1b%n7SpZS(NR|cc34bk0nb-z$_iNk^cP% z7c*<57_J!o-wMA~1N(V&Gqj`pH({TTpB_@E;BbICo~)0(y_KQn(E3LS;gf%)SmsW1 zYKW9fqj<%F{Nk*l}m4gmi)qY$r zqC6irryR|^SbX2V0ceaInjDOOQ^N#zq_jI*IoSo%zxSP%80M>X2ss~F7Vh)Sz5!?b z4z@yK)_R_j6$7zzW$(Dwu>#rO4erx)8WO5lKyUDnb!0Dea$9&eV_w`Yo7`(8d6BlR zCm#~d{_vMB`?9uTSex6!F1Fd0gRSB8f*mtk>sLLU0shsyumC$Xvw;`u2rgPzvgi01 zUnzzlds@AfOXWLTim!!J$LXUdKfQWWzP5n|R-u{DXwzpAZ0^Z^v% z(Fa(mtw4r*ZdpsXBi=-5sMvz5pa*#QF$FbuU7qu#P2q%3v=vi)fP=|}Pc(PeBpAK* zz(bC=`#E+}mkl7V4_?vby+wokYi`$0@6VstW!KB3a_A9up*btc4^nq_BJy!x@);2; zfo@z+Kp$OQh%Blb%QwD19*nUz(?!|wKt(H|u;S3eLA`~+Ogs=q*BIJ1q2FyXVKD7= za7P9;qm$sXSJ3WLxo1oAqG5-B9RTX*IN#eaR)tXz2)sRE*wFI~&2IWC($}dso6ein z-c4Yvm#tM@410Q=3*}u66{XXcE}`}JJbM&kUM5Xt=Tdi7`FI9~*^hVBxrsjpsiqi8 zs&?6XcFVf_$AzI0#ysQVhV8f-PwaE^q6f)1^5O)sg{n1a46z}$6g2THUA7{HN5({} z>ym~Vv6YINuZ$_N*gJ@Nu=y6Cq8&N>>o8~N-dEIrNbQfjPxF4R%a)IHAGgF(KOXx0 zbe_sia)D&2C?K#3X*i4OK3^Hbx1}UZ93z**aua#cpAU6jhIEm5PliL6wT}3ZSZRv* z(L6Qiy)b!koev$`9PCbx)TXS~Gfn$sJ=kyX`J4UJJwEtzd#ThkbxH4U0fx126kW1l z9!o)Y{+@|sf(g-s1x?aJW%py$3qEKw)(ZtgXYMD>2N2v$`6kZ@dhkLamHxNEt=$EQ z)Dl#;6CAip^GQK>)a?}gZn{Ay+{|hUk0p^OJvy}2*O5MU$(U#3&k1vzywm4S)U0D2 z;&gua)oIzPaxX46d=l}C_X84RgA9zL%EXBgko&F@3u8nN#Zn7IJTboB1}tnHqc6F2 zhQ4$r4cfv--(bU~<$oBIsgtiMN`Ba}N*5shEIEYIJ1CJ;Oj`@TnboiAFmY*-=?Rc8h+$;;Qqrvt-j|sXn}U5Zd{e`vCGwwp$3(rkD>RB88lCfau|8qWvndl=`QWH*4pyccvGUK_k*#S(e-8 zl&@6%&h+dW*8e#^BwHc#axFz+i6rmC_4&5zwR7P|Ri42b@tWNf^KPX7x(X@|6&~NP z)`zzGNY>WADz0QPCGlJkLrzu039~WuTylpyi5UeP|BOh0@16>uo21V@tUrP15-7V&&qq?T+)jONLWL&Yrs8 z#$TlBC4Q>!!Jgx3L3~uBsf~L2&Zq`8Bbvos*F~CLoHe;AMDfLSbMoR@NafT)TTA{_ zQy8uI+VD;}iaU4{uZAZQj%ZhBcvg9#5l#C<>s7T%W(3n*sK#Vr&%_bk(j=RHg<7tr zM>ZpnpG7PslYQ#?!|(;PV3e-1P1>Y$E|$5uw;xKh_5#Tm!WKt0s4cFxFiC^@uk6l) z)0v=)Oy;V^_R&3g+&HHlmVmk~3~PC;Z0sX}IZGT!X^JK0@{g=|MpIik&RJK>AB>Nd zkAFUX$kcyKP1e3vDeC5e*FP3NX;Kb_32nb!ZsUB^X*zL%M(LAW9EV8Zd2E~6Y5{vFwFExs*?2I)Kv83g(&RO3c| z^ckzHT8oZ`Zvu}5T<~&)mWV%%Xg)F_fn2d$UPek1Q|>Kwq})Zraq zIb4i@J;rt5NWp8CxXVCK^iT;v^|PT8?d~a$Xg~9!GW5oHNO4-28oa(Ro>7;Ov>2YPa(!=fC&cyJJ zD`Nm1d(_d_NMX$fhLn$XGx% z_+8w4;9TO>67saD$l25?a!I59s~o5G_aC~GG#{z=?ZG$@Mwa+$Fk09DQmL%{nbj*=x@^sH=xP5twa57-Zk`lbk5Y zdz&0MI1HK&AC21jA4b3Q8(QR&4mRh{yuY214IV7u+HA47CySQ87q>tgvt@Xb(8ZlhH{R zULk=4=*s&+KjbwbP^zX~_k%i{X(B6yaamO0YmMbsPh}}@E?ELL-WAsCXr$?vg|P20 zd5W;?^mN$;j+iz>qN~5aSnwQCs* z*-zSNuIuaNL)Pym=jG}oBApKleK;e-x>kT@B!eL^D~>2jsmK)Mb=KVtHu$uTuEghC z7IIr z+KLwGb^P}KbzOw9C&-OWo&=OeA`oWyYbZT*9vj7#17)M##YOj$38U`aODyRM`ultV zCSq;7b}aA-I@EaYkn?i6Zq7HN?8`Lw-mv&&FSsgXN?U@1Oq^PZr)?m)fZ%hy zz2_!+r||r_d`1vd)5gp{i3s_t#G5hnz_WCRBIRCo+yJbxO1B?RH%YraBsiRTPUicR-}{_Oh|@-hgB9tV z)lg{2l$FtODDF<}>)CI^HF$9kWgXgZ^J1!N&FHGm!Z#$;7{Ah;Z~6`#;*=GBRzmX= zN!M9Ha%!3sVDRfu+HIl7_1YsVfT;=(+WFP3#C`1#?lnKTMg(QgyiF}0(H%yn=E7rB zOYh1T;F_G)gy`iFD9)?mr0wB^ybfV+pL9wVgZh%y+eD${snI?tX{;8!TJELzGMxSH z)42&B$b0XfI|0hS>t9HNW$c~G1lkPxspsN$9YvIn*KG25;#zORZC-ei)2yG6s38(E zGw_J}k;_S&9#a<1>A{T-Zt^!6JG|{$;2t3tuT!m3q7#-}l$3na3;#m7gjQOW?MR{e z=^Pbd|9MJwkH!OQo2JhlCI7{Dz3B6pP>z+=3<#-4RTSTLVkG;XtRo8q6b%Xs7K z47FxBJsjBxrMj;Va+c|q$7ro=cmd?x)b2eY_s@n|wulV1VQwIRO5ej+ zYMan^0(x=+873XzqV*YgqvI0{czBa?pcwH)9TBOa0>Jiif}%_+#@SdA>?9ow=H^%h zG&t1k%wK=dhD35>14=f%ukCAxO!M~bNid^RD&f+oUBKcaMBnmn8_jmzP?puzBjLqM zq6qM1Yc@KYm*>+xXKC#tBSS`#3RAYM+U6iD{cQM0(kWal`6<>-dI=cyfQP(BC+H7x z3|Fm6;}D-t;3Y4d#h>6yiv$w#1-&>q_7jV-WZ6X!KSrGXGgYe@r|bRi!99V@Ao)_W1P!)nL;IF_@uK$ zm_U9e_Mn;PZi#U`F?5J*MDCADR@rA*@sytK3)Zj~{_w8L_wUb867Y;Sp) z2+=E`VDN8j*jc9f+29Uh*XQXFST3SfNW|5=4LS8x4bOAtb62PeR0b69Y9A~SAtSzo zJHIv?M}xJfaS&=^bXJ3&5e^B6s`%!)e7lA}qNi4C(%vH5&xh`sp{i;nr`ryWermdE z;36D0uzUdlNs3S@5QW9hOb`l1B+ldn+Xd1E5S2JVK#DXmM9=Wrxq>kS+Y38Py6-km zGG%Y>w&{Fcwr{pSxO^ucCYc&uJXW?XuTVd<>)II=m^}`eXN6|6bw@v%uO=Jd(ItaF z3xu?dK`AB>gtoURl+kayhxv zk`a_V=Fm=o>>Q;uaIFTT`>?8MN@a46p24aB-eq>wGo4;SIlsRQ0|D3({h)_s<7MhxZy%u_#5D8XLCm!;-v z^*to-L`dg>^bKDs&iErkpruk(y%R^zS-eKsYhox1l>NugS^2leD#E17o3 z6*8he1aV*Hf_9oqY|fSH*3Pca^RNvq!T*S@`)RBUw}H@GmcIsX>ckZ~K5Kvq?O5+; zE5-t|Ckt>D;e9k7NRhTswb4bt8HFSi)JK@s(sx57C6X>m)JMe}m9p8>(jdCZ>Z%1W z$x?3`Q_)%I>$lvp7b#RVqRhR8hacX~K}XPP^sj8cP$?=~Q6nu;5ik6#kP~ivJOo7Z zxKbQyqlJom(MfOK0@_U-21=$3>>ba}Yb_n>TsdkOlb(9t=tYO=<<^TOFEm?PeB z*0(;bdba8zHwm&J&DkiSlQ+J&6^c7d?%>1Wi?&p@M<;pDm7_cnDsa6{1e=|37cnG0 zwKarXqLWNzmmRBtlHDR%pSTEyasydlQ#;>1OePHjXXx~3vtw?-LS7P)Fl#7Q89+f` z-mpAVeF&a?x=F(lG7Y7_UdNE@s(O`kuc(#23!B5;8|SHfKJAMijS00tL<(VY>*?=? zJ8BSGOuMEz)X}4P@%yC3DH*^m!)`RLLtoh~_>_i3$uAq~NYGGd~p1D#ILZF6jBjA_1ab_a|!-M1}%45v;qOtY!w+$oIqxY zeReHsi0H(Z3Em+{cPk@dza2hnhc)3kk z7tXbAwX|T7s>(jJDK<`lnOksSJkY3^JWEuSQN$lA{?tKt*bO-|-s)>tkF~}%%}*Ej zW|wv7SW{Wc*LxbvG-G~CG^MJO{S$QL-rK$z(YD-jipfLuxTxPj_i!h!?jxb^)sS^L z&~`c;A#IusOXkn=^Wid#^Af&otUiYERl=E5;cS!WT^WLL<3aAn&{jJbcm%>ae`PCSF$xnJKPaPe@gJskA z+?GCgtO_{zpo@RH?}lU1R&Y)s+M1m3^a2u}kRjKV^HN3|a-5}A=F3`qaOQKG`VP7c zFhY3oK9el%UTO2Q?fAi*=B4%EF0z&q1qr9h5g$kSmZblYE}? z7ra5YR|35V4!r>R(Z={kZmxDQaHSt za*ae)jj@)j#8-=mnZHG@Z-jZ|CdhI^lJ8RRZ z40#tBo@Oum38dPrdKkAY&)%_|Pg^W5&Us$OPs zwc3vf3Cvnqe{Fkl$dq=q+%;5_FAuf@@2QNoFe$HCWfNTi9eHde?OI>orsqmKq^0IB zlvC$Xop}t!LibaRbg%^k6>ibjtx4icq1aiLK7;HC6bd}Rk_{~ub!|=o*(PbFy;0;S zSfj|9D}aalapqwvY-e?c5s;|){FYcoCY)T``0D_78TQb2y`~gxz`3t)#$xN>NKKz+ ztX@2o`4kG0Y%80qV404L8I#jb?Oq7Cu$b#|ny zDpiR}C*DGpVQ{a$rr}YupDaC-5wUDGKrs7)sPAJyZ#2*%#JPd}mu0400KQ*fp7AAm z9GJUa#J=F#moW%$@G4oayHPbl5wvCVhrhG2Vm`ifcZXl`0T#-PAd`f58(u6QAh`h0 z4tRqa99_8sSLD2oPf;!bzBz?PBRmfvh!7s?FP1;=T7N`Z_-k#yi1nst z15Sd$vM;>#Dzt==cG=>11(^b%K|;ANEY$6|u+Ty+qmgWXyPTO*QC0RdLgBcIr;!U_ zbYb+KkyB18iVaL&4K?Q3kL_U0My2y(v0B~xkj4do8tTEab*wkS5qtg;o@KZ=%}E|s zQeo)?UB5;N@tcG`%#2bH^4HbVYZkyR+whdGhgOM{$)1YN_mbMa7y8(qkY6H!Q<)l;t zt@yl2OY%irU;VIe+(kSdC{D*>Y;PrAa}h>;Q~g1r9M~c??+;z!<)5i|u7<$pd-m&O zr7ouKJdMxfm*_fdvg#?E&ftc2>~apCiZqKU@9nO}yJ*_%B+Ym*%#^Z$CkMwJv2c5) zG{?mFKAWG3>ruSJO*kLeI`LetIOoJSBr!h5`?sKCZ;YnaQT~IidF*1h;3tgwC{_7Wp> zIR@zl%80(wd6pZ5-I+xDPbu+MJ8Z<%ndrG=bfsW? zb9VB(P8h)Rj*`7!rnh5#bik5`37!5Z<`3bg&Hvz}&FAXb`iv%eu1|}~hNzr^JFHA` zma@JFNtS9k#LTB3Lzq!d6o}hx27vADw34P5*Tt>2+wGSr2cvDkY*RO2X+g4P8fZ(- za8DKpuGW~dsl2zUw!`}JB%e3H5zGpE&$!`%6O3M0R4vjgEUL+O$1sS=J=VS ziP;kMRBRy};AfpoqZV7{&{`z<@y4&{CRUcZ8(C|8-%d-sD+#nj%u-OcJIeZqh;!574DkcI9+) zh{Putagi~IVkWYT9+0B#cW6y?D+dY{Iw=4sP%=8X-5>{S><}qq*8mSCrz<#KOti)- zyU)+{S?yKciepCibE`%1mdg1F0j0Sl#^>%}^EnMX=%-x0B!TN===4CPBj}zp4Ltu&^!t7}&{=w42Lwx9eH(c@n!)%p+h1DnyIXTQthP8M1_;T6^@_(6&3 z6#&$Wg&**lQe*_l#Xy_crAzaqU#<=RiC}^cIqS#oJ0>7IWQV^86`VCk7*Muvcto_> ze%HP(Y-;;D*3?sOjjuvI_>Hcqu?K|bXCulYu&=M}OLf+)ibK#gYx>HYoi3UD1#@(^ z-S=vQ($wfDGvwn2T3h=zvgjPpEw~u8QDOi6))p!Fhygl3LkCg)#)sloT(}%=#Keb7 zU)Crjb@C4(0;ia#u2{PujolrE&ig|c@8uy;R>Eb2A3rLCDDDXypWbSpnw&%m=8;bTc8^WJ}7?h9 zP2O=G4gGrOlHX%K+4Fk`^s=2mw&ejUS-j%h@jOqJb*4$)>|LgpCs;e2m}db#{}}sC zvTcmWuZE|k)y`)uUohasdB=*>STZq5#tY3E_KlC(F39FT68^1MSXmpLNL-&Yqj*(Y zb37wY>m=o3(TbX}a~X7dvKTWEGHBaDQ=x)_5c`6>3@28NeLdfb@Iq9t+Zm2+SjHiB zh^$(OL4Ja@S^%RsfrGF;YvH^4i4&U(^oXHO3yXowz@bF9yQv6FKX8cFt9z%)K7JO< z&BOf+u*-MekLaoBp*}WzmATnYxLG|IzxLB?*e`X4w?m!?gfFgHHcFIlR6^9Y!93?$ zxf8%OA7~U3KRv3AZN%1O@{-`L2q|fU%BZvNQ!^PBRj2$}g{k ze4KIx4ft-|#nUr{2OI$OTU;QN_~U4W^$PmH`AZi`_{Ytt9@hnRk00IYN9K|Y-K>d| zAj{jv`Qakj+vb)G&0nEG+Y~>DTeVtNd!jjL48^d9FD9^@7{%ZeoR-X7Vd&yvir?Zd zbh$DGpGt6=yg!GVKr(bMg;{3%(3#ZD>jx0nuW77mMt0}i)hi|r?VX@rD`yaBDsCwG zN}a&UJ8z-(v1{K9_zXV~@2^*L>JAvdyv`hRCep`+UNs}7+HLi!NNPMHH~sK@9C7)G zJC(KTpq0P&c@mU->GADQ$r}LsFc(LHmLX$7D`MUvlYEaglIdD#rR(c%@TKyFIX$q{ zJ{}Wn7SNh2Xs<2z;Jc4_pS?FMY*Fy}=P=2Wg}N;<4XFFV#HAEJuHA@x+q#hcb*?~3 z=b7efbmr-GRgLaLE3OHr0wtn~D}R6#6t=}OF&JVB5?{&C=4VtXA;g-TP94Xv{a2mD zMP2?jRGD0?=yQ*6APiW^e|aMmAO)0~E&pjZcT@i+JwAu&mu`W#nGHWDpanOF#I;-U z6Sa~q-z&*eg=K2$IcWg_&QmZOcIEBk@REVL$%( zxN<<2;;2qKg||Y8`Ovh*(x^}3abpz{)t6KZcVl^=IGcV(2Gkdp?Up_pEuibe6h$p~NQjPetDW;5h-g`1rfLkLfPAKaHd$iAkjW_Ru`U?*1AJ+#pmHfm}Q5t@)O5(TqwN2Ev(ZDP{*txttay(l#$a8{&%ZMTP8^u}7BTDI@`>j~0*&OY~I%pCnR9Lo=y61JT zTVd$dFj^E)!3)E?rw8cmx~rcp=jkIG$ILjN4t?MHn8ndXZ=#MDS$xXwvTHE0Q<+{_ zn^_VYU?#J}EF)*Q0OF?dWBgz(7dyiwcO$v@17ctdd`7Os&oQs2i+Y^y zMt$cP_+92??Z%j9C#WOAMA4)ad^@{DQ+t4S`E8ATYN zgml}ZV-zEcAGZ~bF9`0@Uw8$#<@4U4I2aZMkdREsyFQGnBO**uM^W5HDmaB(Us0JW zHDW}svo~oT#U&0E@<7s4_iuUo+wcmFWsxCq#vXbxagBnUzi!z?w7^V;(Gc;6E!G%< zo{dy>ii5XNBZX-k?}UIhZdIBF-mM(hTB1iA!eO6V+7>ilS2?tgp=M*J6D*M?uM;aE zJO@x(l%eU`#NI#7IJ6o=1WnbzuE!}0bul~c{eB*Ln0g9blJ2G-( z;U~6H3@($R&&zAqDTz-ty0Ynz%rOph=hA0jFuujppBXY%l3>)LyplHRL zs{`x66AN7R>wCKjn2pj#N-RxEN6)-h18F`KCRdJ(Rw zbf-#GFxL>A7nSyH z#Dq~zDMpzs3JLvtNNZ}d$1a4f&8e=^`D0?jj!XLcCQmT`8Tp9ZtY3I0k=Z^-Cm4sC z!QWFwgi699ry)>lCAo#EYD~z^TdQ)~oaY9*$IkeCp(fSF;33mKfOSP8@1C>!0TGlrrg~Dg1fg=HHNLdL*S-Qc#fA!P5BG zn<#q)uamVE${r$soWi?$MI@+X-~Z=IyUN;Bcf%LK_HUMj6j|4z^)*dEhtH}+;LT^O zZMuQOX8B}QWJa6ec${q8_1Jqjtud19+^+hFFmtsKSk)EMp^_j%JX7w8R# zfe@2%{hEAldUt0Zm#oy7N$M&dyoI}e z3@H2_(2@lr1qt8Eb)SBhL^g_iBc}un5Sld}3R_u1fOt4U*`|jwj+=}U8$X$coSaQo!eQN=k10)RyANqL@- zyLJu28JFQJhWK13iaFz<1pq^I8J|#EpXx$sqIZ~sA~x~)vXZtoA&of3vz1^D$2eh>MySf$ly@SC=5}Lbk=8c zk}6kSyIRj_#^#rHpSBa*moc-d3Qo>6PZaCGp%tM+?v{AQ{0SiR4txyWK-Ls-=!fm$ zUw>a&0nPM`D>aF{>K__A7Xn%?ypJ~7suTT-WugfH!Isu`gE3w&xw5?G8n};IiA19A&Qt7yOYeD zHxknCJXyYJwnfWQJ#z4(*w`brrg_*3)kVsu8WY%#tN2nfr}AhBjO5f}ZV{O^Jx5F4 zY+u~0bZgQ$1PTapvQcVi{uF)d?QWhR@fUB)u%uvDox!d2d?9tdmrM^n7HU7|G9(pB zE~dx?%LsSc8nAMASNF|Ysi^z`|JHw@*umOF}PvP zEk8fgu+3uT)LD)Skk_Ylw*}9V1N+l>UYu8w#iQW|w0m%0VmlLN$6uK<=tMnbE%J-; z3*v^qiP`D#LsBP=K@K*%X3?3J*39X%5VdO|VY_zMmeh(J4=Jv}POw6u)ANCXk>8=l z{-{#}^Spn2hU;?Na)NAwPqG@KH}p|r`v)ye*!FU%2;o$vupmqQK*vb=nRX};sIh*l zEr4|kT4h#Z4Ad!YqM8NbCcbR)Aw(L3MzF%lecf?PdJ$&|_FKj-V;Nh%e$#ZzM9dg0 zC%mPuu+Kb7M+&38?ZfP2VN-GJYidKrPQNcFq4SkBkoP2|3;9Zwzi~gm8aX;BlH* zr{`V9!t~AoM8p$RK$Mk~OmK@SS5-w&cI2&kqLx8x{w|N(lo1vcU@2woJd0XQ6mig{ z%o!0UZ@T*FuH(1>Kc`s}x?$8Nu&dX)EUEJJRii#NbU+OJTY|1dM}1EYI@^$jg0?11 z!*9tb+2|yJ6qu{%%)gr#Ex8^Nac=ckOC$%5R1Q_7R=sU{+DwZ5j-7+B!GjiATJczlO?Si$$qDpZNaqxdiNbN6%v|ctK zK?(oh#XxgyQr(t^w-LPRCnWcBQHq)%tQ16Rf3;ih7_AEsbrqN@=7T?4E&<0QDMxcc z+Sum4k=ROYvU5a#-%Wr+<$?=>hB(XMH7WVONOzV?f!V%?)qcllo)6jRb_rE$B^W$;Zox>! zjkODXO$`O7grpj*Jm?PFqm|F5Mj>S)sN;5PbW-y&ucXrcXwekbTJx&(=k&?%(3_~F z*5ngRO?V$z_9eBV&p%0W>~pBuIIw7rx=F%!+`ZL@Lav2K-vaUHn>+!Vo$!*GT~VcK zqM|gyjrnRU&zxk-UcFLQXNd84#x}7!JfnSN8{2Plt_ z0>`Y{p1AusUuHhEjl&cM-y?8#MBytxuiYor?4)2_Ov-w^KP?6c{;^%&dO{l+l&CVH z%*84hai4P@z$T)WAKNP}5204_{N#AUJYlK-ao-s9sbUQjFR z3wXw;wO~`ceK-0BH_W@eU_SO1+1fLNA=U7SqxBd&gF?jXZ0bG=W3l|)a$KteR!}L z{&$b>T{-*%@Ki#c@oYi``R-OrRaCZ<~BTu)jEXp1%qmNm{0700FQ;*@t zj}EAMjo9z^UbVmQeYoUvCHLu74|ieLmjQ_X)&jBm6oGWkA4^5Q|04p z^T!C1*UD1)*m~W`oU#g5z4xcEP~@n{zKm2T9EwGDGtd!_3O6imc_HoUvyo#ip9Okr z>v~IanRGYAClXnntEDi_=EKl8>&RM+Y%Mnqu}_7nEy+Uh*_1<_a?9~hn`^zpZtWGV z!V?2qu&wUvla!WY=CQ1ey~eKRvI}+eRLCxJ0L@Ezqkq+|Y8@e4eHEf8qyB~(Jk^A- zl=?;p@3!7a<|uAgnIG~13mmei{~(C>p2}%9Zm$1)O7gN>cap>!3M*!}RHhC-l8f zg5DD*x<7IP)Pe`(nKgC#Larb&FSkT*cEbE6rK=B=mB9V@NtrliMc@o_cn%8O2}I#| zFrGVS$&TB_`1+omt9HtJA61Umv&{iPA@{Q*_B$A#4)iG2Wj>3sc^+?0`sYdPJ;4}l z>bek7n+33jPauvPZvZ%wh*oxhp}YDpi!Az_GGejcTUkg5Y&4KbWOQZRHYPbhbJ(G- za6J5~wN-Jy4pV0;W5zkwmT<2n)@M+kn8sfVlvpq9M)zITc$1t1_V@lrXeC2U9C@KZMN>*0)<6&_*R6DwHS}%RZ*rgDkU0fYp|B9yjvb zIWt#(P#&O8Z9f+_bRXdm_)UNfEDkOe{vSSXldOd276Fiu@BMM(t$2fBWx{vqHAZJE zxm@E)LY=lFE2YU0X+l&j#jYkzt`ea_!AW2F9za!1>@l*hRBGz$~@vu z(st+4JqCn6mT<%^!M>1i zqlbdwez3ZyqjlG36r`)JX^XECt^*{KisV+Q!)-NLku|PMJ{Fs5SN26qW43_6xVqSW zG$e3FkyBeYoCDYMedCoLM&1u;Z}Q{SV4Vz`R?IrN8CizJsi^IEnF0-gkAEcdn(B2^ z*}Gc(>a*y1d`!sS^o>cK5iy6T7A$S^-ZB$k#1fuqDfK#$$7JZNY@ll=q+!j;Q+(}A zWfH>>gQ+DaP*{9h%I-8!sEQwd%iNL!d#75&zHv>ccXfOovCsjXq?KAn{ z_~AMvX(PQ1NiJWho%QC#%;9@KrQUXZz+@HW8dc}Yh7j$gDI#t8gPf=2lNeR#=0Y3f z3k3?{x9eVfU79k4D6OK4$3&LZ_S%jZNRcUC(Uc2;EZlDcZI0uq>OsPB{uxDxHk~e| z;AaQs;r7ljRRohz8$L`*TrD4!wxCn*DdSVOEFR0sm$nHukr3Tc8*x%X=`)y+|K*vG-%-zF98*eAuiDdjW$^jYb?V}B9hqK8L_o% zE;8)rwbLzRkCAJ_B!&NtRp~{3?IVbC0yY=P+#tvAKH(q;slbI2EON$9cwDe z$`|0351jvXD@kAD>H5psWqf_(_N#*S0?WE7g{LvXdV2d+><<#ck5lT8Ccx`mGMsgf z&bhcK{*5yc3V;)K2RNH|{X7z41g>wg=DOn~(n-3^=d#u*{XeyLT|MjH)q#6++&(+p zfZwa&smS$W%rHQ$5PQ{uI+N`3b6SyPNPHS&wr0baBuio-$wt&%=Jwz3s6Xjz;8mrE zA-|3~a=tH50jdvw&=7nkLEfg(c72%wf&N}Jz^;rw(u_19WJP&-G^nICxY0aCoH)+BD%qoc z2VZ4;`@Zew4}Swoi$ga+8QT~+Iyo5YTmOf$HL!qUWM&|sC-@J=%?(8-YHsCZ>_9*# zYNhXFENpCOYh(;XCuMA7>SRX1#K8o`%M0~C;%=Ek3KJH%3@}?CRE@Mss`18}!3t*A zL>I~aE<4Qrf=Kb7e8SB)lZD1MW7QZYg94oJYqI`wD5EnYj>cNGP@kRfvUz)Hp#;P6 zyKkzm--O)k)3ehp7mjyc=q@XW*E)j2$%|*p<7w+L6|W(YSTokI=O;aoaygFg@=ouY zr>=a|{d;vW79@Qr0#b}=ugVY9C_HZ7;^8}5ZSs)OxEX>9Q(M%K^TDj`^v@$kShW^dMP@Tqkc zQB;|nUYW_6H{(ptsQ(y_T89zIL6v_(4>BT%Ad2RP8V$;<8o=KjH13TjpgZvenBP2O z>w81IL%ieSmC;(S**anjUB^dRYPL{XNJdzp3=hkxUYZjMtU25CZUx6FGd7EV!WU{P zvQ(YJ?@IoET*~x+c~r^W&X|BsPT%y`kwOl(c7nEU1e){&zbML#^z;k_49v{*1ndm| znQBAPNgErP>;FGF6l|S-BZGh*icZ1U(bn0)(AbgSKY=6S<|L;0UyuGX6JsJ^V)<1< z;g@73U}F6*@;7$q)MO1Tj18UsOGJ&GiQsqh|Kd_(XC`3z9|<*f76L}*|C~YLKk-H< zYHRb~0-_B6(f5BOL>U+f7+4tpH`jj{g?<^0ZJZo`rT-JtzncqM85<(>7d%$?i`Sm}Rl`pfmd zbDEWzh2#H|)t6nMYKdFT?B9QYD7Stu5`QV@S#sy+wm= z5-)K&kz@L~%k-Qs*?HSv{MvE!eK~M{exSdpZd%sy9Exs2)I~_>B?9<(hn>V;sb#R$ z+uzkYK-wlIB_<#+D$FPB8uNMi=6UY0s)PqI62`mzds|;0W)UjR9jB@ye~dEcQ(X0` zBr2}Hr%6Q4&dwh68sr)pc0+F0U{Ccq;2SCn@ZChETC<#=KMSaOD=&8^k3a)J1CX1W z_jv~YTEmw}RjN8S%TP_|FN)^352z|9Ctsr_A|lk`ftq&VKM7vFUx2vTP8Tdw`Un#^ zogBKrbw9xJ9x@a)I1bza0}rG7rqv@LC?P6i{{cs|plw2HgQvsm<1ZF7L_%CtXso2P zw8+BT)EE^hot=@Mrn$Pt#m>pm(fZ!~`~VLD0~H@H%g?5yZ0X{qTcX1cOFdpml%nsOKR_HU@DW`e51^1|~2JVb1StahQn)-4a9l-&32 zL!|RI&W&))-vjjkTZddVvm3RyC*0+Nm(xELX_!e z7Yq`3<@2h`w)6|Kp$DEJ#}}%h=g%{;4l)25C6vRh+#Mi7?E&pGqLmR^$rowvi&n4i z&!9zn;CoSsaXkuEN@UU8laQ#$sa!k8<5!>GV^EvGaa7~P*o9m ze`H|5)eCWMu^68Dd-M-`@TPjFpq!yR?cWBLR{_XM%VX*cS(yt|1sqQ zuqPt|wKBvWKjrFYo5$SU4-EJJN1f!2Qjxto+bq`u7;A zhY_J9{eTtI4;T@rivy-VVg>pUBeMZf^4TA;iue&DZ7xN0r$0dW1BAa1gfPZ1Xyr~? z2^bT_mNWM8x$7$oeaD6TA3Oe#1Mb+%Kx)(4*{18RpUYGAVRGG)cD%K1 z@vHT81(rquMs}u{qB}nVh$NLeLqeEN;dOft0bB$Lq+Hq=TwYUkOxat(MgIF$*%<-A zA15ims|w+-nFSSK2LZ@`_fxOuqy+;^zm-15RmX&JLfNGbmgFvPB%R6_FKe~V&LgD-vYJBp|En+Yq#pEssr4y!1QKE|a)S0}$pgDv27gDLIT)5?Y32^aYM29i@t zHNR{s{~Vkif}+L?7OnqRZm;1#_SfPOLb(hT)^aAVP^=Xk!} zwH>zGLyMuDZ=Y(qMsI11X%EgwE$YB9JG+3zUmGJ20IV%mn;)vaD_k z-ELHqkQVj>1cFoJM`QQf2@F2z8&rO1)6S?H&VRvkS-#H1Yd`a)2hd6TSe|ZNo@;NN zhR1)S#Ck5eUsV=jZnbRHP$8nhaS##f#WA3^wF6S?WOdG%1By5dTD*@*r5xHgMy z$8(4EoN+oYb|rBl;CB*A-#YESkU8jRhj+igr|R+%Tr!LiUbhTa>sLe(CqgD-?2(bW zM17OtP67h-Wj=Bwe}2S6|B-!&%GjI{Sy1APSDm;qsJY5@orf~W$ToiI+Y5x=L113RmJf@mAIM}lHEzx3excI1JX4<3i1}WN6X61)oivp15MiY z_WRM!nBy&Cai3ccZWCH(ql-@6xHV#by6xG6y~M$*7d*~|q`-B-xJ+O-{wZwQK`JFj># z{)ORkM36M;2+6ucO2mOMm0?;O@RInDXB2p~E%mxP7|Fcy*$6;)3@Jj1sk1L!n!o)x zRZRvV1s9_V0w}OVGWLz|A-K@|w;vZdS1f*OLL(Dj1KH>9{7FecHfV7u0?4>b=)K)g zjdH<4K?H`0aV$PvA^pB+m>jR32+RD7pD+_z`;SafK&y zy%i5C6{j|}@AIB^YSDuIlEpzDXMZ`JzFydCPxap9)4s!091@)+8a#OCe%86}17EsR z(;K`FjG6X$4@;eAq%w8e@5B>Vu3s;x4h9aAI9U?HB!-$x(_LIWnmaaKIeqsL0BAH* zE8qUSN1yuDNb<6i5h|DX$rZlFcH&i}CgFH(waw-Zy6Pm;G4%#ABDTt6@jLVT2lvUI zxDQsdZH54jiF^^j^Hdz4V5Zb7-zTITA%Q>(1IrRNDp8=6qo(^OsO{v7@taJkIJXEG z_R!0%7Bm+u@l=_us0uR;#czkgDWOFbrQj{zx5UrzJ68&JWDdJ4J%`M>D9cX+HTZft znd`%{!6xRBS}yfAvG*ISr{LsVD4jCL6Q+SHaV>aUk)2oa*$3iuy*t)Mp%;W#i_K3s zxfF;9<@>JOYs5S(i27SS6aI@XhvoBM_C!z}e~#tP(?<(m0lj|OgU*H+ois0@`FyLz z-P=iBIv=OV-@d@Mt)++bCeK5H45QmmD)hqQ&dL^ zjMQT>-QFA^wWTmg9dj@M$)0-TWQ2A61z*4?70YO%SjY}*e>KN2Y$=#OX8G~DqC;NX znPaJ~{h-!H)+pg1M@jnP-kq$$%_A0#H|rD?lfJlbJ(7$jPaRTmY?NcWRr@&*z&uTv z!!4E1#(}9XahZjsAPPA8W+%#YYvrL)?RW%yfjI_-Zt<%*e;rO7a0~7JJ!deyrV|0A zj(yYOKa;^fi3XR<(xN?))U&NpnNsg#$NQvLU2hmiYiT+M>m(Ttv}TmAvsJX{GQqd` zmusq-PB!!Vx56{r^8Ui@3i5~Fby)vOfa>8*As*!=s!TV&gAW9E>x*@+3=a($baWuukJ z8d`sGZD_#e@xY@Rr`Qj6p{7JApLBJm6-*bnppxv?cyH39>egmxgFB&avhSeeUoGv8 z=tAxjq;2s}A!TLZH@}!TN&Ee&dZB<_^*(<0UQ)60ols#4q zww+%~b5V*D-4=3JUA0%wEVNmZ&99b9S5OA+1Oo&AULoIA-tVqDT2x}`C?<0SrF`|i zD8-?==`ltKXjRYz0eF>xpE{Sqeaj7Cn4%Q+f8_ih%5nHXk>xdfp#d`9aSnSjIa|2X9T!8xScpv4)36WslL8#Hi7_A~ef zc=dU9irAi_&%=qYktp(#;~se|P1>Nq0`~_d+~E*Qv>KKdVOuA}rx9QX;P5|=z#lpP z**Qc|+*2B^l(UnBQ>1epwjH@}bQY51-IRQce~KQ$8Ze>5i*W{0#K*b@$sR-6R4%1^}#eq&ineI(+-SqDk) z+wh0QKQld`MhJk01OXg%g5RWGUoFsSpBUK=%AD+bx*op2W!0U0&(a40_<1kTp29-l zm%+fX1xp)v{;6{S+>;IgG#Ey}G-+-jfRw<7oiC}l&(ms6;UpM=;FSfA^J6AjJfX*~ z3Z$3kKg&6hykNz}LjZj(1}B?}7^O=34-fz*Y76LK4_TN9-1KP=_u@hv0eH3oZrsF+ zpxq*&M@YvIA3R(9@2{%amqG&CNTU6&q$o{~xN`^0dx3t?xnXDeTNbiO;RPhd_9&af z8b~MlyN>>*X5aT6iQIG!JWNI+{Wn=k-$VWnHv1o1S9?gvu29dyaddx5vPAkyIX!us z8R{5I+}_w!KX~(j&9_BGCEbSb`emfm@+<*-8Sf4NkVbgyVzvQodu_^zZl;bv&n#{Cjo>eaGqFY98!dfu*aDI%HKe z#AtJe7TtKaT!;QQ%Pn-(2p~eMVan#KCI}b2Bsm0{0$*b1xo*IPpCbUWjeoF*zfV_A=f3~)#f&i7peR@)3JT#}6pX*}3nfj`#c zU1NlYS^#nF2w^0q^g3Nvs}v|kzyQ+%6O8?qU}9R9c^myYFLQ*l zZL59!V^RUn=!JKt?`rpU2Tf!7gy2xgPvaDhr3?%Skrc23ujAZt_9=gPosN0U_4}vu?!lleyYE&m(W*1jD6yNL`f|((`8Gt5p`9W#e{ON z{jeZltDMtJ+ao)e>pU=0o_RNzgELoK)NEgp(_Jh_?`>NRA>I5L{>X<>Pa@}x3T4)~ z0m&9NR+_Y17dfbj2;eoT+VodwYw%~g@;mPWY*Jed+cOM0KZ2iU)=;KS%DB2+vdHSh z9>NCIu^E#YQG`8;^)~6IoV!jDz}L!RWyj0yY`&8H|VQ`Zm6(B0sDKGENn|4}dgp(x;i z0>MSMpfws>)Y3fF09sB@3cR;K^JIe#c?FM4yPo;3x<&LIree7eszx*tv?uTkjjo`* zt$3$NGhM9oXs$;_>Vr!Gt5x!|x4|yuHJ)S;vPUWY&Y>nf6I*9XYIVvxQuWDX7qaFK z*%mBhS5#kwItnSG(?n!jOlSlzK!f>6j_fLW8QLTSmh2RHB0gG*+^q4V3+!dMqptke z!ZRCcUp`^g8W7HP9DgR;@ip{a#+$F@XR5DD%slDco&;SSR2J$gV(>c6UCPW1%D&4i ztC6aQmB+at`At02Swm^W9s!h3l+mbP2DrVE%oQ>sPTyV25?Bh(483#b0ON()sqwuF z(1=Lyr0PsbDA>Ld{uaeM*I7ex=22x0x zjWl3Jxsw*$Z zS_m68$DIj?-){8RG~v^F=Fz1vMm(UeGcmd9`f`u$s5w`!e{wR-3!`dBWg}~#_WFxa zyl&!#WS;BtI)&Oms}1V9t)Kb!i(6rDiKDcFa~Uh>Av)$vm#XGYRZ#%rHRE>$2U~4& z#s+2;#{%z$mR~3M(?6AeWI9+Ox#eaL3 zC&w{eSCe(K<~25G2gIsckJEn@PVdYuHBbBe{P=)}JRIkqptlz9;4HXFiNypy%r0V} zyAr%(a!us6Hhu)x1nmQwN-mTZ12a;N1=68S?V0(d+ry%#s^qH*FVxcK!ld$(e|tK$qtGJJM6i`r{@=TUj4lF?o5A)xCixM45vysIeHoiAn025>HJ z0KL1O-e}W)7h_;!&W~@!V@?ClBEPtea>w~QV4ja}ZE0U8KnDxMV6+l^}}2teJ;$rz^ZEsav3N##Tt2ADL@Q%jhy zh$nv*N9Ua)we_lm1p+wU+ktjt89bnGnT zm266zE%hqso1vx*l(Ae|XvlIY7KheGQGaYuQHRprSSKNo*p;?)xRUr_Qo5F7EO_m( z(J&dko|iyZoKWxHdx#guSa@BvnjF$w5iKgO3vPv4W+c-UL|ikWc3I2>I6>H-W^ND! z9e%BH;e9`$fB$l7(RWLIY0#Qm0oA-nr}l1fh)`7huu>nxsPQ`xcDkV1`TDyAX|FX`_$x_M}DywGgW5`*~PoDnNG%WQPP&?SShvznd3EU zjSw>_8~@PT3^~;XpR9>#TO8k6s7rCOiI<#et|cB^GNEE<_7@(y46;-<5_q(SZfl%T z4Ei>@rb}X#$eLny@G@}r1W~Tu*F#S#SGZvopu7}PM9*3Q?=%v{ z=OEJQfqiz*EE&@85*=*W!Jdxgz^cht`ai2@KJMXi!^HA(!m;!p8G9U{J(;gNYhZzD zMt2V%WfT3rDAlC1jgp)d*L!uoZQAWp-Y&@kQ3%>Ddyesb{Bq+R{z<|ok9aG|3Q|9VTC(r z_Y~Ymz{?^+jLMq)QT zBwaQSccOA6j?6&-oqR(GV516NhVnkkSx0gBMg4gF#Kf1wsAW0t`b4!Yj)(OFwK^Fd z5T*2}c^+9xYl)R&NFM<Vui2jCBE{)=W*!f)C7@n^sg~ z_yERdPF@@))WP38@A4bz2aCPnXXZSxH%p<7^nzOWA@msbJp_A`OSJW+c_HM7>yLJV4ut56&HwZ^(W6KG9Ib%rgzB)nL zreK7-B3j|=)F5ua)eE}D-3|lE!Mpd+3vYxcK;G)Hfb)b}!k8RX35Nao5b*HTc{++St^Q3u%|!x_SaZXGq|EalB6|8(JcN zD(o`o8quMM@dVBj|1erMYrJlPec+|o6mwf7M6SSjuxZ&jibtv9h5~oT>9>+9>D9@M zxI}(r_9k<|z@|e4iEwhotA_FNDBXu&mFELKquD81R==ib98ov4*8Cc@Dw!qBoG|ry zTW^WAJ(r$g$bC&%a)}8wi-ybWt6PW%T^D6G*@GOxdT5H#f?%Ge!&S4<=k>I;j*Rqc ze}<5F4Gs*HO-nYXEu3}T&E&i{)trdbv{h7X>+3JOUa?r}@3D%dh}7Jc>JIlo+OBHI6)Z2CUBh95$_7h3Y@#yW*b z=4MeSLy2#7oh%&R0~78YivVJ1cSBYU4zVhbK1wHUaG`;Ih*~V)^a7^HnmA>oVOQ--$rf@9%bZC?9h5JtZu5Yv|scwur z|DCX<58={R{huU_cYp@#B7U*ocCP7HdLZe#p+O@1n)A=nU6;(l1{!gy=bW{&1UhZ> zk5$@7>r#HPYS-MJd&5)z(Q|od9iB(qTdLp)l|7Tu>?}(1tq-aM7!MPzP>YB+eyV{K z=LQcEK&nZ@S5X??Ld#bhc47?u84_eIPwz6)r8pJ#IH1Q7iUxD_U%^x83w5~2`vU%D zjE%HM8AiD|%DV|9zMxt}NfH|=@7kE#|{YSt$g+? zt%!FB2xc7GE})ngM1!X6XeYkCU>W_DQBFQ@wd=_i_KQiXdrbh&#|ziaO?ss=-!f49 zc7OCC{JFeq^rhuE=$9+|itkbPM%%FE`m-cx@tc`YJulmGSK$6S9peYhAW?5~V0{x& z*W+q>L3c)aiOPlmnC(3&2Mi;PBjmmH2iw#`7t zb@l2D@o&apv| z?sR=QJEFVvGJaBqqU7n1N52jn-Q_U!V=yOvn@0fjxH0|&$6par#E4jWmNscE$J_Wb9YOTkArzeIVuAt8xl0oC{yql$WyH6&MbcP&_^ z9d+tRW@UNyGG5*{c`B~}btC=7Ucd;T!t5YDc~Xc9xTUKmck~?pGm1dl_3)55Zf`x_M%{A# zT+Mg)1pe6L!DTxF=%4VSUaSeSa_10k!7i7Y;ZfPC)JT$D)VlpfmnX*9x@k^cjP0oK zX-!#0U4(qY~ptj)wnbCYXBhcRKN6HhSAHSU)=$;|U+g5>$b zK)R~nCBw(jAM#@B*__$3Nnyh!sE-F;}m9F>4-A!$8hqVTOnUu8RawFmD zxV|lH0Z9p>!6sVMAi1X}dY#F*S2acEsPC7U@lNrc>hbZFw(Z`T<7tJCXxtiY0n@;3 z2Lrq{k~A_1#Hi}wtw7tvv5ddg$!?sVrkJr$#ug!p;=#(txY>`M`ClhH|ItKMkF-K= zlRicOg<42)j-1Bp;C&@~g|nlSQw=3i8m+}kS2G7{Nr_-0)tGdrw}e&o;){m`*qV9h zDn2-3g`PG2_6d`*mDR=mS}BxC0gR}`xZjbcc^9XKy?p5XTo}!@5#C&W8;GNWe6vi^ zP)Gu$<{U@!iye($U42E3+XG#M(U2lRdk;RmvCi_d-%O}&^|!$tlZ=%aoXH9fd8^@)8>Mnol%KA-t>ej0LAcUq(gmi!)Rf{~P42s+b2 zy>C{CQAyqVD1f4@_;cs&Z<20bbIK{c{cJ|c+5Nn%@0W>(Q8aXX>r-k606pS8K>vz8Xa;gxB68C zb0Jj-NqI&k0xZ~u@EN3%5dm?YBtzTK zgb<^Grs~%vf`LLMq72bt;~SdgG~{(PqtAzQ^Vw{oxxxk{A@cE7NW1h7Tp^MvZY%j2 zAIQnk$#jT#MAjVbBXGS{9V4A;AAG$=rMPp36nD3*fD7r6W*!!==_It#UB(njU)J`KA8@2f3b-B z?0)lU`R+xmI>#Ml$*S4DqG$167ob%>%i}8*vA3O+Gy8L_-Ao~X{YgFc(BX<$&PL~z z?g);1OBKVW-aD$ZO;#9zY-N)Pt(xrqPb9v3d=9*lZt|d#Zj9R%2RdR=GjyH!@d*bw0mR$tgil({_8*Q+x~9t3k3u~FNst~ z8_NclSE_^m=EL6&$bXY#Xs{rX?vQOxvaeOC;UYs=Msp*6AHoAakge6Jc~D|<^@@hD zC-e|2Qj+P4=D?>_GSnyM)P)!4kN&j%>Rfnn`wRiRF+5jCA)BJ7EIw+p1j&y$P;+h- zyjZr6f$z}^)~6m7y8cv$)(DCKQp~{LwiQWi$Sk**rH_*``B4l3+MIT7`EI?D7wpSb z(0A#d?QVYIDL%6=bok}U*uxi(^47~2FsnL4_`d`a(H7k0>cd+PauH4GSJDU(y^ey>2bif&CXp94Xxp$R}I$hlT@~I^ge=6loj%3*EvkE7yZMh z-`>H)!Wygg2p@xceE8E|=wI7V#E5q;Y^nB7`ABCTcfU-IAbLN~3!M2%bb6z@#G_>8 zq?F1fDiI9d)1wD#o))l1S-%yy$S7y z=}l)tXyW8}p)?{;yIJ8(Ze8~6q8Ucon!f&l&~ z@kfdOuo9LSt)6t1wR$&2yg%xk3M6ty@Z1z?da%y{ay~AUC@^R@uoFW7MLiAh9#M>o z+ZEtL<_+-495{@2H+C91N%9~_`REPj9!7c(4S(eSOZka#)*4F}BAAX2xiaT7GAa*C z`owk*mFf+h`3uf|ReoRlLlFH@;{Syb2MIg)y3&in?3=3; zX+nxJY3PAA(eydwt1NDCg2{$6VuyzFT~J$?0$heY2m$DqA^_%fCe*ke8cP4ZXm#-a z!`ZzKv-rBYmJ?W8sTOY%T$W72rM%2vRW==T64xPs>sGUuH>zhZVYG{qNMbFS?KWJx zcO!sQjsF0__y1JB;J@{h;9bkJqhxPO>el_PPWnw6Z6CYP6S^YsyvZu)pz9od$$yi8C5N=9Ups*W#$ye`!vC1hur^lE{7F$BUN|_=wI3r70sO0=Yr|;g;v zIH8u`#Kyk7@G2wUUk&xDt6|CNzhlHQ)mR%Pm2E|7YJQtf>~hRf#RS%bJ!&`7j~jFAO6wVm6tQbF+Y3=v$1Lp%pzA@#3*1{i9b<5 z19zlngU22qwLJwe^{*`!j*fE6deF*8ooz}PhI&23N|tAd{~29$VMq-}=P)}0I=rRN z@^6uc|2gvNf`W>`S?S0>UW~50)RfXTK09CAyu9H#yr-5|aPe~$9Q|-jl;-{a8kC=< zX=Y{SO^$bM2C+OXIUq)fkeN*4xGradtaN$3L%W|xG{EKSwsS{oZ@f3Ld z88z);eiv}G^CLn^KLcf-;-8VUmN0Ou065SjUXUp1$xV_2Rh+6d9}kw6d@F|fI{!gB z)X(#($uX-9IQg_s#*W#51nxnPUG)W&W%PE5xDnsukbE1>d zLjhM%z=hni1;Ts9T4SAUJKUlhhj+^Jdg=*0E+4Hz*SLN)Ku$L-1uhYRi8N+DH=Ln; z+f(@AHxWv&r9RhSnVeXDA;D7DN3wVQ_`a~F;lY+JSzG15gnE{c54&)%qXr{!bJmfCx88o&?)q;b1vp6*QzW6*F1uIXVSB03^qhk#?L6NZ?r=JdjYGmVwhpC0*?0hl>F2bx#;u0ENqim zsW=h(LHEmB`PQ|qgg&VZiAPtW2HEZ$NS8;;jnEBpERemEzAJX?C{F-hXHH;FvascV z8N&ZKYU<`(gebUA2I$;-VV2AlgHNpTS>Y`fj!!kqxidzDeMigv*Y~js27KEyRYxH9 zawUh>G^U5vj^MlOLtGmN5*09yLBVBVYbLsp(G zB`>1yhxH_9a~sY!l|O3J09xw@nZ%o#*A>Lh)I1a<1`Jx1XL|A{#R)pAHK`k1BEQ@) zsR-H9X^kT#*p?+)4w}-HLdR;`orq!}$c=`sf>G?`^MD#<3%S6ctet zArPdX&W$I<&C-%K36s@?9u@r~OudooWW)h;wfS}wC$RBGyDE%lE8l^P{mopuW{l)ad!`n&q@*-jdvx0>%BJ+QI$6i5-C^#XG5g5~3Qd`c`|lu& zcW-y&eTW$SIKF=N;)J3;2K=&kQm;$kw$u&-55bsaXTIyBW2IXxSdLqj2ODc@I!fhnpLpNY zwLDzcDSXg1#Y-);>tFlH4C0xJw zNNv3%OM@5Q)~77{{#hak>+FMrPT(LIs931e;^HllWua8zD#{bAeYz`Xbnuae!GF{; z1$SL>GK0;dI76Ju!C>#BzF;l1wzk+(HZbe@3*yihlo*3qBZZLLMZ49Kc7)v3g^8%X zUoU6sldu5`=M)_|N*!4pHjyDL;!M*}g7Hn^yVc>|CT@$E#F~#^PCZ(Y3Hh{8RBP^J z<+Pw6FzUPu;aTv~?`|wdjQ@1kgxneL1G3I&XJEckQP#T3yK)tlKV%S|rs5-MEv430YnLiDckL??lv_ZNNo9$#a z1IaS~F7caJy!AYUdrZuR%qQd(pi>rPw7=!VX@UZZ$oUxW)@Yil3ya+zCEsC;eqo_;t*%aK1PbXrb2IfY zzv`seX6&!|hGRe5yh6!51vkBpq)7JV9g|0NsJ@j4ieF?iVJh;q@41;c3JdVsDJILm zDy_?@L>&)b2nG*r;d^B0lH9kZ^y*w8LMcv_;g%EGhxbl&LLHx8wFVT0{lx9Kwrq_^ zAZZD1Bb9m;_%~JQxg%5WL^x!0+Heo9okf+eZfkY<2tUvxF37eqeTJT7mnZ&Fw@2Xh z{qi|qkusFkqwn|hzio?uzr0T^ZYPj*SnS+2(WCx=DmH)VEm{e#(V8B&t^Td*in6_t zw-qXqSYRXDs!3G-R4hG$J*bvLF8h218_|=z@|*Yj4)P-cA|=`D=(;H?_sQn{&EZ5N ztPm)h#LT`)FlA9!NwRPJ&~8t8NUA|6*TmPveW}o(;kPs`3uwuK-t|rSvICpSO{eg44T1}0gT-|F-##nR|KBP53kzF90 zJ!9dj4nfa0Q>G`Vm3Shs&uP2LtR*Ct{b&(e{P}x^qIy3=b0a}7zT>lapfJNZoXtp$ z!U~>b!DfB^@i-ZpFn^vW&CpiaWSt}VymWd6xni@B8ruW;{zE<4b9t**qYF&02E++X zI=3QaGb|m)XeY-=Ra!B1KkScux#HmmXzs#uX#TdLr;@la1)PIds}hKU)Tc0ud8iIvLEshaW*hfW4&NO%D|a=n6JC6Ae1d1wUKsrC zT+Z_QqmykmcDA-eim`Dg;h#8=A5j|`e- zE_U!L1eSb=lJcU)ld88qPV>@i?*&qVIB5&_WZVlN8E=-jCWMn-Cq}%L2BUCOvBOQa zmc4co)?!+~eEe}jzVPGfUSG~6q)Z(F)Y;s7iXRat90q9jLv<>KmPd{%U!)g>;(6)h znCtYb8DLMg=Jn-n>}%%lOMLMeCk+w zlj5zWp2@`bUqY9yF}Us*E7#a$8h=3SPi;|pPb%U)}`d%Dt?4iYS< z8pg4sJW4%09~LUAL~-MYA>AZKliY1Gjb9xp0~sPKm*8AL*OnE$Z@%!l_By5|(aBi8 zsJX^1(&Uj=4I^`hY|9x^Uzxi4;I8eSQo^p6p&|`oz^$4gAqDK1+I~oV&hr~>OuGe1 z>%GvzN2%)uz}DCAa~eT*~@ip%4vA1P}+dY@*fMp}uHsX6k(Ue5K> zfzP4F(j)=hEXyh%*Zl@ibtlD~G{|00zU@Ad)9VKk0;qDqO`l=D`Xhz&1ntI7%rvhT z5dcI{p%$W5PV z;p&m&zl2X7elPPH`36ia0(Y`GW6gCh{@MzU9bUpP)ncaFAnTz5t^rT32-MPP$#+Q{ z)!I<1oi1$%>gG}lDunj5DD^qqvJXo{e{qI$h|;@$R#sis$vW_eTzoR{4HI_?()}A- z#g~}D7)?rlxXx#oP9Hot%rQSudpmuq(ZuHVaIuv}B+A77&XX-I0qU)M5$utzua!Y} z-nvJY0zK`|B!g_MtcBRp#L!xlWpCiqv0PCJUxWe*3wL}~cKyOjkIg<*nLknZT7a?v zC(d3F*2gB8XtZL5#4l^AmI^(c_l)tib9pg~%eqCf@Ze~inA}vS=Gh^0c)J;w`sBi~U7D6`U==2;H1asOxIDBo3%nMtuAu^@*kaO88 zfaXk2x8AR-dKyla8xshE08X>mRy6I(BM@UUvv(XD`o6j=0k?~5hplZkt?AzM5s<5q z5kPkIsDCvgs|lWqe51i2%z1s;qsNi5)0|Co)KE~WHCA?7_z-o?2es8H zEHqqrZGkox&nV`Prg?_s2Dv^JN4mW9*U~Ir`(l)uiuFYNas>g@OTq>M8)^~2Ne2R; zcwct@HKfN<(3|E#ZOfPTF=8wwSs@=jBNwVeRb_=GCZNS&27JB*4kHUW??V9Y5qr6e zrPbxY)TA7quuuz2N^dL+WoM*5rPh)%KCkWK0mCwSiK_j7sy5~NfjfcM{d=9**}#O6xjyTSn}lG4qFNi zqt4i*-6jrAnpMyS;#6uP6o*Y~n%h@Iwkk1b!_@u)rHGDBpfP@r4eKjjapRjQO$l6t zI-Otp2wPyiW6Ih4TqqUuHrNQDNz#D}fBKY08U1#8uglq(90IseqHuiSa@S-6}1O6uP%)M#Ox731IC}$|A>uK4oMZxcfqiahu^|x z{!!q6sz4qIEjB}Gz0b+e2t3K6Tx`$38u0BosZgmv{I# zcMblbi{mJ{khPZ^0>-hVSQ}KYNti^1sLm+9Hq2|8A%KHDHv|CIKmdUS3&Fsgbv>D8 znPzESW$=^BH7VPORMgWE4wzaLxL*&n)A(&6dvG-s_glClEyhc!~SOLweIhD9uO_Q!;=6Ru)d+@InNDuX+cj^Io&@<7NbixmG8T zW`!OU<0_2QttmeYs?rbR>8khdDDY|G;$D%at&5v2!~64rH@^Ef5r9AfoH!Oa>LAjF zlOr%Jc$+B|SD+fEM<|ydES(-f>-c!a?uZPohI_%>30h@OIhp&mzp-Yoh!GEN%8!Qo ztRVnTTm(R@BY*&WOh)~3&R;z`c0LB@vDM7xv^uK(O+m@uYe|pvwGbVgqOvNokYrB& z<30MxP}8ZiF_oX`{Iiscw|a!|I#amXum%TGcXo;ofHp?KUy<70mWF;8bHjD&EO?#e z+FOne!|6~aYP&5h@ZU@vs=n7k%y3FepRo|z6_i2Y%Jv1ztbgq&|3ak5`@={R(OpgP*D4)?;IrlGS<+c; z^YY^gr_ko^$l4-OeyeQar3v;5_P7GDS!+bcj1hw$Z;!pcIXtNuCE)&&~ov5zOq)cBzxyt_|apE~kBv|6&_Yx6KeP2WA4G~N9= zQ%F@*p8XQ8-6M#0106#}S!>cjcTHo|lfJ&BQX;gBV}6vbDC7nsV%P)Dx1w)^BDc(cc0gEMI$W>(job4M%I>nV?Cvp%)Q< ze-QcZB_%Z)U_U`TNJ}(jUcThQLlT6CIwphwWY#x6dy@8^2*5LK?{;_79G}G&%KvjG z@c+2k^S|e24;E78tdhWQm4(l&Ytd`YI^P}RYqe|G&9^T+J+HcCsY>(Wvw^7#Xk1)Q z!QX8Xmv^-HJYp6LC`$KFnhW1|(TsW@)U$podlN5iEPeXRbf6OR^0 zt114;%OZcU>i;;astFnZuvfBDdXPJ;9T^B9Lwbx>yXsf3tJ=-(7GCfo0Fh|$+>?|= zB!3|Qq@UK8F$*JPgpEDf4&>bYDBOFu!OR!#CW!z%ZUD;&VBP>`1NXRt06x73wMD=* z;FL&im2TL*qp(*Hy@dzvLmH_&A0#J`7EdzL8k>FS#ozElDWqG00FZpWGH7#gJ^I2j z=}*P6`LPVLNk8y>!|7oH0=Qy~baK~31~4v;Bj9I59%;Cz zTeO#lOsEMzF9iAl)M|yYZ%;|2BVArU+CMP*1EW7M`W_>fUF6LFQ7m%`_j{IP%P=aqRAJgBSxaWpXd$PfqzqN zN&jW!)Bj5Dzv1Yg<1_e|k!KbaBd7ZF9hct#EA5XGf0X!FOB^KZV647@4ap7-&WPCv z5!8mPR59c%CN8O;{ES(DTyS}X0DhDIWriL@pc$f)hE36b{{$Ffh^%T7C>O>tA4cg$ z08I_MvlnM_2*8{3+r63ZyVLu&clE!f#EQU<@1d-mn^?KejCk<23xT4k-5XN+DCY|n zx1XtnpNFN1`yCaa9)Fw99ADwX)4PAwA1FP)4Uj<5vzVK{Qxw|&F--WMS|aJY+gEFO zKl(s`?5}w=hOqD6mSwSMhYPVGJ+3GOa7&cRsa3=IQ1)SXmpeRlvAB@+T(14%Bo2Pg zy(uCzq@xiaSE6x!S$BWN*SyD8F4I|IYkv*mw9R; zE0OAZAE~~dSA%h2c5)5n!(SV!UdAf4yeVQ4R_Y^sLZILy zIYcW1EZ6_kjLwi1lv;kS(Uc){UY4rU3pgq8!6s~uub5yfbIXI)1j*h_p)_vKCMFH& zUyH{n&Z#F6Z7>ZzPcB30;X1j|`efgj>g96u7BB6=jKTTlm;y~e`r5>82)z6xihGtR z_R}-TDsKH9i9wv)Z1x23afnVi%8>H`{qeU5>`y(i7U6El8RQW!@)JlFmS=kPNehxg zTc7=j9f0D_72;xt`H*Y1Y9?9q3QG!P&u{y0o>M7eFdipFobGU39-IA@kY5ziV9JxK z@b38i-6@jEI;k(O4>5w%abGin2|F`|J{ShMwHxak$7$8*p*o+ zRKKHueOT6G_>HJD%#Z@>a)vtw(~CmJuID2OJ($haER)*n`?GZ|Ipi6yQ7BfBLLzbK z!!S2XOIcaWgvKh?yPSfsubH1?59Dq}@l1T;7a9{YO4q_AZ8kB@SyKMmK5K+8j z09RG5Aba*l1tIk7GM#0NIB+rb7VnDoRw$FXW{b{}uo~CP*R2zT(mQ(YwBkzQzmi+#>K@5}54j|PB3IptB zf0|$sf5AsDHt&P8fnxhhisF=?zP8K?)T{JmdB6;ElRT%e2(A? zh1O(UiMhEH4=m7F=1fO^jnR_7#_G&9`&TeHSC1)XgSHJzUFM)6c2h!M82S0z1l2;Y zX`3dXQ?Vq37S~^*eA$1RZnT?y9O-@^!sPx%nv`iXd`_j9)Dq`^d?R*;sKQ%k6kF&L#U)vUM zEt=ZZHDay*k~w%tOybOVh22)4Z1nXN3$yJU|c4H*M_QR&dyfxS`D)@5gekcnSOePPj-mSRQNS zhPn?wwU{qVGyG^>t<^dGF?94o{>^l4VDWgY@@p*W_Cg|*ub^KVV!wcZTK+s)Ta)bR z8O$6F5o50xFC0F#nX}e{=BMRl6EHDrnmuk1F7wgo;E$m~fLFA?(2C9(ZUAJPbsNfN zI1kyhN_aMYl2nH#KS2}raV?Hlgf@9e&VpBnmyDq>rxmdKG)rmsk^;;?oq0lqx)xt5 z9G+{F^(d#CKEym6zji7brlAf=#|_9`Zg*R9`EpBU`vBC;&GINqdQMnGPTAb3JT!{r z9&c6WCnA(jm%lWB?X}zdvJk*i$^6w)`DZf(QY&q93WM2kVgp<{EKXzF?8)o%j{>cV zcyQhOG1&ex%;w^)jW@4Dbr7EFt!wFB9fA%bn!652oKyHQlxrok*_s{ET3 zYileA(N99L0~MZxKKJ6fKzo*B4rjQYLwG)ExGK~$rI9&y*U$$r%ba#DOjeB$cOU>LuuOQkwt-SKn_O78>s58yetp znY@40NAOktT6cI%3&`J!{lb7JNw{Y!G9RV6wkCmZTWU>|O5rauBk#;AJoh8(mMMLa zw^O}I8=5^yJgwi31IFOicA?yttE|~HTF+q5^I&d|aYYJkxO+a!S&}0Fr8}R#932s% z^l?m1OcxMm-}``)!U&|eo}4Sd4t&2oFki?GwW4wtyyLth*N`am$@gi8kV6Y5-K8IjhLpr5->`w9B+Tyk`iYqfCOz12t8icUA#)z}fT zgKyrh3QM_Nz?nZ#iU6wdr6DRgj|yijDQGE)K?Cr-_Jh=GaKcW82=KBX&y~x?_(Ru& z2*3Mf8WeA>?{#~Ly9)m+hq##QC%PUsD_6~Dj3KzFF*|0xycr0Hsf zpZ#D<)Kg_?NbvvcajwR_L|og;_f)(MMsKGsqPBW*hP*?Ao68f_>qfvON0&I5m16W; z`s!1-JEqxl_tia_(FNF&d&zW-?ZVq?_n=l*ANF;Ws_sXIWqIB|?Z?o1W@BZU>0B_= zSs_N=M70uX-(%{GKj`M6B8Nrd_73b69hzugU`@WWH5W_97{!Ma2bv*wP%mAUKZG#` zi!sO*4=-^RT~$P1PMXJ-SY9@+Q!n#)9B&t*$70&rOFfIH|f%XXKmSH1trRHIt6f;t2N9LqU3CNu&zmxn&P*1c_B z_Wm$scs#dslD)w*N-|{T8a*zVt=BDZT67CQJEGse*a$1FA7NF6BrWydT?+g}sHMoS5B;FrpAXQ3tvPD!Qwv9lGx;Do+MWAJBq-WyUqggd{A?aKU8G#;llQm&n z-J%&rfs(1i3?G$`@IEDJd&$WU(b^Ug%VMib&~7dK(&76e3`1#EUg|;)sVBx~=+0@s zz8x~4u)_(y z61HH=!_VU(mh&&#Z9~i_6p%)uWmCicos9;CH8qD>SR716W~f>yweRLmpG;qX{2p;# z?He&G4=QB@kT0%`>LJdvBD;q+$)Y=<-_=#4S{?1ZCQ5BNQ67=5Df?kH_GJHaYVE%G z@*9QyTzBQMzPS!cWzE5*&zX?`3jds~E~HF^xh$XyswYE+6om<1S<ZA6CeQxk4+ zm(|4^>{LgYTifs8>y>aL2fG!0ggs-6#>b08-&sWij9<%QMK8&a+4AL-CpvMt8Vqd) zwd9$lIoQyBY5R<;-ndY8+kli+Lig2v&H=0Y)@f~rqIF4r3s`#W#j!{HDf!@6wyxt29|2~sH8G8Or8=saAPNBoTYd_ zADjz?9OX|Yqn~Pq*I_?xHCfO^8Y5&JgHGpzOi$a_&DHx_x*e@YDfeDZo1j$Cwt4Yh zP(QOv)3(sg%B9qKc#|pb=7i=Yb6M@hy+8yo)D2#hD6wG^QgHuZV>rx+*+F3aLIo#j zf&Mvb5AlGNvN102*?ao2>Aw)K``FkMQ_Yam{|X z67@}^37p5{Uiw=hfMW|_o#ovKc*!&x-nezqV}G;)##sljl%qy}!g& zQt_LK{TMo_Q+4frgp8ZLOZVE^CdeD|~&Yt&%2Ag={g?O=hkl?+HE-2u_xX z2c$N37N}!CXdxLoJwA>r?!G)!#$8d-n}lT@->05(4ebE=%e5$?=c^ygxbvHo2W2`` zv#N75EHXmxlw5OAdhQ|iBbWRmD^AAhidZy-Y3x=h#)`!=4bWxM!mZ~o zz6l{iC$c{YA!&1~g%F~-K0TSm#{ks+$>tI%riUiVC(6aGS+NIWQhsS?#-tqjo1({QAk!b{>v9Ds~9pof?=Wmt(QeAY1=!MQdTnXZnTaNNf7#H%kSswm{;Te5XiVhtJ^}as6&6 z=W<>B7~LS=cyD9kCDRq{e;`cgZzX<@A3|)g#0?|Kk+zz0v;o>LNb}-L5|@a9Si*0{ z5S5uzDf+LM4pX;KIC63I}=xoG!-m3AL5$t>s-h?m4 zB;VL8puu+On}@W!cvj$-@xW07?%IZV;W{s#_tJD)SLM-;-tCvOIOzFVYupA z1U}SB?y0|dRp~DYgJS`FN+HC701P-0z$)>u#?L<}VuZQ>$`dfTo;TOD{bqxfVkdgd zjrNDFRT-S}$&sR3&XPJGIVG-|-le?Doc%=+qtF=y7Z-j2uVi~Ms^CW#MT=#=_arom zftg(Msjv3%uf;_8Yx*HJ)W2tS(zG?=6lDTD)(-Eo?A<8~Vzti`Tr)8^tc{7F@)8`& zxRCcN;F=a8A~$FE@rF^X9AOIxTeg;0-}5LRy@&RyP6A!wFcpU&c#B}CDcZs&t22w0 z!{I=xfaVXt1_nE6|~FHL~)sF%^d{c*}kRo6e1;0dLy;s}=pNTV)UBmyy~w z{$|nOg?N^}N5m5WkF64yV4|o3Vg6Jc=3wP}Qo?zaI(iuLyGj0;F4_4f1ngI~>0M4z zaVUZ}Ir6z6k3{uso|K*QSG;8OWyqyoZwTQ^Fq>7V9ZbD$<3=_S(hths5T$6i-mt{x zfi&GE4+>QZ9yN`s3+R_#rdZy9v^ZLf5#Z#voFIMejlw^UE&VS&w)FR(uhE{$Z$edWD+=;W&W=kDF} zuISMy`3|)1ir&9Q_<>vuF0?x zF@85NzZWOg(WNCN9M6CNIi5lYV0QRVn?c{Vl|(CNb6s<0){;P+YQN1W7;pZ419P7J zB%GqHJ-4cFL-oIk_kAm#{;er+Ki_|~1dQ+cr?bMTQe=j9l!ufwX0N|^)}GC6XaJMm z;@SuabJEjcP`gEcow6*T->_;2CgzSLp(s+wfK~n!dy%xI;Sd*eas+DgVru=Mr|>~8 zKfmY{zx+m&Q?keXh|%h*GA)OctL91*)tG^eOrecVXN%m(A-%>C1X`s5@2rEvY}P$# zM++`Eve$~uqk^{TPfg{rSDh5mSYTt#p15(cRq;IaHSX_XN{ie^cF?-5a#tGE zT_1BgaY4F5uw9NI&Ij34PM65W><`RHN42SrwQ0g$MNj8wEyb(OIiW76UWIvhPNalz zyS0NhROr80&v~k?j(l<#+C9!ox8PM?=c$*G##0jkvu+|!2SZ3$AVc^vVSqNb6ekxAdA6fs$vwl#@w9obmFVXF1FVMMt7itU$ z)7EHhhBr;HbDN4zUlLC;3TmEt_YtA2BCW+^S_-6$HkCsFpNu5GxLYCsu_RsufD#5c z5dD$+_vYF={i5_!Pws9roOw9W7O!F6LDHVZLf<%=d^fsjlq1{1@!mv?4I6`3Dek)! z#*KL3P=F=wyCF^A6yZhysl5pZz^lzmAo!2WKQjNdOza;$+g=-pyS$KjW=3^Vh&~s= zy9_+MkCjXKGZpnei5R3cUj;6Ljlq2dY~ZLABLCZSfS*0A)$1^6Kv+r}@>sjCLCgnE#RA}d44<9H@+~d4x zP`e9HKx>V9*vC+FEk>HG%?)2y@`AO;3GS>3o-O|t^b&Q9sgNE4_`NSc0DYLa=f|_( zt{s-Uj^@j zU|R7z7rR9Wpuy_DVqQMbLjcJnv?p5)u#dn|7fT1y33_hXaM08YzpVIk(91tS`2&JhczM*!1oA4!n@Blaj8 zZ~qQZbUA!#jdCp~N+)JoEsFC^yo1Q7;0$99|LR!@3`ub#SfOg=K-u-3Ep?t)&eZED z^iddwEWJM)>i;%m6H^F|+9FjOpZSO)0QEmLGeS&V=C7lf@xt03%XXVt=D&O8sZemw zG@M(HvW1s~q*$9v32nkyg00JUJOE# z{43`fh%{1Q4Q&%yK?QX&8R}sKX+@m$gna{k&;GXizJ3mq;W9zN@uushfr3}b$VFm4 z{7;0RZFg4*`#P|h9wb|%`;>{CVQvhS@%7Q_`~#5$CQ;6ps)-&C;*V&_W-w8+bjxr# zGy9lBqQkNiHMoguo#ON3CNKhJrmGklUp_z@_1{)-n#V8h2^ZF#6KV^hG_M;5v099zs z`!~Y#Nm9-!thn`P`iV(`pSEJg+0*%N+lDf2iIS5D;6OgMjgjzhFc@FX`_cMK& z&(-|xl~O(kpDALHI~h5cI=|R9yx)5b?K(#EP^M<|qv6H+@YXFd-7a1_YkkR;;E_G> zMFar?7?VN(ZwlfRkxc8GiTsIwk%Jm;aDAhPl5fa_xvKAT!=jd~m7wnB`)77MTlJdy zc5A_F+(|ad3S`oB3ODcd6ywp{Ukl!RT3W6^F*6N>(2eIUg%gL1fieM?O*qMz)z;?& z^TEJj<2PcT&QRm?vezj5GfKF_N}tfTUEsH`==sNR*Tt4_Yzyhw2vmt!5WV0#%%fl( z-Ay4-$n2oFi7C-Nlx+blneLWX*${T}B(LYxyxURn-Wbi%G(T~TX^%9y9{a@9?4~Vj zOl)pi+hD7qRR8m!xP2CV?Mk$^t4GQOy*kD8h1YfBP(0fWB)1Wv`0ojM;zt@th$?$z zoxfVb^V})iP}_3nDA1eCKR&aEP-6K=k<&i3w7m|(dLK9=_k~YrB~qKWbnR@je26_y zB+iWhD3ZC6LtoE?8a-fTTE2(nctT+?@l{z28jb3-(kfq6U5ml-DX9aUK1y=pUdhoyN!vRKb8Jt> zt3n}*68Qq&l{laqz!H=iRek6dp@Eh(k@2FV8108VI6+y3E!e{a>s7NQ$}M9>)#9~L zsF1Kwh5q%?^vcLg%~Qp8zJ*-g3t9K8=^53bkUG^fe?u$Ng_ zQfip1;&B7iS@v>j&KDNEF>`&kIrhGV>uU1>_W z2N|BCuZR{IN8?&Jg zyR*8BLXQ+}4|^@Z*I@4JXU&hCuu@EYFCB3PvlCHgp*$zL!|g#!RfJs(;f5dI^8qyP z3OZUM-K8p=;VQzpE<~<#2clFY*=aKqme_`DR8pHylzb~=`ly-B-5CoXU5}OHQ4Hpk zG6ALXL%`Sx$9p{Kx6_(rcCfjYA_7NN{@vAIwb4y?fQ}^rp~raAJ8LNlle;>#R}OFLB?3d+iJcz zQX4bX23Mwf!06f8`hs#6PdNhkC(LBuTh)^lzWIvT+a<-vH)V#J7||U6xgtti@)^Ax z>8zq;H*AIY`H=WQJWV3Q7Z0}-#Na}Bf_v&5g%J;9eaAA!C@c1lw z#7L>%L67qm+tJ&|TYs8J1$~eGS!^&2WQo@`rMbK5bvdKUP(y9uE;(gYW!-E7XM-m# zjwf&W$R`qXm}hGH(TzRvD#6!7TFN2|-=Cn=K9$@UBR2H7UMNJ3bn#8sR!_p)-ROY! zLiHSd30mw%ElRk^E{>b=NZ$Emh(Un%tI4i`QwTITk$?#`X1L5sR%Y_@gV}DtdBz*D z3vuaen48A%hlBil<0#OMF%#%XvSr2r&CYxgFDL2US0D4Iw#aE0<@PSWwkD0lCRuD@ z=c})G;mr}Iz@fk^rwNalBv7=Q^={|t^!jC?zeDbv?7PD?ZNgr8bjkk2F&%4k=sbkN zLuxz5`t`HPJSN5qG$UApTD@=UlcGKbOKZ_EqB#^%YR@238`FgvwTg;x>{0%gfuxM# zl{5({EqUq^}wxA@^KVpb^_SxN$&BW-+$wob@=^ zgjmr5I}YW07|WIwnsgN zUVOCpZ?=2)3aLd;^hGKw0!_Z&XSz_bw9_Bp>g1BmlM|UBt{aLWpC&@L=I>m$7>-ry z++$H5W|z`rO_OAuMq#>t_WYxne-j7(lpb%Om9@x(OxZ0ml0LC$QOw=wopoCALg@nf zPZM_LuG_^Hl3h1qL{bk6W`6xB2$&GbQUmkgv(q>PAX<=C_45y2LfLHssuK<2#ua{x zq1V)srskLrq7`AKGDBQQCv9yjJ8+5ZzIx>iUg^d@k@p`F00DViYsnVF^V_SQP@V<^ zz<>ZGkT!1iDL3HCf%FlVRE9tsKBGNGKb^Pu)uSJOP5|=H`iN7k~Jv=|KOxoc5T&#$}$L zyjYK3*Z9qN$iC^4APrT+#kG938W+agb~{*nlGPOE_uPi|pa-PQ8*#dv0s$Oso#P~i zF4hjin57Cbui8X5UQdzf+Cwj^E}4)dvY~R^+qxBa`tFE3x)$8Wb!j#OT8Z~8Lm6yb z5Ej^w@@du`TB6efC&`ghx zUd=%W%XFw=adUp^{E&KZDI%#@AL-Rz0|kIqsTxiuzg?~Lh1tQqzumT|fc0a$h*{GXi`x&{fd)6$gH36L6Vyu9RL7 zw33j0u48F3P9^1XC9P;r3OZbvENdgsbrcjuA~cqPbQy8y`_3>pE{|syC4Yv*O74Oc zhg?OXnYQs8-6z*LW#-ExEK;jC!Mi~{>1E2~neU{Rjg4|ZgLRT{JTMNppC7za{-*;4 z7`rQ%sB!Rfo4r(A_JN}g`%6rvp(VfR?e;Dt--RFH)a142w3?um$q|thU%l~V>4bY7 z0sIy=8_sbu4MPyCqa+^l%yLS#g_l({htoQ(ByneWL(hsWZK=G|Z%Fi~kImE({su5? zdlD5S6}DCk_i7)KJvQd2ijP772L9_~kAt2@%EuG&Gq}ShhxQBQ5x{HO=9EJmgY&J1 zwg{Nmw=*B2-!8#SUYMbFxl87Y=UdWR1v7@dOt-{OX5P+Th!)9x=3zwGavb^kR)=8T zAo#nE(|-U7nA1T{+PHM3IPteL5%1>Pnr13LlFZyqa#!Zgdsnfm+LoQRNJhNY@LL4g z$_^^qz}8+~7;LgBnYqIlEO|9Ly5nM9Pq5{TCfZ@eeByDJX3`eD&nMR#JHG+Tfd@-V z?5K9^2iDONX-l^^iubTk(&hK4W8PF3TQVldBrZMN#4KF=ZI(@vUC_Z~V|Qb_(j;s2 z@;*aJ(erkwvem0QyTN8NvZr}>qd#{{4ySDBXZ}_z@6D2LR+J6h9y}6!VE26G<&BqJ z9(nT3E$ULE6Z&B$w`(8BXGz3V++VIK{9!=McVWDuKF0AZK*_DCY?nE>JxarGKcuE{ zeUZ(AjkHCUp}*G0@&VZmNsK!+)!ifR!kHEa`4fIc?*|-nStT&$MQK3ub=GXOij`Hd zq>(0JZ_()KxtwiuLL^7N)*-(bODKMnkgyzX_zeQHQMQ;H#yQ57H<%YyzuLkV$~_`} zuyH1w`FhvvOhuBl8C}PRD(ARR@;7;|hpWf64TRg7vF`Y)hy2z0z`d&!A&O%+t9Pff zVu%P>bgBfugyQRe_)W>eUPS)pj6gO zyh}e*hx;3I=>BM}%vheKO?Kn4tn5Py28_h;<-+a-51P~Y>JhHE*yDTXhcAf(kBDb~ zQ@Z%gTRE~hwdQi&^f7010hMkQmlPG{_wsb|CvVi59F5-!k_OKqi|gUm(MPWQhs-bC^>Xtp1es#aXaPRcS!IuoPOliFN zH~tt?8rADGBm)jC?KO3!1PXU}c@`dcdtZF4_!;}CG`dbvEDiNg;ZhB>?pn%Gqvi7trBMH_ zK|vkkaV%LVsW6({|HL|M+l4w>na(|dgiufaDjNcwo+Yyhv<#DF&5AP1;TmwX-b(0Z z>$&+o{Frn7B$*)Licel4tu2Szlu=ggaxWswo|v6p;F8?#fSB#vn7?q4hD*H%9nVq+3iHE zNu-vL6mv9BM%$mTz88d;@HNjA& zG*4XQ;H9*gfRRNqdBb1}$Aihvt1W2BjBKW_sh9`=$6hCieJ{J(xnXe2H|?(A zThj(AheELemS*k1hQ0b6I#5-G-?LDhcPf1w@ms&j@xPgVd(Gw_@gjqNEj|)t;};JV zdkF~qo304_1J?z9xBBn9n144k|2?sH6ZhbGcOtWN`mm(72Z_)c0+?Nhmw22iNHl_+ zY;H+MR-m60rWQch3h{0aUuVwkz&vgI>!A5==+W}9*u1us?as% zvT}w>WBD?VI4-u9LPN`ANqEZd^5Q(z*VI7j&}VC)LtLceTaQNj69}R-cX7)1%sAIT z&;4R0rc6N2c6u)+^2|Lk1`{@SrzCGq>~(Qw)$D8vGs3-(5x~i(?DFVrE=x+S7A4oa z`rphswtVN{4Gn)5B_j3F4o^)(GTkxh51BiDwSqa*2E?IH(l^%B*yO~)E{SD z)sOS>@2LJe>iO@NY^HzbTj;7=?s}Zs4;ywvEqkCu#yT&Z&qn%wV+JN8&GjamGh!$L zxIjZHTcm?_{q^i23sN7$z8y~fODv#!32;9v zfjzl{)ZjV>2;h?eypDGFog7jSls6y%uZBz4Z?SI;;Dpy3R@IU6VfP#Uk{5Rf!Tpdz z1Te>eq-S;TpW-|H0m>hs{8ONOi-;-BwqSm%j9P!Tb9nx(OTX2@wZ4wp{dS=nhZa9L z&cKf_t^Ta3F{M9;bo&7+(Dz6k{W&1x4?soyh?K*(yK_GyPx_Bo{Uu)7|2bF~K_SbQ zE~Ie$FlQ5~PUxKNQGNu5bF2<6rshOpz)?sfMbW|2im9*z!p0t_v0ps-42b^+;q#wF z+dp9We*%^j-Wi5i1@bkg0I`vQ4?b#mTx5~^0y%v*ogh0uHc0W^I>rAwH2;5tC2^yk zA$C!}-&6pn@OnkE1b!zvg>J#UbfNf}pX;>0x!?Ssgvb8{Se*X7+l}g@+zD(X(~J#~ zk<{fr=q~wSn8G)g9>fWrE!Aou0WD#eBS)L|{BGghRNQa(HxWSd?7;!!c3lh#hAii#XPOa_YCP ziWoUaB0L zeNH*q919r`rTJ!kA%K8}m1TwV;~(JWUN}_5Cx}Ah+w@Yjc zr#Co%lP0S_V^D4e8vcH3Mk&L}$fPgKVM%h%Ne2B5OZ+AXKrimJAETf9w_m9?+Mu~T zc&PK*S1~4X+KCA>nZ>X+Z=wCde+#q`aKwc&`l~Gb&r|X(*jVAx$KlobtplN=y3RbO z2`cp&^3oA?Q*(Aov}Wxi7*X96Vk1ovDA7y;b~B*kGSl- z<}xd@A#5s^*>^eid^UxF5q!w}udn*?a0^RJ%9OZux3S#7BlAvtUexd%l>`?UFM`Iv zs^6S$XUIQ4otIrj0!Ti5Sl8HjkUpOERS})i$0c9jH>Tz9Os$`@(f7Q2pnz{?Yj%9* z9{FUSGN-l;3!}?nn{ZiVj$0ecUJ+*-(Z z?-8Y7nc0<`PGO7Kn)!eMds*3pd(EeqU|iG5+ey%PlppzGT*VV%m(1`WYYe6g>59&L<5oPG7mg6spa7c5A5qJr*JhGOBb;)3B&zz9~t zw78d8+)nY)C1^kA)2g6`xQCUskW1F%n}HGoSUF<8?V0K$`DIoLI(nw(jy-IXmbFO7 z+9fg^$kQNotVqG*8fRSzH*0xnLdGLpnR+7*PG45Khx$b_bApmP+BhMdGC^31+ioVc*#8DD9tu-@9vpM%=quBmIpUb&~cg|oA< zqr2%;96sjKCB|xIN`~#{khqAf0^<_Z<$DCbHg#2 zU6bja)(l>PNj*;XBdT&y^5Yz?K>HL-uCvz@b&$=*8_mR}+l(UhF=|jsms%7T!l{Ss znbikENsG4K-=bFP20Ob;&a+9l!Bk!1L5C;R^haKhThwJLc6tQGx1Cq7z-7U!F^jn^>ZYB+UqpP%;A`1(X>iwH^L(p?8-cHeymi<#> zxNdxaZuO9)?_x>W@M3i=dE=|T1O7e+)J`H4(^l;a3c_(na+2AQ+>O%ONS}LxMh72h z7<>kGl2Da>#&7XXQan~_SKES(DA4F@&**DHGh0-ymfvXO#r9pbRk1iJkJ5D3GOF^6 zM>F7J@i97Ya2xuNiVY&Pyk|Bsp*_A9Yx+_>Ci$LSa`WK(9GGXJvo};)5WLF2gIeh8^?~Gbc2O-$^7%-v&Qu*{%xLbQPgdSCMMUH zdxe=lukAIw6$`bd=j*jJk|~uVY=1u3L%3P-<~04)QWnY_%}4}Kz=ys(%A>K(*v`ow zvycU`S+d;Jz1uNk5ovYiSJiFXo=JLQJnB45y%8Jd7#|VB7^hZFK<317ukrfj;uYIB zENO$chM}16Z;jZqNU>%pV{A7GoVmq!510%cM&Mbnu;)Ja94Ei0+cF=^DLt3mo~e+A zDa@;`15s$j(<>#QS4}JlJu!490+NZV+?X6{q|yU33zi>tMtMZ!d~~(b(Kh21xl>o_ zZ<(7hN#yo2WHOW8&&9AhtHMTjtM=jQy>NBgBDnC~c=u}iYVJOND7C~4kK`=cAdjK& zS^w1u)#DlVp`91on~?b${|5}pP2OM`J)Q;Z2lE$BvqnCa-Vd0`@o1cApft&6rmqh- zI@_|XJUm|d^9_zypwVQE+~r_XXwHFn4vDAQ^6_j(Nb;3vK=kHAat>`%%72Vuq9#|xThZ3Fv!}P&i?_W*FK-33(|1^ zFrRdb&0eQR>jn1ZV3(l}TTL~UDY3O6Cd5gmHbi4UJf?+7pFEa>mDZxKAL^!cSTjws zqR4|Y#Pvou&x+cW0My47C2sXByN~_DLaxo7n}KPiHEhv4q9kp_wz$nl?;gF-d%pkD z5Y2Xo@8~3#QaM6ymnP-aXtBaw1_=goHAbO@Qm)aGVRzy?@n>OBNSD0vl?Az~9oVpI z-AJA@y?j~tIyqxd?~=yV@Y)40Hj6ZD%f`rc|3NbA#dnhL;>=#W5%A<@hdNo#Gi}*# zU{bnRQ`~15{G3plf&i30;_FW`Hg~f5eSWyIh4Nab?ZVhD9BQYg$I|*zd-hJArI8Dj zA%A+6N9tlf+#aYn(@P2D+Tv9$^|s2WeD_Fz5p^n}D^7D1VlOObpQpz;0{MVq%7J7sa^;dPpVaYGxm8veO+Vf~Q_Gqyar;gN3M-7+MwJ+%Un~hSsU);vbbN$ta znXX?vGe5pWgFJ}f(Hu^(YUXZQKby|-{TRmH_XKL`e6OS|kUV89e!JGlepDNEnr_=H zGpu;y0EZ=X>;hzxyFOrnn>#rk@+Noqp zLlapzX{nukY;_!GRz8Md=wj>Dxz?i-zW8JSx@HfBM$L3>w(G&??!G{rje+qYrk+`e%? zIVCVpQGvd3fsf-#qnj(p&iXU2h#0`M15>$E7N9qnf9O{8x@2S%y;UoM0LxK$9}s%( z#i9qv4!mFy$tsW3nHevq?V?l*7%a4`ek*V%I*S|Xm)^tm$WEF}$S`mE5l%>&^!y~b z=UA@(JOVc<(7Uu&L2Z}(7G=hw+QMQCPFWUrsZ>4%I|S4n#)2R( zj-sET$C$k^1T*=Ek~|yYhw$%6jU3)7y7G0)s%xs9^2$IcAa*D+B6o2=+ai8)R@D}-Y83=CB*7H&E(0I9bMW*{+_+g(+$$Rw5 z$2`XuMq>vjv{;|MZd&5FuCMy0^=(Cs~jcEWo6W=7Ouz8+|>J%Ay$z!wnN#A zjoc||pbG|l;_9Md9ZPNZ-Kmb3814jSS27Rp;|8ePU3(*A`n4%Exo*wA!_X$6V!uqv znBe7C3CTqb`)*BW%GL7Zllzmx87-$Jw9_dt(nS?vNM@XujTMA_aMi!NlXjYMa?}f3 zLlHXQE}Yqo?N=6O_Yg45y>(Ds&$cc~a0w7d@Zb)?-QC^YS-8791b25QxVr~;cXxO9 zyOQ7D`P&)Mquqlw`vnzO_?FB0*W9q_Q;$X>WSJKdy2_N<${ejA?k42bM~0K{0QlT@}W$NS5KA?T0+BNcmjfeRQ;}12Vo>JDxX-Bgh+pO{3VaChAdv?PW zSXwq(y9Pni^$C0}j(?4-`_VKZx;I;r{MKY49t!#T1CaSry21b+{oNO2wOa(M=k5n| zHkdKAHsZ4^Zz+diACuIFA%QOCd8(KswB;C@K;=v17&LD(D#A;{rjE3GODKr+GLny1 z5HY~K*I42R^b|CP}=gHjW|WA`VgTeYnNIWf9pqeoP$^UT=A0iaGvzzkKdn zi#1YSMXtqIhd->kP~&lP=Pkz*$*vEPx#09lT{r%!^+U!E8q}v)!4NqAc2`*K4F#IB z=V+vA3A&%K$>r?2gx&+j*ldUk44^0EEv6P+F%y)-*V7%pSq->G+;xBZg+jP5?ef`UM-8otVk4?QD-gPociGBB1YR2px3bSWi%dQRAnL;vq z%>kigo%W_a9&%f$9rixC6Tf>wmp&TJQ8&Q7GV3_A?)Lle5St6f=|UP}+p!jgpuhDMGHN-`_jpDpGCv3L?<5g1Q6IzC#)#WGJsR-|agnMQ6S>kcGQ z>mo$Sf2Fy7=vM_j54ST@Q!WG=smzHasoKn%@WhTk)=oMMpG#Zr#bdk)rN_o@pdNua z+SkznN=r40)Yef--DqvMU&|h7l)We!pYE8gRxV6WoV}flJhG~sJ5bYbP;xI zi`kVS)Yk{wogtlt6RkHEXX?&OrJAFnio5v*6`Wt5i|a8e^VW``YU}_7aR80#l8~n^ z*|!YV`0|X(7p@_rwMOp`jO2w2st@GHeSXU&JL`6hmiflYN>1I4mVqUs+=2bUUl{hx zf*$Hs?XP^rA#AdfhIteDSdCsSZD;h*jykTq+e_ycw`PEa%%nUu^A(?#k$LAX;Q z0n#Hl>?!F*qq#lZNRPulW7q93xCQQ^32~W)Ru*z@$?jTHTO)Km`-`0fb0pW*lr(EJ zE$yC93)?U+)K+Wlt;=deKY01G%Uk8)fcI1}?iJB~mObUQ7+FnSWv|^-kXX}58H(%0 zbdLPMccY=boqg87W93OP)zf)jq<1teqtBn#*Gc>MEOMs$ptJJax)9>-)VD+KmYa1D za`|GMAvn&OTUh~KRmzh*;rSqP)VfZICjE|kw&v|EbZR>1<7{e3l?3sU<}RtU1z4ZTI0*% zow*X5{z}n9KvrgxvHxJYWl}5m9PEJPeTQ}@@pK#4)6z3a1IB0!)6$)tM#9DGi&KlL zEtY^?N8eTZ)rym4XPro^i{*ZuNb1SFEq0hFn~~y`ih05Z@McGCss3EXRLKH0bzPH! zyY?<{!1a-fnTiRDmBA&);#lMD@XOAv6;+H}o>dLAjjR2)q(-{6b}Zt+RYT?X7JB@5 z=|Zkf)w&f+e>S*doC%G(-;R#LC>y8x)!G>+TU*N-((TZbk8w-~^Xp4I@fPr$k?mJ& zwdZy+&vyl%i5=}a?V}niUzX`)re|;7j|S@k0ui9J0YdHr?ClTBjeB{=OT?tq(&jgf z;pr`I{SY&A1WEHLyM_IoDL>rRLyX0h>pe?{tcSc0;oe`~IntuCe$J-0sHLV0c)zjenk#QN zddSEhU6v7>jIg95Io6^!q$1~qI zb;Pp49=stD?(aW7PZVWBDNk>%y$))sKt3VDquhN^7`!uZUcOIEhV`Ss=zeGNVFfGs zP+IjpmVGvO*qRHSEQAVY(eJu`?vjUCEJ;SQ`Vcte0W*w|1ADUl*glE_-FBt0J?u9(ETHV?jIR+{|KS`M+*HvQt1DYLjR8x`oB`N zU}*%b9jzSj=xJermuCm~vl87w#Ve>7qIbCQ4SB5Z2m0Ig%AdC_yilXzdJ4Q5|{_1JeF z#fFPfB0Z}#ExOTQe-E5kT(BIn=&Xl>;U-;_$LB9N0zC{!eBs31GY^+fT8~Gp0vuUZ z<9#!pi)(^SAJ_yn`O=NbNJ74rM5IUcg%88N* zg2npvb&K^0k${h8&rr3TIdqP0P^zt5_apK#)Y3eYs012dT9qVq3DDzw_c5zSklTgq z&v8=^4#!C|XtVY#5?bs0!(c0&vvWg9zHntTGxm0tLN~(T0;3L zY1dX#9iw?4AS!4(GvqZ|K`UI*VrR|4wpa0_+X!Ol=&j z?SNMd+?Lj}1V#uxSxF^Xc}hMz0~1pxYkmto19K{QfU%>6-k)j~ddBv6jIcC(_6C0( zm6e4RmgbL~KO0o^bUH~=h_@#yK;fNJX5hyqNFO&su;S%LM$9P}(q4fw2#E&g`P zpHuSx)rg9ofgaeJnFWuIg_aSIjfn-=!+#C~{Tx7#$M~OK`Hw<>BFF!Zn?Ke6Y4l%e z;nDxq9N268diH=nHU1yeQ*hLG_!}k##039T{{u;SpdMm^iq;}xf>L@mcr;>$KwV88 zT>tJ?aJ2`jD`sV6jrT7c(5U~AUZBNeU|`S!_A+n>3#%3$Fsx}Xu(D|Z?SZGk z#>l7z1P1fJcG0mg;nA_t{b_+m4~&-@jEsM}?az;yjt(dUXrn*-w1Bn|RKa6rX88l9 z|5)U|hsS?MLI!4_MgE6S32gVD@TfICX5~-&8D!HvlVIRZmRMFjG$6VK1o`KiNf{!q zzn&hi6LlP*jVZ=8qMob|iOSgt!^mY4-k|?s0vMd$doctv96_Q5%9ns_2 zWL_RjJwD9QsLe>>8)|YlV6zZdP=~#{UrFnEp=^ z{s*i70oxyx0UhW6B}Rp;fOKbSW&B@Aq!RtN4;tzLeFlhIAh**q{hM7Ct(B}y|4<~* z9sY?n{~b4f82R6x^gm(c-?Yle#QFzs|G`b4Vz(I<-Iw+gN(XAiOpJ(pqtc(%5;W1i{?z1a{wrCNAr2`WLH<%N+ zQJ>e^4LRP*RM^0pH>qHRl6u7lE26*DU6eG4sLW+nDtd?Hi*w(&Z5~F4y{>r%Dc`4( z_t1N%{q8*tC|d{}&W5luuH_(5onA8H;3=t8`l_DQ1rtjgm^B8~Md(p?Mk=OSVsUN!HP7EeT&GzTx0T*rDSca^9 zpI7d>Fx9R!NTixCw7fz5-x1D=>DfnPo?(_wtvCDejAq`cgi@bifg>UR;69(|0l%$H%R>dnUvZ7i&%o3QQ!_ugj8UmA9R#p~R zntyR9BNH&33s_rN+bP)S836D!Xv72r{sav}Jchr?Hjo(jO&#oI0d@k`mNwQ_e+l|O z450Dfvt>LQK>@{o66Zg3@;8G9<`0&@z+vTRVe!{^a*jZ{c5uaGrUlvxSnJ=cLPtwW z|G$NTvvvqo#kCgJjw8q;NQiGl1!sxQstpyr>yk#1-5SoV}gc$>1Q5tmm(%Xc_U3kdEh_7fi&t z4n#kGQBhHGNw=`{*Thu3r0nI3cYJjaeT#T2Mis_yBp?as5E1AQQwX%6Ah3|bov%I{ zUSz*a4$+fU7e(`9;3+CU{US3l`E_W5j(&JJ*t$OW0>VxQIRvkbAt@h0sw#3eI9}GTV4xe25F$dIQ6Uj8U$UYTGhiw8G9WpNBBU3x-dk5K$gNGb+ti*W`ClB_K$3C z=#u4^HLea~#CZJa2CfL$gq<)zh(xuG<|&EneiY!smOc&!IUiRh1lb@?o`b;%{VnsM z`bwNF+|1+i@#z(D(;LghO@F~FjJ!Bd^~K)uR3&TjI~VjC1Oq%0FRhEI4C<%&0KZl! zx*grd`OWu;duWgXIQ9S#8{m8br0!tgliMI@x6qK&-tQ8dq#U~G`y)XhUavoGdFb~1 zw(~K9`kM0N;zHq`b1E(ge^pB{&jx=O>+J|2=zgauaguM89mBns>#S})Up6hc_rHZJ zOr5}J;M35Vn-8abM$$BRS3QJtq~anQy;-Ws zA)I-=9H_2D)K?CPRO8&0^dk_lyOf$rh?4g+=uZ*OKVl4HV(L5A)Dq5`T;D)tK0D{1u<@;**Lyn^b4x$j3N%CZ69zcT=2v>L#;uz4eijgFcm?xrungTtrj|v5FBX9 zipqYwxSMR@-NzCiv7z7edkX?fofem6pP19dA`@1_^q1UuKoMb$l|zaUyj0c(@3Oc> zb2NSKJim0>_I8nd{eyu(X1LMlFIp zzDnz!bYNX8=@R>{(sfj^uZu(-PHJ8zB2;Nk*ckXrtRp(C7fIkH#thun5zjbH%Gm0Sff4x|4zI? zU|}PBs-1!%TKooO@QJVgv<_^t=bMY=ou1Wtr&i&%iyj^b$r&rSF8U{LgP3)FJC_+` zkLd`I`8|K%OkB`XW5ELpeK3{GEWM}xjwTD!&dTouKIUAvZ$(QipTDWSN=%2dJB~}9 zXKi*U@5{RNFBnA3Q$>+pvWl007I+rcQ(KJllt%y=tt#<9mPj{x!=};{AEYyRD0m(P~jv3?ib!7QMtB!EU z^-kjz#?b;N%}R78#=|@y;M={NizP-lG^hQ!6y%0X=IX82QF)n8!J5t!zK^Kq-d^ug zqFf~(RstBdb)>;}tCEawZQB{$##r7JftP7zKP2C0X_@QZVI<;U(CP;cq9>!>%!R#F zDkU-`m!5G@z&B0lK*Ut`Wi`3PD?I>^KZEptGkbqX?u)X?`ny*8%Y+b)o6dWed^+)7 zO2)Q6m!YWkjqs9seugQm6dZxfH_q(Q5F7D6C;W0Si8cSe21NcM)CzpX6@w8h%_O{k1#MG-X092J!W_>};SLw)^I{mBs))BX_acLtVs`7yljE&YApNC{ADXCp~g6C<5 z9K5Lrh@(OgI94TKKOShO-YtrH%@cy%Pv~+^#W8tqcs@G)uD^Obed$&7Oi!dlAb|mhqnY zP)Bku5BhE>6Lw+Fe6t4lX|Q=s{+7 z(c)d>_@7B}@W2r7@$!gt_Acn65A}N?n9%5VyFWP-lxuZ=SL6dd`VFvV?vZop_$lX| zeFcRHEOh)K>9O$zK(uOop*LYrreXIc-hzcb1-rDL=U9qLBlA3y5SKBeZ45@%^P3wzJcTgwVFq*NS`+0NGrkJ{iKNIgCOxgc{Hdbg_5@OYlux6(0~tlQWtmsA|}s z;R#i%Z?Lt-dd_1|080^jaTIr)& zcdupvF`b@sdYq{6O=^zdhT_}VFeueoQTp%vuO2qdv^F6tpWy6CF8mR?__T9HFA7(_ zr-&z`jw0DjqO?JQ`JTZbpWoSFdT@z)kwZ1LePj`@F1InMncNZ$1t#wFw4E~!z3Ibf zZYIB36K&;Yx*s&&ja9D3>uInF^(S4vEME=o!kSk0GRJ&3VLiS?!r^MTt17HdZbTRC z+lhfbf2OqSf(vI%d#+`wW^XGm0DNOXA##wPliMA9x1CxRFmeu$6upUekydzCfIobu z8w!48``~?pGq}6vhq~A9Ls?f12GLI+l0_xQKp#kNmzv8{|4F}VrhS-b;vuPx@Xmgm zpIerWr?2zN`{d1!jQv80Rm4@RM^uh4hIgk{P0RKC^SUX?Gg)Otalox#M6KtDDs`w| zz$JRim^nw?QLe<06oam2HdZ*G9fz2^T37sSR`RZgw;IoAnm@MLXmjD3{w8?#!04F! zYSixzswr#&5gId%$4cuaNyI(eJJ!}_+KZhthqPxEa1-gz)fkB4_pK{@GDiK4c!Bu&;$ZBu}bbZd|9cw_F zM&N4dYN_ki*NqE#AzP6#CA+Q-39pfqv!f3D#+s*rBs_ss3-=aLnjyLwL^8=BxQ-Q? zr-CC2gFLS8hFENf?XbDon7PW5D58F3S7_!5>7Rvncf~2|REMGXKG4_CPp+4sREAy5 z0M?lnZb7QeH6=d}6GWC?3$H1aI#~rb$<2syGBo(G;tOM*T$=n6LgekIH2*6I=D5%- z4n&?2&FDc5{}ti*)dQ@oiSu5X$GjmdB7gya#{RIbm6!J`nsAPzeNh9G^?AVh+c5oy zJQABTWVMam4|1AOx1#;e;5dFp9r`QYxiem^)*q;8LJtu8617l;B7tHhNe_7|nkADC zCa*ARxPl7;V^I;aaep(t;S#8r00;;O z)t$pIN9;VA5d_r@`ngW+l?vg5HWhp%mQ;++XQa z76!i?0$NK-6VNcMli4694sXpuvZYE5axI~8EhvmBmu^`-@fXOp6wEt#%7Ttiv+a%? z97IJH&XV*G5OxM7#20tF(=re;kRHoMqd$2K@XdNT8Li(z8e^c4YBd7K9%JRPz&;b8 zH?+0Oo8%-L9%YUjrqgTZJ5wu`pAU+5x?n|Mo)EuJqFG0Xra0ifCNYU7t{1+W!I|gt z$oHK3zD`v^l*`0iqnU2t)%^hSlhskouL;*>{*=^~B{r3IX>U#>-JIMr7a|F~4l_?1 zI@>`UPxrZ5lcfbwIcJ2ZWs#5^l}mglwZCw%(MYc;i+bKpSDAw7dd`3r9`!3iq3YKe zug!w0Z$mCQ=6OtYJ24 zgfclxC#S@p%N*-Ra^nUn5MwPGXo%E1Os0YB=5*=`NSLl$myFKKNS1XLpeIEYtT9EV zbZ&KLr07WFF*VRLDFe%7M9~;<$K{p|4KLt#NRd^K< z7fb6*yDj9h5KR(*`jg{!h12iIo~Gg$6_P!QD-_zj(A`WwM;k z8#GYvjv0$Zko^@mND=+Uja52jn`mCwlB?4xm(ky3 z^G;F#>7XFPjyn1Vs>Rk4R3(HhfM5!K8?q!^_@kIdWVmbiYe%HTMwzcBO+-HPaPPU2 zu5?31r1LQg@a<6eN~h6=P~)<4xzd{su*iCfP!?wv9my8=;*(vg+AbBO&zqDDqQ4CM z*6pUuzH|B=j(A2-6OXqZgx!~jfS;G;MSk;||3)SM*kb$i{i#r+68rO};+4cp>6ojt zmeG1KbvT=_NTvX~A8c7kYB^|-H4}Q9-gL%P(o#kjg%!9%P!x^|2;ch9&N8x*c?T+{GkZH*K5CeT-3i_l(+h zUw;O5B&TzHtVN5z7hI|HU>9({kAC2-VNjR#esTuiawx1s701PTUbydHFB6r*8L{`o z@lwXmI=lkglSgn~Sh-XJJf?^1rENEC3ALg~%Cr(7??P@IZ!C(f-GijVp`gN(ED!vX z^SHsG4)v_XA!UbEYR_G8xt@=+G~yMExzw1!Qe(VFy+>rd3itzTaxUs8G4(Kq;I-Y^ver6RI- zr68BZ2NpIkvrAIbGL`6TlvA$db}Y}89U}dk+(&2uvuaE`{%HeS zfa4u!w7MYoy?EBI7>Rd58_y)o|60~Y@ux8ic>A(W>$Nv*(gO;d_O<*-{E*{Fn&P`A z3k=5Tnz$)vZqM5I2Qh_z1kNut=+-{ zR;oqFZFYKMkFbOupHDLDnZH4zmkFvv;ie(lfzx#)JkbU(?M;~0(zdCv*`wtNKMetA zHlJMjniOf7tX(KJ5@-+DlE%3EDpLe=YQXn9nJ{_KB)?THy(iFr`n|@o=g=O82WG{iQiN7rU@!IrY%EammeIx&>A7B%W^}`+5Dk&Z6O-S%GMgU6~jSv2ilt zp%F(lediK6z?t~h7M-0(M>4flJ7m?o6G&(nVYy9EDB@R02K#>SGo2HIZ$URXm7S5C z-*@dYb3GOJK#dxM?{Nq5jp387_hX`N)h_dbssLIR#YQkpR1swT`}-b-IO<)N>p;*ovEM5borJey^I~HyDgVbKfLM9YWzqN zuV1#!DM1MMhBmk>fXl{bm=_6nVeu3Hfn#lGF?a=nfwk=u7ftu_z3Jc`+N5;O5I$wD z#hXf!VUZCPoeGsGChW=O<4b`(IVbT=wM{V95GNeG5xp^5`4x6gaINr(JhVxZ>z0w4 z?rYLZ78hYD=5J48*JWwa0>sxi4pY z#C`3O%6VvRq?e-g$to5CkmL<&7fQ_0vNr>vRM^PSy6x}7qV-C=AkGks`>x|+6sa_c z-2hU_~P_DbkTvcS4fep-G3Q)Z-&D_Z%L6_348~pp97PGtd z>zyvs+bRXUUJNT8`F~47eqz2#69W^AY{jE*$I!x9A&{twfFQBY4=FyfAS8apOoryX zL`|s-pgVuzoS#@qNzcR!x6G&iLtwd^{!7Obh zG==8_fm3}krZwr^d!CHy5~{*tWaz-4Xf-Z>`Ss%oLcL>DL1N9-!9wO3TYANqlE=(K zSMgYyf&gdBcJ*_DuNVOcxzS@FNK=A|-o>lWl?7SCm%fp%S?&>=9Yx6_Ch0mM_qIbA zN^BzX{d~GyOFup5S(3(rl~E2}0;pCL4evr1#g&I?qmtHd4PMO1U!EuHTJ% z*JA>EmTCp2ocrTw;Mv8>u6U}l54;-%>{!xhk<6tk+PO1YW#wfVsTKGk&eT z6YhFs06<8fxI0Ow?ZpwHi4xf;ktyagLg$U|$&P;BK27oxO?T~K^70<Ax;Y#o*Ip!=80s#DIodj_&m0|Y1Rap2sb!AL$V@P`|Z?7?@ouQq-X+aY_aB80g%ODsb*zc0&xOtn zm}zO6UGcJVAI)QLc%tM+|DnkS-L^;Pm`7K9NYTtpS718Sm1{AgF;%&2U_CRFW-dTI zw>0=cDP?0sWSS9Qe;a*6RT|piX0-{e9?OmQ2wemtXGUGkNRsRs?QTwD0MGS0jA=Uj zzP}smlNN2Mn3YL=^toGv=#t{wh*K5w63i)w3(E-(j2ch7)s+Q%j1z=qfCq30C_mVr zoQ(l$teKgb4kF|EJdvUftcM!hFpM8w2B0E&HD%gYOt0tk8kYNVD*2Aj5L7z*?2koj z$ome*{MwivhI;P4?6~5$z*+t5qwc8koDxV(+f)Vw2B1shwsnHPf)%E4Z=yPr2v;*T zXny@!s@$8|jG8_r%Rc-)uyTK@Un<}P%8@qmz5WMA|5%XfMh2w>vxSlxQQ=M`UWlam zS>O+7(VD~3wyturw)$YDjHB*H$_UAHACf$P9Vx2hrW7q9h^3kaLvljCn0v>~*Pwih z_TTwr&j@wK1;&0@jX*Vy5dLorF9Z82JPJTDoUmAUD*SdID}s9$ipT6@hRp> zZg{CXI<&sQ)@6LCJLVQ^H;<>I`2;F@SC7!5@4S%}ITaP}2NtMX=758#oQb(0EJv>| zU@IN`n=cFL9iuTKj9n#3e3^i`;Pu(UpHGHiok$6@RfY$+N>vqd5fo~OHwzQR`fSL9Yh>yXpYCm+yK9_O!L;|M;aKApVw-6@WKS4L;g?| zuX}b2r&tx9lF3141R#Ye6_nO`k0--!7ZBD65zgZ4`8w_wn{%PNq$UH&0CZ^P4m#$# zl;ii~_1~Qd7KqBxn}CFZhmxW*o(1iM~# zEA2>G_hyrca-pPG?7mQkDsDI31W!TqIMRLd1>vnrXDJDb6R9hSXmi#)bDyJl(AV#y zhV1rMGUnSQS#cgAApHnwi8*|ek-BLor9;{X>Er;be35vdO~RF9{QwPgxTB1f_9QA> zB+K-7$~T=E8;Nr*h0+R4G?NOmGLmzny3=O|d1#WV$mMIK3R+@QfrGshJhpl0_2*i0 z3<=Qsc`@RaKGRl4jC+qZ0|?3Y$H&`7Kh%YQ&rWor;M)M`A9#nU@+g#kH-iW&vIZd0{~;`N!DdJ9euM--N?3m=Om$ zdvSZmO_)Bqy0PG5oy;Mj&R$D?NjkqAmi??6WU2pMvnKgXxCuY4UBQ!%o~+X8Gx)pI z&v)&qYeA3$)tN!wV^qzK&7xEqn$wGRxhLdYHF^Ta9(CdY)%n6joXOqGELSFC)d)rU zjIMo0zWfGX0|{pf*n1Bv3$<1agF5u4Eyxt)z%ZUl!sWuEz|LIVfbF6mqH%-<`1fzM zl%t@R>symDYj9mr3kQ+a5?^>n7{GntC~Rvwc^4oiZhYT9Vdv8gS*LLnk_&;1dBRqu z^^1B+V23sNog`^L75GD?EPnwJXAFmbcm3s>@dyKYdFC6JliVd18q(#jtYrh<)z^f( zvk&ty1DTPb;h2F;;F;wBjr3W;lIIOs0*5VC6YqNjN=f9Wpml3riYQ6$9pW<3)sp%u zXTIz(kbUKA4AS0!N?A6(m)Y$3V4h#k{w4n|Wb%h?XdZV%jT~kAmo*$!{b}QsxF3VfUJepM7Xyx4pra@~3pwPZ~`$&1q-fi%sXlTzeLmnYZEl;#G$5!-=X2^+{P@(dBxZt>M z{80e)j{x3;=O2t(%W?A?hpz6;9&oT5IsVc&h~ znXUF-nH+D5bD1!N!53yp1SaqUYU$D~^}OTciCF8;1ww@)JZ1A!pSxHGBn9<7DWSz0 zYTov&{A=(*T^jA2_8|N^t6{-74|IRPl&PR=j=4K#LnPu)K3i%S#9?%-~3~ zZ3WJI2DKhlBg#hd(vfJ0J(P6lE*fK~tdoJUGx+wh*{L#MCJ5q3Fb;=mNKSM?sWz-pJ=P?+0G_Gslu6Tz(@W$cX*}R*d(F%x?RH+sAB}JUl@9#uAS@GKk*CS zGgwe^hip65Y=%J)$MY_6nFh7%EC;wv1V(!Z6Eu7DoWIU-{JMqjz;WsgyKbreCD95+U$@s@~{+>MU6&!Q7=O!fuNX5^XV6AP9|hnJlr zaWJ`?oKse(SBBPfb-Blm^vcLJwXwP0_fOVdra=w3FUCszktgnWE|4cibdIO|;(epO z<#xrMCAf8Twpy;q(q(v)^_?tUOB`4Uj8h197>M#w6v7naj-{dWLaq01?(A zRD?d<((;`VyANb(MUK&|&M_c^5cMfUY-i=$R}Zqbea|_NP|y8Bo84gLU0A*j-K5GN zaTm|el*o>7_uxyBJbM`TtU8T{YP;oZ#NJB06IFGV=9W$j`z!9_GbnSWH`BlOuEFCd z>H{&F`{d407TNvT)l^kVd^EnHV=_%CPpWn_w`9Ah+I0@TQDRXLVsOQ1as@uSiQyhZ zuhk(_jla&!?(;Ukz5fQ)qoe$qM^lONct~3nbklCQaRtuh*wV2hqpMeL?RptbfX}J! z6IL9@c0V5`Sx;TMRnHsS;4kMW2T~C$M#v{ z2$PZlygr(?m1H9tZV3gakBe~ur+*#`)4CqB;ulO$T2l#aFhr2n7|yQ2y?BcH+bp+>SYvnS*Wx ziy4x&fJ5BhJhfh5AT+T_(aVo#SemBSzSsLXQ~mA`T)rxVk`%`=IaEtE7ig!W&^Bu0 zoH#T~KH!q>Bc5BC+<;rG=UH!2Q&#DyA;P*5R3KlmOVs-nttX}SWy8V7(NHDRMo*^KB#(WB^5h)7ffwRQV3*W?t{3|B~_ zWaUg^-M9#j7*0ar8b)O|DvP@iRY5;m=t4%E52m0>h2CVsBK#%*$vY=M64bGEAro6gdZ(k2y zUoHHbGH$cRMI1&NJ`0pceE9V*@{02>Pyt;c4M*dqe z@Q}k?LPNvnEjjtPQVR4aVk-vtB4B}59na35&V}MH@|mJK8kJt83>VD@O*pRte)ZnXz8%Srr90rxBw zB6;hjmOVNztii+lH?K2(q1`=S5k4At=RdJqE5@-duQBx|Yg(b)7-~$P+A&XG-L$p(q(ZEX*sXZCPE`LYn7vjPnNDt$ zrxsbsfYRtA^JbRcO~1;OFqzHNP~tr`ecrDiYH?}P^|e!l&@W3KP|JL$HGIQdih9-z zus);873y>|5h^L_^rCY@<{h`cQCD$na@mbc43G`OszqwKcr!r9I=14J+Y}?5*~%HV z)Cm9LPA=8bLX5nt^RfL$p2q$61Om?=wzZG-w^ZxF>(FH!pTl>^ z7R1QIC_kO|j>3$PEJL5|({CXO^kcAf!V*;eBuP}#@AGZ!XN7})<*=(v1oSy_@#9zP z=`MW#b${x!O4di@!HIWDWw{VLFV-s^jFe*(bEnzkt`XYUJBLKGBnwB$Nz`Ld)ZrDopt3p}^?Hwd zjpo@6mrr1eT zsNIj~@ZAZK#`=KSlZBm7G*95{>X+DNbsQ`P1^(ApE^$(#u8rkYrpk!znJ{Fq>82tC zav5n@>Uk_1%k5?C=%cTQRC1d3s2&L0lpdeU4_l{~ygo6Z(8Kk=1b=SFtOqwjSCR}a zM^?ROSl`tSRWXN2Tv1>omb^c(PITa;_J>Hat^E!bpj)kUFfxvmd@wc?uYPZ~!>BVo zF9riDW1VARAtOV-vQEia?iD>On&WfHibx84JiE;mD)pPs%M)@vbvU*g;IAQ!hA~uF zNND)>>r%;(Rj0&UtQnAD!0R>`cHfsjlQcG16Iw_ay^^9VZ@43gHM%jR!?s?gGhRG_ zU7P(I{=w)#^fRVlfqLvP`npA?ofw`;tu*Ud^Am0FF^ZOqox4l8kvrLxxv%-+56;n- z;^aijns2XZoD(IEk1ZFblp=I9Nl**>s<3^;aYes+S~uV7y)MXvzGoZgEt-{i9hn7C zJhH<q~KHG-LIruOu1-?i_2K4Qd;lupobS5R@W6s|-rs;B>Xr=TvY|y7gNX z?<qZESPCY8`^y^ z7f#PsKEY zV#w&eTks}S1sBcxYMr#>I5Mnbgz$r=?`cq%ljlW=OrVO=&8Pj!I!$(L=A}u@kM8#{ z^<48HH@C_0t+B9#lZRnkV`0u&E^4!qPYP02P0VX$Wti?pw#*nIjVt`J_Oaq7ENs)l z_MrZXcdfB9ovyeHeH{&Y$qunRbSu_l3~1ldtIiCgHsXvD=#S(UH#X(xw4DyHxn2c) zKL&?=&1}a<<6$v4q#0pgaG}wnH-{_&d1%J_7BX&AL9h|#cE-b1wxLTtxoqrS?X)d! zEfm46vS$X!45G#WG&NvS4?-LrQSo z7zw8tWP>!W{*?>`PB3F z_7QNEKWm;2WJH;xGiP?Mqh0r4S^drsnX4wdkr#hKBi^&_+DNE5aCcFne(@&rEV-Sf zdos+UX5LtK3ei>o-0qBxp1r(-*%53cQ3j9YMj?Mj#*${Pi^!t| zFoYMp{)Qa?o|I=(y&E?+j0&fcYTR!@+%u5SZMHXEE^crg1Z5vlG4RoM5%uvN$;mQW z!g=uAXN;L-d}E%Z700$ha*#$I0}ayH0=@cnjlA9)Jc_8|}??$aV%z!Y!N5uPD(@3j0d;y7Vc>h?+1QjIJ z1X&}xola(^6WP@jdZv{I%6-E?j14lTjTSVWDZYp>9Hm`4we|l3ML@d0bMi1) z$5RRumn`y!`@OodKm$ER00WO;5m1fa`rLl6j&{leJ5fV&!=LsyJmTemzu!=d4Zp0w zq1%6Yp3of>Bd6^&caCEK9@m09p&+v>Y^)&gS`TRN@cRKszHV`FuV^>|V1 zx~g^=Uvc?3-56@8t;g0=i6{`j8?^T3qve#d^Y14qNlPG8VJRg90FH)PPg?x9G?4IX z4Rg+tvCp?4>5!0cuX@;u7vYrPbboH>>JD)2K?+=%GS}vN-o6 zUm$CK4a|ib#y4K?o{l{vL#H6g?V2a>u>HrYmJBJ|83{J)X47rClk8X&7be@g^S`R) z7M%tI2lhWh<2hyv=f%{pua~e(&fBfw;=x zry+rxFWN;>;N;`x?UIF-&my*O5d9w(dx^%Xv?HL zgE_8QQ)<8^+fRHy_3<56-~jq?t1b=tP}!SDxx$ZwrlCynRY zPP}I|nyO2ZL*bE_a4<&W(dN5}={)oV(VC47X$mLnM%G6MwuK#`42BVC?g#H%cTdRn zh}wvavX zZ*z@8q25RU;@XGj=&!dGS}btKG%44-$GC9NDR!E0rZvIU=kwQ#USq$bh>HW)!r0BW z%!X>Osm5umJX{3F2+_ClZY7wV)>~U!F68cHgrcJsgfmk)< zw+{%y#zSqMDc#c+3Mn;$V$J&Aif*^13`PLuH_ECgl3inaO{r~8M2pNjPG3ww!#DAq z@fc(==rJu1XADwkXg~3}Gg=X>nunSf8bjpc3!q<3gf+rB6f`dPWvEeoS)p#%(X>53 z#3~L?^FHK{>^B%Z89N|MzZH|CXKnhG78ynENW&T3CmF^0KJYlkb7FkZ*oeoMa9CGpVhso-!0j(wKQn$d%j zb}FZ}Xk9qN*t3WZhnW)A9g=JFt^@|gT(!ZHj%ve&Zo#wC?L>Q|(hSA_%+&j5i(zvp z0$4h0OF1PEIj7m=h&xDu`9K}vt)*aQX?nTeaUvYukMW|;&wE1taR~R{5zaYOn-B@~ z<>%V5Sf2H+e7)JyBMRSx%e#g$AQ3nL%OuQlq_$0a3dlOF!XR-R9k zQxdM!KQl0Q7v2uDN|YUqkx)(Gs}L+6W+Ji>Ds}KodXJm;lP?@6axkpSCCcl=1w&0}yqPB6{aNaP`uD*{b7*iUk_u z-+PITujiC2X!2I9wJUc{_xy#lQf2fLoA8s&@7syHt_Z}=;OG(i>3{LIK@<$V#|>Jy z9B0cxS(;~gW)hPD8QH~8IJ|F=Aa~?*1GSD zfswJr-6eQH5^^S?DnK=U0#)=qSU>;^*J_ZiH`^Eiv_!(mz^ykN5P+;IGM<0M4CBc8 z1A{*>_ydD~7Y4dgxAvDIar*34&G~9;n>bW_{n6CdVSQZ$#$i7@UjX#~80r5%#Nex4 zgD9WdZ0DD)i*kY3D3Oo-mmQxkQvM8?m0KtB3^6NP}iRvjF3@f6anuqq*O{rSfSg9k>=|GcC9 zyQ{^pLamy($LGh27D67zXxwtvc-4ZLhs4o*k>>)Z@0@5qUx$IFew3#YZ>^@PqLPvu zy_(Mk-<2UICEv~N?7q+rM;oUwK80wSZMO=bf&g$*-ZrnZ@+^Pn%mbJl0+0~}-++@p z-}_8irP%MBV|nmInavWL8|Z22kTF}J-AZJsPhK4UN=?*l$1>Ht(E$jb9Yz#!BBvCw&jH?IaZ9#tCQo+&kkPi{PlcPJfP(e*?IjBjo1>?`SorAt%>?17mH zRF7zB>XiL>XbAlEOStU6@OPlyka0n?`E~IFM_Pj|yxJ$!ZcpO4LHOD>V)S1o z$u3HwZs7BjzKgC&>7!pqorB%-VL||@ADiF(iw^J~P+p<0zyhIKD*UoFquX}73sE{G0D8U72eDMiWkZ4u3%Um%Tz)0oxo_i^0pyF(j7nb`2 zKOdciJg5nKBpjdOGddwb?Q?pd;_Php{P|^&12@FJjSPkImlE-eAT*iW zy0a078^p4WZl|hIJ|~#vh36Cf_Ez)ALQD{Gdata~E+!jl_D@4-E)kJn;5$?MO5&iU z443Uy^yL#MP8eo=Ys2U=O@5=Jw5Y7KdqN;CQ=+nCkBy=5^t)nhEisbtwr*;Yt^>#+ zWS4k|{rqyjU~fw!YqR@n{&p2RJ~;g=?^h|VwqNwbJ-7(frk{;;FMt+ZO!nUCUoCyk zilUG!0L=X`H-2KOofoY)dBuoPYM^ZQ*!SJ|O$6ZL6WGX|z2G?`)wPo=Sh-RnV#$^A z!lV!Y{b~r-Hp;q~XybU>9b26Uv4zvzi$~QA6m_MeoQrkIU9E-Zm-S=ER97A5UKK91AfJ6WeJ{o@KUbj>AtPx+g_yC zl(!1yWe)XP2B69BQE(38-hTc(x{9^_v-u*M0ZBKHqn|A*KCYftR(o-&Bgjy?&^NGl8i5GlEC@>?pemAH8d8oJL9weLQA@(~sD_CA#RDm7R+v7SRd zaaTd2UauKn9Ub%wKI+vK#k*$A3KlMV8otC{zH@>Ztu(SS=FDdE*h%RY3#Qk+L-O2x zVC2U>3O}*58tL1(Q&|p;Pd{@L-fta#w~h6JSMSuArl~&m6u*n?)Vg-@T~fQ}V|DcA zKO@00Q6ZX9JH)vb-`B$;6CdGdOrO3%Db{%QjjNX#(2GAreYF*QMvn_(y;uIW8@XspkzFp)Rxv8s5CqXSRFbpl;1@6({#LS z!NftUWsF;srf%Mkfo8+OcHq4Tc%>lBXz>}f_uU1Bx>r{mvhoL@AZH_0JSy%uK04Bs zh#1d==uZ9KO`49X=vDiw>KJW3LaFCpaZ>R+4(x-zxpG~7X844RTy*xgjK`df^jGQc z?yTMme4*WiB}h@8yE$oGYo5KK-CM=Nc2D>4CRVXv;U@zF1Gmj%{k*J8Epxf`!USMD z=XX4|=RQbz>)gjfGHqaa=E%ZE<}cSx&3M06it|94T6p|AxE29GiViI^sv!-^0<1QX zpJ{I&-_Wm3A#%$$8g+K#V%4gBE#IE^biJtprG9@(f3(ulzBAqF=xwVFK{)@%aaTig zzsFTo2l9>NA2e{^w;1~#MV^nF|Cc@u`TIfIhgst`@{bTW({N^-s_;W9?i&v8Tp3!f ztirQ1rivmhb1W`mMkim?XkAKtdGRK>E!zYE7-^-npLsZ+etNoZFf*AL$aH)B1tV`B zO?FVRAl1BIZ@}y%CSl3l8pB{<4ElDeK?Sv2E%t`0B&K`%;w=PFsf#i24gOW4!Kr}W zRX5R~iPDw0i}nr9o3D4IDt-Dos$EWbzs=}R&UR2D%UGaF&>zY< zX}w)zA&%DDS+dUL>#@$(oiexDC*{9fNd5+;on7ct7^%cx42^w|e~f zEe5Nbu@80g6%Z8y8vCEYP+7r&3iIttsRze1ej~?)CS>5J;OCZjxk72zuMu%pvY215BBE<(U|>AOGo$=wrpi}{`-FfO#)}c= zUzKyfvN<&1NU}qBC``ys^!7`aR>ebAjJkPkd3die>>fTbH%G9raQS zYQsI>riZ0V``&VRb&^V$H8~1RY4fnxl+0MXP2}BF5vSAVd_dBP-8?!e*6z0fshvS< z*YUvqsGnhXi|WSF=M$UdDZ93zSmn@!{RW9OG9*ibmAoR__#XBd7h4MGw(iWeTM83C*-RcfAeSM9!)dKEwL)P6R((_Tj> zrV%a}OgUS`UoZHHD72`fLBm*2Z}x-Fa&(riI+ijw0w{y(?0^mq)(9J2mJq<0;ao6_ z>%n&YhotCE%84gdF|x3U(|+;Bw+7nI#i3GlSSp z=uQf}rQmC-NG;XFy&qUy4Dl6epg)aV!miq#YitM_0=Vz2v;j3siCqVie+o+zw(Mdp`9QBO;u0b5tFD zF!{`5r#%z*Lqo+2g&Mk{R5DxE_AoMA8oC&HDt1Zig42V{VTC(oBilC1iF!4rtE6X{ydw z0H#yprXYI_0dzIZCDIFFyMfG3o;wC(Y+<9`={Hu>8B62*48h{xbq#6qhn| z?&OHBIq>fIQdQpnXMp&4W|&7XeL10wJB<4= z2JQw&(W}lIbArPyiyUecjpeq$NAm3#j)t&g!G>=<-#BdwZ@z!B8Z5zEFh%dN+NaV~ zrn?krFVEuobzv7I224ZU;pJNNVZ~}+KdC`up%j*)Bvzz5jJv_zLxQ!(+BJ9N=u#{q z`fShVJ)g$sY#v!rxWpEdIdoXntKV`z6HO%y)Ss1Nv@}+@D4c8TDtxrRciJ{Jb-QN> zvVosi^_VWg7|foT4vpGVuJTl4r%lvZZWCK^lrLN~=vSQ;e?lizHT3cAW25{8pmJ#s z1Sg4yZSPDrnOxQ&0J?Dv?mhli6YGJ=gCo1kiK*GzoCZtR<<_`ZA=e0^>DXs|xamAW zJZs}O#_VvFI9b`=Jdr+bNhP4yh=emSR$SBExlTVLnXl7<0QMv3k!o6LqD$&e>y^Uu zm~nfxrcqfvPGdB)DNhp+CA9Q}@e%vReOOR_{sDvpF{j)953<(9p* zH{<)nd(|2k+|3%0TqrYKev9ZV5g9NG8Y6&q%DRADf|IYEcdnU+;Uw0Ch--EnA50MhdWm)uq#!p)Pp_iMJorhQ_DtrFgNfZIhFnQbBq9FI1|;V}xj z2hRPmmCiI1-x>zHyW@x$4Dk>89Z$7AQr=dIviLVlMY)#qn>OnMTXvk|Z9*Pn`z_W1 zhdc0q`es5ps7Fi6`C{d&l;mh=m}M5uy?}363B7JS!N+?92%x+E3DW;+|NLp9e$Hb?@J#)I^EBk4KJquw#dFbSm#D18C2o|cHe4(K zo%bK!zV>x~*O<2h(A{4POw^ilb!Gi_ye=B6IXCfWmU(=!&R?LB9mK5S=ZmFBl$$-_ z*6GQ`&Lv_AdDupU0Ahnxmp0vV_9V1U^Odf{J4e!Hc^jE;1db#C`2fUAV1JGUY|fv( zyL`it_+nh9s0PwNPEqcOd-G87nqoS`yYgEoEJ=2OYO z65^#i^J?D%n9W4KVrv@4CM`AE89d~&(i1RzNMlpsjJbKtf~kgg$=a#N*BBz zI}0AnF9gqh`u-h|pL?yHswN=-DRuB1YQ%PuINU200W@Je`HRuN@2s<3yTYv-zq(*t zlBP}hCgut|mq7qtxS%qpz4JpqIFvl_r$!2}o7E}D>{}*h>) zGt#`)OLRG}&G=&z#vidnslAHM1`oVvJZs6O7i#ZXNz|<(TA1ou(FOglCMNy=8L|99 z$^T_a9*uAk``!G=-u4L_rGN*jY!6!3f;8_9{>ztAxEc_^CmnqR&@2nHKy$8Wl>AVx z*P^s}A6NHyiYnZ+GKeUzhyx2wGBt2P?p%C%{C#QWk3#^{V#dksvE{zeqwmSBM21;# zX#BP2Q3iGR{|?)n$#i)B$8P_;LL~i1(n`Ek7HJdn3&~TY$GE=GyjD!pZQ*-I)Z1{9 zN+h4d%~@!tE7;NSvV;mFPK0~_{C`iEelI2Lx}1ev9~&DR97?HfKEhpV{#oIWd0^EM z+~3F=enoWf{g~(PZ*~92TcG~DZTYKRgX~MVaA|`WW==7E##^p0re7Yb&7w(S*#9Me zVUynP522M0hz~;3A1aP*8jIyQajmUe!t!?{fu#*({6#_U}M*#kT3w!5VpsPzH!h={k zaxYW%OTM2YDQS+>bnul2=np*pz~c`*{%Jg>hAI;!?Z%31ls}ABt;Ep{V*3B|tiw9z zr)`kP;6p=qaxUn&A9qp288gyYZnj>NnY!yZl^}uR{m|QfV|4}zdWz@Z7N+}C4KRiN2aNgo*-wW-dDu3Vdk3Ey5z;DEQq)KHlLCsg5z^LZ?feq` zkE<_4%bWD1-N~huFumE(BGVd)I>ow9pQqJ%hs6}{rD1$ar)JsbRkx-ba(jrUOp7P( znzTfs!jePvaS#j3fMzzDFwXLEs}jxPDu{P<30GV@W@{q>o}W!GMN0mq0Hc-ti9$^w zS)AIa&vh~5?K>?^hU{xAoaw>90$Z_SWAvly%llRrWR%+Y*-xtEdI`G(Bh1JY7G~40 zhq>Z(Lay7PF*gDZ$2w0Iu+zar)(;NS`LfYNBRh;s8>)w4SQuOSasrEYOZU`Yc&h*} z1aur$KQBh$%^9j#vOmUUzq9Mm2FYKAn(qDy0x`ZzP|E z`aKX9H!IU9=>h8ypW8T_3LyvKQn_7coW}9y)EQNR9W9 z11MV|Z|j=ggYBRjpUpPe2_BBwREme_PL#E;$k=7o zn-IBuv|?aV*4ws?y7lx1Zz}#9r?p0L#o@FX$VuaU1N%zBioo7L>giFGwaVQn1 zoj6M-7MI-G@*b(NY0E(?u`kgRTazT8?U_jF@~@e2p04IW^>-KBWFfY`ZxfkZNPL%< zPmp z3ZgPmFFY?EDP`#i2RVn`-NbOS30MiCLSOWi*bUxwGPx#KvKU46BaQ3f zs9ixTZp1#)&f$P+cr)=CCUrOPjty;qL$j?;fAb=>DrQpTHKmJjD(>d7q>PuEd9J?6 zHv_hCW)@qzC-+YZiisk&5dh)lWb})#QUi=l9)no?FG@4pgNSdEzkTQtsWEP81A)`; zXI7=f4yky0_-MzxB=cs+DXy3!G0>M0;K0loVSmoHUyw0~byLn&Y_*m$uo5M6!-XP? zU6DGIAmbUpwL5k6!ptT}}Nby%=&KHFI!@d%y!N-=B9~KVY4&NxLq$s@A!%xN8 zej=K)GIo8W;ZXutR+1GL{wv0ps9)5)2Cebgiy?V-dE%cRE#lW?x zO`7%L=OeaFpZTdY?wP*4Ku$#*IhO=8|JbA&Zs!3yT&@T37cM~~erro?H3GPEzBQj_aIrMpbNmRr{!#1_AFqGy*Z*=eZeV%_aj zn7M3l*xiEP=Bza)-5QN~R6!rhiI=aiVROQL@_QHb=F@TnFLjzxrjAZPpr8$OxYG!TrJcbNK;>PbCn)7kLr6c zW=C@%GqrksV%bBB0IjVj$EsR8?obI=Ki86)H(9DObHP^pl8JwjK(FD$kXlq=z`GFv zM&gar;mvBX*P>C|upGaf;{hw6P%z?6EGw^7+?RR!)U^4O-r9tnOQ{OfQtvt*|48MJGS?Q!!Yjm1rickzx8eSfIFf3p4 zijJ6$#G$AEiM77Ur@>ESPDj_>Bm9=-3H|HXZev zSO&vGB;;?uIUUDqx-A~LXJlN78PA=VSsYZPQn@LQdE-3D#9=butz4~cboV&lNRoJ4 zPiU$;Tf&ufKNX(`7ixR5l|{lYXG?XSLGQTEkp*?OsWRpo-H8n0)QCYp0o}|I@XuYy~6U$6m%z*NcMM~pKr2A5_b^On$vRwVDwij zaubsjzDrp$t#q?phM@f!KDUC^x5g20g%4ZP$`^I^-tXJ6Pdao*Zj9MW$mA>J>VAzC z?$uI`h;eASVnZ!%1)bEzU6vvM{o}l&xd4|a-OYslf^;HcIZ%A@-M>12?QfQRWE9vf zwFa*hJ`{ZVLqz~3;>R=17=AwQOdaDdBBPb#;&Zlyy(>=x1i-$@hStlf!gM^-MGo^Y z&L;2MjhW7QXD7Mg+^9b!z@fsYa$iz@UA1VWnBA9Af92#8(do>o(dVPNG@?C5kIc8A zwTzUrmVbE`(%|fA@4AS+R#p@KOjq45>=iZnr<^2?4xy@Qt~`T@nfBMBB#yp5F`bJ< z=Nqh7`=HKH8D#v+f&iMZpo3VBX2Jo-eKA6gcZVmXJF>YV1iRNI!MLjxcu9hlvEFuf z_EkQX4s>^YJkWFVgL^0;05770^lRV&CD7h0xB$xB2C2S<&co@xMK`;G*GW}dw@&S4 zBK8Ze7&S(m>6sr5?-rSsUOwp5jfbk^eC2r8&UiGeb~z6YlcIW>;I^noClE?T;z!NO zP=PXK**tL}^(t4NyU^CbQNaBs0*C#j&)N3MO(@EV+AnV!cwiMtbQ%|bVcCvUwRpaQ+?6BLa)~iSFA4^NcAp79fAprPmp}Dg@jUOxO7+?&mI**OR zZ=2;^G&0wd8F@>i#BqB|$4Hhs4>pDQ^5n;9LwH-Xb_|+-jfl1|4f)>NN~gvI0sbmm zd-CvWOQR0jJHi7`Vl`?d~Yk|P07yh zh(4)#JKg5c&`xECCKV%8Y@Y^=T9mvm`E>HDg8Hpsm(Ntkxd>oE#{?Pn%TK}2tw29q z1HpR+Bl7v_mZy%l%S+x-CWWI&RR%5MePBJv7{Bu+0wsw`u`uR3#+u+DxV5Mm0i=Ha zkniY^*C>Ls*;(LL9jPoH+nLAZSF?2V1L1zNwF7w84we_~!^Ugfbq}M2vpgYtF!n8E zN`*ZIp5s#Z;aZwt==cgtc^otKVkaXK^NV6}H|ynW3`Km=H@SRk3LW8F;s$Ht+|2fM z-Y?m~zh($WhxHTlHMJbK!riCpUNt**RP`RuQ}+vZLi9IJU4<=e?BdSs#Sfqf&A*l} zI*r*$;`)&VrC8o%5B{4rXWDmR(2GZuyc4>Xj)HSs(GV*YuClK zn}5X?!ZGuaA_;}8t!taH0XNx-siW~57!;3lMvO<&54dwN+Iu0wZT24nuQTeq{%VYC zmfHFZem;{Q>t-s4JEHM5=t`v)X4=(*xK4{s(Hz!Zsc%ub47r)8jue`Q%RlFTKwMrKVQOIVYrWSfs~d4{#+S`B zo>ee&v~ncvYc07LbrcFp)syDR3{)R|lcpxdcRv*?%UT&u?u-Dg&~2OdV$*-PPQ@1V zR3UBG3Ce9Nn9_@vK1%zr@QNYkW@l|ylBZl*dAwXevP=BOdD2jG0R-@CUEwots03Y; zf^ahnApnb+)m>VLtpq{5K0OH!?%_qD>Z8%~R{_%=tCh{anmN@Oh6Xb*>E;BShr0S` zN1wU{lgyrcvea+08n(Wpg#X}KIEHAn>nHNsg*kL98v5-xrd5dd!TYILL-S@?y(k!O zbCeEv2k%L3P$w;n4V8=3xS|pM%^;*=WY^xr%TctGk_t`GR3`etuvyAZ@{NGqMT=m+ z)u<3?@(Izeq)k@QwOgz9y};+B z@b8#7dWQl*6MW0Ewwx)JQ+0AT`u%OUd7{>ui(>4^N5A(6*Sgu(FQ!OBeAbo(V9T1!L?m0xRj9aO{ka;HFJ`^IOMkI_?G(sW;|&Fl+};)^6SvhoO--zpuZ7WC6d z;uv2lk7fosIuNXjYCs{?zn;|KZw%zhA$vQDJVo)ia&!dm_@^NlNntUkN#5S>xe6Gg z?iLFoU$TqoF2+@UEoqbmv*C&>`~iksQ^IVK%OgepYsX!Mrkfr&bHhEm4sM2hfpS$S z#X1@={(4SpStkj%*O3=Cj={8rtNbkZ={SfA74ofwXiNgZAKf`q*FAVoCUD zdH!-%JHHv0csOWvJAdk%p}SR7$BT(hNsw5e!T7?+_O{au=6-DjmUC-3&S`$iuW@;} zKM*2FEtsRDHHKYzefLNx5AIgv_qp!lWL#(^Mbz3rut;#b{2j^{8^K?GwAcBc_U-+4 zy~M$S?Puy=$`ne_(TTr$4q}=9u5~^yjM`O0lrA^^es^-AIlMAgj&6huD!VD7qwWjQ4wf@*-%(`^#0737IQb z{_PK`7b5x}J-%NupufHqvv1;WCn0oZEBQqer}b3{18<5+q4T5v*;Bw6axER5i{?VC z-JdhL4#fJG9x>j}sVeJmClgjzqBaNeb2UT9Kgl|h_h+sIB<6Nyn-oq5$lKw;x*DHB zBb_t-)FQNBbZa(&nWl1Sgd7@@7S-xEp zpqNNKx%miQxmA}GdK>JJ*PiQ;BWEM=LHBAjDD5fm#A3{C*^l@`CM>f>)dWd?{yHNisR)$JYpoB_}l@zmq zK{d&wVN?JGBYXG+8A|6>!qPU+Rlct$nD8yC11=9}z$`#m)dRjcror|KU51b$Z*Xk(@bK)YE+HLD9= z=<_=1_nocq?|>is*;R{5_w{%ED{pw0*@Q?kz z8*b1APCo+h>4FYof?o9}K>aj@UL_3Pb-~=!nN6!4mEg@V?#ua>7;hKgRik$&r)#!u zhPfp_y^k|CA(|paNC+ykbd*Q1-!$~0bab^x6ahQ}b^3}F;;Gl$Q^@$_4X~8M7CZw) zm=6WZmpGQ=+E2BwJ(ja(3MJa3Kp!_tcavBzRiaN$CHml4r~KkeHr4!E@Bq@%IG{99 zzTAxN;rYOFGo9|^8pK!J4FQZ54{GL;*{Vxo-nRIs-a!0E%0D&q|QU~FhZNEZ($KMMe_^_swNq7guF`p?xrEebPn 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 CV?oFO literal 0 HcmV?d00001 diff --git "a/Relat\303\263rio Trabalho Manuten\303\247\303\243o.pdf" "b/Relat\303\263rio Trabalho Manuten\303\247\303\243o.pdf" new file mode 100644 index 0000000000000000000000000000000000000000..bc1ed683d29f4dba91e246f000759bc918f7b8a7 GIT binary patch literal 3830684 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%0A9(eIYE*UJmI zlIk#n*5B9g4=3;->hdprawJjcy{!+W$S~W*%6Wi0#Hhn=17P>fCH;)CTW4bUUmHpY|I@@;%$nAG*j^N z*Y=lD5lZ;m@0=jXiUmh~_({2VMEZ|&|M?aewVwEi?ua#t_mRiFx*O{Zyf-y9)nkJd z6I!dE0#4;2#N}c|k-ZY3@>7Yrv!N=@ZZOaJn*Q8DjECr!|A)aDTN!W?LjZP~M9%iE ziUH;S3pdN=_c`m0uN@tKxFsDTJGVX7eSG%TZ=0v+%js3E^TVqT-9YjBXdy8j2XCu& z5t({0qu+nu|4qq5jr^{BKM8Q6MksHIs$Fb~cI-D$Vz?|}4$kDg?_;G=O_6N?kl<`M zKIHq!@0XJ)tj>rEJvKnu=K2t6Uk!>r(T2CMqenpr`?mM<70r2QjfJg*@lsw1^@o*z zNrBb>)+Y}#Qvuw^^zy1bjdGt|b6EUagQ4#XBQW;rSBDivx4*blB8mx01Ip{iAmv@W z+|Fp!Y*_RpszNL?WRUSdzXhgNophFe$RL@lLBmK}n`ypij!(>mFwP|ShJ(RCt~X7K zWkVEnrXWW964hi&DM*DzUK;IfRrfXg(FvS+ba!AE`-uq+$45zzIaq-#2GZ~MPH~fu z6>h)RepH0*S{0~eLeHgQComgLd(GC!D@x+HEz*=)TbZ3#d+1`aGp8kOIcyme3C`fu#UT)`Ap9N;TKwgPN~p$B;C- z$3bHWIU+NfnxT2s|9>_qxxINPQTUc%9RzQH1p3)ikox@xL6i(SuAJOSfrGK*$8Yqe z5^rLIm_b8zDHQSeOLXdNO50ukE=3rPkuc-Wr&9}lJv)?55fSbWtAkU-jdNisjuMos z$Y4emCp1645&dKXzOp`x6nWk#DBl@%(|z8DT1)^_(e@Oj*kYEY)6}N{8-}+9+3a(j13YgsK92;x? zR-%`Aco#F_y+Rz>DWAPP2dl4?raeL;&z{n$X#89Uo7kw$tUp}nIj%jSrqLYuN-+r7gnDlJ?hXGLLo5{*MRlyr)Tf&39w}?S{HANk%pcIa-~df!#fo zSUUe}9*~+s zZOt=0%Dh2I;C*lcx4qI;v@>L0_ZH@e#MAcb&u2pqA%1kt6Rbi)GwQ}!^&Ik_$%Tu(6}$*_wUP$ZrYVJ~7reQ&Jmmy&jA_f%7U$1$8l^+tndN z2{0Jep3G$iA{3FRbH(SzxwyIcz61CyUErPjoR`*-wEyMkP+jWzi|_7*pV?FE_XFC< z5eUxgbhIAtrOP@>5i!#gF*5$!bB@cC}#0X-0cCMZ#@Gj!xc znV4gGFAAl?8I@ItLzQ6X0#h!-2|_tlhRJN#mebtHT6aq$NL*DB5kG`%U-itgVBKB^ z;iM(S+3~Bcn_NI(fp`D5TDP9w6FW#ug1$L5xU40_060~Ct!Bd&|2x3cyqQA!W9nKI z*|IbK;1-UIP6bVRFV!~~sfAGgzCn>_e)#G^hf~oJ`a_(Hn1mYTs3YIqJe&v0i z)G0Fk6|`p|`1|+oAN;7W;uT<{c#=KoM*zRE-dr2!wJ>Ab5!qZQL6*kfkl^gTPrS*iP&X~x7B8YNavy;ltd<)7t*_mTR%TRUr%Zc;W6Q1Cd zyQ-IU?yWsgsDv&pdUXB+?#6^-BpO>DL{BFB_w1{Gz1J%WHh}tB?S1aLDAuCt#x*w4 zkoSe`XfSAyFwm6o?m?1A2|dAPYNaM}6wl}dhlsT>*J zPcJ(ziWu(hV!D*B@3%BPaC&9ARh6eOb3eZRMbX;s>!yBl)D~dRlgP%0`f1F}K|3Jx z1_+RYs;+w7!XPN^V_X3pAJ+u~Sgc!fUyvmZhA7SL?09*&HwEI#_x`zVzd{yMKBhJN zCDg)Depz!!sZY!Jw|jl}okob%KyTyQ4RH25use7Ed3hExRI6ny4^QG*Mb%Y8glwbA ztLYSzj07| z;a4S9u_@ZhC+kA2en_>5cJXyUEQ~D6vTlY-rZ&|G8Ie1}DW!Kt?_RI!?fim}ak2(V zZqm?P*WRrMGr4d89dwgVlc10dUhnEd5JS0%z>DJw{_(P3%FJ|g6K_u|^s`6rsq=!Hx}N+=*2CRcU6@-1iurfe`2PpiaH$8^0TUl70Nfv@0Ssj zS%eaw3693xBy?m?N;J19f4J-Bv%p%m4zUpW<4V+$ssv5ckOz9F!dSU5uanF0RD2Cw zJdNbgp@yhVzkmNrCyI}i3%ftM8*fv;?LMIrU0R!Z*9!JE;LRHS#<5<`oD;+|A#HJN^Z41A{VxpQ=FOHQyrmw z5QIyQUcx_xIRtuR%MQ*1sW}`uc(Ei2=$U8x^i@;ImF>{W@+gtXcMQEHe3R!kgG`D~Ai-=M7nX(Zj`Z{NtS>UUFwj3rOudMhaCSXyMh zjEserc%km^oNvB=#Xrpvo!u2W;EWdyNU2%7^*3K4e|Z)p8~d;j*$XNEGVT;V zoWc#KpZu@*?|-2h&#lXmqj5I~T~PI~^FVxc)cPG7ha!o_&sh67@jD$ca->~(y@Kb z@4QDzE%m5lWa=3ZniHS|Iqi;i!N5u);5CO;VpbxGI0q?b%L|DJ+82dPk)i@IOx2-R4Z`NH!mGSEg5`u6X^z=d{jeOcL~IUOy%nX4YK$JVPu+*q5d9! zOsXfqxHdm&2HxwIXQr+X7LTT$!S4>wb+n?LzkBn!HwPC#}9>6;ek`0--Hn*;4j) z4W!_H>cA|NEV(-fs)&_7EQFP=f27(I0Zw! zq^=)SJnpQ_68R5bOjx_oKn2>kH~%(b15bdy*E3qu@IMD#uyz;ovD;OrrCH%LRXVGS z?)r=8&8K%cTD-cJT`~FxoW^P2%HQfw}K5!vg(+1GIf+SaNo}w86yf@Ew}o6 z;&#rD;Hn;j9{^%!s!gLL685{_BbD+!LKM0SFp$iG7Zn1yT7H4n?_(jKZqv)##JGTd z*Pec>FX4B4Kx`G9|2ZxCAn4!}p6k8Zt_GAPm4?v3x*WxQp2n|6&mex~l9LSV+KYN#T_4@OVQXC1C@n5p=n4qC8 z>`!7d_CtmO|K&Xqz{^W!ahq>_Qm@C;BJdzihwqW($|3Idf{qThAB+l=Qr~(DLHn70EqcJ$g$ZS06CUI&WreWs3e*~SCv#M8=+sO^V(#miy{{Ka ze_yxnAw=!c!8l8C-v9x$>B5>EolF6%pykhzBur9@UwK;^8N@p|9KK`u>~=TrL?sCm z^*`$)-uz=#q!!sv?`0pA!~KzG7Y>pNvH0V5et9Pdi6o~fD8}yQq_aONE)(ro7-eyh z6#_q&q68k+(Rj6#IxD;{RN^|uCh>0t>i6N0CtNuO7gh_07g^~gt59WOa?>7GqaEP2 zJruw^fgc%W7FFy$gFO>#2y4#T#lO`GQ11bYYHZI_Eo8hOFx8LOjrpraF)8-e*?TK9-kx(oYyt`MhIAH&?S99V8 zz7M@%PpB1_T?gA!7gh8oAa;Nee^Kr9nJnHsbi z2>P$075D4<6Ej;Km4Pf@U1iP;@4^YBmPFoG1ar(R*`0vCk+$F;w|3(l;Ij3DtKLSO zVz)pMw7c-@T#b2f{}sQ9#$mp2q8$-y_Y@m(Iy!XVS7J5l|7p7rlN3C|21j4!^|`Gq z$@bDnfLAzp7drr6$3?rV`$|exc_OLMQTMjOZbL<+Au#eHkxiY6AzT0kqyM+^l^8`e z;hW|W1YL-%O;|JI+*6s@9vCg*k4v>AB$cDn;?X7}M;1;7k^W^vFCyEr(Pg0^*XqPH z&An;o>tHOPPwDfoz4!$YB5DcqyMO#3EhdD)<{KYbG}*IiI7#|xOHo9d=c7k$q!?UL ziy^bLQXT}60w)o~5f`e7=8ELXDGHWk*kQE6!6J?G+-46Cw(B*;%U6<^HU==rE_T#Z zu9Y*&K@~N+80)vPv7g+%!|Y$OWYzF68~p>3QFXF%OvJpJXvORmIT=Dxz@FfLg|_~t zXT_MaB6Z-MP8;?;&~|d1$rY7$DDr`h@nJa#nOq`UB1AhOIKp)H=!iV= zkLmp~Dnfbi&+{~(&l05bYEuri#1C@IKPk$9mnuoKiiW{ii@u7*g>-(CAhuV_to@u! zmb6sD+B<>_9OOKVAg#8>$N3+n3eu1}XbbO`6_C=t2FvvojIEe3FsJ&pyj=ljxlSS_ zNI~frI`TT-4qoLMD9TlQEB=|XD`)Zg&y#u?H53NQJn25{dCzH*gjwuYJ3f~XYGrQZ z+ye%kL~jGa9hEv@DtYWJT*$D9?ySNu_%2AV7i`h06I4Q0^m?w_Tkff#AfP99E&A<^ zaV|B%Lgi*-Q|A|MIvyP)V4?aUKSbIDq>=o&6Kf8MB(p&Uv>&hiE**>ADS z3KJ1@5ozDU7v9j*e@*%_u;D7Jhrum}&W{d^S^LyfyI+{_KBE0CMbBce{(>9>lRKE+ zU`1*2@nao^(rHSA7@)76c><*GshYhryYrvG?1is~Mk!${#|N7^?saghomX$sKO(%4 zOzxL05YIGM)LcHlxL;mORuZO6MR|h3++9?@8`kZ#yEe}az1UgG!m^6)K@R-8kGt47 zSCbp~3x4YFUf!*(VBUs#6Nla@7qGz7cbi*$e`27 zr>=EB2#HKy%3`zr>m&=0UwZwvw|`xI;e>^|EZZ;Y1j4dT#1+$W3&pahpS{3o2L_#k z+n@E{QqvxI#lHJ6_XQKfQ<9^n{b4wzBC$XT1IKoc(>o3FLD@itKdXJEGfD-gFdDk6 z=LEiW|Nqc+)27%T*}mWT z&VOgd(P73JoxS#6>%Oo1cU_A@d<)UJ9;~Kt{g}=O*}Y&VyY&WmEt?Esu#oJ|-PXZ5 zB|$-HDVTOpVZz?&t%Mg_%Mkl>fj~+vF&#UZb`Pkn(_&3xe{|)NTL2PtqGZuW!P|F- zH%5ma_AuoznXze14~@2@;pJOkQ4?b`wG-Y$?G0`F0R^7Sol7H&kvCKG8c~tAtUF}C zGVI=T_{|QD{m``p=V=>;PeSc0#*JuYX<4;He9@g5*M$HH(`eE`k_uDiGOn$NauKbuHQ z&HB-0&68hgE$Mi8-ebK|!Dk0{VQ&+Ohxe>UOQ4pDrw+5w)}+~L-k+P5M1q93bu-L+ zzg+G3XHM!up6a%vmEMT4x4rMe)cn}TL`~2*M5qrLABfr=X9iSpby2!qVoE&kJ8In? zL;`#-Ap|KVy~jJnFc{0QBgrt-y@9F083`Gq`$-Cm}@{kRrfSf{XV%_BPUipZHXSl2zD^u57S8U zvE|dVh;OTTqss1nL`BfJ#wm|ossB72iOfx>$rEhh4|LH(&woUWPYxV z5cy_Z8G1oi6O_6rJ92Mj^rut|;k?Tbp72k_OD&@4%8yyzzmq4NZznyY_ued%=NF2) zQ;-r5PfGr{3773hazmfYgkzh|gd^kmsR|YOW$4cEvI!pWkW1S~drF$Po=3<_t(oEu z4SADiay$$F{l!TwZPpy{)CbThS9+w@unB8W=k%L`mI8mJ*;16@!D9}qr&YuqZK98u z_Z?a{WH-Oaeh2#7$igmyIIQUH40_?iy$HoNQ?}!rNi6!)nI&H9l9M2&6{;Uvgg-dj z{cNBa=|A(YfGKx`s%U7U_^ zBv4FpMg#Lg@e@F`PYk~T4FERoii+ssrv2tGd(Bo}aHg}lqqQN=EX$UEkOt_m=s!Kr z56~9;;%=b2IalhzjGGUpWwxQ@%Zt1%Bm8sj`GUWqqDULeQLCeN5BG?(ES9Yza5uZ2 z6G1E_^!bIPM5XPqwH>UA*4w{e7NfdzPLO5!V-h?7<^mr?HB5_cEn?-RytY!euT(5f z`QK~G!@^*XWQ~z|XFLG+-9VsX`*4m=Jayd`_d8@ie&W zBCU+*!6l#h4lL=LCiIdCk<1}!D>wWG;PXITJkjS2ijDN>6isxCS%4*KZzrk2N;Zf&rxM$ zKsaKUhk5S!nrIXG9u!DU>BVJN3oOFL;z~;qa1dgcM>4-2>%B+LU2p7dpg=)w(G@SmtA*-b zuq*$7cIb`${F(@? zOPD40L;g+NA_L-%(GKve_{~n@5Uiz|babfqCtD>};A?R%cut9)j<-{q&>0xY9A&Oz zK79BLzYKXc6RYp`d}a3J(tM2|_U-PV;WxAcdI|93LfN?jnp;|!(pcxXKjibiDF@M; z1%e+6k5eo)(%C4;OC%dQWiMqKPf5G;r7$vYwT|I_Kj{7j|I*xN+gFaCW#h~( z;7jB7R6H8hqSL=NDB<1)Di(mWwYi+RdRMVYH$$`^>lWj`=tfOi>rZLWsdN+L)DAJl z!!ra4r^CVMD+1xK5kMa877*$nj+L%WfGLXXH1I4VRhlv0@sajAi-jDLE=5fnf`TFu zY%CPNTV0ZgyC3(TP&kD3wZUR=a#gub`o3d&DQ&m9V1}oIV7(1g3vuG!QDVtCr2uqz z)RBKLlo)8X!<8qz&tK5B-PgcM-{-P0K3#j6d{md^8&2F%zW6#Xhv)Kq?P^)Qu(B28 z2q(@|`vZYk;}z3v?Z)AouVk5X=MB5EMx+Hqu&InJ$5`~QbF{ZVEh~MJk*3>`*%&Pg zaY=!SgN5c>q7F~9%Ylttk=KT)|61pULY|1j4xa@w002K)9`1Ju(}9TAkf#bdfgv*9!y0PU^#c|vIn?94RH`CO+gTuQVNUHl@ zz0V8sCW!Amx)1?K%@;do0}UFjftc&$Q$)bHmBO|O6G17q)kzGr7@`Po)<#?H8p7QA zrDZID1B3e}HzmxOZ1c?RL zgyM0Gpf?&?N=~bLKp#zEPbbHGZu=U^KczBoI|>^Hu8a5*m~he!TnLMzc|`gT7-~(b z4FNV>wC1TEeXkR-5a@%?8m$oi%BxeUYzSDq%uTc_ka^@5;YIiq+e0c-)rY_qDnVQB zI>O%-GV(bNbLs~J_m!=u6E^j?^r@3T$c)cev}-3zFm3o(ilN4*(r#h@zmczFFSZ+| zxVvmICbi)*7SP`kLBNl&(m=V&0bKEa)vlz|lgs0k3hEQ?YFJX%C<9slJE zGi1{_U7NQ?EO4k)*VTM#iu5_F`}uG_AAu@9gywk{@XvP4M43XzQcX19zmqeEIeZOn z=U?+ihu(l_#Kv1Om<-~kaM_TNK#Gjb^<;_AAHgpU5J zLm7b$SBrkCN9dZ@48hkk#O7(o8QB$hoT@l<?{sA0U2kkP;PJK1G3tdeT$`#x&IXDcR>3E)u zA(+e(PH#GUr0N^h9u=9Ios{#^d(%36-x2k^f$(ii)Fvf89FB=V9p+jp_0P7dq*N4M zy~a{RuDeamC1ivbZV;LIdcfJHDGauJ&Cr!VG>6)<4{TQ7rYKclmAAN^>sDGT!ALeX zUv)ef!@(f|B>n)Cf9jS-Vp}Y&W!T@jcB+MYNCJT*6{9^zc!=velr9L#;9b^4D>iKT%fs1VAyf-u$Z#LD)c7?W&APQ7YZ zeP^ZgaNu49eH=P2_+k$BSsPlSFGr^&NP1mZF}GJ-S8%JF{`(NKFI^K^0>bYi4@EWR z*Ng{|dwJBub8ZFtQ6U22fX{%^Riao6TA~>K;eMow)c66#Xt6$BTy;*ppi~^PErvSe zegQ+p7bKu6vqqukR?GRk1+iHo4LS8S&=sHlJBD*O#rTjIwAf!AF|OM!c-Vg2)w2ID^*n_WkZ@PT3WDR{u%l^o zF$Hz?|0xz)#iotU;Q%nRl13NIxugo#&W~3Sp*`PdOIF+6&ll|N$;njvsLF4q48Xhe z%)UYMI3|F4B-))?Ms&+^6-9isd#YZth6sGXzUr-?)%{Eh0ubD2D{S1EWri7o(p#nB zRn9E&cMCQnTEzSP3n*UflV?u8mrLdg9IzuR*^CG0SMxOuM7snU^5~T!fY{+?$Krn0 z1K>3Ztgw3jx>O_oG})`EBIak-Fi%#z`5ndI!ba_>h*^DgpA9Hdt!FjdPfY#@@+{t03~`+O~9Du#D>OIKfYYQWN9$z1sqmZHf00tM?u1# zp4-O4j2;I7lwii0L|s&8*`6)_?||}w6sB?ghpWrDCL_a~Td2%cAa1A7Hl^H`x7{Aq zyCDxfpEYvOkT5%s_P>kVJj*d`I-}h@pSVX-5xE=j7|0?SD9^wioicr8vh2u!mdC5< zXL8OU$y|jp4Buk)9-XoSV^s`II%}S>|Fk2Ftc~astw5Bvms>TO?YHju#Q2L*IF)vz z=vHW%=KUT|?^Iae0kCXsg+kUIFt}867&L?smFR2<@X2JQzH{!LDYW{j00din+ zH0iPw127ScZs2}5!!S4Odb&c{svaR2=1$mH;mX41`QhKFn z%R7AsS-aCapxjEI=+(!4*WgoXe7#!hA8AHGCYE8KHDBVZmhTOXoKwS3xNV>~^j?H) zl#DhFv)XzsL$-@`r|t)S@~z@smjK9Yb-Oxv+e&1T#|*8fMvoYotv=Vrkj8gB`QXO{9=nE5L7I}jpq5=)(YZ1}8~ikT zIg(76YP)tt8VE!H##b+t=MZgRLK8O-aH;wuj^;;8|3<79raDZ)gfOV$5PAj4@wE}s zO{DVMn_hWwWrCq34rSGKvxx&F{(c#G|AnbNyU4s}%_Mj~1Xer7nozor>F(xQjpuUC zH)CHT#=)T>-~;rG6)2jB*R$Q_5K19Ua$a7RR>x+~$;>P3sD5P>?|>An&cnT=#KR5J zp5cIi(!`WKkJB(vqLYk<{u_=Un)@ppIIgC8ea&pCW#u1~Vf&T+!vgD52?uoI-$9%H z>qSZV9#lX1YHT&+Pqo03|8>@aJ>NsRv;3L<0IkTA<=%#G?QTALNiG)V?sG$gym`T; z)BySLxjiXtDx71<3ELV$c7hvbE$MK$#J80nfgLC9j3mvq(PEYzUZmLS#kX1eKn@yO z8lqn2@Q4*2WB#Ihw%1*D&`_ETt(6Fzk}jb2h(AS^0yJNsG>c?9dK!lVUk_;>uS zb|aZ*1b;-f0pSba*15giBeJU>ws5O)zuW1@^hl6BtmsOoRu%I*1cq>vLMCysU0`0_ z-`_yawen*v?jmVwuFzB%kNL9*GPbEdcs=`Me2P3{!)Si)f!3Lur5(n>@lI1VsNO6* zK*k7Z26m^XI2~83Nl~Mb$2QO!iyd?nLqf+Z^}90r96jBdK+JWl8(=TI3yQ;q0hLmI z!#=aVU(_WPihe)vVf-HLVI9T+Sk-bQpKbXV%g-nJLh-A#v1(GH{TR_H&eQEk9PT^8> zCxwv5W&xwKG>~*VEqjB=*KAN426!dO)NK5$fP$B%qoQcRqw?!x}E zI{-9!tTT~^e(stIMw2Se4$S&xrtMVm*n)gf_2(bW0^bK5%yWyFRD0liThIrl6by|~+ zu`vv|cVi#}Jf3JINXg78r239UTg67w*G9;$RMtc$UQ1E}h#uOdW0s)l# zf!2%h1l;cgc{$UpFeDw_&k*8HIOHK3ES%CkfRk*`f8|FJIK}+F1z2cU(TC+;ZGvQw zJax8VQCsv}K1r$qHu!dK0}0iqhg{NRx!IDngXF*EUsJ?C}QAB>H52Zy;U(~ zR|!)LHGOe=q<_UZWTD*t@YmL)j{c|SxtQY85!=51dA;?NRl6;7?DcJ*ff1aVEFVGV zPdXi8vZkL)JFhVIdkAjf4dt+%M&_2fjPPJrJ#DEFMU^}%h-!(EB*%wwV}#2OMLLWL z=k+rg-vhTT{mmo%h_xGB^ZaL5HK*;NPEXlR&qqf2P#n6FT5(1UsAQB=` zDBmKO<{8jU$5bv11*Ki~zh2>l00uEYAcZyP_hxpypPKnIHFlZU1F;%CF23hfA<`OZ zR(5!B?;()(1CVL9Qn8iUkioiAEAr|xOR4`@cjM;b%rr*hbQ3Gh+2g=p4hIA49A~li zChY=ZBeZL#^NZ4w(CQSzS(wgz%?x?HfDr+@u!h`Iq$~&V{zIhyu~o-CI1CB0y0&X; z7O+5730Ub-f3f)ET_UKOa4IArwcG)%SL2ggfd;V>(_cO$zI_+`Ofd0_j3QJIJ;^KLjg zKdkO|Xggn)SuZ*>rW$U}(TN}Inh6&AK(_@O3@TuI4uOOZq_zO|p(XOs_zJV%3PpRJ zFb17;YhFxYuPW}DWHAwRmTLy4-v7@Lxr*FmN%q)rrm_Owp$y#}{eTgVwEoxT0>%SiTm5#Sm@*RiB*RUb342FNkw4DwL#`?B)+Bh(RN(78FumT7XhHYD`DfBgoclf)wa1I}@bXLwiF&Fp^oobpin5Df3 zb;!8G;sLb_pO))Vd1jOE&?+(8NcFL$3{b6L-;74NOlFt>e75Nk*ap@W@VLGNcF~NO zYpgM7X|YpVpnfXw!=??Ht%B1#$8qAZ;lPF@RG)+zCD*hFbGmOk z=hN7MWP#j$2e$nu9!7A6I0v4Dl!93f1B2u18WH0ThnYUwA-PA&V|d>K9zM3(4UFE4 zM28-CD&on1#GMW@Y5d>EZRTZqyNO0(dkIiLm?~4isduLjgZXwcbo9seyz$F|N<*fX zHJd*#dxCY!-66OK7tKM5656qPH_;x$&7WCsK-z(dkuUWZZjMDkfdom+0iFW9#%a3{@PPE1=*qcNAONNJd&v6- z5x8H_EUWK+lG%SPbJUXCr&+DU*k%lsQG`t(Ud)M()TdO@Un!yXwi&Y08hot#kukH~ zs)$-4DA!Z1#K2t}e4k$NKX#0P_9;Mk*`RLk3NHqK3OQG}q0E2jD|gzghQS{Y^?v^V z2IQcsrMJLP5vlcHVp;h=L0{u#_haujs1Ip!+ti31PH%2?E!yI;BBcUpJ%xES*&7T~ zfL9*(Ze#j5UB)Pmq*^>p(cJxJ=I=4-Tf$GHGd#P8Ooj{WG?8K8fcCCdu|V7=9VoiT z#mA#Fe@~i(c606N2r8WamEd%b#fJCi)f2!5KX-`<_D1SyJ3k5EhqsC}RJ}_^H=PyV zb>8ek&t48>?1>Ikn6{$l9cL`Dwi|@GiQ2O%k~2lXXD$^7B=$U6o;0J&5 zEaN+q*A@xB3M@yExxAhz+l9*&__nPte>Q!&lh2zwVJqtc!l3_ZYmU;{A~z$ERc9;i zl3(lS504{AvP*ix)i+M3on^lO`^kF|Om@p1ep}jwcj1z;qXzkLFdqvuOVO9$C|5Pi zKWhYFo}Vjd_F+#La60-j4eY)Wcx44|uHpup+}ZmIKzWVZR^zt@{SrBm)IU@5-|^ zIZqm4gRL}(u7(S%|E&U3ZsL{(SC&A0D5k@N(Vu(EfpWXTYIqG_>JFpS2h*4l@7(#(?Jl`rBuhW#uu* zli~Kf$Wc3o0^sdkdbONWArzPh_L`(j6K~^XOgVHjX@92!Q5!gQSU4uGyN+`AJ^jZNwc3I!A4IUit7Kz3=PILQhw30 zgPu}YT?7eU96SgwKBi;pYv5Wl4l=#kZ>I<+ySd>VNf?D7 zEl=U2`Qd^D#4T<)1^G_Uw+6uGj=s_W89B>(IKYYR=yL*`mFm zTBeDE9&qgrY}r>3zzXp-*2A6;qCj54cEg$N8aE^omn+U?e_TL;!SDaEmf;;*VGB&# z|IDf1bqM;H0vCbHT#pjWC;Wl%gsQthsS9taTTU2&r$v{`EQUMIU7W+Inw3eKJ8jOj zjU5SMddCTS+5F?xuL?UsQ6}2O?|*aW4mcbxxQr3gem?@=N?Tf1OiQ^S*$A<7o4qX{sdM!JwjMW>-!#a>T0Dh+lBH`GsPUy)(bio7EO;{2rh# zH-}bQ5ufy`9l2p6qeN%;9>@lK!del0#XR-LTRn25AlK^er@NncE;=#WM;0<5W2q1e zXQqDDgQ$=!D@o9%$It#h$L`jpZCCR1b=zmH3kcI`lN-HFG3HEvdtYH&dDI^Dmm9ek zV#%usnGmamwTHq^{O?hxgT2ZedK4@*FS^w(8^3PP8Xal8l__4XVp>6gg<_rGu6Fyis3OX_yHEnck%4(X5+=>5hgEX|-@-zJkWQO^l z%6NFrntoHjGNW5+i}}J9iLfs@URiqc8xr1PZSF^C*NnCgZmygWN2MoNd6|WVy_hoQ zc)4$KNf6vNq&y+dLtJMcOT^-T#vFJSv9LcTq$82O>JA|c z5)ml0(WoP#c-^C_#UgtHz=DK3^S#CdE@){MvrkcT#iZk)$X zqgb*4v6FQ*OWvP=(xv>jb~s`6FBaYxm{knzt4Y0zC^pVezm*asSj?r0SH`&>`!pP6NR0S z7nZzDv=RbUvwcB8q;g^li21;gxT!Lt@i2e+++D?x8tcc~{%-Ad@_8ak>E@W2GFk9q zE(Xk@V1)-0S(ofLL<(`;`3I9J1j@~U5w1so)FVOQp8pCci2;l+#ys4bpDSL$MF;k$ znX-E_)?8(y;fqdoZ-^y72}2PMsll)}q|<3M71rv23g1VwZxbfcY)fTp0Jdg&Luw#IE>;Po-? zP)6IQ>f#VnBB4BnSyThB1)w}s4{agMjy<0R6Qw1!@<$_4%Lz(25h8w}%K zp5sd0MJI7Pi)#K&6S*YosfFE$>vk&>0Sb?I?3^DqB>f(MmQLWETmp$hSf3^a8l_~$ z30VbKc7TRB|Gt=)BwGMg{nG1-NmhMGO7%n*WgDJ#JBh}6%&-^3ALpIJb4a*B~f4Uj2HhGm`7r()5B4mLH)v7#P zM9!A5l02$^oBi9|%701H+iX&W(DYqL7PB{)6H03jjypPMlG7ws(Z<`emTlVnmpG&0 z9LE1!w-9pmcD*iXc?-Z;Cp5nF3UOy-=awD89(pnMElX=*9xvYp%biIHW-hg{xq4?Zo! z5+E28Zl*0Uw8Q`gMz42Ex~|>|F3T!pgsC^sdY<_@94E@lDDgONthxpDE&$Ppa`MEj zGrWh{!D%Wo?-id2T15_xT&(W)3A9L#5^D=?LDk7)xR5W%eqz@_B{}L6-?WeV4IG%R z&EQNPa;nG}OQxN`ig-;mklMnfyPFW?*#fSj*;^DR+z-XR)x z>DtWLnUJ^s)ShA)^!+SSs>6xdeY0MH3gxv}ouw?u@8r@U!grU>f|4iwWh z@Mm>hGdu;{*GSy%fo7)6SMv531m-L&Za40X8Zb!4`rQ9NPYYUA5#a`gJg~vk&Twt} zkvAg9lC!S{f~LH}={ z+%aOFk%hQm35Wg5bN{J2FIY|(1ff!Z#><1Jy7v0VMZGz;S(1Ndcon2~{9mzYnCv11 z2j9OQbCe-O{X6^uF;i63KA0w2_@-GbUC1*qh8`FsXqc@i%Wkh{kJhw? z=g%pleKe#Fh$0*E8Ve7v*gu=t^8fMAkrd21YMx<%p-sPYQI4Dkb4+z)bWAKup=Ko{ zQ3p+W!P^0a#PPsq6sGyOWoCodfqz{B|LIRH2fH9GWvhO=(Z=%vb`d-g)2KkNW~t4F z>i0#8p~@Ef+$*NHU_XxYKr@Co+QF+Tdu*2XQc)%U47~}hN5a?Kb{;4MYvki5W*e=i z$_^jqudvT~50i*5U{MVkl2jB6K(=TKd{=&^$t-LLF1voRe6h_dkJ`b0z*WLGNVN4y zpMRDaAFbWc_0UMA{FrR>5ws4@sx*Xx>3_WD&hk={$_z0zkGTRIvi{RpK)!JUP`@uO! z{Dpli+@};Z8?4cv{El}&vpah`@T;3dJP=ZtLG4{b_J}3t{h~5v%VurpeDkh=tw9W! zP%ce6hu2#J4Go}8 z3ba6O0mhhDr+VGz>y*;FKK%hd=$fGurB#3nn z_}E{XZ{EkepGEn;OD#dC2ki+r>AoXtu5WE^tq#5i@e9_fl~&WQO862K1BsO8hj-X; zRIG~jxWE23+m$upb>`CdQ{y%v$$%Qo_81%D)3BusXX6dPA$R_B^C|dUdI$s z(0jBGd>ODDEUQnxheoE!ycKvdlYmXd-iWPuzsdIg0g0A*Z-OlC@P63gt3I0&{iH~g z6ce6RAw^0W; zgFV?a_^MwyC*K)1FXOaDS#Yi1G4E{dw)TRfE%2$i=@Una93ueDD;!h zlJ5BaUyWt@N=_dh09+|az461alUwzL?;s9)U6q;^^qa(WcK#*8JU5(wK^0qyY|%N< zi0=@xlUm4P7es>auSn&c$QY8+b(7qu4A!LfKLT>&`AYf84d$=)r?eqbtq|il3w2zpVtHxaano)5yyy zQ#DxZgRT*M@AlO<^lq_JbseARXMOhxA+b}w1B6_N%R+>FHI=&#?Ou1E?h=+F^`#%; zB2H~ywNwzrqu1H6?E*11PvD5^4=8US(ax_4kT*wL!0J(qNR1E17m?^?rtj=WEY`0_ zlE@5e;DK0L-inu&V!P+Y$FYU3urCy;vNpqTAF|pelCFSxp$RFTOk-&85KV%;kIyqm z;_AX5NUNg9ct5_9vUNKTwNX?kkOWE}DEi7vZ&?4HGvBz}8~c z%8o!E$K;o+VCA?gU1^8zttQ)GV#&L+7~3?|z<@zlN(;;tQ~5{D$(YjyGy0#>E6jaUbT+pd$wXW5?P@lbYpQReP52bP~a9|_ zx{a6hAPC@?qxlbY2Ea(JqROv=pA+qn{0cLC|Hgiwr%N1!a~LSJ9P&vqR;7wmc0D1J zS1iz@$m^JM;+@Dcb2-Ty^A@O}2+dd?Axqn8$Y0nH#usR6c(M6>!D8jhPuA=~>1_gW z@hZH*l7G_A91hnlzo{ad0smML+WY^m_J`i)EnNTUhlQi=9x)rWM)&)6IUv(RU zQvg0fkEsFsr8{*~hr(xjqz{L5Z1%OjckXAl8N@6s6;zrlY~R2;?&}7Cs1bSHTgl7T z!pM>-Joci($d#YEcWJs7_NNSg{Hd(P;yS@(Dd##<<(oe8p+6Ciq*VQSu7-rfjCnfA zqZ&IQX+ePdN83N?8E|#f7hI4{mtKd=8Q6+B?|I!>*r5xS6NM_C#42hAqX;?$!et$z zn+yNHE|Wb~mrROOD6hC2Ev!YGXKliASrtloirSZ{rsScePjl+i2ynwdPG!x;M@9Ew z0Er~d)DO`}Q_PCO-SsYt4;mm*aZ(q6U7MEq3PD~Nmv04&V$X5)LI(zn62vE5}>~qfOg9CA1k_wA5R67 z{d|F{ram=2A;N#rXYKG*oq>irTRup9*c)B%!w<$sw0W@|ih#b~c>WEupV7Vjnt!*x zgEP-07^r#BGYEeYK%f6e?i{yIO2L;$snnB>-xn)#5}1KAf_MsC~>`wF%``izV8dgn1R=j=#(=&+&e)pF8A}BTZK0YXhPO*qxq1F7xdkZr!;qNl{ZN@ zSp6lp;S@!*;v;?kf8`N(`zgUui9NF{Vr^o4;4U$wEXy$lSm@G7DnaR$+2XRdGsF$S zjNO|72PJn_j$ptfmiDgr+3I4Go>;Mb?DDVYjl)(&{io1E_|h^k#O{TGEJ}L2`by*6 z3-HH5Y5kL)ZAx@C)z1WFtCMpT)U=M(-hWHr;V8D%pZ}|(l_L-szlW^Fip4kt?0f2P zznk(wz?MH3r^j_15Q3*iRu5;XXdiacWhvEqDR@PLMbP^GB~N>0e2>N@DY&x6IL7@4 z@Z-)_*6j@@K4~E=YQWj~j9Bsbv#|!_7z#UC5Bwv#xv8nOs_u^!|4rg| zu*x^I2^+07p61mVB-1{#;#C}CQCLE68ctrguQR-L`?dw3+C%&E@2 z^GldFm~82)T|t+95eayYUlvS&G;tM6KU96JEsZT+@Yml|W0uuE#eKomQ0p)QPWC3h z+Q6+zLhtkyH&cTU!v@zuThAuq(@3OW_TSvoXL1dMz-07LxOcIXjOt28I@>>BQqMQm z9u&bK48t=qWGcc}cd)%O+sbJ&1ntNOVKjcv6vMI$H)b3|h>EfC5mE;hwad=Edy9hu z9>#kfb#;!F&n}dbzblX`P3x#Vk^D?=Oh1EpeohK5PcPz73x)P;YMcBX_`!9;6IO1?n1X0L+_Pz9KenBgnpM57-cW zVj+agD%0B zDIk<4_Tt?a3#f0OMg<@AWk6qf9dsyZ_LjHQ{0rvT^}Q>gb0VfiOGW-KXwf(nyjJb& zCPEq*C%=RpTar+vFMNVOuONw&YH$XpqY$GSkVqe{l^OHr$4WkPY~emo+pamvXsV98 zb|F!mrau@9H_O?1a52-qf<6MEaJ{&7F-6!YvV2)rccnx)LeB0M+LV$rT6hdii^3=Z z!(dLf&2?X42T;50JI7a{f;opd0fv?sutwzdIED*2j+Mmjtd8$78C&&iFGS*V+@IVP z@6Ub%l@k;4)L6{}s~6=`Fetd7jG2Ln2QQBOMwqf}v$CuXUz@~uB@dGYiV>-?YdV!P zbdB%qboD8v8^Vmqby$rSEr7!pfc$1&2J;kUz*8+YmP-e!F+wT6)rye-BvLw<`1&8| zXNjVR(|kJ^juOMdr9pH&0xcjK+l=HLaMA16M8wK(k{s`K86uU+JA8hfbiw7?^TnRETfYYdU!R*l;8?1bH1)X2jM6Q( z3OYXps_)zSGn>v&rp~X{>{P$jpgEW_5(y0bZ5JGwAOcMw?k7aKz-24+lC=k%fE=9` zr6C7g(0uox&3e9F7-*ve`tHF@mXsaw5nZApt=-MEV2}XBtITP6^E#mj#`K{^|F)y| z8S?cKg6f(AV8jWD5y8S_*AS0iPMVD^>#9zubpClg^>t0(mWQ7ji;9*qXI&9Hq;Leh zs4k$Ev7h3{zpKBzWQNp?Jb|?jc~iZSc$r0+MWtm|iYl3zr!kyra5)h)G&Bgql>TDW zp|8b}VNqq_-uib+ZimQmC(~anSMn^j@FGRnVjgF8EPR=O?g|-Y&7G~5rYgr3c@=)i zf8x7ykSv=sG;C_WTR*GY4W>U-MhejjTPWU;GzYyqS~$?0)OLEYSUu} zXZvTj#m^~D=B0%Nv#A;+)m-QrTl9nb5@KHMHlO7O1~g)b5wQ`8m6VgW=9-Eh3fL2B z3bmn=GQm^^X?duHU_3l}(OV8XSIgM?B$EoQkRZvDesDb%fjmJyr{>93wIBcI?0svi>o^O*9qGEkiXCLIE10+@7H)YQCSvwtnpMANlLL zce9a)MD0>!3NLxB_5b4Qj`Sq>(I)Z;L`eZzlVcO z2@z9m+vUES@kOuFl-V^&vyv4hh8mTcRO=_U3aooYL|B zhpGFs+2#>^OvdW&zx~p%j2g5r*T}*rb|xYIhuy9wxYQrNjF-qTS${N4HY{Rkc5j>`K0tOgcWq^w@d=6}(e{!B4CDCUk~CBP zl>U)k#9fpA>9U+ZZCpx}HYg=wEAHm-e-&0u<^1n|>YLz8!eknc1=5J;t;)Y}mY0 zstHlbDsg=>VH|1f!>8Pc8jhb>drpm{aoe8-x%0L!6zLO-8PLa6Ih8(#ZTcFAe2L5b z6py~|V@Zg^^YsJ1;ewR??fWJ6AgTrq$5&@Pi0|npkjMFwZQ6Xza+HZ_Tu7UJ<82MBPEi5)`?lpjkf9|GyWue+}%}EZa0c&x(LNJ zgd_App#KxHICO;?KOAq$aP{vjQ*=&lFL*gzA^w08mYYr~X0$c>u1J&y1y%3SEq?1I z1&28{k=I2>3FmU5P;5RHO1&@aZLa@#ZeWc86vttd(%|Yocg}&lUWsq-H8QPp7R=f( zXH=rJ+_WI83CHb8$wc3mOiwdi?RQ*^l60TdBr-8MtCJWOYM zOofrLy$;(iZ!~ofOd?4V5uk6k=)2Vvj3Zf5zi_epD#VVdf{vx1IT}g#i!coUj{A6C zf5Xk_!p7maQI#v;2yRk9Y-&)+Q1}T9=hB7>M-@ezf90Bc(=d}KFHFcL@IB2akG8bF z&~48$G)!-{y8l_O4o_v#WG=##rDK6*$KKbb`DxjLBe7uA1LCzQ_{G8rUUnWe#yn*> zj2T-lUXWa+%M2a$pc~7K-9!Jo=Bi+zSl)V+%FC7SDn15Uj4HimCoYW3^pML=e^`}o zYJPE;MT8aWZ*+eKMh?v40o(W@#>0GzE21C&hqA8>s%ve!#5DmD+yVr5cXtmC!3i4N z-4cRpAh^3*a6d?p;K5ykyZhO*?>k@3ym$Uh6+aGCQMJ#0`e|8fb+>ye5Sp84qxYxd z5`{h$oQ&G%f|kRRWF*!&+vrfTd}*5hkaZE=*R$gmmrj%c4(0v*mhefM@Rd<<)9mNo z)Zf40jwJ?AA|%SD5j9hlOYr4-wHY;NvNPso=@MwsluU=~UB}9Q+$l^oIPH$EN3qi8 zOK2u(Hgl@#V~5yUu6=o-ReR{E-Bpg+soFkd{sD&OIe>$cg7ukAuJ9H-+Ltv1eE z6B#Sen)~tML7r|mX8|I7vqj=M6GT|Irt0yVVg`_%11NU5`jYU>4=JRmzr)c*_gT&P zi+p;g5{^=?pgAq=VXBDI|248&b!;1HTeaZRr}w<)!A>=@Y@HjC{Tq2Y1u{%{(>JDi zus8@Q*egC)W%i82rt>p1IOf4$)2@GxIhmLbv|tE(ZNclmT2`U~en$7@yc3q98n9C+ z=vG&2`Q~doxqiSwt#~*T<`levTonxEpi<*rG2c#M@(Gv5S$7+ zUL3TC(sxeCXr-U&r6}GeNtepMyHp%(){Bl6O0pF(hE*~VdKX70Cq?CSN?IbOY(XbA zKZ|PAGKiAYL&^+PiJ?$v@Tq}AulP7Tkr)^g=)mo@-=#K93~*WU^i+k*H*f|xKY0G? zPfnd@R#H!rUctK)eA#w!cq1K;v+QaaP4N4d#EEp|##?_0*fzNi2ggsimKM1ry(gCf zSuC!Ju075=Er?;=(rjW#i=t=QjhZ43!U6Sj#LtRq4i3QO#}cb?V@9VR732G`g-SGbEx>3CiuwT?o{HW_tmLbtla!V)Yti zu7JaSe#yuwh*#%RSC%s41g11R;Z7aGadp{nL~+6w24qeCO7C4H!@Uq?Z^&_V6O+9t zrRAATb!*{TBRN&WzRSlS-_n~YH%>9qDWtjhE9KS3I9WH+$v6!CqsI}Ad{i<{KGyB# z3w&72)7KLbg)7K$auA9RNy(hfF_$87V1Se;Ko% z=PRL3<7F|i(nsCWQ;YlUJM*vAhdEr#X4;`TJ1R8#1{;NProD>&@&q)UPm)Dpk7y~? z-dy$md=o_$Z?T2nxR=WV>t)v8K8}73p_!`)%c|9&@-jRYx zCKQ+*pv)NVbb3F<#k_$5E+f6){na6Q;U(k*jyJGFL{vvI>k$3go=a#%2X>2IoAbS_ zHywCATrP70Hb(8xjI+JAIlpH;9YfV3H0%sF701a|F7^8At}Vu~dQYB|Glwj9S^Y)f z6KYJ4LYngrkekoup{a(+7{0XztVygjHkxs=Q z$)-GiW;7f&jR*yUWPhg;1a};5_IhVs*sPclgCAU+ns0CdK39^@Twk#_`X7xem~QkM zsxD)Fe2_65EG#bo1Jw-ssR+72LFQelcQpRz_U?!eG!HAnZ6qw>Lqyph7uY-{Xug`- z8R(A2pqDTy(0#QZd+3g}M@r#$8%=v^$|IHxEK)1LAnT8ojexT}LEU>luN6pz6EPUY z)?|VZz4ctyB}%xH&!6{%eUHoOt$-6mKApTGsMI^6v-0T>Xi^?z#4}XE4Lo%86?ldO za55sEZ>Q`XW=1jl%+7^gu2v;41%AFpg;1hG!?39_-4l=FQdXCZJXD@4_4Tcc*VS7) zdz?SbxEn1@V^=OMu^lzd4U@*4X6M?96DSNhxtduAk8jnbT2gE=n9b1%Jw1ob*UpJO z4?+i|QA$aQ^AJ#~q^Qp!yB#w@ep#mJ6F7#Vam!ocR+CDw(Tu5Tu=_4SAy6e+95hs; zzF*ct2{>{j{gXgX2`QQedc(5D_%GDt%MZj`4pvUbq$E809Zfu@89(>i#&N$B(VUs{ zS%{OvYr&8z;feFGs-`cvSk~gggEN}DnFY6cBcyYG1+8-FSPL}9pIH%MH}sTY{$-nV zdA&F|=_1WoTIywJ#CGsDf1{fXD&@NC@pa-tB7V=@5m9zFxH$3^c0OHb)@Fb{#9kpH zid)=f;YLNe`v9LqTt<-U7}rvPPJ?`wDh4$a5xHo0pAcyqHF~!_NI#7bcUQ9*%xD@$ zGN_a!Df*c0Nup$_rQL1Wm!s2i5tfx$QlUA4H|TFrQ`?k&ciCGsc1Pn_#-<9gQRoUb z5rTF?@r8JmR|Z*?A|;HCLA4+UQ5~kqT4o3v&a>b*<6`0YX90qK?V1NUpdKCVW~>wgOH*4yf?*OzTC~g z!gqFGt1Hkf#^_d;v!{Rxo`IE4@yXi>%y}bC9k7G9QeRK;%${|TteFhK9%AX=St7^> z+RGApK`eSf5@A*ZMOV1vH#I4Gm!s!vq%Ntfe=F26`#T?8sUvHeJ0CS)3VZpp{G z4EB=>+obFlN!lSJ$0w#a@~*~~jgdS@2}!^zdo@kaY4o!gNou2v_Ae@Gqf;kiw78T^ z>CATvs^V~^H)sZ*U++n>U8zI?+GyQ=&iS~hSO`c^G>1PVx5A5TX{ZjLGLud1{_dPL z-(1-k85#=Qd=o<^hhwOAvq6HuaX*nj;> zvq+n1_d6R^WX}{eAAWe zV{9h%O>ZvmgM(@PsUAUfOS!e?H}a>x2;JtUxyl+(rZ{b*SrAPsDoE5am^K$oW?IF^*S|^jS1V0 zwJZqng{A^W(X1l|%xr!oaz$=Ki&DzUF@q=UHf@)xZzG8j#%~SOx#by8hY|k7^a?Sp z7VT-2nq4b&m#UVsGT-8S>n(ywv@QiQcG{J8!DRRz>PV#jheAoh5-l|Eh>m!iK_KgA zXtid3d1-Io4G!6gF988{j=F*2_cL|Am7#Dy zbum9b8+QrU?7R5)Y@+RNR4BR{`o4!6Deb* zcM&&c=_n;_IcTAH;T;HHHqH)Cd$_i6p7o>$H?A@#8nQQY8 zfige;T^dedd79>mbg>;y6#B_d2Pqp^l#Ja)*deQ*@d2d!eX21+q!qiNQxx8(7$&V~ zqxbJhM<+opV$i(Fu`MJcp)m05lEkN zZwZiWf5e{^%S?HwGv8dkF39U%*$=U2=X5RGy}rtnWMY-}Y{0D^TH)%uZbRHg$XF{I zy>lAYDn5KnU0K+0ldU2=En_pZ2(7pmV5GFTWNne6kwD8;eTvwD;ddHmr`*T5S$=$- zQQ+r^OG7w+J%h(Jc=75v$=>I?LL{M8o;<&RiDyWj-hfY&wwGlpt>4i^@JIYX*Z19S zC=S_(&3yhV0qX6+Kd002@X+E*$x+OjKV?EcmAX!whESro+``U&Ufjz(?5g5_6fK0| zA&H-LYxMr8ljEQ3Z|?pWGx)>PXtu@YQ;P@+rB9Jhj;&hZCDelk&n?ZRcWy zAeHz0~WJnofYE2DpyPwnDvk@=zQzIt1#@hsx$ zb{vuU$}ghsRXLfD8!;fWV@-L zBX|Yc`aPyHrxMV-G>Y0F7k%EY#GSigd~$WKg#GP+AehmuZH5{nl)z@Qc93!gZz^A9 zCHtfPzAj;Lx8Q&~+}=;?VtbCX-&>l;AGo!+9m0t1=AxD2|9LT#u9Y2Lelw~?Fv?~J=i=^h<~l;|8v26%_|{^SQ%;XTS}#BXb)C9v-kb7^Lar)qx~wshL7~nIrNI=OZQ>~egK9X z`yKLRSL%@I&(!Ke2Kv;f5tD9r+0FGwuY%{Df% zf(+B9MKIl_7C!sHKoZI!Y7~SvGv-qwb+;Iv>pBMCw?BuUSMZvZ&6KVh@@v}UUt{z& z75Br2lMm@eFx8X1Ks-+S>0cmjWAGA98N(|)0A@A`xNmp(N>WOvqKPN*%z?SRr1LoY z7G$oIz+cu^^_=Zp!4hUkOU=_!b+oqft22!FSSugL3d+XR(^mDBq*jJ$8a6D+NWty5 zNksD5CzdvHp})Nb5JUqyMo%u?Pzht}{7gq9+?Q!zVQHOXbYk$ZPFtJetx~N81$CBL zfu+_mV9!7XQT%(M{8_y0xP^^v9zINZ2t^h{#vGxB|KR6XGDQ68h5~D69YrQQ^jZ@T zDl~`YU{IRn7s6}jGK`dy--rL|bQoHZf7@Xyvzy`i>L+s8duNS-G>4ZFv*4(em4Z+b zCUlwC9p~@0x=B@q89cx2vybX=D{o8__qIgU@?cTuL8?UeF^ZCZ$SeJ5m?1XT9b4V! zNF<8wpdUNSf@Y{EhtoxVYsSat&v<^w3wf_f8og+0{$2Fp3vBcd zz%Fm{kvi79u~#_rmBQkq57jH!2OnK4r*h>2ar{QS?x<;;l{qR$L-}W4dB5YNw2ZQL zV7@tVN*KS_ubunNPZFworTgibk!R;)iDm}c^#<~^ z!Vr^0JYsm+QJcW5BUoc{klHyED1-}%!oP`esvcRS=C~tVz~r2Jr8A>SCnfht!YD7a zhhxvv6VnEb!NI)FirLYb(Ui1j!wu_FB2eV3<(yuDH%>5-B!(}J`L|L79%dIgskCJRRB&sI00HoFup2(ar^z zi8F>-uKcoG8SDLfR~d#uh$d8N&uflh%EYW@KJqcHD~O6|5d}O>7!m%K28zBplYPVRALjd`nO~;4lPF#&Qb3)SV!ZxJ>!n>EH;r_i^O|i-C17Ft$2oS6o(qIsaN~2`m z#G-n>S@APP6Fefe)qAvmDN~u=z*0RBdrRv|S=`j#dLZjV#VeFt(t7V$zX<9?-y>@5 zkH%2bMWWEdEWe_#jC!zzOV^;4v_oIm+J!|KFimJ&t%_lEVQ|_dlt`?u_7KRDxb3^? z&L)p(pf#_S*Fc;a3}WOJ%KrYqn_S{Ndw)x{PbHs>3ae%QO7`OOriV|oQwA#KYS9w{Sy66s zhULwJG5c6Ui0Ma0vAVT{Z^cU|B)Oz;=`S+U9&UHAGd1DT_l3kx1XQ z8l768j=*fyu)yFX6&NKvvLhiZN@oZg*(5YAz$6$VMxUVnjSFObaBPehVf*8r#jdQ@ zaEq3J+s zyoO+lrB@GrPUMFU!SAunIh8}CQO$4iA70=K*XnlvT9RhZeNA&ev!OxZ+k^EacU|YH z#`(2(^ZOjPmH=Mx_8b!@6g$9Xy%;B1N)1O1hr1+ssX1*_h-G55lYNdWhTb60FPIZE ziLOQe%boQtGjhlx<2O;)+I!ZKXo3tr{pX1#YL_|4fd8Zj4^bTxW|!z21o8Qsk4(iJ zL+B&Z$1qY@f0_D5Id=~MVzLUMGX~v?5xvKMJ#9GzA`!P6P%x0h?MDSJ#J63 zRLTmKiWlJ^1Y-O~WYAEaeGUN3b(r7xW1D?z+u$u93V%;8_2nzgwDBuZ-c6$q2rMWf z(xKlBDP?|Ev&Gc8aHg~{8=aNMg~zMCtHm|MuYXsaHZnmaY8Ie|W5}ZOGZ2|Wpc)O| zKr+SyUZa6``Sm|z4GLfuCcRNQ_|&_lwbe_-V$!cbmV$G!xolz#@*t zRc;+r?9DA5+{8zDM@76Pnv|#cu8^O=h?R(0t}jVFqw6J~y6-LFb1XTcNyomsm#ytZ zZ=@1w-uL)a%kM|ms9mG}#04W(wscrQHm_lOHI91x zebpoSO*ftR2wufHIp&v_GgOqzj&+D`I*e1FUOn_~vWW~*pm1>iHIOnmQ7rduHs@hy z?{#R+r%-W!jMDHYgDlOiqYm_{e`JJ|Sq#y4&!+T;vyaXFny&mH?$?odnFYlZ+mO1gX+OIA91Q|3b0VuuxnDa@vzoIwz7gL)y+O!f zDz8HkG2#35S{yAzjX;rFwK;m&dlHaUfKAoWm%|Q^oPJYTUHy&fZ4fzF+oJ?!RuE)4 zSm()yd#IbHUD0t|u?HN-&It|fLZ2JKUF-vX(TZxuJGTQ&qB&;26OaWNnz_Avf?T@m z

  • z{&oyPRb~5UlYc-6XNk?yd)EV-TxT4CCFt#!0n(B8w_#NiZdv%Z?9kbE{V0|t zd@7Nr+Pm{A<~M;p6+Hr(^*q9G8zggpWZrkW$bOL_ECliY{)z1V5@J&RxkLD7?=kmw zxPa8VeA-bY{?!q~pB7g&KH>9UJuI5u@-8>EpZofsS`}bp5SxMJfxgh<1f8f zcov>~QMl`sa4^Cp9f8XfS!{OIh~_YI9uq^_+zf8!%&mC7+5VljhIl^c>2nI{;&;7g zE$T{#+BY#83n1?SyZb=oW}c45x5m2vysrQK(*AjGQGaKEl54=c9ttAeyYz8^&o(+- zxoB07mCO3z{JzyHZv1)QAF%wDYQvf#XDc|qPf~mC#7EpAg2}SSVRa0E?cAJNk|4en zH6qDKPv71Nb^$(+aq(MF7@su)OIi5=BS~msGv?_i=umJX`bM(&)APg2+6YUuWh5Z= zT8C-bUI{9Ue*@Ib-o2g!Kp*wrZ*E-KD0@b><|vmK5oMKXP1 z1Dn_{@oRJ7ubNv=q^6oO-_xF3mGzT{>(#Z@6kexZvA?1Tcn?;qONYwcV)_cYi>n7) zz@lIV;r2GE{P{(Nq3g2SPc_y>$1yk-Z*rD?zcKfvu!#x!wgl0y_bHAO`YXhvD;{-g zY`(L?p_jlEnBbl6bhIlEO#2!8?LP{k)n zO+tbZUoPD`*3*+$Y`up;hew0hqFx+j>_+~&qi+FBYN0IHtg9cae=X)+r<({UD_!)z zwbPcWH(9t}H;d9arEd?iPITHy|DCO&;V7X6FNUY7@l*V=9`w0u_KEH5{g&qXpJn~} zM{X2PYVCy@FNg2mrF8=YTwWatA*}u%~yQ?qMu?b3M#|d220?z@C##5{Vez)+X#cFZ9gy+uC(U%i%pPT0$ zcqfv4G!44t_WFaXXOWW`bXOx^ruc_p2r*?Gy#*{Yqt;JPE9{bJ4G+*$p|U=V$J{)A zVNPHt6tCcS3_BUdx6|O60vkH|4+0jH2cy|?uTGbu%TeBG!-Lmz}AK;tn` z`Oc#C26#IMQ2xuCyTo#Q1ZrALO6;dEbSrMnyB2U}X&mvKKKNaJm{{R~JQRUk;%)>hxc7{LENN@9<@;R;Pwv;get8a7T$9Hj~Qx>>~YOest`@ESB-D zw&yTX0ws9R@ouv9pW4Om>xV~(f8qH*JWpB?{tltoj*5Hia;>CvZI{c_e%hJH2PVEh zivA!-N;D<=^slE3BJUTE$4x!~G`xGuSxXeQ5JWm>H!0jhTtEf|DB(cLYw5FM-QIQbYQ@f(*Wei$| zY8!QW-<>y~vsxVS`GAF3YFnLoY54L3^y|$l*KVhSWNpvD&mStF?afn!$)X*ruFJ6l z8BN@UmhTI<;@kE3l^t1CjwGITj3ohp;t-%#ppLWx>(2l7XyeK_x@zGZg;2-kYcKZ+ z%aB4VSmO?==ZD`1`M*^xI)LNMF9Tp$CJA1ta6>VI$B|CrM_(b0$D%Y;ah{{ z&#^Gt=16@}anwb%9)A!wSwDz_levL{-@47cWJcaN32-%JDhwQqoh4P4_Wp*dFa1Z> zWx%N|5pFNeu)~T#FzaMv%IsBibI`sH!~u4o52TrQ6JO6AWUsA^*oag`{Q_e7`#)-U-Gurq|18{= zAh`FvMD!BIn<5!`-(>dtaKtonG~oKCbv+QS5DMbxcCranxkjCN(2=-DjP)f`9>h_e zHu!++%as{ko?vcI$00%5$((CUqij$`xay`uJ)}dM;I7)&MB+73Di;3ipQ6)q5WDaP zUVS@-j*ICXXtZMEHYkk7&;Vx^1FY|%vDKpPtx${Oa6FxGfn%1cZaZ(YblzT>aNfDXQm2&)<2-` zt|ueCtk-IF&QdVltuj2+?Phzvt-7-^`+f#wC%~h_xne%V2ncv9^P=tOP)n+)ZEvq? zej5m3_q@AB;?G}=D@q&*|1^UW%&`lvKUB23SQ8pZbpsS4p9jINj;~ zr9g=e%8i;X^X;3^e}yI#^^V6t@50Bx@Ugg*s#Vq_6ALpLe>vZ)h`%jvH=uM=_)e^S z{9&no(-^|BUtw;94Fjl7|2y@&O89&0sp<`W>V>M&oGRp@Z%5A#B<+_PmMPJ<<6|l2mJ%7&mRqej4~3Ep!jUs-FyT z1)g&k$drA2zGc>7=HyJ{U3m+_6-OI4BHBEiwV**M%+aDf)dw6`h-{-CR$eHUf0{3L zo=E99cIJQTfBwEungOVOzA~O9{U?k}h#qGx7q|OvX7N7)h^yx@!lY2q&J-ix8sX&g ziUSM`-MAz>e;c?*2xC{i4|Io954fB2%!9`L`ydnMfch6;m3a@d43t2Ks{Oo2Qkb6I z1?&Fji>yCZumG6O8)i&(!bgtsS$G;w-!Hl;!~RdeStwn`bkj6gr9z%TZ~F%EgHIq` z=by_{*LLPcc`CXK+5|w|wy`Kq*kYGw188=Nr*YVZh9YEczI&zwuy(`upA7A*?!2+T z3)Ye;45`_#Cdm1In-H8=AZghPlMuN9jWgguCME7-n32f!8UWc_wGcs86h@AxRsDlm zXn$FkWOKu31p&kj2VIo5mxUYPWTIsmPqIfyjS=4v84Xy>14c-W{#|yMckJhnQzyx1 z4x=IDflY9MXdKhmfy=wJ<#@-rR9SGT^VL>!`QW(C&e_fe(Nyjvck*|g6^;Aqkg^=$ zVl_K6Aei>9>1)LVb*SNlGPCAR7W3mjV%I%dU)FsL1+}q&+&&K`{--4xG&4A&^!)U8 zOorQ@bE|@+rA7eNuo-UNEMvJY52@;^cdn~fK{Ie1O|bOjLE@}b5)i(R5o zry&l^$dr)w#2Ro;E7Sx$YIkbx~4;CoUHZdlq-8?jz$?xT(fI}ft`t*K7`8vF)D0mLf ziBTC_$&Bcir$5lo?DgH7P&%u&H+|q{xHUxY+ufU~tk5yPbzDDE;5v}V_{8qUM9=ex zck_jQk~faPA9OTIWW<74@*CpS#KDQ$E+V{LURZt zK-k-%#`MQM;KHu*@@V!Dx;i?=puZPhXivERN?O#JsN^jo@z6q)c0?(03}-qqSRK-P z)%9Q7Kp0AuOf_>O;e3kcDffMP)R|47IaPq~(cU7fuiM9$brjF52Q+!&@#E!Lu7wHU z1Uu_O#(0+&{m=N~h~tmOwi!m)q(IQKZyf?rK0%2feSDC42FZKSA*_$sYdBQztoci! zdOYH2LjlXZr6cNNeVU)0OENP$uXx)xYOHaR(^;`-1G`|-2%~9l%VvBr@IqeoG@F1N zt+M>u;(6mu15?5x_xa;R;d{=($kK;=l0VhU9|5pHfBk06c9ayywt07ldxJpoq98K;BLKFLF17QH$*@=qZf)=_dO zXBbL&56|*#iB&bUMy~S9qbOzcZ>1znIe*Jcn6gm~Z-M_#Ul7tFoW==5E-m|=p2*an ztvG0oN9PybE&#&g&d<33dJ~Fn~S8W~A{8XFg z58N-_g>+yNJyq#&vGp=kH>?DJ2~qqvJ(VyrsJtBGsucm0L|Gt3W^~>35fOCG6-~T! z!4a=Trq7WhANq*2yboWSat@u%5}T$y0$Xdj5+K0xoszDz*)V=l5qTTm5GxselFuZN zkAmk2jL|X#S$?2|J0||REy@4JVv+s}h+NEi7#Dwc^B5Ss|HjLcBQlG;7#3Z%t7O1e ze+^W6Afe`y|3idm7DuPc+IN{ z9m+@Y**>?;P{@q(0>vKOg;?hDfU1Weiz-IcV<$!(ZxUdlDQ$ z?djJ`Xn^f*&5No;`L|-E!OPE&Nl0XWybd~LdVrsWCB)I8!=BCQ;7k+5pKU$`7Fb+Q zk9Z+Owo03GjDi%D=Z89Z8r>wksy=}R7}m@4Gif8wi^!cBI@0aiP~(p5Tc$@amOGN1 z4lU)nXMvq_?f&w+>quPCB{NXmgwHA%$s#k|bJ+T=N&~ z{(rxzA*J^YQL^O)ZG$-lm~mK2mJYNSznEYOs%=<^5N`*hzVsdf>b3m=2S0!A15IP# zs^kF1&7K*^SfvoMVPcpSYwH`$6|kZ&gb_%#>UyZIAXdp?NQVNq5#}12*cmr) z8+~{Sp~XswU(2?van7>A9=6^~nF17q9m3ZY{0fBtu*g*4(u#Zl@sv5a^&7US=B=f# zc`zBdlqR?CbHJRzt3drm``mgHPezMc<*cZx2oQ_zk^1t%4C(6)t|u7b$=0WDcVzt` z58`)qP^^nGsqN)?J;JY=B&}7_oFZedRIa>lt5lMVe56W`Mh*5rPGSAYW-BT>@V>p- zC;7UVm##=}CqIi56ig!N{|%&?o0%antCQtF!}XYh`Iie*Vo29Op9|hR5*JiGHN@!;sBPvU?DS z(=k?0S(Mnyte3eJAE3ZBbOu2Bhp58^dheiOW$VKQQ}kFldp8dA61aU~@M6sJh33qq zmA**VMs)L~^9uRw{2>tk-|r1}MlmhL`h$Jumgv1%RQ|r(2F^wYN{EEPZ=&pW@9kt2 z(U*o+_Nrt_ImAf-d5>tI0?aMRYEBmutq~B)y(-(?UV7}TJ- z9_BIoOT+-kQMwG-w#dMfAUr0)+?{d2%pI8NIg*}CYOyptDL3aNAPa!{JcCWp1$BYz zA9p%j!nCR#(e5=j6ZLk5iZ@t)y{J|LwX<-lt)21ZD?F2LHk1);=4SPSAnb4WWPub( zy~C?c`C5vg=x(DCakJ#-hPlZ?3mKcYMBj>eMmF-04pw z)Yp~`ys=ESRkZ{QH4;d=$gPF3u-(`JxP-2%t$E`SQhlWKiS3G)Qb14uSO@L^4&yu- z(Ei^4>yj2ufojJ}2aGm}nGCHBB<4RVGI*#j3=3u`;GVO6j*P(-mW3GY071#9=uZV!$5~&2(PUG8VcM_1V z7jhao`gZJ5rHkFO?gog$mkmd{d6sC;aaqHfd)MB6vR5O?{tR~aOFfrQmh0F1$5Gj` zM7%M~THXz#F0`AoPyQ;pfM9R^1qWttF5{D!6Qh>bLyR`M7^sKCnN^_O_k^ztT?IhN)%8@tv@Vd-xD{K;@FFqu zx58l7UD)-Qwd7FrWm+_g-xcZKAicRI1&YMNo73i->5Jr-z2N*wiJ79DdbV9kDdI{X zN5o%12MBY|YKF4Xr_saYhbppodl~#kASl8xGxim>CCm0WBNmhT1mmA5A#B*?gZW9j zs{MU^Q|j5aPS|-7y~*=&QuUlq4$e)|>YBjOEf2-%UNHB(HRjsPGiaQ=WGaW5*bu$8 zLAnl68}BE51+Q;A1CERLHHaEn>5bZ2kdx0-KRIk7ujYtZ%4!Vlt?#KZ-T1U$rJ|53 zW6Xghi++yArC1or*Z5!5PgSE5v%5%;VPhcz$LP=MofA;iuoJphZyX%I{2b|fnF3+0 zA9nH?4|E)YEz5_V1l-vR%gGOz!pc|T3po^z5Q&**+e>NjQNlid=yQnGE7gA^DwbHm zrFBw>;%rBjSEvk}vjzQjKTUz+G_?4ZL}AD4&?84Kt-;qvyyj7vXjVcvXgd{v;se+{ z!K{*O^sKtmTl2B*#0#vL=CHN)j3qfqf?15-KCJ2&;FRtWIttG&u5Qu>H1@Ln{RfyW z5tJj$SuPfJc3gJFY~T&%{wdw84kJSiX`WV42N}9s$>gHA6S>}>915BuM;}I-*FBgH zPBE4+_4qN0m}y{!J*7v_dobM}%SeSM6d7Igktk=?F&yB8D})_<*z zML*HcNzZ-+j;VRA-Vp`U1>abSkBngQdRSw6U(m&L498%@j`#8^%R_t?EyPx~0A_PGck3%+DpQAhTFXQ@X)haPe@h|PPbxHK6emCjmxEamh$D0!OAy#( zMy9VZPip`*2dkL{z+TyJo$+cCA<}JL2sFl<%46c_Hx8ioZ%Zns#SI-zGINdh1h>I; zh#1aCy=+@ju`Tc}{{S|=N){j9KkSwCeU+PQF_Pa_V$6lsU>VgxCufd;Tjjy5h@`Uq zNt}Q)cgg5RW;?K9KRYYKG@8xRcqnn}B{-K&-c7(b zX&UWoQg+b;_I(Y(x{u|be+<|?_yOh^(Asz6l!G;E$42dRnIa9ioh}#E2Q>h(zmoR> z@UDcmgs>dq2^EE2U|z`?bU4Xd5{)0>T|Th% z06LByz~79kfD4~_E5b2EWCw@XdoBLLBC98n%u-!r6(ppMVc6}OSd7vO-lic6Wegko zyLTFY!RG4)Oud9I@S+U21;VM-cLmIySW8l<=%~i0VcnHnqWp*UHuh)w1Pu;+81E3Q zwtL=nQOf*ICX6<)mwL^bV24q+%gM%me<;Asl6EI_VdNra#tZPXREPgSy6dkdi8PIQRnpXvoF=zK0lgxCZOE zHA;z<`bgK~)a$U~B^s5()wj;eWYuz+K>}kan~|k#Z=fbfMVbjM%cR{^JVp|ESUPpVvL9yS zKKLiTeK(QGKaFEM?)QyKUWy9aXx8pK)Y#+Cn&|=1WIvH;$H(wwS{8!(`T4~P{Rf=a ziI=)o3)Wrxlced74}^CWe$&JI&9QEN&o=X9>j#T<0>gx!%qSLkw_xWq+>bzd%5*(v zcMXMPkbdf$CUv_D<6!nzIEyN&3P8gFQ7HPooq0?ztpDJ{lLUcBWq(2Lb|ujNN1XG- zir7Dxx8>kngK{Xi^GDWyU0^Ej%1uw<)u1Aeh=BifpyzZDllZ$!Q|x&FH~vpFN#^_d zBu4F*yFkG6kic*Epk}9G^RG2;@W0IE0XwRnN{we%FBWpVu7rnGO=p6y5<}QH^XfMW zLHlo1a|9d(dWRa+T)G}ry2REc?%k)^nt-e_z}UNAOIN*QNQmX!Ii0}rl;#Sa5$}X4 zAB1FYM~~6ZMh&vZwO@Xa>4iK#{32UF;SV(Wq7E`h;MYxATR#2xhFT;^1MhVyF$h{+ z-|(xP+F!AQ%s`#s^sOMs34qKm4Q!ISc4v>v2JhIj?feW#?$qHt{TYT@t^P?a|69{S zBg|pa0y^Ul%5i8mvZdp`bxk;D_Q4+vv!ggkfvx=Q?i9W8XZGad+{}dYY0c zQGW=*I%#n9cJVm`>M9e25WM+XEin4OFaDt%b7Wc_K?j-9-^d|cP`1~&Ao>Oz&w-&l z<)#(aZ|c-VWSK7*g{Rct5e|p3z^$&PEv`hExW#5?|L}7 zw{X3tG+ZnUmFtyj*Z)AF-|JH&BhgBx_I`)pxMCDb;Dj(ZG`Bb5Ss8p_sVn73ZlnnE**^;ee2Z`IqjG@vgHiOL z2-pB9G5GC4Qr?n#50;NloQTGgySC~IC5uGg)u2`Z9BEMBqQ(_M_loP8{lLsSkH}T2;*Qi>|m1h z1>+bLuflf7Lol9OD`SHtRS;!?+=UDH?BFDDU} zSvDs3#vUouh0Bft`& z%bZ}ki=lU);?-+(|15X7WpRSadm|TtU1)u%`+@|QoMa!o+Jbh~z1xC7CQ^eQY4{;V z->gIh&vGZ41QOV8YV5w*{j=yd{x}Wb1iH-8`N3gR1jryxldn2Y8+Uj<2W_Or*?pKde6J3wOYOx_zz_GR;M7A%|7`EYd*` zHC86Yx!0euB}(BnEAziI+i^9wl#ZL2(IQDyD)m`kG zWiZMd!!R->$OC7HKSPE3KwC=ghB!||whLgwrSVTd&10@r#A@D6ZoRw}8R^ABL=e zQw{US$6-J3Z2bAQbO~72V6l9c)=tkl;$F8xUX6NO#r}YrVoPJY8*cc^L?I?;gmP`= z`W*1_zCp{@Mj`F3xu3=3ndS(;Mzg67wYkFo@n7M&!6PRV5`F|rs#cATk}XjWjJeHu zw)9iy*bf8~n6Thn*x6sPR4;SGYWxVB8vx|q{9}scArO*(F7K#9xXNkCQ>?%@t9C})^bYsrI>1ph;gX}Lf8MHF^gK86V!vOT7;1Oa~%U~)zYPlws~ z0HVbIuhgti|&@GV;jm}q5naA-8 zWmlyiIP)X+UxqOs$9o`5$&fufwG7s^m9sPSC3LqxF|_5p17jn=vc|MdtDb5yz@0kx z(-sCCKC!sVwUF?AjJ|mDoD0{4QYifBApUix(2Lv$(#2#1iq=zQ2waf$+DtWC$WOjcCzy@!!a8GkbfT>y`P#WNW12Mp z8QZnCzYwbJ6jEw`dbQjS$o3Cbvbr7>V|(0Ba&>>GYAJvm`kspTv|N7}#5zt1ah)hE z(X20|EdK4kP*G7CYRqs{u20D9$)Q78 zV2nONDwda(J>k`#wd})_PY_-Wzuu(zm#i)*H&;*!$rx$XntImlh(48{qSLLm=l-tj z@ZqzA3@EK1rj7g)?*{S%U1FrespVNdXySmf&8u;b1juyqiM?)&grWJU=Luadc0yb) z*dKZu{eSpM@49g8R|=Go*3W+*$5YCT6huSEzi1OueLpL}JF>6o@#dG}|D20ECvVDr zBhvFEl?`yM|J{gI`Vs(9!g;qF*baplqz(5HsLhnJi}Ll2$1`W_poHX+qZf%rOrU>Y z0W@iZXaH^YRcOkVIj!S-`C(;`x35|c;#iK7{jYj_eL+wWZ0vls_1g#8F(diq^zT|EU?V$WScn2;WXGi^c zytqroDl0Ao=npJWDJSP8%d5&>hTi?I<6z%qVJJErObVhSHljaMckRwFX%YxEkgp*& z#@du$C+ihKW8HJ(xvPFB4c=WjcoY3>ZnzZ`1)VHy7P7F98|;0Z1P*`2JTnV z>!gH2gA0U;tP`jMS*MmDd`4qI#%43m%Ksxb3VtZdmnw9>>CT9AjhTN@jw`#!0vV%{zmZ%a3Ecby&TV>%X@6bFO=WS`sCzDN*u8^E68xj$sE8efBAl-O z=(0O-cHks|W^VZvaObDBAv$^SIEZ^R95rg2)b=+@Kf zdF>WVF+@sq2l;<;I~Dg`1(EybH9OC+g9R}GbRyQ#H9vec)b+AMNwetEGWI+~6ONDDa`*xv>yC$3c+q83PtUkC7b_~Q2@m!N*fbKos z`3Tp`en^EO(c`RlC~qDA?ca=!f{j6b4L-i3lSs>$rFszFw6#so5>f~!b9_WdkAW5sS~KXzQM-HIXb(EP{8bm7|Q|pVOUT z7TEB2`_#ZPZf^Js%$?xQsMJc|xZg%Gkn_tB+7iH${P4W}e%)bkb9*p*D8Yb+_M_vntHx{~BFbvc;F_e@A zVpl2&P$C#zFaEL}td9x%+i&G4FkUCqbSf;sxlYcR3HfW`{o(EKwIzo8b^d#y{WgR{ zr&U@NP2HkPz*^+;UxDd$jCDWjU_9*=kGa}bK^>5Y=w2S)0U~2M=7sJNnF{AAK0B%Q zwocxB!mxRr&g!7E%l19ejeF|mKpjJC)g0tZc!{k1`qNd@`SF|AM&A2sWTG{v2<4@{ zH>SUhN^tep45|exk6+k6gZ~ZPq@}&E2P=7qjoJ}GJwNk`U-G*^pSzrET|_Tt~$ z{B*|8vwoI5rx?52+SvX=BFawhbexWwUsURVC=Jgr{|NcD1%xSFcS3HfddIs{{a>8o zhz2YA95cuW>x`iB*$16Wht$LHwD$ZRb;WiyM$~%HzO*W$zFP+Np3ejvHoF305zt8Z z9E@nRQ+D|cc5>0v_bxvLprgy@CWMq|qOb(Ez{HxXNG}EOM~Su&c5uXr&?@o(=S{ER zr=|kfrKxa3l>d<9wFM1Mhm)a8s$hlG?EpuzOhg^*xwVV>Lln7&Z{ zgw}JNJK72#gg_ud-Ub9u6C+#hHY&^)z~RWB!~p=mqIr77@rTMSJyDW-=7u0Y%H7Xc zH^bk}9gLVkq5+aZk>!?Iv#MqX)jwy}vpqFyz2#6Bv96fQ(mmZ0oRoBiJ(<^i%jGBR zrvdx^C$DqpdCrDTL!vnUM9U`wLjYt)F%b%r|UT;CQwteW)Ac)n1w1z zojk{X&HlXM@;evSc)I+kWanaI8>E&76w>j8YslxkQ+NBUt8BEFriexR>=H`1-_Z_y zJ-@~0LO?ir#|1CGwBo2;^Ju^R=s&d;@4O9g?y0N!UL!hRO!_}LGky801+7scD;dQv z%8DM68(-9VtK(tPn_R~#Z1p0Q!d8)!=CcVgmsTvGv15X=h+!X^rO3^CC( zsoe!4II#>8HZaO4q8Q>_Pcwd6L*6qg^w%la~qefTcS?riQ)Uo&3wJ%dbEFJ5g zFLbTuT5I!n@-!Phs5+@I*4FmczdtijRdZ2nwHMPE4y`z&ss1~Pwfk~NFYw|YQ{tk57X5(JfHb!Skp91Lp+fcM zVICqfXqLVnG(RPUrNrnW3_zU}d)OS6>a$cWVvE9%hQlMKvxH^Um{+WzyCS4y)c(7J z3YJ!XiPJvbTu%xC(=z0wwQiZ>Gh9ktaZ4Cb(`M;Wg9>$Zue+@NglXPm9`U;a0NoF` z3jloF%iX<_4N@Y0pw?=sMB@0Gseh_LNq-#2p1Fc`WQ$JfD0<8O(bUrZSL@!dB0U!C z=EuJ&yU$uu^Ja%KIm{=zgkfKS_+-G{ZLCRo7cX;2lOCwQ%il zBb&hXcQcxvD8^-u_h@f^qLD8Ks5diWJ}ouU1-}6E_pJ+L7FG|8Sd#hX&)GafFZ;nj zw(Er_0kI{`)C2z*e8KGnx53(;DQ~PG!iLu|vyN(%2r0N`SDsDg%8+p`?@+M|!9vDi zv@q58ZprdztdOwjrQ;V7#rn^U@_aa`)M$m^7NZ;;1wAK6p4ltUH(z~6q4DoZHv{`tc1@Mt)u)XXz3`rOWI zy>pIzX8OasU6|6V6qa_O4C(Y(!c9y7{5kQD*&t`Um7f$y+}n>ZC@O^z1_eKwK(b_W zm_w|WpHr#C+3Q?oy?_14`TeNj+M7}4zs$Wf<6bczf7x*l&z7Q_9Ea|5%cW* zZfqiEWVb%6_sa_9+Af4h{w_;>Q~Ep@8Lh(3T zBF9k{ltl$5&;urLV7A1fs{J|Fn01f^cLi+YKkrQ<74wtHqq;ngQvh_?fXD$!6oQ;b zlvBoA-8oiUA_J$(!grJ1U@{NA#wY9)$H07WY=pv)!VKIL$;L#OV=f3W^gq4z2c9>w zUm%GoMVi|nCHb9dV#|co3X>ekJhCBbF@d8%V%VRVlkOv;D212m)R6HKTw?g(c3Bx# zo~^cYGOlZ1&i~7YIKtHNSb=YvHwjvDqldMW*pTL{hf-Y2Q8bYqK zW4P9r@Ixfd|D{pdt?MUA6@}v416IS=!ifhV$RBK1?pvL8CK#j#zI(n@lc+=Gzn9Z8 zWW>oHpB?*Dtm(Qij|dx2BC;=giFq<_SPU9$L3i}W6npF*#nO$6D$Tpq50*hq$E{Ve zLs(MAORe@AOGwdDT6BcBV8ZH8t(y?YZ@wuQxH3J~XWTwBuU~&Hf4$BNTr%zurtiZE zhk-M1;QTA_9!&uFz*+KeSF=qd7}obbbrH`V+B)ZNq~2QC{68pRFE=L8KHOSTc2gj| zsB$@i>v+G#T{-XQX4mIzW|tWByA$+L z=+Fzz!jaJg>e63C&iz;lR2%q%4?Z1G#9gv~`6kB5%y!hN{(~rNZcU#nb7!V_*B#Wp z-#l-V1Ai7dSx3JxLBUQsz7TMCZC`pQYqEdxZgs62CrfrcIX@TKwy`AYloG9Q`l&)>TkIU|V3^6dTE@v?+6*)#d@9H0RrR8Su^j)XTf> z!D))Q>AAj7Xv5A>m?WE|dVrPeND_3Au3;k#yj;)OlUAP$-AqpXX6?C-llx17U<5sS zSh0TE1)zt?Ytht2gr&m>D2!mJlPKI+|KAG6=fH*uX2npo9tay*Bg!6z1lHiy?_P0= zIivFZe#eZVNLkSYs4L87ZtjVDsed2qo(r5DwUCuy;&&;HzXt;YX|nFEURvkQfo4$) z=Z<}1#N@_`9pv0`A4qUr-PrJ7N~svIM}iT927gdOVX7h#F!`&s{Uo4@@Np&7x%XU% zGm!tZ^TBR^O^Z6l0LBpt37fJAPM{}C!lba6hvVJHSM>a@b3Kd-Z7nSq*Q-_#V5^hp z@BbusB{$IXaXkLT`BNxtKrpg=G`95mUi!sXC3iWlCz=9_at^-PV!pLxWCJ_Ut*e-u z5Z?bgt6jxZ2jd(ZjU?U}>iPQe(_La>{2g!^>8tn24srNfM1Yyne!SG+Du*a!KO10O zxi|Yb^all!P4U!+trR1G+WB-;-ixM_FtG9#POOTKOIqh+^vmR!y~^&?1ZgV-a^G3( zchHM2tZ>dPy2pM^^f{V;+yem$!v-rv9K;|8J0jn{$5R$lDu)5?{}+!dhf~1mQoU); z@!ZR%8X9)dY9aIv4p1#AaLp#!=N8}>`46;{#w}=bnijt9Bq~MCZKN84{_~}Mi#R8N zQm|j9RM*I@ctKP)=a#r^t!#kwqKgo{1^g%1?kz3=lS=(f&dNHM%caC2Ah>zYo=Y`n z^sdV5{t#)ual^M|pID2IhpGI~7JXhCCkT-?=@dnaOy|R~jUo+x0~As=q{V)Z6d}%CceON<&=%W|XYkxZdEe&fq17 zV%tam3c#L)pG=p)&H)2UGTZZMsd}t08**bw7zyyNwSQ5r|DoosDvbq6ne?o}f3P*zw@6$blwNl}1?{=n>*kOc?TinjrAs4~BvL zTaVY?SEt7k$A>MGJfx;WaP{!ifEkHVOYq_G`~vvzk7o|RRa%5?wp+X{fwf(prWDCGlO_U@;wIw+DnY6v+1a0KHm*8J_1NQ@XGrRdN1_%#lQ6BFup(;bGO`>5 z0hK(<7iN*730~F_?$UMG@{dYiGCV&y4@*^4YB)APus<=5)}%D539g=D-ahW!FvF#(=lu6h*bWlzfr zj;hkFpM$A2^5z8q|E6(t`@RNNFgFAf$9LzsfJEUf1{szN!h=DCyn4}9iS^MeHey*d zJ$nHhtMFzHYv&6`aQgF6dDU6#x!!#IpD7He$!mjH_oi(%G0hOJJBES~|L30@F`-T% z-JY27&=pm;-*y3{pWg8n#+R&2+NE<1c%Q%ZtrA&%jXZY~c3#Zzu9PM5SGSe$$`b~k zL00ySEc;ykm$QLZwa$Myl$i#<5l=snkd(fq#dd*E5j^E!@%D+#TZb(Jaq)xqn-8S2 zRHfQ_`)i#F5hfEvYUUmXMUxHwl2?*oJwFe4-)KL+y>f&Wmdr<8W|!1kq>JB*xeChI{1ztX_J=zN3u za*^w`{7d2!=B{?7@(d(Q97n3Zyf00``rzcn|I?Bk+7*m`*!$*P$v89cNiaz{JhS}> zz8@EEM;R!T0dq%z)EXM*f1}!&lzqf(?aZFX7_~B# zJH%V~AONFz>6E4_%#>d8E8YqH*GWcV{8G%6j+-hz&kz!;yNm7Q zzJGd~KDn&y4%+=~^y7L|1+54tRl*UL&cdHB(q|HhBP+jv)5?~uR9I9d>PRjjs~>Gv z!xq(9s+fi99TyhUM?QUZAV>4RJk!FJ4RO%L*H`t?30j&4`+Y{N*E82s&*G=BS`g^k zv8%HfF{rowC3?O9k~0}O9)N1AbL~;UAM7bWSjuFgg2U-2r59*SfIdzF*p<)S3`y#Z^ZCUBNuOl%_r1 z+8vwZ4|aM6YhQkS!`g4F#6w<*Vq(6Se94qPltLL0y*f1!{X;rKaClv~eO zJ&Y|U{##TNeWiL9I&O9E0}e+4wZJ2)5^ZX#SPuguos?>JL`rbo1fml8P7TF}W*;k#{H-q^$76hvYz$X5({ zAl!(5oPz$?nVpVV;Rc(|7d4%;%_*2!mpFY6wS|ONCm|O%iisAseF?+pp{1cgd7)er ztI(vSL-w6o6dDJ2K#0%y&qYF?+ydGsz8oH5%C^y7wUjpkPu8h9)CLwxTZmqAv zZe9ChZRk2O>S*`In<%yE2Bd;7d~*|Gj8rMq20bt-{5r{V;W!b}`H6gAPTp1xjykSR zL6`_IlbC6`gpG7GH{s&(!}JJhQ93W%D2!gN;d&F2ZBNY8Ai6^e#4C>-yx_6>LEpuw zs;8&W@>e|vxk_@W^n%tz2QMPLhz>O-6_AmYl9kp~6J$2DI_SwV=U&iq?GcMvdQg}X zbY53&%%a2neN$L+ zX<9=#r(=H=b^8?b%JoYYCSO;o-;Jt9ftM8`#ot(>{zrZmdStl5+Ozuk%Sqv9CiE8o zgY;1F3K(ly<4pY=R4A6<s2LV^&&xnqK}1qU_dvvb2WL0kM!BFfZSqt*t08{($Hrc$ql}MGOYZV|cVs zGG3hA@n^pXS2TLO;jtCu86O4hZzK?Z-D@ByCjk8`Uo<^-A?{M)OB;(v=f{i?DIrVR zNOCEMhUkEtDDSs9X%zH$i9ieHP>P&al=i)B?MbY3lYP?A)Q$1Ob6htk9jPvyV*4OI z9Q1|!@D%)cAC<_IKs6NvA5cn2*rN13&#z6Dxbx~o`;_|j2ANC0=_FX~_%g|yPlXHefo*k2 zVQ&tV6HUcQHaJ~KNlK*vn!wfApN}Y7Rqh)GZXSWsMvzIYjCc4Und^w8%8jRQls=_H zoH+l~XFml6Oz>=?2r?U_`EFW6ujb~X?RnVg5rg^g54kcyvRSd><5o)&a;A7qNm5W8 zCVMwvN^L_Kz_fE3V6OLFiXZ@ZH(J zfAsw0Hfh!kOih1Ge zg?Z+3R!gykDNxoMq@$ygcJ5q9TKC6fS(y7>g}$Ng~MDC=64HFEpIOFjo-jQz!I zXvlj!wg++rkqwO?I6nrd02A8`8`Q%W0OSI*y)`4wn68h&XL~xay@ndM!3NPI6 zQyc4-hN@f94;Mhk-s`supw~i7i39+4Qw{Bw9ZoPTJmUPZJu$fg!{!<%GS?ov5y)eF zE|!lxmK(vj&&(p`*>u42TZZ86s0yw3U$rjM00U0V&tJ1_)y34AS*=2TzDWa$;4Mzg z25fTU1hS$cpujzVI_Rr};kP!KGW7M+WNGqVSomqQJgdGJUa#QWID8qQMhtX>4b}vs zzjZ#&V_I!Tr}4+0!Xl_)roSh8iG5t0N-B6*Wl?1J z`?HBi>S^1TmyyfEiDctyu#PFlVr2;-=g@vLl2}WG$w0}2>b$=jm`)xhx!5>;Cz*~z z7s3`Us*QeJ`MVUIM=T(a_oV^f^yHo&OH{&+D1{@4wp{ZUQ8LnMt)-HnW~yhHXF3(E z)Pwu7ztBNf@bh3q?yEmdo#{khQW(2}OZZxq?sdgY&V6&wAHDa! z@)sIELNwm)g;?^I*JJkoSQ4&@Q0d>mXBKLXUrJMj$R%ZLs5<$LM%f;kh-xG z>ddk49!djVUtj$nddX)xY5LQelxcSyqR}{%|GWTkTU@JjuxC(aN9kuSp9y&WdMo2N zNU!y|uvy8#$Q^FJffYewVfW~dLZ!f_A0&uUQ_zP!EZeHZZa47%Mr%g-v#6FD>aj}0 zK_S(SdszN)%kFK^pLW|uUFB4+VYBH!WAQR>n?_&UHWPA4CU>3!;Pam5OUptGHFbHW zN*u$jlfS+5(bAhN?pTSHngT90mg^eOz6)UDRL9)Jyz6Vo>wy1}lrWAV2}chTP4Uh6 z#Q;#(XXg+_n75Nb&f0tCvPJljaOm7nSnA58uvt4P_;VUfn+{+A-zmtipJfQwvu_@! z24XSjVfP)P)A1aa-}VUI4+&laUWi6#n87yhsD8$jJRXF8);?Y&JDM0N`4@z>VsF1^ zk4YPJ*Ul%S#mUauN3d;mxBa+U&+NE+82x-JIb&C)@aj9QQ_MU5XF=2D)T&JEUswDE zWem+5Un>=ixQng#l3esx_kxGNn*Qz~r{8btLT{WsUboKp$IFz7GaPAfNO9~H!&M3y zjm_JG>+jBHg~FJ^i8R%9s}DT%E&=TT3{f;}XyjFt+61Ggd~%3YTkTcQHS3tRZlLci z9E>m;A#s(BboC3w`#jcb%<$!J@=YVSkVLQ-{H16d#*v&(d`G%gN$}9_>3G{H2NPXS@F5Lsmt`M8D1zvdnJb=fJGM( zwuQdy>*fNbCUz7x1A~b_SYEh0L+%F7C@0!XhqoS{S&O&%Mc>uR?1NO>=ZlQil#vA| zO)=3!puV*dFYk?(){q3{I^WGIiI67O{Oc6mHmda~)2Kv@{k8FSqu_G)zNG+=bAV?U zcq{6?w*c@u>({^ooqq0MDgX2Bv9wl|Va@T=Y}3$DJL`?_`P1FrvXQgxML+w&QJatd zzOA0_CtcEWJJ?&wf)SA9oy@HUsgCcJL{c~q~prV@fqqls3NbmM%=6q zYr&r&jk2Z0Vh}nw`TPjz8B?Tf14|y0%1RUnD2UXw=;9c@dxw^T9~k|gX0u0B)2F^O z4GE5pQk=vI9~0{tfOLE{$#ukFHk)5OBK79JQ>!#W8hU%&qkm_rqL+zoX#U0rRo&9j z-77C2*)Clfso=MCqO5afh<{Rsv$r`FYwSawyBtaWV(dA-N8`AVs;KxzuN3A|n$)d0 z<&?0`er=Ze*&rnhRh^3n^-VCxe1Uz!`+TFP_XykAhj};f_IdQ*Uu2n&-oN)TP=Y%A z+U%I{L9ieSEuQ{8Woa_J+ zysq@rp5^#sNS*fzc<{OZ4%mgyIe4V@xNJNT5x@V2sg)?C35VDNkiQl~g zwb1Qpu@vIOi!pP(!AW4_D7|rFqi%BZ$8ZF&->XPi%e0u5MH^Ch2~6&=vG3nA4|!Bb zD7D}0rcyjz^u|VA1{ikU6I&z9)zvtI2ZyjLbPQWk}P({V!i!gLFoux4dqZm^9lH_RpnX{gMoI7Ox)Rb zD8Bl7ca7+PVU5qvlDUG3ic+43t5?&6!On-iZ<}CQTrrN!vlm%P>^7~^{!Cg0(-3B( z${1V1ECi3^C%yUdk;RHZsJZ%|yp#R@J|R7?JnZqJ{uI|{8|0ZRv)(R4#_CTyLN!1( zYC@o#@Z-&1q+V3$D+T5Pewim05k~3Gh1%`YMG_5*!A_0V;x}I?_orO`a_hMUvDC!2u@xSQhjU%@Z z@#qP^Nf=wr3%xGGS@E(l7_nT*Zo;LQ6B0v7+zMzYL*M@%pgK7*TS`iZ=#vkZAQ==> zijdV%HxiJIkjxVxQrnG7j_3Qd;`>MG=ARUcjnFw5 z%RejRkNJyO?U058hCaDA32J8qD8|?}3CWMk(;Sk6Cus3nx}o`d|5&?dXU6G3SbiiBYy<~sDN1lw~d)Pe5H@-bja1-i+jBGFF{k4U$& z3|+dVUir8Bwv{-@WLO7=jYCAGlmw=Y8UMrh4@2b`q}1y9Wr9v&tL|ARI-OtH%#7+1 z7yCeu#KSOiF_$dW<-L^rgpGyU0path)MCItl+ebl;v{zrYD=TMbKYp*9Tne`{n^O< z{n=BUIk6tIE9MUD6_zF(9=|=Q2Z}xpJbj;cw9pE(kz$tG*?rze6FSXDD@$QZbM;Du zB#*rNLL)h`q;4r_thbc8q8r^F0Lz^zWn)kF77#JrtrWH0-*gtMGl6`g-0>&70&*YL z95TGmAHD3HuS?!(#jx!zlD9)5Svv@xr&-2M7@$fin)UO883q8ow^AxiP;_#p^qTeM z#wb0)wC56nWa#C_7+3EdQn=k`;Y77lG}`1{rRqt)ALAA{_;ol0b4XHykJ4d9{Afcb z8GL*_DRHX7`vZsWSH@k#FdDX#v^(|we$a7HyZ;)*XZYW4qhOmI%PRst+x4W zw#isk(0IJ-kV_SML8oC5^*mDb2~Ad)8~x zuZPvk1Jl&tyO1`{i6SoAkKfpW9({NTpUdMh^rO?WxoQ;VkFWXrJ`#D*g{%)_olu?gR?b2KtZml@3g`CtIl{mEt0*cH}VmQ785rwSDBtHmeWlcg=MZ= z4i~F#hwLa({dm>vF6sAz2{-pe6l}s5SlpN1DB*3*w73&<5Yt~!2ILytlt@c`nV07t z-fX5Am1ZV@`aSC=NQi(|1bUv0ecSphc_fLeR21GB)OO#%h;tDo(|A%n_>)45XfK2Hbp;eQIpG1$>lP;$hW+YfQ zQI__^#Lt%(%KRa{``%R_Iv;-&R`*}$Nq@NNI?_NGWD&?UUi2JyH(2)?mP2K}q(}+x zg@P8EI5O5Bp3>N2JL~1&Y>h7x5d?mI3I0sQ1wJDA z(AAkEKX6kNIdc>A)tv6vFYa{*_x<>H7eFmqyRvfhw%e2>4Uh9-A^!y+fu6h~dEx!e z#OrdI-!l8>%IeEW?IhN?t%MR2Nz}_pu?VNmVgBUeYUQ-p8<2LQUrn~FE!81fjE>`& zqfn8N%_j_e!ZXHC8LthzkD&FcR4#iPRwW=(y{rHSVVoDMVGGA=xj7nYPY}qCu)fui1 z78skb!JN&b3(*B{=rFdGIRq`p$g(mu?sI1}A}~f?X(=jHrDq<1K#Tyl!fzER1CKWT zA#dmI{-l}w&?Hc#iN$3Zpue!;Le8{(>-2N7Mx}4Gh#1<+7xub6>!04lk=yvl_Pih( zmx56qrC4q`=%tf>34zb%LK<7$lO!x=xPW+d z`gVdEaU8Rlw=wrUZ%er6si7{h{zk|_fa^&SL$8CGC_PeCjrPj{Vz7vS({9gkmX?IT z$`_nnpsErh4*TY}6{XmV@_keU8#tnAJJPN$w1YRp`k&rOY1BVT|Kr6#i%y0R_dwYU^Wy5>&hGnH{;oteN<_7WK?u3+r{;|g{K!@05N)MepCTuWtL@hSLD~Sw(F!XTm|>&i?x$bwl|*BvxG1k(s(hMt|mO_z7sEE3%oTLvv4XL z*rryK)M0g@-{!NM6XP(*Pa1fs?y*IPs{2})@s|~z&@Ua4BFpRoF#K?OL-Nq|&j~`r zF;zgt?{P^9fI!rlPaTYcz5lc3@-KEVZ#3M5dIq3#>yyRWDWu3Zs@Ut4Uy=Ou@YzA> z92K8uQF=B3*(V}+Gm`imdc|dOY*!DHP+{+@y|RCTVu*;j(rK3OSb}z(a-|&ehPGjy zkm6D2!4Zf@h})mF-c=y5AdhfP${yVne;wFGvKZWK{N6~dtSx*uw5)Rb(wMQDgK?xw zxVVCV1CD-Jp)ZE)lCN6LVswH0$#}M@Y?2gcLePxqhMrLZ` z`)@qsfy)zl8jI1vfT6F%UODG|JtO8tapqRr`eU==BuKCVkJ&)lit&LXMZ)X75Jlso z-$R1A_2R(=u+Y5))WUGgkDpG%q!Zg?wY||$rTLT>gd(I=FGy}H6Spg~WvzSE^5dQ| zLKa5&t(_F|rN?I#9C5_Sx3Ycears}>XRYOGX0dHxT!vKToe#Opkl11s?@;F&6Za-V z_B~^^aijtjD48g&M)Q~_dKE}U5$JGEem0@2pl-jaG_IW9KgP?#iH$-v=AnfinDG60 zFTXyJO!&|aS-s10q$P6;O@o2E;MWv<@-YkpTUS~nWpVm2>h+)oc?J%j7P0Fw)J7N` zhFpu8{ND?wi=RIm>_{;g^_j*5-_`VbX*T#Ii^@r{Na*hyy`90Ixutd{6Hy;4q_4@# z>p8x}B9GuuVM;%HFKi@9ef`4|H5pX_T70Gt*BLVwmpW~T|0`+{63_|xf!eGR#B1Ph zdekq2;rmot?EK*qczCvBh2k%V#v}td-vszR0;ule+Rpj(gQ~?uAfM(w+3_H0wQb`; zH*$8CEVt($09f*@snz`bk{>j6LVH_5S5xrUzp42AYL+NC#3W6VL_an6RAl>m!$_|U zo7@qUl?hDU&CWnnUI3^UuD>SmzqELwm!z!|l>e-ufx9|Kl|B!+* z=Z0I+>=^apKb#QBNf%_aB#DUdj(>6rJT%u6{F5Ga#aTY@8@J7_fKT&nt_}~tNhADT zyv}_@8WhxHHWS9gOcSBR_xk>q&ZTrKgMiYvb`PW{oL^J~+n zG`X<8?pH2X$hHDIQPt=;!h`VuO2N3^qw`*tsoe{>`yeh}GbfWl#;6BJDpz$Y8R{UE zpt%A|l46d|IV1V9yT{YMXK47|^SX{EG) z>2l2IdKW*~YfhtctfK?d`POC5xh*}LX=Fl(ltkgwyX(fokn}< z8-W}qk81e)P(Shy>oMvKk<$5MOGKD!;$fjL06Fk5xKLEkH3WGknX-pzTz9e=py#fI zvJmv8oHNpcWG^{rU5;e>nEgKe>MC3G=Yp!M`|4FGSP5+lNK?FT!n5TuIJ|-_3$xhH zcH=^v^S-Zm-^^CJ&$<1N^9q>UPuEZ=l|L+#Fwx3f!g)KYoo7zRMc@hfTY=u;Htmcb{?uFiWEB0i^!a2M_;#XtW36uc|k-8y7h3zW7*VEJQ5Iw6w*J3!) zO=^gP+NH`O9(nyc*eLE=Jy}QWgPKo;;=ItOogfWjOPaO^ zXHc05o1Nue2~x%A`F(8cz7j5EFOJ-t2L zZI-&Sk&H~vyH#~!pIvW#)8bkGhv??Z5-h8?g#}@t(ji6JoX`GHejdBcmuStaKS!eZ zW|4%2=V#R?o8Xm&oU>;4PYdUjf=$a0a*J)ZY!?H=z;Qc=b2ehjTWc^Kk(6nM(QZDnP&-c+Vh zQqZ_Xkl1GHl2`kVs$P(HNDR!uijvOXJ2aO|Dv>O%5QKN&e&dJxmLp5^MPz_O<6D~p zbLB5C^enB2oE>Tirx8q)a}fpOVByOZkU(86Y=uk_Vf`xV?5b`>6(6pFt6J{3&^wZm z(P}6_QTOxw`1d=&f46}V$YlIy=&a<|Pmo=II@RMR-!TN97DsT)ql&4&t8+t{< zz63B}_zswuN(X*+$>>GKwxle1+z-9@Pk(ED8Mju1s{~E?vXb^f+=_|^T^&Qsg9}0~ zYR{}4E05jI7z`d)F-u@iQslC?G#OJRHJN^=BEvXi{?B@lrFyaEC71b z*a+hy_yxG??Tkon6lZq;=t|mCJBs7)$fuKl&3n~&55X)qY=yec42tj|l<3j1Rk=;0 z!k}#u zcMiiT^YG7Rw;}vYtR#mcRfRt{0FH9)etEtI#=d=6TPsgYdkJ@{&+IREGp7S)AN?(6 z+c{%8(#lCs#>+6Cx?*_psm2*MPJIqLnngTwuJeVg3!%w7|J;LNie?Y3dJFm?Mq?}R z^W~YC8vBB=sCIuIsqOfKb8JZQoV;_p(#3{;y6@Dnf5~fNCw-p6k`3A8D)-!f468-Y zI@kAf;8wi9p{HfU)9Mt~JrCCESmZADyeN!tbXdsUj~xTFm;@)}A=#-M>-aJ(hQ=0U zepkbE;HHcJZe=h@EBh%CDP%(&OtE(nMxl#+3T*G+zvt*Xmi&XL49ZuCDoJz@L;F+; zN~=r~^L$;N@cCURU2GD1zKRTL${cVRc6`I9V(&QuJpsPcZr~V6OZy!0tCu9DBr**- znK)U(;X{rz1pA{_g&b6nyxf;`fc1B|8)zv<155Om{uQzFG_o=j#g*c?X&VC^skgY- z$U#8t;5M>KRF(ck(ANRrUA(x>8)tXb>veDwxcfomDo*? z1(Edkh4Y0Wfc+8}EAo!iGGu*YqqeA5I5N4Gsh>Jv1rh*d81K~))DB-cS(GlK%R=Pr zWgft(DO2M#o44#A5_kL$hoiOg^pS2ei@lukXGMHE+;1u82@+@2h%7Uqhk*pyO1}1K zr*#P3z5AX|LKT7^D845EDF*W6J zmA~~GYz*`!)NaeGIs~47)povIedN4;ol8{u*eYEyYBsTW(B%}XB{HPm0?vQS2knZlj-1DB_|9QUvvCr(8 zHEY(IZTc_XKbKonROa)03p086Z|bjWE0#1!pg?F_WNc@#@$_DSTN6$^U;?sz%J&n3zENe^joEfK zpCNar6L@8ZT3rhoTE$4BK4UL1R-}JrqBO@oF8sq8SH5MX-!mHj?@*p4W7i@ zHvqS0=6_kaL1Vb1yZ-eW#8IC3jZ7iE0FG@4y`$`6B(Q+0t@dUu>svIY@j57lN&S)* zRPdqrkD6UsL}(u%1VUAoJmC~Cqw;a~6yZtYk8X>9dQPt%I#@OtH>r?}HWLESxX35W z>E9*B8-N9+v+(K7M0vptRX-|6hI<wZVMm3Y^qUv^ zh)~}}lK|SGVHeIQivV<3cvG}@z7#+2k;cW}X04FUJ~zfy9|zd)JNzo0(qy-S4TOwk zWY%4QK_EvmSoH~IPZ&=-^))imUo1q_=(6brLm!c@Yrp5Ym6^S^yU-8Z>*TN4{64`T zyxLo090WM%IOUZGTbo>o3^yQC3x%k?!B3RhsAO@*Lwyw+;Xj;Zq#P%?4WJs(Eo0>_ zL&eGn9(2$+(r3Nqt=C@68nNLIdax@>aPSnuvFLsvsZ%;WKtNShG;*TRT}n0=tx-S-DWa#P*D^`qhV?;WFf1(ikH`4~YAXT8HO8*WF+~Iw<0p;Ef(ew{uS^qgh(~pl)xP9<$ z>9Lt~{kA{D)@Pi4IQ_F;QB%+HH&Eo~Z^8AuieR`FTIYU*>|6k;AhQsbjy%tgLx2_C z0Ov2N@!?~VnT{S74p`a*aSOC5_lk8xNncY@v7X?l{2M051#m>?x+{wcbCYCC4n8h#w{b6uwEO!=~mokg#IUV)B>+dnV| z1H_)dM3;>IaOZ!K%N@%M>t1!GLU{NUuZu=XD`UW;>v~o?r@}-X6p(f9hsG3M1HuD) z*5Asct-PI2=2`Ww`PaK1wxXWT+r;e9oo^tOL4ANl2;BrC_hmP!+O;J6X6?m;Jk3QZ z34k-pDHr%9W-woVT+%}opVr8Jm0;)}5iW3kUH4u?e@O9r9AxAg;DBFc`KF9Ri=Ls$ z%{zdLZv0zT8vpK-(Z(2Zw2>!UoL--qe&3N99a zo@WL8pXn&akaUG6)>#d`~;aPm~B8s?>Gp4a!Q!%2KdUfLr3m|h@~M{;`?$YHXcGw zcNOOzZcQN>HbHtSLz zp}>ERx8HrM5%KR>9!|GK$YaVqx|s5Ln;|Nurs$MOcVH8Udh=m-NJ8SV$3W~@94kzB0R>?qAjB1|L51}7qZFj z$o2lODuDCCqEMr%-?V%VQwsBuvJKP+Ruh1hX0LL$q%+(>B&T`~;E`sd4>vZDLTTT- z_eO+3NG5!#8fZm1}@fa70O~th^jI5;0h*|o-Io+uz;0e)x$*$-d)mjs=P0y45|h+`mHe|^m|B#zu$i&9ZjJ{FVO2Q>tf z9IUB`k8wr_)YAO11YT|JJQ2JJRm!iX))VcU`q#GWw*V@n4HHgHB@wg)Y3Q`qnD9WV zJW;P+^mM0(-}5E2jYD&dK+2a~!e0uVn5R*T9o5u~EQOO^LAB2XZ7* zBLT@Fo_*k!KYViZslDDa@stviNn+F2iOf_Y)UG zk1njM&SLz3VN!F(tNQEHYJlZu*rh-IcdF&<`>}w1PifW_^86pduIgd1`?ki0kJOBv zWoBR-pC~^eLc~N4I(``nJ}->unroq^p*8R!xs@B@EA&6L7F19sJI9r$jfLxetLy!jLU z`uW9I+^B>iFE^WGNaQ26fc=b{WIzCYRrk|_85oHddGoXPog&n4;znb%Vk?4H5p5DoBChL zX>a-+#=JnTyM>i$<@Gmrw`R?LI_aEtle=n)Q|#e-V}0`96+sSP+6eOF3{QM+d)Ux0 zY|C<;kdctx9qg1}wqzJUEeZM>B;%{S$*_ljxfgb|HkCI$V^%Zn$8mw84$1 z@b2!el0?t0^P{k+NFNcA1~WCi02#|+U}Z(dgRp4YXg?u~an6rnBfpUwuF3ztO;{h0 z34e_9;~z`35zFY+S9r%7_dS44LUt$%2{*Nt)x!mWp@zj~ZFl1P90DGHo4l-p>qEfv^!xUUp{XB5VkC7z%;#Xj0(C4U}@IIdt6yjJoDNWu%c6~UY=Gn_b zCr7wabq1n&QNWlTdTln|{a;d@g05L(ETUylyJ2c|u{tt;PgK1$m0J)$pW7(|#f|?|Y zJmTXuSE}n%jtv-+fSb9dGFCCU?+_0Pa2Rpwr~I{=c0(+>Hv#3|)4$868+mB0D)Erw ziXNqZQ;GDm^}o{4s6-SrHl$@V8SK4kF_P7??@&*%-|Yjuq{{I~5+nySIQobs47pic z);?n8Q=1onKwrg&+X*8~);*&~1YCpP+(7kT$9OW@duOiUoU`zwFsTyAFZ(-9RgN8``d-Wt9%cu62K8lYsC*_ZCNSA3%%(uzymfgRc&I{g*kgiVxn{BDw=S);(37!`nxM0(qGPaRP$`O89GG zoGTrI0UG5>iE6zn&R>*rg{qNeU4sr@>n@6UPhSM`K1+mt&rT}2PKr{{ZTog~Uz3Az ze0)exxE#}Pv?lnRt>9&#epw}ge$gz9p(dN)ipa(}xQaCY6javUf5BbkGQWA^Y^L=wP$W( zX!X|lus{cMj7JKqXx}1TmT}$LMaF$j?FRsuaqvJvHxr@>ke2V=DIg$KBlq;kS_!7p z_5Min8?o%WOhMe*^5qPwpqbKFxxi(}^oLVPrKM^H=i_2llB9GCKJGTbkyuo^+(G-} z1A9zl^RRR<4^G&oaC zb9fIIFXhpA?po)%qJOh^Y0z$%IR(i5p$kvh#n=@i`5xH!iw3&%V(#N|zJ$CA~*a0bp4dH_XA6NgBJnr}HNrEeejSOG{f zqXRuoJVx^Evi{-1CcuCoJQ>wqW>KWKk|ZJ)O55ARa`&vQXNF@Ojjp1R%M>Bdd6Flt zou}J}ZOk*ZOI#WBx*fpx)<-eiI!p|~?!nqkugCP#lvRyaEpwESrIcWxit9J+4Z z-&u8gbzIN1BSeS!u=YCom&LFsjFcfG#9w5w&G3mlLOdp|X&%`XZ@@9FT@LiWl?N0Z zQy%{!NtLWF`>Vi3TBZ^9+6INWcc2&q9Qgz^;(mTvXhaq4)hPdOtrCtt;cH_IutY7* zskRhoCLCm^Nl|y$XuO3r|CTD#Og+Iob);@Rf&NR&Th9@a1U9I3=s; zq?#eZC+sJ@SCgz`-;@9IM%UV7)l2Ig11!@4=3S;Jyq7Z8Q}Z7V;n-#%ArF-t1c6ge zPsJ?Br(>{-5UtVt^##n8xKJ@FN;M1Po$ifqwkY#`=7cENO=omJ>SJZLx%`5D4wBkp zf)m2eUs{FVj_zl%Skuf1u2^FspdDi#oTmv>pWrZONg_u&m4u0vv@nX(o5o`vamm4p zg~d?8sbW0jTU8T12OA9QGPsV~)8nB}UVX3bqAY-ur)-zm0(6xNP7P4ialn8hLoy&y zH1^^loimOtNmW;^Z@_QMegsVQ%OkL|Q;n>vW9(#PkiRZiI?+XQUYT$&e0oF}Qmn;A z3y3pnN3^Rt1GZ@zQ5*Z6Ex3R38brgnp*T*S=oqV2#khYnxWIqG=%jplYVh$Gkpf{tuJOpFUF}Y z*5Q@J*e~o3rHyDex0=2=(QN~S!b`37^QUo>)!&&K5QpTYCDj%#Hj}5nep7sp;C2Fn zTL~&`ss*24O4`oF|E>P8RX%xNaoIkCV@O?k&nSfup6r~Z6n>^1*!YeX8l({U_Ep6< z3EUnZzPFF@LD=I9fBrj$)B9Xsd@QZvs{H~}7nM9p5Ul8Y8<8XD01GGBTq|$>DYg2n z%>mb)$4=YmSnT`&1a1HUP&svF3yn;|!V|mAh-SKz2|{f0v}rgq5%_@tFq9%fhX`19 ze#xucDEu)gr#iv0(GzwIxb5ohLW;N|#K4MAZ4j-MHG4H&aW>NKv_N9Q)Lk{DelzI2 z?2X-(^SxRH5>9@xsC7v8YrJ;l^zQkko18LQCK?%B;ExpUukFI{0UqNy3@#onUnvR& zM>qt8MYA9*+V_7?pn>e>>hwBbM82fJc7St=N5NMA!NCJ&xDvP1iECwK+iXboSl^J0 zFX0a-d$tgJQs&3wB#y>=J|Hx;GM6TYeGw)GO<)R(o+Lcd`OGmQ%b9vxn)JaWnDXEq z+m&TAieM{+B{VW`pcDsGk*?ak;krtcf7jANb6yE+K54zqq>~) zp=wj^!J$3oWsCx87j)5Efwr_dif<0Z?>eB?!rkplWx$4;NlfC_-6-E2gPf$WwyOqN zJ)9`NCPBiawpJM9oY=N5Vy%Cv`y{O2Lr99Niof*}@Pm39c!0kFMD(98qDQHS?T>%P zXzCwI@k!tWUS0tilVX+c;fag}k?6Ps3F8J6;HuoYM3V*=*CAkYsqfOtEe!ucORl5> zGyH2^P#d053_a@Z8DC5KS!Yh@f&$V~8=Ql?T*0RAEbshtXZS55j0z~}-XrzF zYG@Tq;qs=68KSLh!gHE`1vze@=+!(}q%S0DE^sUs!N-nFn-^_sAx$$A4CH$K;q7c4_dEqrF{G%tdS!m? zd!5Del5*RG4X-u9OKzz*b_T`kKIh>O$_c|xcr>U+nE2~%5iME{`eFu2OaG;%&GQ(| zpU!q)@QfoTPKotbCKecyjx7AD(2*dG^q7nNOlF`I%o5&Fw~#jR7uX2l96=%d-VYJr zhwr>q!$oH5tbZ*XfbGwQ=pg*>Wm#&K)lCAT61+71jTQK>47D|x57;DbYv$=ZLRM?v z7{<=vTJP2lz5|u2z^Eb6x-(ULSjs@YW|wS+s%W@9WaP#cT@AQ^A_c zKpH=jHbY(c^yTf4Uk7Wh#@YP?ok1^dE7nm8|NNgow;Aax#?+uX!Te(tjL%o%Ai-pE z58PTmfxBYZO!LiEi%0vO5HGY74lghQvqUBam(-JVw2Eu2$0!3R*JSHgzJ!1`8*ZsW zzV{$Nw~~%xgo{UZvV%~bpttTfQR?b7P&@yFX<_EKz8XfTb*HL|9^_J{P&Hi=S9pJv zK^Wb8mY=|)1YYf))$CsEq8spivg)**Q>_?pm#Tg5^p*ib$2k&7V(2|pIz1F}m>5MT zl|dw7`px12G>%>H4r`_dm*;oGgGm4l> z+?+D_+?~fzevJBs)Cd`vM^a1F()YGD;Yx?NsdY{GdB(tqA?)?{G7>Eh_>^}bKzp)b z?gx(T0?*f{8*Kq5svKxx7dt8K4Y)+^mq3L=uj!u7xXcQbK5)jYTh$6pJI`JDl1cyU zP@msN7Ak_HmStXo6U@QZCLA{d1dlV6jDODAup)@e<|m{E41cD4FJ0T#rW~>ko7%y8 zV^2@?wuAwwc8W{1#M_s`wKQiMd2gpPfCiTAC#cxp;|JS%|K`=2o!E(G^u(bkN@Ny= zFM-*W5fL=C-=9Ci34nJSvFP2vx_GK3UKvx%NF)IoC|>q^g;{gowByFXq3(}L6MRs` z&469560+>R;XB~V-GILlkBi;bo9aUD{S_zbhsmR=Os3q26<*{!?~cL>wdf_>Fx-7w zA!UA0NBz&k*4C6OJitnTLlD)54ayKQ=SZDkWQ(2&s!{w^?DtCukfXEVuF4A|knpQ) zgDovS(W=|E&?XF|dlpgmD!I{;hu)md0nabz3}MI5FATZuS4S1#w)!!@b?AJs_U$p2oPIK4CkIkl7MDJb~{zZ+qZ-> z0Lc#m`&iWV?{%euv{G{Z`sBq7-GkpBDc>WcHw`)*%fCuyGSw^ijhi1HR7ZTx4u zb~VEb%1bg{tgPzYmCoEAfME%?J`}tVrpxC3$`6|giv$6`=AoY9H+Yi-G!gq=l~&`N z1c;=0Jd_okPNpzL>Mt0>l_nDF z5wIB?#O#_B3w8QLbrhC}xX6R5h#w)%LTX|g!8iukU@-AAebgXCcCL^WvQr*ODQegq zaZ^;3wj`|Z4n3_AFyr{#E#!Hs@6rbBLqx}yU^n|>=PwW2_iH{t4Bxu%Zi<$n_u=5A z@byVyoTz&r7N0?z-ynF5^;X-pQG4ezADS|axqI`AO3E8W*QRcPB_SLRzVeFmNnW3} z<$9s}PpUdrS}R&@$DIb-Yds`n9{+m$8BvJ8*7S4)9vV3!;>*`4hru;cc^M|M2O!N* zktk8(Cbm;`z(0$4$X2A(C%PA@zOi!4xxV}cvgi#)mHND-euytpCL4V5kTTGdXGE1Ch5O*akm+S z^2*-c`sc68S_SxTd1bkn{uIKFLuGh{#H`xBw;Bs4%MH&{`F$$Fmph8=+29AF0It%y zytl{FUG_y^#w~KK(#5}DZ3F1S+N-Y%iwlc!fcxas<}vz&g7;YwgHL`!;a!@I0|W*9 z39xyaM==Rp-XIZsWh$LuN_GV&Z9ely$lf)CsP2`#t8tBYQvY9{?^c1@(jCku6vr`e zMZ4J43TvP3>0Paspa8A5?S1Uu6ZW$`D&Yy^(yD(bmhv-_?WBK91SL$$z7nA&c)me*X1iw>wrR+dS&!ECJRk77prk%`fvxL1cixrV4DaJ}F9yd6xB(I1sh zMbTX&b)=(=>Pj23Od|6{u6#?x{`IO<%&%%d>~ZJca8l`6%QL9aykpg=cRf4tsv3XE zAk#atA+!G1kn&pNHE*d#&E;2|1-7~s>F34iZF8mE7W>nuwzKx<#oFzzr#Z5HQGt7K z2P^c`--Rw|5+zmdz?>X1f2w;9cpIcTkoI=GgUCh!cjU6hya8b5H(newsP3<5Mm|+e6HKa7f z0y(*Bo{R=gxOMYyMk5ik4g({XbhJ8&$e**7Yrc0B&~D9126h>b_S~$ut=3+>s8nef-M5seZk>saQ^!U*=a`2Nm0X6g!(5I67zv8NQs=Q_*8fk`#{JHQHOQh9wtwp8XSR&S-Z@qEBSUzK=cdlN1N%?r3{G z?jhZy9p1I3@my3lEx&py5M0g3H*imHKEiE|?`^Tc(ft%=jEI$60vHyJiEHOLP6R=#N+JWibI#*(d;3? zAcfdXcmAr7hr_>`!$>nNHr*P}zrn-XvT@fuybBASDl)bnFJ+sB4jpEI!}n{Qoi}?0 zn5D>2*5Mw{p!GHLOFV&y*D&T*-*1~;TUUWhC!hX4+%9RY6SL2FOPVtLUH9e&?s4B` z_RJTy7cJ|=5_#f=Z7s2Yf@N5BWh?wt!t!q=n9nEJKFNgEb~T9B9j1eh{xCL|ICzzOn)$BoHzppg=x$p2KJy|Dme zj0LqYHw~^2UHoFQU?Jp6?BH?kReXU0_WW}+twO4C!)!4EN+J>ScZspj%$E$g@8f*;?@p5#wU=!FdS*K)RVn}7*8XXJgLI=P5X8m822B`oi_}7&wwN!2kR|( zu0|okewe7%9Q?Z$Tc~2#)45?-gzIoL6U7R9?ul9~F*DQyHpN3|@j%Rah5y~ykXeIO zZ7#8z5pGbjkEE2(z)?W+ioIj#Io*rTE4he&`(h#zP6rPyE#0$HG=>sx`t+DgOytAO zrI6kwbCn)TuK&ICi>k`I&9r;AJ^+eoPrJ94AZBJV)lQfQAfh0NB&M=yjsk^s|836% zp1Z1H7pP+Y+AP*JMyqpp-C9d)b;JwcWO4{_H}E!6mMC|mr?uB_*4obHewd!MZ~yYQ zpo@|(j6ItEJH7SZIfp3>cfijKKaHH`f3c$V#n&l8)fdIuH!wv9mP-W9Evcg9&62tH zpI0qsm>fw75?MvQQZ&1;AB{S?$k+SeB7_BBRroo463kubB^EH1Aq*|FtN5h0W9#4! zp5*96BO<#J{sZ0jBw~?&$%xd0Q!w|QM*mG~3f#=JuVdwQk8@RlGHy1R6#hU7Pz$WV|Rl-^D0aW82WIl6x zz|i--1x#db*?qld8L8euS!(3+yD5-+jzuCgE84u&YVCA8Du?=BO!(P&rSk(8g5{7>T7;t&#`C!1hte&i@7Uc1{U1bMQ+!%J%sj$FCdJGl z?aJ>IA$t17<*{(3*!K=L=x7zHjZc9JHYwlU1Oj1_sQwsxK+}1bh}Au4FBk;h_Q~yh z*c#=VY=3;RsqVTcB+l`^`dKI!yXH2i59VgwR?nY6Y>cqOEV#Xw_n+|f2(uV=GVNBN zbz9v$<|Bl9K)l_ZWwk2p8uI4GN|*Vm%`{OsBS{tv1l9*J#Y-M?K?+%!fwtK2rX|bE zP&jIV-YqfP@Ks($uOVIgw~rwiQ|aKx##h>huD2y=cjW}(-jxNd7Op7q=FE<06TX3# zU6Fa=-&0bm+4+YK{jp&r?q#dcGbI5Q`tWX1!1PpRZ89fKBBLh#C0qc@+9n?U&3grW z9Jkq6Uhoe%Yr^lKrOCsqDE&b4#l5l=orwK!?^xDHdxc699K*soeDdu02U3LaQpB@y zj5hAK$2>ZDxYf4S&uOY^l`RxMWDy(1e zF)?z3_SbilbEVZ^zr-ARWdDiuG@WSczP*};|2P@w$H#N=mMgk^Xo>aybal=4ohd4u zf$-YW29XYPu7^nyJCYH}_70pWQ}935x*?!*zSpe5U&^ogE)?CliIhtk=AcPg{?ke#Ka|FY~1<4QCK@PjUGJdPXa?Q0w_)#D`UW9t)<0RT|Mz zAj!z82Z)$JSt<(YeTm?C<<>1JPsNJNPR*z$%f$2m-noAHt0Fe}3~g!wv@jwkl-Ml+ zBI@KVN7;5~6yKcXzC$_?05Og09DSJ~Q?!3I7_o|953+*aH zTL|grXybY{Z$aZ~LLa0vr|Ou+7|jJot@=t(UNr3L0~33H)XEt5kT@DbtjFBQ+~xz& zuu%Eg0N3|PER9uvJ|EnLwpgUZX|}rP^B{%|Kejx0)tq0o<(9H_eSfbgu#dB^vc57& zbyYN|TT@bNYfUGvy}w^j`}ld9)!jy(|F=r59n>^9mS2oQ>&#cV9!X)pPHgGgt5Yh|o(v9mffhXu;9dh2 z_gVMQIxE{iaQt}~gw60__U#3CPa$*72S(_zjD)OzgzmO_UnCpPpIaCP))(u@%F<|xiC76D3~JT{th zQ=3o75@6sV^H*>;hU%=og)`!|PVpGJ0_rya{ypr1(16Yx{p=q<|GoN|<015~VELI! z_BTBnQ-wKW0@{mqD!|b5Hw0kT)D5(PW53>C%*E42$qh1P3EQ9&j&%-`mtAltI`^_- z%*S!T#m@iQZTq=TKpG7`_1Iu9S4llT3jel{$|jsvg2YQB7AxKnN&JBOo16JH zq=opx8$hX((zC0kAWL?hr4Xcm73X`bEo$%L4tb+nOgq@HeaU0oKqZYGAEa6-eAXV6;3Xm+_a`g9RItbf2;NhhRcWfW8(_u z!#=Tj{}VCgQ^nEm-WAawiwh&Q`s0BvjUTw(d%7|mhfk~nr1)5?U*q;(hKR8K$Y}@@nFyMJ=^-v{BEi=bf#lXTD~c!$}ie zK!B9s4xmVENXpN_Psc%M>e&&{mhNFcaOF3spLPk&)%LBKOvZxkTkKG-giYco2%Lf! z{ofoD)gRr*z!a=M29?@ALek$4`!#TEZ^74Gcy&??;P?>%^Q?|I9IWo%(e^}9 zj0y%ax@$@y^Q%aVDYJ&%?U#>mMBd2I%j(qm9S>OyFhsO!%BORIZ4uR0L|aQ^nNHtC z!;QTDP$9lyRrKAcD|=gGI@pK+h?`HEf4zG|E>gOsi4bU#+XLV(sB%N!Mg=|qlMq-G zw%;Py*;bvX`Publd#t(`JUi|}JkAzhJ5P9RT`~mGe-lT1`BO48@i!ZEg$0H_Sor@j zTMsv7#POtAVEMHib-r)$2>D9q&wr|`Vf6>Vi%DkE?}kf_09dN@U~waOa$8!ZWdosE z%SDBO#^@G|`-Xi7iXb)5pBqIq}VfRP9NsQEGXbFag!g)px9!KyGX*8ujM*go2yyg_=;eBHZyHR)EK*67|s(ov(2kZ+GCdmSl>% zu6qdc+$T7Wi!}OGpJnrmlM8%aX%Ydk)LV)oBInEcH&i78{L#BVYrEaZ zry04MVQ+1g;%jspZM27qCBtyA=kFz9kZ^71=1RL*fKgYtifcDZEU?S93|Qn9+W0*D zijN8twqI?>6YWwbT<(VcLh5)h@^3x0E1$awA{X_|6**^|e{ryy*zs)MT=93qWP`pK zW4gxf%<1In{8vYPiyYuAHS2UOm%vBYuL15)r{)0t1FXqN1ChA^+OT#YerArN9uQPj z`DefS`b=qQ_9J}3yMBl$*d=sWgns2J{tFRL#ZD*q11N?X;Bzzz!29C{=$`wQDZ>7H z0g18gi{Xmny~w>jFUMl$x}Z01!93I$;qyP>m=+%aPel^G3>71+`Ele zVq>?*yuOcZ)veD}O=~5#9Ck-HQekoL1bx3euIEcF|5qhm`}Kd8TlIMqtKF%Y=3WC> z>^fV|l9GPPy@-lE8)pJA=#!isHv>Ojlt5S9*uI@@!4cg$R8}iOKLhx2+6M1mulL0p z$pbH(IrTBq*SZ1`q3FWarv`1aGH(2Ywl~E4 z2BM>xP+)jCpF)^#Cuo0VB1G)s^3)wTRulI9DF*QIs2mLdeY1^7Ytvm1{Wj!++W@O_ z)jhfAM)wOUx#ru-T8ze-QbTls)3Ka4xW6P>5LEX*nz5QZh;h-;zR<8er%ruC*|kWA zARyBJx`h1&s{l*=7#oRkX&UUzy^ZF5u_+2LSeE+@9x*SnJ!)(lpjAM?zkvpx?E7y~ zbqlx!+ea7B{$9$r1|%j|c`sS|IWkYTrkyNw>= z_!}tE1~*88_2!DIt|0N#JXizSX|)wdP4dFQ zMFfqE(DiRFM_J&LP6P2!!(Yue>vfhpyB%S`K1=(g8rhW2?F1Q_dhE;VuHDekX{nRn z^eygHmB3OVVhY7~=>K{^e915RT2cnaIH{LZneBdMhaYQ=+)6bkbN)m8(Nf(<;+>{2 zzba&AvPdFVg_j+Woz+36T&lU~+OpVmtv@~&|PLPupLbd^t_Tay1XA=Mbz0DPJ9RN`8C|oySL1EYw z`uvdEt0XrYsW5VfuG3h5g&!d-ST|BA-ZVgI!e5_O202fiq29A!L&aO(eV-)IZ{s$k zvxuq~f&<=0xcHkqyNC4!_$r74MOeUIaP?79@e(SfPp z2Io7_NqE-px_Ij+vhG52c?LxFh=_^PQc@DW4%wU-06KX%I`XJ;5abbayvk;C;j+*HR(fe{YwPF`6cR?Zh+(HahnG1a}OQ1jq4D>J&<}HdBwb)pAed@k`gqK9ygJW+q+hI{#EsV>}Gh zF~-e*x2)PjpvJFlyI=>l9vB{1J62{vq#mcM_y0V04y5E_MZf546!O6U@RB03>sXrg zpEcP{hns;hMxcnjKe4K^;xy8_g)gbHKI6?crvX<@P8QtKG{pT0p7M{&LGScyIS=pe zupkMFuHXiL6dql8Ng2#?KS5!EHocJv4^DR-pTUv+>chlicI~-te&ovQ_2HdMoNAj3 zc8u^PrxbfBHvDzt~+3DMr)A4AjAH4HkcOi|rB7!v?ug@EQuJ$ZGMhyzlWCbk5 zVU@eMndKsU8tF1Jk%!^*x>}u2079-N)gU8Yr-=BB^L=AulSYn0&=HV`7{tpe@t(BE z1sb2nu0gUL{qu<|N^j$v5#55vE|&O-TO>e0+=;6i8ykLu9y|M2r8AYdGfqZMl2Y@Z zqE1U;Do-i~8~?$Frnl#g{7}3KN;GOl&Gs9+PWXcR>S2t?0N4;AdY`|SQDvLuC=#ibmZKk)+I26rZGWkqV^~Z!ze$~apmJ_ za870At7C^zZkIpVTB$QfxO6#3LMbE0E^wZ*eAT-Di!%opj(@*xL^<~R#tmJogscQI zR=ZD{#3ZcrR|P~r2DW(Nd{K4)M7a1!*ZIogEFh|g#6{BQzCUHyw6DP6EozFpWIjE? zBUY@Uxe4~vHlwlA0qDDED7dLFVe4jzvRsuOycq_v%~G1prTyeyCkC-#!{d5$MWoI0 z%zq;pu;eIz6n_Il?W-;O%GM`Gm_n8G`@Ot`T9b?U_{%A=q3iw2bH|n#%>>!cZU_a? z6mf^Wx>!3Hi>jQBjLh0my@|o?`aUN8d*z zi=Lx_zg8O2QvNKJP8h_|m7b=CqwMd<>OD#4hxu@79+|KA?XF1VG>k&nm?BH7EyC{19p<`oQnOg~6=0j~o(3Plq2k)V2D3-nwBRWfiZ>6lB2~(B z)Z%3qb<6+k#w&*$n%jA=6g)jWegi{AZ(~Mkcotq^WyDIZ&2qV7{onD%8l zQWbfIn1zjpc-6EDrtl5%_DR`Pzymy#ia)=8W)_gp_dkhss^MWxAiw&Qg5076&Iip( z)YkvT(kgUjc@Wr3s%U}_;+AY8|5{P&VR+qlLE%90eA`Q9o`G1zCJFbyz_0pn7G z8?}uJg5gy7eVg|)dtIA~l!nL<0c4ISmrvlt;QnD$vKCcOwO0MxUC)niso!l)eg#3x zH*Ivz(nVJn$MEl^f|FD!8Ctpf>PaoOKxhZ~fMWSpch0fT_`!i?!Hq8aW8wRV{<8dI zTX7LzLdo$87i?)UcT8cT3$tW$U#2wp(S1KB-R@Obv!|;a)?Y=(ocnl{ z62%t`LuAMgd(!W~L0_vg%%dq;#qrSthP4lJ6^iC95gpC_HCAQ%=t#*bH<3`{O6vn3 zx9){U1dLG5i9ikgDkKce500&(rQh%?#)D7S4`>ToE(NxUC`QSs^muEv_sq5gy z2S`^cjQnXEpplEdQ>M}Sx=9{zz4!I%(E+mJcl95rLm-9=Hxm!N{iYIom<4iDOljHf zD&4951HYkN*S2t~hf9QVAU5^?WwCrt=-)PDRLx|uIK#l zb`(WWP!UfFyKOLb_5z<1dNiC%Z~gfFFu{UaY&zhVV! zCvcbDi^W;>!J3X6{=pqT>YdmI{dpI$LlnO2fWB@6%|3Vw($mu8;)m!@$LD?J*c%XX z@@7YCd@M>W8iI-Hi_#~&3VRlzu9VB0VJoUdN7m*}=BK=c`D}>fx6&~+u3nW}nNO6+ zZjYpbwIRFy148&c`J(f4gly$>w+#fW6>NsFfEn@L(CYEUJ^-G85eC1wXRQJG{}e{(p)<0-2SVmTL7YC|tg}f7 zSa0=;y6jb>k^xH_8lT#F`9(z0fFNd{ zP(P^72(so(cEi5uzYOpA1dL8M2q3?=WCQkbJ_2t?fesyxY@eMSqC82<$lv5xhzP30 zy8+a4DM=F9cvDts-+y3#pZiCAWgx=xDbc=tT;lA0uh2&yU*gV>p!6#{1=-}BxfBcS5p6|b z-5|Ri#Eznd`~{@~ zB&U$9XcAt_lpgD?x@pxAnYkJL{xoB+mgy@xqGboA{^{CF-#>S;$~6TYmAklKgx|~f zNE4F!on=w&zxpZlIa*?UJ~XvU6bk%Rvv{(3&4{`U>Ri@CKrz2@JF-RXaKTkHsMM5H#m8&yCNvpXJ(-05BukQm>Uzz!SNn--ozc z`^x+v6@Lk~UJu;L&KyXOUFNS@TVyjEH~W&UxlU_}Y(cF=s%cga5Sr3MK4XiD zgJfKzUA*Zn!PFI=LfgrJ^>O;OVPvvmYFmn3)^6)QaO9wAQ&da?s3_B5tx?NM%gwHY z%_Ny_m0|V@BIqKA$Tl2A0W&sSa%w$vzAY0u=ikw*OvoG5o7;KG>r zpb~1kG%_taT8^9sR^6k_lILSd-FAG1B&>|$;MX!p@irMHWY+hExVlVw|?Bih@IAL0k~Z>3OvTo=AYS1GuuvY#Fa$;ci#xHJNg$Z1e+c6v;dWR2SL9a& zGw&y86K<49kx*zmpT>o#z88$~yS&i%Eux)ZSYEKbd_6HH9}DqQ&1A($UgGlWyub!Hn;f zah@0T1;sCa>L|ROJ*4~B?Tuou1HKrO`Id3@r$&k z385gF>Guo8FNl2hY9-O1{<|2wVJ2@ZDYl>bdBNec zhG24>px1Xrp3=r9&dm}*8MZ<$Cvi#RlW6Hwq{EC`1cfoZ5R3XM=#ZG zUSks6r&H}zJ0p{ligw>>S6Japtj$l*d*)Q^>?_}eCg8`2cMtqOQtPnqY*oEC-qHu5 z&+^~o+1;NIesUaQ`llj#;U5e2C$wgzfkJF_dTcV_lS`BW}wgxXbHj1M_EjysoVesb0fxTQDq4u?l z8@n1}8SVS}CrR&P)~o}zJe?D(dyBVezkw}od|m~^-+$-=uF7x70Xnp~D~+|l0!+-`>uAYfFjb7rZ- zu2qB-*gh?Cehj-bp_6i0HHusH5pGBV-V80MaY`KC#Z+a({PrX zEMDPaKFjE(Lcllq&Qf?ismk=_MFsYk8^VDxYi_0f=GGEMc~Oh()1VcRuRo(@C2<8> z{IY=Vjfm|*ef?Q_uXVcmNr zhzYMZ3fz39^6_u_^5#}5$G|3Fl%e%E(ursB5F+E(s!9COZ758kl8^JH)7qDJtn+_R zJ{?Z7;7Qr`?bZRzoe+D7|b_KO2gypdh|)A7_j5kS77dHTB$y?g<(@pdqIEv(BycH@9f^1h3u`?b02uWqwN zUcq~5YsGEcA#fVEftj>mrzP*nOZm~u6~ z=^-)=sn@(bF~3g~%CPsJ-I60OsSlO-$Cz_{1aP?sW7&afrb-uvB?}=bJ6d@4=YC5Z zWU4u~?&kBi!&F$Gw$Cvga&}YJ_Zl({zT88Gti-fk56#^0pM02HUdiba{Q#GD_>rS? zLcj_j{!ld~q%`x<9Vxj{QZ^Jw>W@Sa#_i8;$+fL!s%pp~^(`$e)I`S;i)BdA^s5Qx z1}=V>`U)aXUMUSub~}C&0dUoQwMq{LY;f$p`iiFeG1a^w(0vhD>e*HXxvk5Gz=m5+ z;c+JI#=D-Qhbz+}cWXe0Oz_6lV%^?hE)eA+Md-=PWDt}AFjIvTUND2(z5A|6;gk;y zSg$H-QCGgkYo?3sYj4#?#VAnl@Fra3uYmA*B7r9Wk|@S=uP7HOcdO4V9|PQ~f={hg zh86j>NU%Gefx4QCzj-?p&&JQ3c(H2t9YI!NVbz>?k1;P1_x_5HN6k5TVO8BVNOHJe zOK>@-)IND(c|-u&T;=7W?bzb1x_4*XLflPQEPGERQczVDyWy4+oLyftHNfNj9%S6P z0wuzMu?(5?rzsV4L2YR|w47MrxpC9acS|#usZprUMFb=|=@GDh1Jwp@LI3)a5iNeO zFA2C^i$%yw7>p+-aVL1VPxTOcgoqIqEWF~eA{>4*3cQKM`cYOQSYQA@Tb(eyr>Ihh zj5@zx*>shyrHc4zjTYzXkQZGpe_|?F1WuGIP_ayR_{3Hya_g&cv?mQ1>USM z7WBb$`yIn*M@_Iz|SB1`T?%1BA~ODwmNs$Wh!cCUs%k+^xkgER9Q%?5gWn_goZ ze(?j0+(#vnRl_4m9V(k(u_9PeRE6+ItcyJP>GS30txBj zF9Xu^z7*>Rj+u5Vs`PsHg#LY$u;+~H4?AM17tVQ>Yow-Bbq*ZX}ldXN^*y{)Nymsz=F_}C8$?UQ@y`)i(DcMW9Lm?s#X`? zAhSBuN#_$a72s8R$=o(PrCeW^w(`4au-f$N;&Fi-qH62MS!yO~!`s;_oEny`kdj%- zk3c=)xBg?{2}!mm1kF2fp{;f`irgmwT5nM5nT}4PY($Xkc|NHIvFC@tsmU&Zy^@TO zQM`}9Xp{Q9by_7GINE6;C?sYy_|XW(vgaCm-Ab|OdH6BKn%DG?((`w4DSg1qv!Y9*p&Lyv>UJl5&$9 z+&-g!b(AkI{Ege=;c`nPt%b*y$_;>sn2~DC%U8Dzw;i=rmL)E>pBE&bmEG;DhHTgXLrx-cYqPvH|Cmkfs+ouMvk<-{`Pi0p0-5RY^?>Kpt~_Kwb#%8c%kxDF;vA{{r$URk5UMZ=Uk^=fqw@J5dH-trC6e-VdK0 zBb5AJ{$Q^3m|`oReTx?MWwfV;2Z3jBI;kYm6-_@wDi*>>I|^)rjImUJJyZ-_>P2tA zCnn$!>+mH_BZc;C!;5ESxCe`SVCE{v7`#+SGT6Np~sMRjZIO8H9)|w;!;A$zJB)?eqpNK3Alqvjrea$(( z;26Cj+C4$TMo*U&QKU#~5f^(giQ$~@*?wYs^I_w0 zRK*uZ1Up7G^=29FoX@pj4$Z1F;tSGZYR-_4!gxGMHa z-gYJ0!m>S)M(7Q2SC8Fh@H_lO0QqOrtUzs{sg)!=djKrr?K!Sr#TWmKglQ!-=X8U; zJ)@zys<(LYG*kDosA&K^5 zE%iM-o$FRhDBo{Qw68eC9%A6Lp(473 zB58QySKC9Ln!0~rjvS0aVbY=q1v+uBwKjZ4(vZMaPt}6Yp|)rbLZ6d%7Em89GzJ zwAO)l{w`EhCN#whsgq4DFPd!eW-HGHGkS6vc!FtAcb?B>tGH9Yy}-5Mk;@sg2A-M} zKKZQuTOdpkb-g`EL5MSM`FEa+k`yqhd-(VXjQI+wv%Uh_?t$rVf^lisA$PEI($~!) zImOrQ{l23L6zE$(pB2_!mVX@tH?(JLj>sSJ5f;9`l-E|h{&Cd7!RQ%6QWe3gZ_Mab z4u6&JJ-i!ss$CA-+N*5Ey*6uGH%bt6=H4um1y%i8goCYKVQ~Y9*RQaWo2w`sXd0p< zwN);16jJ-teLoJ=89&XqjHv>7g6%G1z2q)X5-D#5LV9roe|DUm_~PB(no_uUI0emP zI=b-1S2AW9YyE8H{DJ7UXi50Ybtb)`CO0DLjt5ogm2c@pYi-yC6=*_D?S+1bhTYh4I?ep)4sv@X46_!sd#G*EJR_qt6J2 zq-sN7;ng+sT~H@Z6WMg5TlVnF|o%`6jC5x~mCn+)gbfCX)JLkFfvRZ%9Pj0@3b@KU6?I zPjGEElfJh1E8n{DOVC)Q!XlE*f9JjQ(LfAUFpgBpqWU5QP=)0;A8!`EU`DKefEN`j z2ObUgh^U`7<&m~KNj(+Dy(Ki#Y_aoO{d9B$Y3|zXBdcU5J%&6Ch2#qhn?8DZeT!N! z;)4wploh8eo`&%z;AEdaM@92CFEatlBK5q9Yf$)wunc@j8q8}#_aPlOS=ALCU%V@8 zon}hk#WjMGWXERwQNK|izAgg=@s_D+J{B5_k?HpeVBP%fNyu7p09620oJys5RIT<^ zj~05;OwS>%U>>0iN0Ayf(6!wt^zPbhJ?L)rILjlgqjh&~8D^6LlF|0|=j0os)i8k- z!|QVXamEH&QSiisQPKxa|HcDn##aibE(*KL)w0$fmJ~K+ODD(G*ha6!Z24vY z)AhxB#VD3R^wjoV>F}&MMJ}Wg6M~ngbWleB^n(mwTLR%*U!8=ib6}XI7`}&wb11=| zAJs_2b_cK{7vV9B;k)jpoF8XC2@-{t7vX+ew1){Y|O>E2YSMz(#P072X0~o`~F_9?s87YgaY`ZRT%Hy z(|)%`(YsT~;yxlUKP9VOfAeb}3adis+BtO&PMqI=eC!Af&YvfYxQs-#>=KJ$_otl1 z`gqqM6B9NHQ6xEzNRl3y15CCt}nMM7A z3tPud6o%p(e1`#`hl`Bgy1iDX>9lJVLNEBR(JKmv952M6%}iCise4NNWJQIasO!pJ z16r?#YnoZ=UpEC%vqO(4&88H-AuC>B1%O8);yQ$g^bYyY9IEy{NJz!>(wVtWiUB&v z9?0Q;=~p6*m3HXTY0zoV6jsu_aE3?kC5}i9v@^o^K^GSYNf80;smThC+oVmXtOwbW zx&)(S$X*q3hgEVisR1Sf0&297P_%o2cDsD4%4g7SYbO8~bAuIu?Tr_6 z)t%ToXfX{BfJN+rvR@6pQn_ZLlF%>iOihaTiY2nS=R(b_vf*#TPVDA+^f6WMjttquT0yDXQg>% z>orV|5#JE*h4LBV{A|T}`H1R%4{Ok!rSN&|kj^+-Tvf0CF~BjmcsKIS+{IxyzU=a% zs{NIcRVwp89)seH#ZcXXNK1T90c>D2D=o<_2ept$axg4%TMTkW8Cqfq=3fUGfKbWP_OhV|Pa2heNroV^IeoKUN{POhN=te?AHuN-ktgN`P1-*0ATeTz9 zudTsRiVg9vzkSXa<`N!2Cj&-fUMM4Cq|ug!RSY@8DJldqIZh%$i9RXPYQ(a(IfJJi z_6UuJ(WRJG0j|tHQPJdw^`@oZX1)PosqfxoY%T^npeeFgo!_3;+Vs3R{ z=|9%l{)NEFNOuxC9R@JRXItrJ&)Jm~6|YdMr7WerWpgH6+P;u2)Uqhdgq3|JkJJy@ z3VX*QbW(*@f6{9LsRzxst}vh^r}1wRu=!m7YRCxtP-naCp=xGh$V799N^-vPgV&1JD44C!tBU_|QSE|HF zdC&H-sAj!gc;Qq9mhW#Fk?W{eeo0L5@{xx-jz5S*& zE{k)p1nvBPw1gilzgOWxmzcJcLv=|Zs6iOUuh zK!29Wq9j18g}RA7`nu5jB_bx<4*}x{$@Ax_%3DREQ9Q_alycx|1(0~l%xB_3bp<5~ z+^M_;t`&8IlHG|&A)zXyUAai|{2dD_6_?F&actdb$>^<9+Qwb)xB!!;xlw@Map8WU z1{dBLG|0BAVl!~1OU#Rn20Rx`4z;I_%5}VSdLDIr7ydaP#gUT40TKY!e+Dz-I~8yX0&ZQ zd_0YLvKNMUSzNRqwkzpg<%7g^)3AncQ)^&Y`E_9#*u8)_rM$IfdhXd~5bh>H_L=6#y3TUt96s|Z6_NX34; zx#sMHXtvt97$Xapje7_>Zr_aZog#waCO(hQ)6SsS!DLj>)foR+0_%t|${1}TnGmOK zH}%chz{2z{sVt0%6i5m|afa=cRIg2CkB1(7Y<&x|!*-?*o^DHk8vQG>)*sN_$O@`mC?@g7yzhN7rozRam!2T9hCc`-iaa;_T*3(}Vv$P8%Y2=lj=vp9{`W3IA_RL- z!lJ&%V^6*$2%WGH4gS}D$ zsgIJcm?7BaW|4h~c6DO)<$6N5cTfg~s823f>d(@AiN3s0)$GHGV6crc2{^eScc}t{ z*<8SU2A|`a?Ll%O_%ZiH5V$)Vj4<%pX=8c*2zu;^kFs64ZB-m56)(ZZv^}V#>3yGJ za4VCS?5tbIc0NU+kIv+<3bNLc`i2BLa&4~Iqk{CbQ*)HKh<;p>fVKbzXoOn_=2iy_o?=(bDMsl8MAH2{{s|}7* z7hF|aX8J`pJpMX}w>+}GwN{llZiCMDzSK@+(!wZy913>T14zRzO;H&30sE_W)H98K z9{XVM@*P>T2~=yj;41`vW%BN|H3T|p;%wNZ78*s01i5RgrgnsZ__Z~Dt8Lxc9y-@2 zab4me7w+j<`QI%f%K-oBe?w7NR)DVMUGCxBy8{ThHvThJ*l*nMe4)v+s)Pj4|Ie$r zDX$xXeezm1aaN$P&{y1RZGfIvEd>1BMRn#gfB)dh+vjK!jNR8_h5|v_JZZ|AkcD+? z`??u?GYaYERo7x!o!EFIQ@XYJvgT5KL%#CEN$-h+Z%E^vL{VP=1UN7~8T<+n44y+t z#AZQo=FxY1YrWwCtD6u_4D<-PU9{OAh$l4F395-M>OqQfZ1HmlJlg_O6r?|>gY8$) z14cRwxIWNn6_FNvf7sNP5X=G|i0rxa@5di%*+^w|W4*vu!b`R&1ctEC5l3OygqniqrjaM&`L=N2BvEj;Ljc*vNmch$$w zs3&{i3)$Ce;OX(o*^W(L*MjJzzJ3Yg8}kU;50<yL7-GKjcoerDJau?L z=&bBOB76-Vgrf`kr{#6H_g(@wgUP!$es$n^&mS37CgSI`r5E&uUBrE#&3}l`hx5FvfhOHj_p{IOVd zQJ{WhdaYa&fKimoXEUA|yod`x%)zh@x`f;)9T9yD1!39&PD-?}MN2AA)8gX$1om;q zw^D4Q=Af~xM2{srbnFtyn|M7ndJidk07j-q4nz zC37qjA9bQ-Jq1XYGTT~RV=b8YK)+WCUAiW*Wr1Z14~l~>+RjSMw7TJSvc3buQtopd z;unlJf#RucYzZSfA{YX*VEu%Tx1CAdW^r3Hk%-+c#B4L#!1< zwOi2kPsH^@sdVY~4tJ2If#+%UEO=gZndqE>)P@VCE2a)lK`jlij^7x`Y5bRx(g%R3 zD+_tuiccfe%kK%50*?|CR3Se3Z!V96o-keRK$BiD2w#9|d4nT5l>}WKrX@=?N(d@K z%1w${JU8%Bn&Ob%SXGHn|JC*vdEC%;FQcwso!{wfWE4Ol6lg7!dg(C2(4spfw1bd% z>0Q0|FJfQvg;&HjICekV-I0*~)D0Vgj9yqUeCX`=c3yu&nK3(7 zt?O+SAqH&4u{S!dz5BUN8CAJ;`_v=@ugZsC+l<&4b3lI;WbNF?Fa*LNH)SOLU(&QI z4au%mB@s#og*yI8*^2sir&MUCDWjIj-B?hGgvX^ssamPQ8N`ae9*sPo*IWM_lD8=( zea&ml%Fd($%8VXo65y2brS`;+4sUZ#6|a2#!b>b0khzZ}7e_!u5++X^-Hd(I zIsbx9%b7M%mFAjaSaJyoqx?drjI}wXixR>ul|ZXf;;UWCRAtAo)JD8q+(Oe5$N5#^ zXw6J7WDDqgm?2kN-jO3@T=tRi9#j!l(=nRhoZS5Z`#VqJ)i(@(TnF+*pDtGxuYM&D z-#E<6+=H|6Hbv!FFw>al-)W54!muq{glH7PmCw6C%odO-@}+Jky2h*aEJBi?%0QbW z#kcF>DfH!cZA=Q=@>-vc5F|`a%+NA|Vd-+epR0dPIpTfNjdb<62912dJ7MHwh;w^r zo=+<3_7hzLUERvZ7i_)AnQotZdH$&JEn1Nphl)?S6!p9lY*kqS){2f0iR+ znL0c2jbe439SW)>X1&C(Fp4A^>YqnrrPb?q*emS_6}Q&XUw)ydJ_yGWJqN%AWe9=ZC?85#Hdj z&9AL-Mmrd3P6H~ZL?Q;A>m`3wCgpz=9?lunFw8z=@p;B|68SywQ+2d)exraH{kfDi ztT{%+y%EIFT}%P-k=sNusHP7Em+z0uW&SmR862!faCze1cpl*aDB^4-nUjJiz5K5D zs&&-#hZgmqySUN>80YgF%<{j0^s_dc!1rONN=mCScTyJ20?*ZX%@@-~3L|-gwEyfM zYtA3?>#xU&_&9i62=g!6(j66TL1zax@0Wv&-*uq#zcij7Lew>3YJbu+pABw(Z0_Fc z5+1(Fz^+&pLV-fTFfZyAdiMNay+w>#+4o!Zr8D1^a@P(IqMAb}e@)R~{cC!`WD>D_ z$SD-esUo_p@?0{a2);MlX>;HIWHd5xH0ShJG_}HTSLvYZHXC0=Ssu)`0+7>CrkYg< z!X7F+repriO>v_$`LdAFOGy7t26gsaF+xbQ>KzCh4A<;jL0pzFdhIGc+2~pFB_k9m z4zyGtqgru^Th97Gh5@Ce7vQ4+eVjB@G*B_;hZsqO&WTMsW7;( zh&0Mpy-%uQcvbEj(}#T^hA$)ek+k2Zxnv=^pD3!2Wc3mvmG{S-zJcXqI<6FU#H5Zb z!%~dqXKJlvIXNcM@STt2tr~>`FV0uVOPbdFmkmJT@*CFQC}`KrDf%#AGm%#wxTL_| z`RD7HDEvNEi&)zFlz-dWJ3*4{Kq}p8zb(GEBg}VZKwFW-peHsk-{Hs& z%`^yi8*fR!0_2Pt?aqOd?;nv@(Za;B-*9^F$!%nq1mTxz+*Uq1Yw;}yUS<5-#M+q; z0ULaoMB#<$KV>lQt$VrD0hKEERvN{ihSOHDr-P#*pIuVFst}f?h5#32IAnMQYQI;! z*(;5FjFgbWM{mWaWbwZt@w?c62@V(Xo49gQq*!lYAY8}_WNO{)XccB)Bb+3l##l;N zwo&I;rZFO=%TbrtZqH{W>50UEcYsP*KNrRV#tzUNl!Tm!lNL+8BU01Pb^wMGK46rWdZ{f2%{!~cI zF}K+%@2K&u`LcJh-+zn-d~^3c7<;y@M&x0LNxPvHIEXPjjuV;)mwv399YGhH)oP%E z0!v;bX;|$*HxgOR5?H~$2b{IcAGk&emCvU08t}P1f%kXSB@*P}Pz6bh%Cm+80in79 zHb)ea8ZFp_<8g+uc@-F}6Jp}-!{0S{boKPK_P%T4=%obo7gFsy#VKF#9V6gZ%Qt*gc(` zkMI7K@qocb_nyhD|L;I!b zIQasYcT%(WKZhW&(5u&>V>6^s7iu7EA*(0FyX~u$`d~=ef$jP0akKwj>CdxTdku`F_K| z<(R}(L4?95V{Ooi@LaUmswi?!Hyhp7l3y^zB-{RN-;=JOQ=GkWCTKl&Qr9`jBggnY zf_!`bcYYf94hn1R1#)VGf}FPNCPda(u}FR2CrtYa{F{hR+wR^E(Ranh$u89d4KCK% ze0x~<_iDX%IU(M;XC;bM?EG~@9J;<>vvmlbbRK|#Eoi8VkYli$YHZG@4d(_l8ayt3 z3pe&H0BV-?T@2=%K~1z2q1O244bmlhk|lcwhnnY+&wnDx^64p9x4qQn-*a?1tzj#e zXt*h%x&;Z)up<(8?}juLZ+zA=Fw#Y)^jso^=4uzanx8Mi&N5Bd^4n4c?Mb@!#Jr zyG%GxtZjSx7(bquSG7MZU?oa*(*4^B%)AUDs=YFwyz}KwTlPh*!okkBG%M2>*sXRf zTsHj9%%<>TQM7HC#bRhlZl{K)1^J{FJUk z+3Psk)LFeP`PvljLfUatvsuep=!MB9$hJky(bI3Rshpwcd zkZjplDw*brdAy$z%p^QCV1GXfWRjl*^d!Wq9zd49CwK*)f6@N}-vej;_BOA(vWMZ` z8V=ErXz#c^@mo;x>fwUE{7m=a3mGfaf#i{`nmtR;iu9DRt$<4fo(fXry}CA=#SP%k zKxO2}ppX&Y+Fe4FkMA+H3#nRiU3ug`ym|Q*w!Xic)@um_4|>!;{glL0A2)UYWv}&+ z3Z+d ztV6Ej*gIAI#PWphN-y_$wHn0kH!W6eQe?=VLTh_It69t{D%q?BI_NI@y~#Sr7WiMe z*cbh;T-?)6R+Q8;63D0Y(HOJCOoAn;rq|Vn05{DaE3zp)m;O^GFL$Uw1a{b$TT3yx zMdL1oF5frVw?jcO?xHT_`5*_zSCZbh{Gm`s zA)jM)$pz&vzJ`mz_djvKauPF`@2X`=MTjGJxCzVRcENnJu$Ny*v7^D>{ugYV|6Y~arKru^*+}6VEN}P^StoWpP7H-OS)5uQts&^58~GI9u-mO z9}4(+)W7dfttD1>-L_r|CU_~Sh~9V(4S!hdo>{0!0oe6_E&#r}y2hn0W;lR>>e=@>;kgqBIP9fS_Oeu0o7&l^@2X4_K~47xgeI)&t3OPu!+yhDqvdYkQV*9Kw#@VM|EVV4AidiMY83T+tr=g;Rp06=&VAN#PEnI6 zdS8??ywqMp%3ihbRz3y6SHObt!@x?dV7z3%hW=8L+*}T{OQ{x7e)bna7am8n+}y7a zE9}mrhRRyJ=L#v7U{sS73L_i)Pqg!A?Dl$8<@^Y~@nwIE%psNet7X3zq?ScliFsk@;{&`zivks zx{(E^Q^1T_clA4wVZTNIC>H12ueaW+yfRjuV(a+_6FPf=@~WZVVlEaMpo|(E{V(VF zJ|>_!If==S))_2gT6NL@?CJo!QFfg9dik`$Ryp&L#fOQzS?K~QQbc+ z3I4yWPJq)tkhx(ck>OLms%YS!=qW0j6!4L3d7F(Dw`TjNgA?bNK^XZ12mvgnVaE)7 zH^=}yzAC@`@4EPWy|vfH$#y^$e$Ij?MhlLK?>2$vQbQ)^zXiO@v60bI&+t;t%Zfb< zRMSHh!LXn=T&02v^x;fl0o@w)g=Qh41R7|LC`4>~rf(30i>6b6 zK~)jN-Y?y>ByzEe!YNK+iJ!vuE;TdwEK@*Fiwmco<}+Q&D1?+2mo*4cCC)b! zz_-zhXxDVRb_x1zS_9%mgmAc6z&s+olpkCtA=Yqld68+If1SUsE+D`uu`S#{ARDhg ztfT)E8MZ+@9epDaueaJa`sioR8W#dk91Chp9p(Dab-{!Y7NYm6&A?Ug`r6v5W6o+8 ztIzKEeE!M+g|fj6X~nC5wGx zOVVz;S?C;fZlCC`cKq-=8T>mo_N0N6sZIj&)&fY3PL;s$e)7#xo|A*J-ZrOOo* zJV$j7dDi?{)$H-XX_x}Rs{T|3 z2ffd~OwxN3bqQ4OXV0`nY<^{Bqi7woBYR8FZzMo_W9?01koatgeLQX!vnmIhK6=F$ zzG0pOFfUHfVd1KxDsd0!wPVW(IPmcD*icZah(I-sJ@gHVo+`K}9*#`T;9xIvx7|ts za(ziU{^P&ja6`R5iCDWYW$i!-34NrZt|oN9zFNGZlh2HzIFRBXxQ>w*3>L1LqId0d~1|LuzaZmcDrc zBqX0IybkoAB!J1YYi>A2&1vo#E>4~fXtkv~ z;TLkyO$1K>7V$5uJ?oZ63FKy9gWq`o34 zqx^1(y7#s`Rb|&i@S-o3yT&_}o~&Pt+h*>|7oH9HBY9F|%kAgp{al}wn^U2)D#M!E zsaG!y*K08mL40Upf zVtLSOKEj4PZ|@t3tbLvDgD3|z(ef4_RYM&+zf`V{s$)$XaiW~}VXz^*tMDG;?Hl^R z_p#3QJw^o5rft1$Lx|u_M5UK?VUo1VLD}oRuhjSw#Ez`eWwdhg$uv*kFCqW+fpzJ> z_kW48;HmO~$#w+)@8=9=YFbhDh+eZY{a74cy+624753Mf2xVnu3wSm@#j>0Q2ll8L zdK*8|5R`lyE7i4lk6*+szuP`p6^242(4q%MGoBL?xE(+tiG#S4&%8}uZE>;KckKfr zBy;%_8ePl8!GO+y zv%xO+VG8zun}%Y$ljHT=QL(EW?%>qa=kY>#wFVBO1u;Tr-mo;g{k)(xrz;o8&Zf*- z@MEskXhslhY7l^5u9Jc~IiuV4chEi!#Z{(CMqHnn9B*xdv!JR)6j#j^Yud#r{^Et- zpUF~f`5Bg3IfeLg$@t?Ik9qj~lxtVB2TJ;!suoMe6&j&-zwO`vVU$sVEaO@ua`GnG zz{{p$v-z2&T807ApANlAbMHMm2r#epX)BueQCpW1YI?&0RM03oeP){3?(vHpIxjX^ z*_C@?E^aqJS=kS$V7N{XKTke6tvYj!;x(5jn9u+A6vKLIVRr0R=^H^coT0;f#Y?nA z!`=F27uYw#;m!R-lPt?Js z-+p$8Ab3E5`u}bs$_s6EH>b#zp+7+UXu>Tdj4|I{F|rvyMpGvd;D8u{qmMJ??b-RE>3dMPx?(W{{}4mmFXta7BO_ixv4ub;UcNzGJk z4o?x#@x(|38s~pk3^vf<9D_ZQ|Hk0edOwy<7@Ysv*LhkqXs$xg1@<)d<@V5_`b;4B z888?BhTq2g#JR zp!3T_VUWGET$rTlRTkoviMTRw=}6DsW*K$&=MTDcnT>zfw+oPM0!^!Dcd{<>j>||4 zeCC#<)bC&%HT( z=IEnXEhD;oZ8nh(G7J46S%r$|ZaT?b z*@8+r6AqgQaPuL&jfd7pfp{|E&%JjK!)Jo)#<|-G(Z`BqF70aLComT`@V+OCz3ck& zcaF7kj=w}Z&rkdSFd@zZj?7Lsxwe#SN9+f_iJ8Xkf?XTnLol-n^WQ#m$qSsWetq^q z?MIcMhF_h@ue~)&(d63$qBCmVxbJ7-grDnXF;mJiXpDz&RK>LDNG90AKgaYo(W<>& zj5{=Az*AY5i982{E$TU(>{D_0?9S1hKOr$M*q1)jbGqhBxQo9_BNg`SvF7FqPqiw( z0)kY-i_`wvz{LLOr(EVx-#5l$#a`o@eqBwZ)_-9b;bp7I{NW5u{E1AZKScd7nn$KA zQpBvItohO{9Vw%KPUuNp48JT=egk;i5*+eJ;FHo!{St3ogUR;S#v?A$3Qbx)w&hqG z4Vd^&tcLAmt>G?-Hk?9@CZYC_x9gk8b-B;-YQ0mxj;H0k? zQ!p^U<95|;CE|AOlj4|=_4UH>{7Svu40xDcgW-hkOR`@zp?HFSPP072NdT8PAm4ki zJEm*E-o?+#s8|Ej9{%^uVA(F4iNNhg55^@V_>2M@vdw!2c9jxWO-#xRajf^)1 zzbWIh8cI%o@h(`8=@!hh@vG5t>|$HHS#^W{AP%!3?sk#fiQ!GJZBskBz~w`KD;%kth0vMFru8%*5+>x@`o zIO0hI%@{nbE*u?%s|KR8h7$aPWm8j#);R3l9#RE;nHi1!n=xS$YFwPqJBAzBA&VX%lL6pZiG;G2FLG+(r0_c#b$e`N9^v2-tIrlr#TLKTY=#&& zL9=-+>e#^!FXzmaHLw zKzGw;OSJ|at{bNdmEA9gnM(!+o?ss|&`p7iYwjO73wWb*!wbOj8uQJj8gs^(_!v6?BOQTbyC?Z?Nx66-9~0(QQ(2rC1wQ&qhl!gFRQ#32PW-XfOsoVD z)Vb&ap$J%DkeydY{^4q*3pH-kS4SAEzqWp7&Bx1L&AD6J@-m(nA^U`Ab%O|{qxUZY z;o>K1=Yyf|3QBp)?uujB)ka$9iXy@%1VxplWXcFj49dwD4Fj&OHC~(5rjub3KhRDX ziF%DLuf=1v*X3Ug|Hs!~LouIo?+{xz`BMF!2P|pK(tlib1DR!{K3PmV-xvE@&GbTI zFHppMNTF(?^;Xb(j0nlbQ%atefDcI~2e>w}B755p=Cx@X%HgpFC|*Qg{L~)aDAkbp zShJ0z&D3zR3Aq$?h3iUkdL_9PUV29S7A~8D@|JU_HL7eJdH$<*6hPf2jv|L3Vu`0y zQI{Vx+a&>VN(xOqkmOiO$nMq*qVdZGvSOQv$WByagpe<>=|QtIqCM*?BBr8)zL!w{ zOefcW1xCIvry~=6NjUMjAyhrWF}04c!N;JtBr{l%w!90laho3*WJ*y|0tu;pB7sQm z&8CHc$cPIfTnILWl#@EKdlWO8$jB;$)VE|cfw zL$UpS6R-~1KqY^6WkAmrz&p{kkMR617M9whVih!e+ud&x0Pu$eZ0hl-u*nU6 zELzG(uduR=4e;%?kK~DqS!6=(7+L_cM1!|Z%Y-O0enEAeN3R#PyLg%YSUUcR4%?LR zp4r;Tso(Fmyl8<^lYx!#V~HY$AnCI0yZb)+ckuxsfu;o#KCE=G?G!$v>!(UjPH*=H z|89o)O+xo43>lb@**A$;Ld>Mhhic~N1%l)h9K$=4a1v-%vh?hd7%1*@ zv}?2t3AC{Hocv2H`mQy~|GilKo`Dvi1hCkg?e4S;?`5QZ#0k$Bt2~c4A?u1)B zbtK&Z>J9?=vEu)_UYJL&;z-`0TNg`yEmt~AK1vjC zY$;U%`Yg;mp&PK+!O(L3Q%rCsjz_hQ`cq1I?NoYS`QRtDvWmkCEXwe3 zQK}T)(0xi+%tRthx&(e9oO0^32WdZMj~}Lp%>Kb}8UWlyv~0bCd~@Lp>TVsg&L&(m z%TCg%ldniTw@2nw!mJ9KYKFB$mq>N^ih5T@S(F zfEgCnLo+?ilF~sHgOdd{kAv~5z$(piO#`|`Qg570(^M5E8>q|8kY~Tnwoo^BZ}WBZ z`F^dbtaWv8lR`ftK#HzqKFq~NFn0Ofzb~Q9Av~a=P>+4s0A*`HB5A$2-7J7LV|lP3=~ud{pak=NA0?8tjmguevl>cC;emq839diQZ*z zKaUPO;x~B}4TfjHCfhibW$q`NS5a3CIc>1(KtaHDjK4?xUl*hROhfiUhkjuu=Oxk< z-1iGumk&{;oIt4fC;YdXrXQK*nO+7&gZhswRj~jyNJYJN-Wu_1rocOfVjnT>VlZlK zI4$?WBH#A$$~xeWF=*;ptmw<65^b^^Ao*1bU3riW!jp?pHnq@Z5_VuJFTXrQjj7&C zZHu}XdIo3}x3{l;=&22QD=hkIsQI{tf1!n-OI=w(b5XDz2vKZzMyS;F3c zJD*twS2?B`-N8X};c!rMXJ zMDO6!n_)^j^;n^zgMOfNg_Pwl5*LSo<-(pP?N%luiy{7_v*&Vz?CX8#Fx6$?ju`XXfn?&`GaKG zK^Fv1PD8k;yj2j?X>?SRGL4Ex@(pFL<2vG~?*mcvq-7nd&1E zUMm4s#NjV)9rCZwM#NYO-O$SDe;^WaQwKls=b1KZ-GCJ%S3Sd{s`wI&jIi|8YX^K0 zA*zeTNRvmwCg-4-1t&r0Hziy6c{*Tda=o5v{nVKTc2o_a`b#m?BTXKhj)S!O6{Cm} z-{i|I1VRQ~RDN6jK{{-dzQ@DE`Qx&Q!tFHL1>xfp&lV85iEUWk()VaCv}FY}+gv{- zb}Prdp_obyaNIiw*!_tl!s$S(0^;q|J2)+fp(T@*=@9BGy&Xrw`EjPQjrqiHsiw@t zi3-E{HBXk%{z@AKCio$!bSTTwhGD45PV~FLt>5@~D5^j^j%8Co zF+zBDmlPy$uc#7W|Fr#Q(9Lpn+QpDd^mJB8u2~E%|MM)K?DRGU?xK*&Et>IPbG$$p z`e$8;azWf+=R}&9p;zjtU7<{FTkU461+Ob6o!8gdB?B*DWt+a=Q?{E%jpoZ9Uq?ug zoICI!{;2>1rE-G;1&R0b%pFVTNF}nuve8kN^E@D@d<-Ni@GSDAXH-&h09D0OW-QXT zOrWgHFsIwgq!Og%2P?c9LjKOs{3&h3FF1l(ZS;0woL74XmNQPw#}74L-kM(Hox+X> z593R#;nI&8oyvq7{Tx_q%e?bS`6Kazu)K`?2ZM4P<2b6=D_fVru#pN~yXXk{zxe|% z2(`g*V_mIaBQoeta-dw9?AT`z&BL@W7LKTu?-8WB9>bs35`Yi%H_fVj78?3fvrbmn zmMbGVbqBUFhFmH&aFZ6Paq6*JqpGgfB=gPXpjUX5@lJ7+j`b{ffId5eTZ}3wUL;M^ z&PggG4L%ripjl8|SSDL;6FDvGmIML26EyI_S2ykhw#9WcHU_ZatvO_0Fh&V|tcVm5 z;jB}<72uO<;#FJxU&J6@&~Qv_6=vA;l|7)SyA~3r@uZQfE#bMofksStBbx7~Vj{rj zjZ1&8n7oAety|CE(T41Va{NBhOLI?{5rBVbM?i+b%kmR>jD5fEN5gVm9-Yqx^536s zNz(h{_7#Uy!sG#!v+vo@0aCV2?bu%o(+*P9{%_e_Jhne0_e+m?B*MVH!d3hMZ@Hco zN?ABzoBdo;kT9G1S!38h5ZH&G8wS4XEF(YUef>=#X2m&-b&29ucTKHB18dguSDcbC zj(@ihYdc+1Qx{EmaHk~EPJYuV; zrWlfr{y{wbPOAm_(xH~&LSNEkeQB_JD?r6mVVABl)5 zB~_Qhs5UmF!6stDljSOuHQ~wxGtvi=?h9VWM>?+bF){_xQXV5IuVr9b%2NNx77?%3 z6;omJXPZbb;e|AJ52IG5F@Ly~JyBBNWY6O|jc9lm8fxp@R8p8n4^(fZZHUCtLw9;3 zmw_OjHoW8NZ7cao$k@SF4fO)9qp4c3jLWd<2*U~yD+*^0p)41EB3H0(PS}pXA%_nn zr^^}hk5q-5RiM=FM8sZUGlX~^z*2yLv|8tL^L16fu&?dpc1+!PIkEs9lqBc+rp)=e zjMcsz)u#K}y0O)pPiBWh4 zT#u5eV3suSQqKtgN$auSAKeaGiF4_Md6 z<29vK5Il}orwZj2ItX8DuYu9I382A<3r1ukGTD4xOZ`M{oKu)6$4&uQi1l~a3r$uP z$`l5Q9(E>S8X*H|lv^$OzSwjuIW?fWnoqB|q3a5lR!zNkFk@}y?%ky8O)D8s%FpBl zZ)q;zKZw0#^fjG0t^e4Ac=WJVFcm_W(F!Nkwste=DWoFm=7AwfP$dOVy9K?71(|Xb zC`z%%sY=%RM^G7fmq;^m50R5zF57X;NzLm3&P~4iTz{%zD2*g+b#V`W4HAe zjha5TvSQo8Fa0M6p4!%#(3;hyP3MmAKvn!T2X!NTjfXl>JML+uJ~Vk zh2h4$a_jI4F`VNQ{2917t@PWfT7MF`E^Dj&3gl6{p%kC@Rx$9A5NUJQT*;5|<|qbJ^?dZMxwGj6ei!f|HsK)<`lA!9fsBTb!2=z>p|Wr&q2=o$7qq{Dc8J;IPj80X=K^4l7oWBbI(GG+vVMfxIazHR5xh)~BX7^pUL zur3Mfo>uUm)FINpwg3{$U0IX$%;q1zUqvDkp`q!^8^Q7UaImg8C!QUGJ=>=xML6l$Z#g^XK)o zRrC@o4xhH6(acF;0pZrELfcpV3y0M?5Dr27(utI#)x+X+9T29SC6!XE*><)0c4IHc z2O7b{>rS#PY2Qy6Pq0rW*OFtpxCjiYKo7L`qd_+)e?w7S19ht;6ukt(x)0cYAAC&H zf0NEMvx)SEoOyF8KpbNV5h$UymJ}N_SE`Gy|H%-B7x;OMECM$|?APjm?(-)|5u{qdD>$b+e{;q>mXD;z!jqz{Kr)BBr&tsGU#*aMQUVq_hN zRFe!tfl@X32T5}R*)_18y z*%Y*XF)}Tbb23D>PMjuM|4@&rZ>bxOkQ-7pj2{L}zJFBpveC%)75gyGXS`irY->y- z23fV*{vvBvV;IiK=6dps{Z#9Bt>LeS5wxu*l_E=@XwG9BswW zqY!$%-UA@@)dC`y{TWacOV_$!cnNQUv!uA1%`_W#GUool=;b#KZf z@oAU^QlS(Bd(6L%*Y07*{Dthu0c1|sXTNC#H`Mh5F`S26roHw+0qQL+FVDy8t=##? zVT0DpNT^zG*L741QR$$+gE;*as8Q%4oJ-b#r!;=^g|;V!h45`W0_E^;bp@m#dW6`l zd3hQ)1d(k}Ba)HN`$I+k_fRUy_tseA`uC*0lHcb9Tz_mOWlRQCsn<+_$&=B^V^Gvt z51CuHwFb{&QB~8FSAXAP4?{IE_D6^1wEi5o&0AW1fYvhm6o-5FcUcyiR-c4%Dn!iN zDfk0?7p5Lx{2WFXlKAWbz{Ub?)4u0|p;i*E2orx!4XM8O6Y!(s+}4TZi;)#5%RG4z-4;UkNa#}{GRJW^X^ZYUc%T)xb1=2u{CV9*fY^K&Xu!;Nu^i+p^an9ABU+Sl8WoFcHyDRRACFsnh=q@-(eBc9a+_(P--i5B(x9sTDk?0@ zBQ7|T$D`Vr)LPJ|!QhWXdeG+X%=^G_Zq-8W6{Y<~hXvTB$`&%EoRsN2)ygGvS?^>l zd)dS0IP}9Wewj*axR>ab4V#qQyvj&vl`5$CtUbH6cQZyeS%V6uIf&2yXI9@QOirKiWh`W~iRU%SqNcsD|@YnSY)<-AVDz`sp__|J}6hA_>1sf8 z2j#5S9SxPyWY90U_DR~VhB+X+X~w@}_tg(|DLZ2WXlxo&_;# zG3|z%N#;Cd7iwyxG!QOXwnfgEFw8cY-?S{q=3iWr!v4XrluaU$KZ(;eP)q&rHJ0$e zSHm8>x?6fIe?$oDC!bTDn71S{g}>l&(xUfTTv(usG}fkS^wzJ!Vqz{=d~MJ!7q%xD zhpVrY8yodon5l!yd<9c&gYyr=my5q3}m$oWUlueQ)25 zq8nsk_INF~AO=42XTP?SjFY8L4+89_5y&}E^cspH{nA17N(=VQe5Tzq?yXR33|=1h zoSL$twco?yRSyoqA~uTggJVRY0G0|k&5Cdw3MTd*{MH>?k-+?acK|sJR!>3R3^bmDu`cjnT#?aV@L2fL&CM( z5w~X>3V{W-hG)tONM8Qb0cj|{H(R%YFIR7HmZqS64 zK>ycJ5z_y=An@6bS$Ut1NqA~d_khME^O}$(O2$f8Cl9JuKHGH*ugX(W99~V!>+w4{9dvAJ z^f3ykZJT3~S{<$zfb=SvFk$Tacr{i3Z5<%+zkMS+ri`=Q{7Evq%3j8{u4*4#y+kd~ zol&kB81=PIOfm3Py?1f?*)RD_e$5(7)hYQQoTlInN-COm-z=`-4vc=KR1yg65<6?( z4%&0=`9ZZ&G7DXXY@JEP3B`$`ICE4)FvNEGw8+Jmg0U{_2qC0((4 zRjxuY3alQm{qgsD;pNZP++$H{uc;a~Wi;(j@|WaZo~GUkba(p32MZjAKTa+0y4{sY zF1SNpLrX{xqg}8c{1;(##RZ03iy^|iL1U9^;)wD%g0wx$;`7oQ5z{M0<@Z4TdkEB@el%Ch~Y|v)Nqt;63SW z-Sj?tJ*(NWsP%EyuV$M4cJPPpY28ObJ{x@Q4j4_7N|WdRl3c&2>#0#7CRi#2#;bFE z;HQFHvA|d9uEQx3Ta;m5F6QJYo*~EAsmtHottMvPN^$p#6BJN)4Xttq*wwKI?_U6p z#td*RwA$Z+R=!kDFhIuFcDb(i)%^u@oc+n?2$l*xauJ;PAY10ur&IX8P*p z09DGsx33* z_=w0NwOCEdr;y~8`N#~y$FxhfX^A&2ZwMpN#c_UsN@m$zgC|WI(a9wps|0vDO7uQ* z{rzws?Q>=oeCT9^0-pVvcU4{Q?A5duamKmWBQBWwFpdH&K0pB+0apg z$CWc!QN@j=zv2#K7|3bLmXuyWS9C7G0%d-@736grl1ar#2ID6fvh#Au;EFS6Zm6g} zHKI%h8~Zm8VadB5bA|GM>I>YP9Gjf!rdC*ixBuSD9Kr}p1@~37sS=gap)9u*vpi1w zGIB?YbwUC_!|k-62qR_kE2_+H48#QD{do-I!4`i@BP#)$1cyHk${)uV{}a`Ll!j?@ zrjgLZS6jGHW!$#|NVvlyIQtwAnW-~Qo~DU(pEKYEKn#CWh>~Gxn^=Eh53}37|0dBs znPbuR`oGG$iNEFB^X-5-(JJoq(w+%o-oI2q-oqyv6ng$dgS2eH1xA;_pa!do*`k`L zf>2W&)k~~z_CI@Dw> z*A|C@blqsxuP|-@U{!+=YM;qbKl$KQ2?e>xKKqg+eRm8_)^d72JQ!4r4>n#>tkZP< zX)Aui$(2C4-_QvT<}>PRj6LEP3T~ zA5f39m*?|dEb+rhOuuaKBH=M>H=4_}7B1Hr^`n}&vAz?+Ba~DoK!1}^&+otY5Vr>n z`uaJXfme6Hf^(P4u3LBLC&_>RlMzqeUvTz)PHL3AE&+a6*TG3=WfbInak}Li%&9VI zfVnkY+NZ-1UeIO^tSpy*y%{EHe0s6(es?{NGpZ2f`-H-5I0Cw#Q^3=APy*q_3hdG{ zY-MB1c)ZXSfj%b;%zyVh|naB*?rWN@il_C%g0{VQX{qEF_vSf?{A;_U%9ev`s~ z)5}2DqK!xfahJ=Mt3KCaLG9c;t_4_{^-E2vK$ewP+<1g^Vk)U1KS~zQgA`z}7@GwR zF_fsd@?fRo$co23tEv*pHI^y9sAVN6#$8IGF3nhn~F&KlyH}FKBRYpAT0(e*y(EmTpT)&;mT|F%TA}J7!}j?vY^Y- zKJ*8%%!&-r%~y9KT4oSZz6g6V<#(e^VO*|M?ae+bBwe3{`z*>GuDMz{P-H%=MC`Kf zWwmqTS$ff6s)4V^V!B1OZhZgAzl{w+`%7;`iWw59N zB%zN=;TZF4~!v={!Pf`_6AlVLAN|K z9@NCcm>%ygTL5!^%XBI;X;$j#;)i@yh%08Iw0lZ+XM$Ppuqh@vTO zU&8HKM%BtLc!%^*))PKCkGil{l~d!ljYOMbFNrz4Qn!M1W}F&S5sDD4X%9JOgc$7t zOn$f#w}6(i0)lZ93-^@IUn>LJX527R_yk&t(R8*!IVJ3(yn)ZuLn%7;!I4K`aV1sL z{T^j1EP%byFWWc6Lj5EW;!P$u-@Kbz6(bo>ib@a~@9P3BSQF_m<3wBVAN;45EIp;G zBpu_A5g~@YH_5nZCF}VcBNlZlR?I~S4aw+>VB+mJtugI-kfKR4wQ(iBB(ZH}EC4Is zODLwF>I@Yao}%<7sn}rd?hc{Cs?BOnQ-Tt6X2GALEg+)|p&9i&_+kqoDT>~f9W|wV2Z^sl z9*`LnXK1L2*zitkD}UaQpay1-;_ntVvs*XFBtQm6Mh_peIVg!-7(yL+qRcYU zrLe`5_I%oO`jk5Y;Ch-JuC}fT4l502`NE7)Ai#O>23!f>=bbR9kx@7j_n)Rqw1LNJ z8v5CH{a?6kzMh5`%DKsy(MLI1xe5iR76B^XK0&n(k$d?#cnzRi)A+hQ*OeUcAjJ0v z`n6M7CN7}Te55RNR4}LW%I`0&fwpbA)tJX%eFa;3shnL>Nh#vhr@%5(4E_Bs#;=~8 z@9*1VN6k+>@M2N_Z(3RDvrVtdkO8W3ke|fbHu4#45d+l87~xGM)DA5H7EcN#!f4ts z+TAb10%cK7JvZuo6ArjN%xuk@mjt~PPoKs3sbRf8j`e0^r%Zfaxug(*2nq3|@Rp^h za`Vdlthayu7HA7aSnwe4ejx)2(Gp%PxMOQte1ng+i+J{<$kpVAiD=8XThTTu1(Wnm$u`>SY8CQFH`d*FMa;Glkq86zUO zJWAl0>4?-uQKa}X7H(_E)Oq-pP^yS}_V8YSa!$ByN~91C5T;r3@R5B9_DAY@-5`(5 zuDtIp$ji3+fiuDu@@oC=0!`$=Lqkr8de&Z}6jR1&OHZ3ss3HkXOknYjK`BM=W0V0U zOey+~dS3E%)c>6Kw^nG##Z)1m`s^wnL1lhqdLh@ak)gCNLW3%DP=y0_^RwP%=$)#7 z;b0i9bIFgKX`Lx-|4wM9Wlxl=BpkkAT3zP%d8|~17pg?(BD!_ZjReV&AvKT!?SV$+ zJDX_y_I^JH^>y^}@)FRjKtQsFTyQ{K5v}W~_Q}cbtZ{lxdrb}tYNAQIhYvj62+^{6 z1qCpEh94xl5Q#_dMErx9N#srs_WTWTMbGG;6PhulS`O4>adww7T|APO>&X5c2VtbI2e5hUMbn0HSMa8{Ep=PXqhS8)XGv<~ zo4p#jJWQM}a*W%NtVzp>(ZLd^bYrPAg`Ja3~MJGJbm#!_(BKCN(&>fM*hE7|!9*2C~K7omEFoS-NSa#eam0tbWecIip=MWQKRYh&@=|$_CUi^W- zu_awq4dFOF75l<0g6Eo;SY+^ioHASo9emofK>!RH5yh}w^qJn*4wYz4{kT2qgK-VgA1G?Xt^Ysxt`q%Z9+6`5a!oXjz4$W8K%DldN>GMKeT3 z3*Rxj2DsGlBew%$;1J`6nu|8uS&9?O&-c)=n$!8;NO0vzjx6F{fHX?u!rbERCR2dL_|MAlcGck;9lAh64le(GI+KVL_} z4_sOS^+gY7=b%WWs@l}@!m$Qj4V}pEZgk<)aO1zI=T}tU(VHd|KC@*D!t+Hkz2moF zGS2>X;QEBq=#DI(@<@B@sPt_)>j>WL2qe^u0cNR`Pho(CzRYk=jtnj)hv`5JB#mky zC*#T~roH=Wp)&-_TUj~A$Wk&IC%)@2y$`#WhUZ_=nGrqKuk9|1i*LN(q{g+$t2Xhi z{|6!x*ieKti!V-V@TjVL0OX*7z5KqSHFgc7cqL zE;9uZ$ON@>)lC>I9@@06pZ6_al}V{%MyuN4l+Dz+K7p|7dn%q2#GJLRjPoOd=lv7M z32N1}1R=c-V7+oN678$wVe)B1zP9zN()84XDQ&JYCT-|j-o8Ui`?Jg8tYxe8vm?wC z^wQJr9nW7VNkpX5p05ljdnV+tTgk zJUA;*KVWXZ`BS!eR(e#aBrmC{vb?+k1C}l}w7O3FdL>_~(~s}pf|@K>0ZtWdai8TB z_ZP;>kM?_5k|>md2Gqm#{8+kQmh@98uvxD-(q!m;b9g-zszg={6Xg&Jej?dR!?1>X zi<_(Ub{p-Ne@s8FLLQihgl|t5 z*8O!Z$-sN1svipH$m4xe$?G(8e?;nXQ9ekQ+q;`CFk&s1c5o=34;~@5|&e<{E_OeFO5zSOdnsDFZ;L74^?$pr&o|WN504Y;*X5^!t?Pm)LnEX6V4ry`Qq1I ze;<>T`U+%R2+k6pP31q}?u98aqdXvPh1xjmg%};)Una}Rj@K@n5_G_=h96rT7mwAy zJ25JMbPAq9uQIqjMZR=C4W!jP78y#)it3Pf^HypJ)Ow!BM}U8wvt+6>(hD7tv?fpg z=6{fMKJW|#E?CbLzKDv7hB(%{73bj_EJXaTz@}gK(>UI}CXS^lEnpjs`CN%y7?F2c zMO>Hb7Q+#mp4X&H$uNw>55Pm_Uy`5LRj8a+2`HM_zy61lF#~W>ih%J9o zS2curJUL_@v`<^L+zA&zi&-WTNJ^<<5knNbn`yN(MRxiG zoBh=wX^S?|i0%&=>Bv~lvme#J9L+v-7+QArB0~FsRJ!|n4BE(omtVv3B@;JF{_bB@ z#2NHJwsfO{3RIAt(=B+$1Bi65KE^%P!4;w*ur&N~W%5!lCR5HI|3X^L4` zOs(+!tir5>-oq{L>Wq<@t@P7K<2*wUFwFbQh&dc8j5BqjzYK(v!|B!44Vc)36*B!n z{4!^>d%pf2pg90t4dQPJVOS(ic!?%F`vm+yDcXE=a}Mok>`jYf;G9u1O^cpZT}$UG zEh4^%l6vg_D~};D6z@)}#V;`ues`lGFZubE5cmC{yaaAv2wA_`8!qOr5{Tz_CseMJ zwkAAWk$*r|xuw2q4=8tnT`pUo+0Y|bRp90s>%TzAYRbCX)q9T5V;kTh+nqn|sfG{& z8AWyGKMuWpaZ2_X=;ZO?7_7T*gmY-kT$UtE_)ddbawUuqRiCUSKu%Ek$~#}XKQeO5I< zz2PGJE-@|4v^{KrdS%6v;Pj&N!`|iDMes?$K5Ead{7XBq<_tPm-&5Ob#nR8teqHD_ zwSzm2@JBVuYS$84hPR>*^@mW&uVKp1Shhgmi$SA`(eT{+x;Lzvsp~VYqczFA<7@4- zX2X6l5QSm8z+0-;bK8N%yFuG>x~s|(;0YBJv|i>tVV0 z#&2+i-SVygZhqEcmE!lyvnG7KCPk<>+1bA++B;QbciBH2D;75O{@=4` zpw8LuFesKoD&XtMNS`#JdN_s}FEn3>VYy|t4Vce~xB2Sq!#2b}>)>#D=ec)5r>h7k zs;Kz~9Y(PnpVya})0$M%UNZ<9UPKt^JdT8#`+g83?o)inK8EPj{}QOk%lS8 zRrJ8&R>T!VltIBH1%HF&yU6<{-pKkyIKq4qT5=k9ka{GJ&i;xHo+e*e7TXhpWQ@2tY~@ozFK=6Y@kr&*ZMXisQkqNTb?<1oRtGokO~|zN6{1 zJs+g%=XlC3AC=V;Ih}UbxYsxjI%jL-EZ7vmGa&{I*?KHD136iMyG?g}>(Nt?Qq>W3 zFz&b2piXrc&RAYU&ng79jX~XAIt%KRr{`o#j#|DZa`c9->^L2*Ofll zDAz3)w2y!ihr0^3$_DVjUaX*9&Q3Z~-a5yeIijM0#2=cYRY&M-bh#N6-etR_a8NnUqATmj6kjSxl}MIM}ut0+9whV2#vL+F&xO>$jc zU6MEBD^NHzOlei z&L4JlP>5#P-=!^srAGLaMSq`N1f9x{E^QU0jYvluRn@ciMuS)kG3QuETJAq{X!?C(?oEY6NqU3Qqz3{_?ayn8MsWkNxFCBF(@wKzSw;b*W zxr{1~_i4>)1;zI3AR`Rpi{%%B-2v&XuL+dBg5hb;`J^nBJ>x;sYy1;@`Z zo%5_&tfY&YgM8}YibkPE0dZz+v(j~z1t}F>C;nu|=4`yyA9(5Yv^LGgNHFte{gD+I zijXdvoVD!8x`scxN}*UCwuS9&iCCNs?%}RJUrB*46ybvSrWjYZG>{M|a->D0tCgc> zMta2i{qjs1j;&xsO7IiZ=1bR;%y!RM6VxQD&fHE-E%`q2i(@7X*98{*f$yE^k2O?( z;y@75kM+0ANqW!EVk_w$FsnpzGZ>To61PN$%Z5qj5hkL6{k^Jgg!xLiwtLYaxJV#v z%vhi7a~4t^5zdNhlbd}{hBld^{>lzBwhZoGU>S(mm|xjk>=Vvp!O-ZPS>Oe{%xV~2 z5f=uzO3TsJ=X}9yRZJKWV0mwRufo0!h2i0B$mSrPVhf#F{e8vs(HX-7MqY%sFD*p; z_0NYN&zbgr>HI4}0Hq9^mVpOv<=5zz;Q>K?_nkqY_{;eF0Fc;LR*Y81^%5kFx8JRo zYBn4}!SiIJ?C4)qTEnxz1~~hKTEW|$hY}Sia^|QHKUiMnJGu6P{hl}p3j~97GV0h_zR!x}OmJbhIw{R#vS$<1H zc!+PPKmI?~s4aECZ4>AG!Oj5<7d)oHqd6tL@)iA!hC<3X zA?-$waPd{a)Fsf&67D-YNWaVp7E4BfUs1iH94y{yo?5wED!S}YA+|K0{xI>h2FfEK zp;Ls;@Sq*r)cu`a6xz9ht+DJC@H_phQJo6$#{>#Y2R__R8z(i(-)3N$1})PcIWzX9HvEAVp~uUe!Q!ejqYKOPJP=pN~NTm zsUKhbdn@$YWQc2yFiNyk(>S=XOw<%Rh?bj7>j?9^nFJ@n0YNDwn_{OP79NQTm6{4> zOW``DYXftRJZf$_*>G4-hvZi=6`}LbA>>GO8X6i53y4^HjFt+apHj6t!-OJ0wPo`* zIOUN=@PUd|#vZcC82W-j1OsV=^Q{B%o%#k=cB@@a>((KyoQ@Iv3d@84X3sF2IK@A% zz#l9$iGG7-8k(RsvnwVfxG%~jP|?whp)dpd8r>+^LqjZ6^s~%0W5!ZWIyfv(chf_5 z3*d1ha9x@U;I8C!i`dydpXJ>Sy~zk6w-CbKZ!!$Ns`jw(vI|9k^Dop&pe7SZwM_5g`CgH_8gd7j&+MI|p zr$((qkGOP1(`a`YhdWklgH6Vc;gGf#{X+;lQmk;ssp-cGPcbMBLZb7Oyd#YwC%lu1 z(W<>BmEuK7PA6kh#qR$zwW}A1URS#EtY;^G3l!DVaH3A6>w?e(2FTI2Ha5C`oy>A5 z2yrCGggK4&hVGThh`dIH4FN}bX7T|Dr|(ALwc$<@F#_@fi43VhiZl>@w7QV7@n ze=T;wLfWj9Q{dKM6WJ>d8t&p0XkkiKj@N(Hs9meo;7mO574Juj0ikP*?pAN65<-jJ z-FTESSGe;HIET(zB?=yNSFijBA}3SGY4)2ObuT&dvrvi@2Ekn{1ZcN+rV@GH6=}}dJ zuNb*Lk6Pc$*gnK_5=UacFh{~ECNe(|*jg(wm{}Za%zR6i`*c%mqvV`4%xlj*M2uS? zn-0QOF&T=J(6Z6PJM(wXNxEfzpN0CC_otClJmhgAAx;U1uUi@>YQr{?r!=v1!@ix| z<~IKMiYfLtxeNMU!32TS46&@xcq{kDbmTLJxKccZa@^9{0o>*{m>i@$WAxJ_r2nJq zEuf-|x_5DGBn=dh5-BC6Ltqr7r8@_tTe=x6P*Pf2=|;L4>F#dHp;KaDnD-uk_y6hl zzw2I?%f-^=%zMte&)&~|_Otgf?M&+XrV?t(hzb6z#H7|&GvlVLs;b(qBK$_I(R8N0 zneV0Yhn;XH)aP^6GZO|a(>xFSXK^HrK?<0p5)XOC=%&|+{#+qXZzv7 zq9R%KoL|j?g38)#kI$&`aNjtE{XgoWYzoostoi~XS(C#$91OAe-Z=xuhH2X$Z&zk4R+6s#4eUD{o)i5g4@u6%pL z48a`opVVJ#Ns))s49%f0PUdyj>p|CIyr8k!qFZ~|>>q7V2f9@qUR1L)1q*q=DMXS@ zyg_ScEESdj+vST4V#8;bD@+UV(!*Iv4mlHiUEFJ``}LqCq8;ic4>}7M%@zFennaaA z`>1P4ar)i9S|6s0GTl5EMM z+Sn6yIc9NXkso84EYEYFyjnH2Ak5DWnF~}p8&&Il8vONE>dJYM5{F9bjBpP(7bm?q zOG*QtJVEffxN0JSj>mrdZ9Fxicd3ea9EdPnJv=*+a62DkrKFQMocft~`IpkDI{_92P27zI4hr@0&KsX?S#nWHaf&HH(Z0Uw6vR^D{rZ@~Gb~ zEj~i(c>csMQE&0jtzxOxCL2q{mb-Nq71NqU2KB#>GA_lxi~~x-MqBZr7#_kK6kz_u zWD=8IwTDKX_jAVX76^fT{k#19I!!se-d}b8;k_x>3A0@%&pI4-C?(;4ETQ5&xpFj| zpC0`%A9#c%vvI;%mi>D`zcC#s(Z>ye23G#V)IKVy4=PFNv`Ge-%}j(S=W?x>gqN(v1Y@_roIP!;6zVDMFg0)7l@+q_g!t zPZ)L6{aQo>x)|cEiksp;Gv1NmT5Jn5tp6BrhoF;ZKeD)=WyJY~q4w~F^RCF7*`uLN zsGFqu{-as8{mY6o(kk!4tWu|;;R=~LEk&zt!{A6AMs!Ga;Qe9lS3KDc+FxiteOog1 ze$vM|@VfOOu8qI^HjdDQ2>+`Lo}y>vRL++V2KW1}bY4^Gk6vhdm;(8zm`t+?8UAOQ8$mwO6D{z0ejU8=a4x2o@!j zAIui>_)hp$I4-mJed<0R;qiz3u>BCqu=|ml%YJ0I_zUk+9-Jc99F<903my_vdCa(7VlEjE|mN6USvZ;W^ACx!)3XtT=3d3a47ATq-`-@A@)hW)5-byf5wj z_(j9ew+RFpLx=i{o1vPwx`_k-WRR8T&miKw9yccSvZu!>zg zSl1uWPB<-HPG<>x)crCdqDotP%&$cH+i-7hlj88_EF53VldXq8^(gipre^dCPRkYZ zK3#7Dl5(@h`vsg&#ljV=kwLegi&KGfuZ+qv0d`SbH8%mHQGYtAiAnO zJN@Iwr)@%CgO}QxMm=F|iPv}*;OfCH*}YxUKVoD3g6@9CEf+JuD~|Tl^2v+hf2Tcl zd7Aj{wKJ`UpYMzN<2@lFm#I@bfXBF~_M13Aau%L2DyeLHAdLRhHC_Fs?CoQ-r$v#_z*>-=&vm*ODE-nHh!@ zN&ZYNP!-o%V(WZw-?%765Xa}9a6`TFkIY4l%+Yx%-Sks75g+MpbB|Ph7fEM4>kUVR zU`BxQ_I}1Zw>1vsA$JefVy@4S)s6RlQ6JqU zzC2r#t?iB$IO$SIBkWq<(-7VVvYZtr&0bM&4J13H^VbQWkepmAyD~(aM2eCaQ^3!! zI2_`{4BzFV=mu2RujiD!@)k{b^!-$FP!p9`Sm?U!;Zb$l0>-%gQ`=A0Mnm)VOIiBu z1#9b!+}z+&p$srWghxJ((W#;Ck>FwSd|O3|;;Q#_%F8>9!kW7Z1_X}-`!4L_j-@jh zcvmRf`$+GJW6gE6R8QPLTeB?4qn0(8D%v(P(N_&u_m@cz{2 z8p;?^DD(E=p<*<3VCuv4M~p9bZRFbcGAxsm&U2X^E=FCbmT<(132Em;Oco)hH+0&B zpYXMhJbio=jK3%@i8PXNK3h1w>vZQc3@9f!rKq}L^K(=CGo}5lyglY~Jj3*T++fO% z|NU3`rq?B=UM)jZmGk>(6kH3%{YNI-h=EmV$4YYfP!0Yl^0|C?xe9~0jYjlGRqIlF zq>Tvh%pK5%h`w2RD%AmHnGwz#dkauX!%=PrFOGI$BFo*esSa2~O42)zedzo1iy)4= zD$8NU&7@<%HTj~p-N1ZLsg2RcV~kX;EpGGLL$|v~VVFH}V;@x&VyTzEWos%4XrtKm zs<69GZ)J1sIMhhb4J#vrsA# zJ_Sec=MES=@cU>S-j1v?YW6?hsqPf{6xKF_t} z`j2+QQw&-BP6x0)Xt!EC7=or}sRYqbh4i^ozv#IBt+66FVlpF^pPx~)#Ej4JG#fOz z?6^MQwyzP)F=qKWsIFPdP_I|@=6^OBtoY4B>YatdkMtb{!}oB_#%|${+z66k$@&6` zT%s^LNV$O)cb3|E+R-gSC!D&Q2uA`C^{s4Z_^Q}_% z30QkhR${z+QrlT3@f_p_4af6ZYp}xiMiG#u`XD5F@7H9U)1{|GpF)}|M1MW1#M+0SB33U~;pEl7I{zklu^mv^ zAB%?E8z&}Xorx?7Ek3LF+_AAp@I}Yy7QH zJKyno#j_d=>;G|jRBk<3wAT{$db3P^MkGxl=wtR_>ZeSO%GOBH(F+8Fzu?$`g(iuc6ZJ&`#~n>kh# zMsYGHH^`*1Ti@)|l(fFZZuSJh@g1wE_^c;q$^lQZ-sHT|i^sRlFkfO78YI_8CJ1Hc z(WPnhPZ+(W;IKfyd4Wpfo(2OiQjoYkP!}rIsmP*WytnW}lIsk*7m2j2NBHieNi_`| z)Tg?p;E1CmQ&0in3osorlJeer(c@!w7g4k0Io$f)LMJ6xbLaoupg+bGbou$$5egZF zOA~-a`P2NR@D#May6KAtFc~bwo?mdmV-7;6y-IQVgfCvHI=*oAKGe^qo<*+j zoFEE1T?!jRVnM>V!|9+nYq{L2V&9DEOiHa=BMOcUVYAHi_5ipWBu8 zSKEOu?LTdpJtR|1Efj*!*ITnHGPocbQ4urjy+QF4n_!}@qj(a>QTqfKg7X1lSK}1Y z+}Zv#emRt)b!rkRVm_Ly?%}+CL~%TA4kep&?$j;yy-LCKBO&hX)4MA6225{N6$Ot# z*1o|`qN(R=>WE~BQhAs2EWGC5O8+{GV!`LiBpP&#pP_l{lX}+c)LFSfiJo0W_)E-x z#u@%;#8aqLKyJhz!3z5~@v;(~12Z#k+o1SRB^qGb?*Lzwv{b1p_OpDN&=n!$VD7k7 ze)X`pvZJ@LfH(HkgxZOq{@!^Z#$pfii(;ph(xn)V2j^`UX*5{5@f<0MjVt85@oFDG zTybu{{Wdga!o2WV76Tj$%Z`J)sfr(tYU(GIvP(YtBQX^x66KkTQ%rOn@;|bq_q)Tn zJLXZ)`(7m_+j?z}A?VOGdp}|(^B02tF7jc`wdDVwNBsZnd&2wMqtsk0m9o;@-h^lK zcp06WMyry`f~`{rE8R{*!Jt3S!hZV`V$&ZsJCFox0Od$=A|d+d;}Nxs zuI?heN;`c6O)ronxJ_D)tGzg)l6v3<=U*Epbv%SHyNM9$cw~#`=o;7AWocPC3`PI>r!xK6 z;o9|bhBAqZ*y}j|`Gu#Oqavn$YmCokB)6W38bddo&IxW|O7)Q{m||fxgDa%$0#sEg+}N{LS?KDHW^pyut29w z^mqIB-@kuT`pg%?k#l7Z+>>KXo4g(RSLW|BDe&amtKv(y<|5D@G8OiB)3dS^FI?j> zshq(z`I5Vt?eiM{*$O|zHx&liC&E!B6F*XOhMEJ2OM98!w$JJ%N@I!)s@39JHo$tz zbH^jL2X!|~UAi?K-Z~h!Yj>Y|i!S0j6}~JBQ*!D{W`=W$Je52JWv~vi}9-TwZ zafb%(^IXw7x2J;nIUEH9jHW&s-ov{lF~HL}^r83ic7la|KSZH6ZlO*zCFEu4e78-$ zW1WA}hOa$2tU%>S&q8>m?P24gdB4;CsL%11cGjmp$|U8l7CqUVh50V$$J@^l)8p#6 z{TxS zO9Hgt%(UKRd`ww2WA{@*-!b@(hh(Ovb?H{KQZE?`*lmEFB57V>-Ntw4gE3GV1GFx% z1nGn!D)+xc@Ycrg^0Jd^sV->74O~~vfB){7ov`T+JW@E%P~MKwMVmK={vMtL^&ui4 zO+9E#DhwMJv^x>UZC(I>3QtN2RPU~!9Bfzu44`B23aUS)Kb}*r*V5a?m*0M_#}y4Y z%5s}I*$Ov<#!}h)2(3&1*$`}}Y=fo>xW?C5ygjGNN8wYP>;2 z`Gw5`)t97jJ1IrP%Zx9TZPVwHn$bD>Hd+H1ds*eq%xGf2e(>fOlrf&uz z6}Un3M*>se@Y^C>#F=f6Nz8M zXw30}PyhI`*`1>5Lk!}%roA>6VU*>t68uvqnzHU@lZxIo)mDih->%tMkMm=yF?n)v z`7FgG?0Qz~oPlUbeVOe=<5GK=Q)Q5g^|*wTL~Y5kVvujivlo)e8jUQcspqwq|Fgw7 ztzwg0rZN#Ea{0ParHs8PE4hB3#T^`CSz?Ol<(`PYCqVTlxm95fQRKDQY;*h2)dW5} z*OQ%Dy{++s2r;n$*SKx%4DnvaqdY5(UIOVr2U>`UOeX@8i<@~Rx{J1uv##&*9CgfV zEn&@CwrEnRZL2Ww!4d>!kt@a@rMuI}u88M&%gE!blUtC#_|PZq{*0Wl`^|5yKGxQ`zG1JfjnptGJ{T4k_;EpsS(er*fi<*hqwXbakOOG!v>aESiYtt z2CMu`f6-ugxzYFDJ9XhDcO)H>%w=<|AW`GIa$`2HvWkj^W1dbbG>}G8vaoD^@XHHv z$4Y$Cu2v;s+={l`1~Uv)np_ z>;tBkA+Z&R^#GBlV^{u8_8L0osJw^t&B{!4Q^MsHf$l5Yi342E>pDEvsP@{3c8;|1 zMM%ir-A*|qH4vsHGiZ!uQSZB;azn+As|+W1@F7*_+CKBHU)j%h9x2Q(UWMwXy*dvOT^IC3x zObuPZchzD(9uSVx{*;+m`;L(;@Y|DjT^oXk@k7YWMPw;$8I91O6L`2h)GAl)y9#Gy zU@%36CLO16=$G{Pj>DHLBFmkSh1k(4*7KuZ7Gf6C;lmuvf7emh+7+#0F}p&jOTljy zk(ijc>Fqc><>HCNndGDJ=dW>Gk*(Ow%*rAr7gnoD4U65q@H*)Q!=w9VQ%E7bQqO{X zmDdG5dI~P{*NP zc^)9rgEn7il2{>JQO}=R$xkq~R7e|K-Zdq4bkuoF_)>e(c>yUF$WD)1+`^G7W{wUd znO-s@Ko?&FAo;!8cTe?i#P$VC%SB5U_3rS3r-Uq@dNuNtb1SqV zY>p&5_ZBNhG95iSone{jV;X~u!gnR5t8CQi43U+T(HWLSd$6ddIgL+WiNfzn{wl?i1{*ML`%89` zW)QeaQ(|Qfv}ukYT*T+h`MhG=R;OaYf;4_wC0{bl$dZ;Vi*3a^O7?pl;)QCC8bLER zkGThx-xHKU-vPb%Di5JzX`cDD7Af-n-KSgn)U2y$W`BK7k-fe6f%kdhSS>2Ywec^+ z4@_GI1IBS7lJ@Q7E$H)7g16}Czg>BJ4*=#rq$<+OmXGvBFx z(TD=>2#paQe*yD*g)SM zu1AZA>xx#Frg@Kg?ApmMhDGpBosRn}ag;Ma=G7svs|?%R;J5y?c}>IoNP)WKv-cD? zJ|F^@rbLH-+RZJZVDd!Lfwv#fP#WB|LM(pt4i(~0s!5OMVDY}Etx?q>rk%cZUFs0r z@JqpEu{L^|=Yf_@&&=GJtj}_6WhOdNskaJwR=HbMlGGZ6INmSec^?xT4iEM|Ted6= zV-pea0j`h8Ua9kr7%B08%mN1|K#loc_nWfW!@Y9rF^A$~Y&47JyWfqj3kYxvc;U)p zRMb6)^8?xN&`^oa=}?A%(;WEDxds=n{lygV_xfM2{ZNxhmGLi)kt-Sb`CX>w7WK~x zj`z@#yU*Mq6wQ6P6@x&SNH3tE@)@gZ(Rc@Jo83xc-)ZNP#;e!00yAv0QWJw$<#o5_ z>QMmTdTi~TFSZ6H&w5R2?uLiHxN@Vqs@zgFYr06(W^GT8W^Q}BavOmp^LOCbG#EI+ z{kx7iXP#c`84>abV}^Phfq0q?M>;oyJAn!EKiy9@3&<6aPHf$T!hBUyR0hypu$S`?LKA6dMz|vBSk8xGRhC`C700Ah&rD}GATNGevpxo zQD^p_v5S`GYm+_1T0 zyp!F`59Jy-;clF|mgnBj7wZuK#ymx(yuU%LQJ~VBv4bc3%T<_`YeB3jMsTl_jso9^v z7>+=pE(G9b!^lv`^del~!HE6ZV$AUHaC<1ZIpThSZh7Z=9$vlY?}+&a@7PfWp&59! z&+qGv>)Q43Bzts5Lnlj;>bLGSfvoD&v}|7-}i zmX+-S^5x$RmlnBRoc&tq))4kO?n#_yZ!yp!ueKWa+4vUwLNFfJ5cj*vEnANler06@ z-*Dp@wc}qu4y2Qj{0@d8aTI9SbH(W)pT%U??HwQ%{5~g&=o-{GTS{17D_TZ73g`XO zepjl8w=n4&Ei0kS%2ucUh)=bn^N4qabm1rcTJG28$&|DAX zZx+nSr;HYS|0sEduM<5}jD7vbL#?Ity1%+W6x8pv!3KF+!M}PCd&xSXuW?^u;Ddj@43ghW{#FAm`H)ZdgTAI+u71~GFd$Bd1To_b=Q33By02U!S6mSY;429_@}fqAnRHaM;@-(#s$qN92cl9?z~ z{SN&PY2w&(k43CZwO4>7hxJqYR>96pHC>Pp09uUtzkr)adL*Qql8LoyY6&2wiN_zD zt#yL{OVx2NJn5OM!`$Ps^i{8XNlv~?g9=zCT}D(?K){U`ZxX*iPOl`}4LtU<6GOjz8vx$O ze!7N@kMDSWIP02^A_y<%$LmZYemKx`%i#^c0_+>N>ms_ib6Z|&4tovOdz}Cv!%{f+ zv@U$Jh}dSnVs>82-pl8M*K#? z2-X{%b?n!@t`--QHo=ipw|>!7`ObOb=Xxr^O*u2d>@$<6P=64 zWJ84!SnvMi>|*1#a?8m~o#>4@9dJM6+}I2A^tD%QtbR%o?RTp2RdM*_Lf7=apkbYX zXyhIjF73$PZK7AW=#P6aq(Tg>HarQw9q&@(yuoFD>;`V~@HyIuu71<19~c?!zCkjm z?MVj2wdL4shcw3O2?-mUeAT+5H(U<1>TKIIjLR`MSn6 zH;c%G&wcLM&y0VNjAy87I$d%HAI>>KKdaflQ=bnL@m#ieV<_ozCRDxwqRq6?jZpwa z7g5_B))N~UgQG=v4c?f(GpP4G0u&f17+@MUPp}u)wJ7eAG!0l*DIwIek<4{9lC37* zWCr@f)gNO8YRdMw*0=+wor^K5lu5eo>I9vqb@Jl2NzCy|^`LHBj1(R?dK35w zX(cCV2kF~Onf-gTRsWG(IOLHDGMcjB02K>|+Hs$qY^Nk9+Vp9Xau`I3iuJ4LjU+$b zmkPR%rN2L|>=gg@0#@s>lzFiMVh0TSRPk|^y|#X9?&f&Te4S;`Lmx?bFME!ZT@?09 ze7qIAJ2*;%%3h@GTBqnw9FL~l^7TtYHInv$;L_>p>9w&uRb+dBNPF-Dit0xPYlCUT zG$if|na|vIC`HatV{E$o`Sb3WiG4t$2*7;@%-?6U>#^n6oH8Jt&J{v(d0U8)7)4pN#?-+fRqWhGaS7%P0Xdqv z@BU)OXr9K&c^N!O$EBV}NHJQY*V0{*!Ap0cmx{9YFj%(NvdoGjDa$Qw?*vA(-+H|L z>`oyg$*PMlz~#yFCt7k6+5z$71XNsG*o$-R0{6{THtqAzis!$5PWOzCegyBqDGPKf zs@--C8hwJ2MZ7d>&8TX-yZ2a&MlFucSf|DRIiqD#YOC3a>V(T7q9P&=w)s^HU?T2@dySPZ&6 z-8xGlDRh#e6eKs-4oSUveHW!fyee%kUL57}Zs|0Dky#H+vJJ{5D+_6W^IzNSgi94_ zRl96f_;8*pBni0ymgiA*E-|(6>FTC^9@1B1egXF;L6V@4nFiZ+kYX3E@(!)Ad}W@p zPp>O(8nMs1|I&UDP-1;lwH+tYPg%RUc)GBE-`sQ2CFxKGf#hG7Dsx2cUFlEID!7l? z*a`rg9AZ1!IV$Guu$?UlIm|!mPeaI#&r(p)=|1G-qX(O~<$I!1(PuIpiwsr+vXkv&0sC4T=LUmPK=s zqRw}9UM?++?!B#n z0dZrsSEu8+DIyq1Fmi$XQVueyYmz>+`)m&shT|ig|U*776_8;o` zo>P^>)G*&I?<3+`m)Js(no3SyKG~fm&eJP@ap50EEy9JoM~yrNUy+_}J#?Ff1_9DF z8>yzztLr-B5rx14p3j(tyDjzRq)CP8P>AqY4`F)NxfeeSf&%~DLdIY+Y<2z*VyVOC z03t;hnc{ghZ|}N%ZSk-jk#nD^{sj`hSjq7kiA^B1TDc&Jh>V;rx8>ltE>UdtF0+`I6;5#t*uzw!vi*GkyGn*@6eJ($U$D6k7aV_k>pVi{S zUdrpMuHQ}DKPhm)m%$uz!O~SN8sAm&(W>GlrzusJ@jm_IFvUvC(J`Yi&2a`MCf&-_ zf}_tC^A76~86J}ls~&+KD?vdtz}jBE^W5$Ox9Z_I;w9lM8bW%f!-}H4n6vWTHSg|9 z`}r94OL%#DM|1UFM5M`2u`KHm>dYT!>%GR$hK&K-7ndKhPl}b~2edP#2!vo;k4J_X zV7*=z3lURsL|sTt()``y$2MZ8ikt-NhIrq=D+CC%pd%5*Uc*C8hFI(xK zBdH2AMos3vg?S$L9Up{JJX09E_G^G9fRf$g;>;x}tI~M^IEfhcH*D)uYvF0F@nSS5 zSo$3my->Ryz^UY_;W_Qyc^k13&72fKgc$$($ls)K7ZCUDFMUui^aQ0&O4ILVrRZO8 z-|JS`aH7To|2qp!8u{`iqB|U_I;Zce@3((RofW75##NKIvO@eH#lsT6} zRFmd`3E2e1eSVKauj;XWiPTB*YBgUv>rqQ_-M}l5#r5LdnFg+Oe za@`d~i1Iyo(rEYhL@QN7FtTnVEc6dkxNPiqXd)3t_K_$)?s231dn~P8J0) z@pu6yUjpWK;l(?c@BR1lB{E>l9|x8cU0co=lwc2gB_qR0n#xx&)kP%UYss!(6SYaG zkj&GX$%o%+T5d8g>eFhPtDfU~QYbHj{_vrNGp&ssUgOz!39WOc&Pv

    5a;f5EUHlM(RwB13gcuD>88O11|%FiW7 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

    ryJw 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�_>zqG?fnyQ$Y`yzKFHh6KsF0~caj1sH(J4e}Hu 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�g2oV{)K7bUGupQDdWj)O3( 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
      K%?pk>_HCxr*rPCF+!t?7l`}1~$7>jYws7}L+Q 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 z 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

      n9W&c$Ie%R!$A|e)X2gUMO$3gk< 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

        GGU-IYR#Sm;J%6=TlUlhpQQ% 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�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

          5iXAsG`@pjZ4x&d6c}- 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%0D|3K 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�c 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ำk)s;aegd3pK74f~m< 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

          1BEC5h1}cP_De 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

          =J=LYw%*ONvEUZgQX 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 >Nm|}Vl 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

          eX1{7e$-0g?g!5RYU}7H5{B*qCQd z1H49&oRdWO&6rQw36dK5`eFiE{jb{UWEnUC?)3yvg=jUSesB1#ul4WzhtAK>U%q+! zm0i2Qt5OX#RNHfv6{}2JQ#!!H)sk{0q@P+>O9IC!JS79F3g5qgUQskv>}AMzk%X*4 zrNbr9y|A%b^${ovfoj38L2!Y%R#LMH%m!LY?OcsRmDE+K1WUzcT^10lfyT;Luof|E z$`+&x1Zwntk-e%Gk3!D~K4suqgSd@nsxr8x5=jNFwVKify((8r*x|4WlrtwhFKOv2 zX#CE@afDO}RzOv21%u%A7$8=Vw<^SHwStu$>!6E7)FM{w2iQ8-wXTq? z(_kcH)j(2E)?nF&-I06-D!~TXA$wA7$BGk*;)>BLR44rpOF^pqsl>bDUjU58zEyi_ zGSFTNaHY1eaU_ME5-aeleJdFTbi7wc3sxlTc*vOSXYNE6-6%m z9mxvAE#_(r(IL58U`VAD;ok_!xhd#1C#6vv2|GZtUFH#!hoMQfE8L9nZ!Oj+reHdV zApgen?H^JEW1f0nv6S+=Z6t|1Uva#pDJMzHTS&ZFsNi_0vuF`qHh0ve+zbavN<$a} ze~-TTSroB`k8-Di*i}gQPPQT}m{M;F+ha7U5Mqs;)8>-p(IweGd_!`lVrC5R2bHm5 z!_#L7k`!Vct4a-nvtpNW7=$|Zc6{E35JMA;Rfj`syPApA?~R^&s{cR#ymO-7+PS-P z=s>43+o^;6RCveLSh7~>fbdb-t6Eb~Z6k@pm>L)uDg$H9TVHn<8EiU_jGtkQG!+Fu zwyEOQ^<3n6K(ZpsP+W@;D?n5$ITb==3}CUq*Z5^35UUh7+a|ltelbf{JZjpAy36`f zHdqysjL@o$XQ|LXs5;{!Sj$*Jc&gk5;{=k{u8GYmw1NS#&X)#H28b0vheWJZgjlUs zu=cX6lz~kcRsyj$0kOJKY!tLKf8?euL!LRV{P{=f)W2 zA+2CrR*N`EBUaoB+#G33OW{@@u_8R{A=YhyV`0z0*5GJmuB-H)JrS^ENxnYgcFEvt zW$_9|uR_=g;as)ER=r>0|9SgzdHZr@`?<>YbLFXf%ai9yTNaPJ>eTMnojrKsbMIRI z(Z`?fU+519gW+J1K@u@>GSD0r&YIk4I7mi;A{#n$qw+1RPV?xQIWAv|K?W*&V4dpv z2sN{OOe+<8WzSu*gSMc|LHG=ef0fy0+CoV-nYk0|pYUd(ox@eU41f9^z)Cuj5|oZEPa)jhIP zG;%+>@VzG@~(&iQ&7&iO{g?&p3uV=&;6GJTSM z=)}-3#CGiDf&Wa%!-uge^$rhv}@C%Ai`GAq7`6kf?%CRfeh&SGPU<;^)`@=y%%X>DIozo!RNtnuw`7Uv14q8g^qw(P?wiwmHWR0)mfPxY$n;Ml!R3la?1~ol^ENV3@bwDLjBzEAcRIWxhvE&+=J zTvdowumnL}=iclQ*&lsknWQJw0e7q_>vvvjb3mg6qtPo|CUp(7-IDsWqoz!?VkgD#C#D< z!((HHr<|hp#=ITA_sE8%S8AyHwS@09!mUe|cD0l!C?Q))zIw7B$fl7w$%|pw>%-hn zDRzvop|9K{h(vK%(JS%jqfn8QQJQ-(+C;fkGo)~4o=zx^EQHE)+iqUpCOayZlibXS zMaazQD+_t$PD&mFv9i$``H5o4(#HX#k;@HpEBA6bM{SoNJdF%*J<777aICbEWss@U z8h!pV{oj3O=g6VX!2_$c(&}8LJ1?Bd3IUu6uBuQE6;nnl17rE7f<=UVC^p_S;0rki zcC9!y7N)FCk#}5;96iK}twE8JFrpyYFtSMNOgNT^JQ|pX!e8Wz$pCZPSmaj>BeL^Hn5Zb*xzhTn!4kfmvmT2(4h{c1d_%!U1jsTos7*m_@9e^7NHs6+o;ooCY3Z z{ldkkrj}}3mJUxWA+2B?+QuMOA>C6hd1caYRmMEUcC1bu8KXd}03ecYIv#gTv>KJc z8l}2IOkb$#dS|i_5_6&utIz>Pp>wd=sg!;Sv8fX=M>WKW$YX0)d|Ie$Ft|m~2wEb< zik&j)2sn=4VAVgyv9NT@?01VQ>-0e2Gs+KaI z_Fr>y|GwonzUS!=K6&}M&Twro8uW(Xn#m{$%g8vqiED^h$tlr!8sBt{v7F^us-{M{ z8Cxjet?ao=+ZelxSRQ6gFQftypS0h9Cw$#KH)R*2!B=%t5FaG(+3 zcjjAQ`jf0Kg|S$5m=r@l3 ze?EWWVI2t@!xcP{;an}6klU~z_jV$r5K*RS5@v=al3Qo0Hi%V7!IY({iKU)p8!x^v zy6}|6tOBZRRJ4~#;+BO8kwv{tVR^85Siot z7oj!}uSr;kqv2@KEy1G{wkqjo2!6GqZ-7{>VArrA)tHsA*m_&i_NwR(HaHa-TnAGD z95x!ljwve&qvL2GYsoL+{Yk=PDvR7EykG5-CENuL4?C zC{VSvh{4s|EoiJu$7^`XR-bu0iC<`Jh%yb~o4{|;$+G0I3@f!XjkQ4XK0Hxw5}cq}LW(qyCpzd98|C&|baW@{F^%Dvi{NDGnyZ*WV=G)iz?Or{6aJ63P9&2=tH#*1bonyj7tk4uS zn!Q+)7Eq^j^%ICh6%fN9QEANDr#dQYi0OPaUEeJdse2q?N$juK*HYGy7RiNOtzb&y zR{(A4C(6O9T8yg{hK1WD+kB+ii#kNAK%-=Vxx(_ZF}bRWvKpEI%iaUfI=fPxH2~Iz z-O-+@OcYn6T5Q#rC1RbIAz39*t#*&qAR!rRS0UC~r!up0qBeNyagg16h;@{G@zVM2 z%NVg%V)0mw9jFw{DXFVLtQrI2kTJeQ(gIQqHXV0Kjx5#4I(2Xy)_he%RHQWPdtS0J zbPVjZKONXhM7Ighv<%*=TqhyC%f->k23AR3QAAf6>{Y1~Pn?BVIaAP4*S_4%e2gD*=Sglhm`)(~sD+mG&1}q=Jw|RV%ua@{rI2)t+3mOy ze;mhLu@fGzu9QyB-BpPk6E01e4|Y?m zbyr1C!21CGAy-^r7qXQ5D)~86W{wTZ^m&8iEhTgM92FDEr3~g6hqxa+w$rE0lv#R= zV>jm84;Al2`KL*PMw^o_4)|M+)nbB)!#ySqmYt~IKi`FiJAqkX*57I0O0*RhBd z$q=fA17t360u&tEIls?DP$PhMp{H#=RX>;TCHG-`=mc260SPnR3lac z;KGfXVC@OY1*%Sb9F6+*OLRf2K%g42nt!z@cEKj)xM>meghAfg zoW0@f!Rzkcy=C#>+rRL85B%uCOIbSu)pH1fBmFW#C>#;Xl|ZbXM2VU+o&3qm+!(S* zqv%5Vs*UZ#(^r3fFXY|lf97HhoQ>ZBjwku@YGJBQp+GZV9F)a24>^l+g!!-{zCXjA zD)Td?i0lDXyE!LG0IeyVTxbXtdU1(D)k041h<0Jmd$(jLeidgzO6UUF3f_xtzzIhEq_CTb{nTNoMv4rc|2J z1BJ$6`upXJFn!LS5c2KiyB*)jRnCc#BAMhfr*jo6t8{MNKn7}ouu3={PPg$I!mX5f zVe+vdYF&%iC^xQerSsCt;m1e%uI#z9i z?5y6IuPd)RRxT;cQH@Toa&;?w5GmDGCG|6&b!F@ogVgcvcbJMkb!ZS$y6 zE#SmO9U#U-d{%wecwSP7RiRO3{;6RgR`i7o;Acq!QuNf-p*7mbfIWr3VxyM4T%B01 zO)fi5jBRuq3bC3DNS{{Q&niqUokV$&SVP3>hFi5f3)f7-Gm_5ZxnL?O#HtjGwTxAD zly=jEi&#ObOgf5WalLAG{_&22Cb2{rgtydc3##nc8ABPrNcC`|Hl}O426xfN_FJc4VkpBU|Wcs&|)1M zYYXOq`N>?lpCMU_-=F8^@kqr)UCd3M4#^MslP8#49e+9(Qt&?K7}=0Q`Z`kR10=5) zhq*Jrc=Fk?FTQEaacDTaB`Ln^!dJ8TgR-$Hc*V54Nd1>3o1-KX%zKdvbVdVDu}eA$ zR6+X}+$)Jz4F<|^bu=3O=fAK2^?N!;4s~~IT|KyettwGrd8JWanXj}U1ZS-?S8GEO z-eMa7TcjPRhcT7KrAk^vXvBO-&DATVJmN~6Wief#A#8MsLkddASVx1Ekk)`ifjY7H z6$w~v_!ybTVNW7iLb?js1YC7YaRZUAK(z=dyRB0(RUPRq>PZK#0@9x)+$CWdw1%sm z!mv#Ov;uDRj9A?_=pa@UlGVysaXeN}#@eWL$_B9pTEXCX>HJh4Vx81tRw-Jwh*jnh z!cEsMRf8;J2kOdLt>LF5c0`y|OHQ?~U`J4E#H>1sjg@{{-C!@qjYP5<{37wI6(3_} zltM2Gy^0(nfCi1zhzUHwi;mm6l4A%d?Zqvs;_fuU*)G-NLTMgKusA;A2;Wymfu( z1aB37nLzw%04%pwqcGLjtFWGQJqVn%0|^&0Qje?9j;@dz8_5I1ws*(m59t@$|1*2n zF|^TQ3^RK?a{oZ1gCfj_SD|eW+c=s6$!+cqifI)6h>dPD9@{@rQv7Bz%tlhqtuA)} z=MrT4JinzP3(~cNU+SJSSLJ~B*iUkn$c05b+qoZ3x;W`7B32$gr0`P|PlZ)@t&0sU zFAqb3tdwa;QTRCqT#bDliQ>qy5$kvpON<%jO~vM0a^QLNW6RUn4NsArdQr5(vQmA+ z^=5$Akqz=V-$c3(I9CAFVa*~|AFhfS4fK9Tz4cLlAna45M0Pa%+H-5~fA`Al(bg?f z-P`uB)@HkPz#~@4c23G7K?hhQ5uFo~@uy@%tRgL0EfO`-RVAAA{TKQAy*hAe6tTK+ z)snKlZM6_qfNqaB53xFOPXs5GycNM!9Nk9$tgO^32(CJa)dp$B-lcrAUkO)3yIp(7 zgjJQYREbzA(CV45YBgX6v0_8xpr4JvTKBDt%BoxhcQIo1w1TDQrSj~`8wFy`T*L~# zf(H*@d}?aBrVy*KV>PaTmn)D2jMcam{*XXb1!;8=YXDaSu8u}&>Q5-yuc!U!6m>(-^xmgbRb&g^>C z>D}|6|Fz{GJ#Z;o(N52YgKV%4ewq3rcq?Vu8eDiGHrWKx?A>sZW6JEdn)`W z#zUgGExovRVoa(+C8`)DZpn%w*2GTR3}|Ke_pUL--!X2PDtN@2*pqI1sA0oKw@JUB z%QnMgI;nKT8ml*VqsR|q@>?T`#7O72lt8ScJGWvR;8-uEjI7k_ej`tX&#JKIMNb*mx-YNOJcQ!s6%UI7`aloATu3jd1aDbpf3 zCf0Ywx~z`i&+*giT5)3CRL9m8)zxZPZ$*B~$*Bos<0DotxT?vc0j9A_ z)yPp|Y8s_V$ueQD+K_6}vNMrYtk&<9ip>b-qmZ(?)0ERB9X{3CrK+EVXw~G=n%L@J zt*Q-=q=PJlSXDSzt#xehzV0q0T@^aO03BV40=>xfpJ_%g^Q6uUXH7}oe4R=^N>681eiX**4WLv4*g5g)z< z*wdkJgvC0%EYi*mFtx9`OdwVyfz>fsjoeei(yb1RMbH%^U#;)&(63XVK9aHfqDl?p3Ld3$~X^H!M!S`t<%+pWgSThu?Ys^PgQA zbw;CMKkKh$>l(4*DKj#|`@RFHg_|s&CMxC6%)^3AW-l83 zzPtFcOlQW1Yx;y%sA*$-p+!aNv8OyIDRUs-IVn9xwlQ(M<&L7wAXc7dvL@W3C}@>= zVm>Mp8iRN+@#mG{t2f(j7~e|$z7RElzySi*42PqyJ=g!M_pFp>R`%^_&mQe6?O6d; ztih(#WyKzN6lgWkISnKPkZ56}gW&w2EjCsQmM3b@v>3Fydbt5&#nM2FXN}~SB!cMp zo`kKZTxG}^=8;g*AXdU~6){mI+Es{|Z&R(5A-ZrkjU#ic?b9s^|NkWWk}cS&I=GYZHH@QoRfmWWeF*edRj~ntPEW4Re!S4oh-yr|# zG0jXztea_Fj1x1S>9(MoG0>{UKXTrd!p0Z?HU z`9>KY6rRL-xzf*)(8X1|BPBj{9sfqcpG6O)NqIf06deDqua9~?FjedDXy`~R$a z^l*FMo=$1DJJ)E>*W2^L<*&h3>JMY2>8rW6=d4iGpcrl0>UtJJ2uK*W3Te$yS4OwE{p}CERu?jD|l zKQg|QmHc!O(za%0t4JDAs{YyP=22drbYvXKs*PMD#lGqfQJvBRR=UK-gA)p=gO!K% zeT-O*2Pbu0Ae&=@w+dguDk)dPA{q{I{RCF76U(I=&m4aB>AlyTIrz3O{K02ldbBfI zA8m}XQP#`)LP@xnjfBTJ?M(*eO>!ABGpjRuyNCP<({-Y_!Mjgpjx9sslAW^N#g^lk zbR&1mL{dm!on!qI-jC%e)c>*S$lhaGLGD_49tv%A={-OKW23x1ZCJ0*h6bmKnhD$L zsw!`78f z>N{G*sX?M+0cy-qk=rF5k_P|Ou-f8QY_BRZBdJ?l$ZjqGtU}-rEh}A{1uCb>ItEwF$S&668q_v@Bw1Cy%Xl-+< z+vS^)x)MyQ-0R9ujTqN@Tar&*8EdFWOxv-lXf+7uVrFR5SLD+e3M$0v8ng<1U@1$T zToOrzzcD()Din?o%L@6dv3rG9m)@{&yQ4~7cV}!24?)(x)_RLmV~J> z13&3v5h0^s+X)sWSL7N_)ZRWMWe0l|_gaOD#MV&qO58y)3T(JuCUc=H)_Y^qAql2H zszNf>5X}{3>FQpF8M+pI48z~Ay3)ZNLr<%;2?aehhYtZHa&xb&uTbq!np!vC25s8u@SCzHs!htmUL8n zRV!wdfm2;4z)sAdy6zl=NfBt(;MBYe?J-!|u^Pdv`Kf@slC6t)tn(mJ?+V>u6pXdD zIwuipT_M(rMywg(EBL{eo|w>xRm%9Z9V?QtDhpO6F*Hth6=)TZ&>Ea-#HxxQ>q~?3 z6ePrm)s=fjQLXVF>>*YMI3xHh#H0`5{)BP zDRd_M{Yvq!hOS$e7`U2?SW%_cjTII3Rd<5*%OnNI0CCa9_RUsYRJ& z*jA9z>iDganX(v2<*8*A5upV_~4dG@y-|MN#KKiv}$H3J{Qpd{QI_Q9(#5@AHQ zvIed?leC?b$;ARs*Ref$%Hp28Y>^kgC>OezR`3jX6iBk;F=MKT^o#S`>0^G}&db2$mw2=k;IJ{W5FX{=J8 z0c{ed1g|X5{D}3~V_FgWC}K_K-}opE)tb6evZXv?#$N7A9}heh0u;|Zfq={sP@9+zs zMYaB;)DRUp{xvAr=mTp2tJQan@~{;I zL&7GvLY-Cl8OAWyN2XTT>fH}q0YkDN6iJGGEn*{tRa(|Iu&faf6XI+mOAQ<&J2t8& z^r}c5k#Gi$bFtH4b>Hd?TaQej@a(dLA_Ph4ssOD5u__ts>ajW?R*@`XEzhi+s1Kfc z0>FVrtm_)FepVpXEf%o~=Sxc#vAUscY>XSF8w~2fScs`($9RHQgHn-hFt$|1E`oi; zY8(QaK(4Ogr-{cZsx~&W9vddQjnawLh}Dw<2Nt+t&{c(PF}GGm37|DZqxdFr0&FF@ z(ruCZ$Vo^^Sf|p~W(k0;{2LT;73$Z(+(?rJ6h&>fGGFvaBUY(hEYyR|Q=CWe>Cj^WLF zM2-snH5EmyDWH|1znPCB#(yEin#(|p2QO!gnRL!$6k?xzdhr;|qHN?2_%WoG;T#fU zpimRWfYRg$;m0#MyuzS7+(~tsx}GyDGdM- zNM&FF4Ipc`Jvety=Zz;?w@$PV9$2kNKfv1mkMiwf1f3Nd6$PoSV%=aZ98{4yeGH|e zsT#zJAdh3miV!PuMQaeNHZQemz=7x%$I~$o)&46%7Sd04{Y1$}gy$ts&g;WiU86*u z2$@O;zm7DMgr5e&W5nuN!iI>|1OrlXSc@(VAeAnEkz%lmXQkDubQ`6`-0o8aTFpLXSS zbE=a*Vs!+a%J37RLN~&xgZmV4^AM{7qzIxK&%?+UF%GoqB36m75n^oyh*iTer5J2% zKdpcjA=U`ER)`e^moeDT%1nbmt2!8v8w%Eet6GuR&{rtc-V~;z3ZF`gT4c0~#o0)} zsyhL}Rb_H(#n2YgIxd^cQ3m|&CSbC7OYn!bMFz>bfW{`9%` zf4%qJ(Z)tU>-V$%AR7#_|Btsf@wP0x>-+wfBo-2A>PB7ls=6ihP(4+3)w}oI`)X)4 z*aABXdl3lW1l#cf!Xm`W2_}gxR)PT|)Kd4GT1>_cvPL41)T4xnV?qQ75Fn|ge)aB~ z?(lBb-oN>`hqKSEZr^pf`o43|*=L{O-m^dF`}=)=^I7m{ib2Bst4lxE^h2z&IdYx@ zjjt7k3hvc7cy`OIK&aR{ND?J~` zZcCr{tOQ(Y;SD;leTlV~`jfuW0cZU|O_t!&wHkM}dbOBSo1IxXDU~av{ZLdMu#}!lv}ly2T`qmv za#L`9s2q*PpWJ2FH@ZEvga7ROQl$IX`D>Yd5a+v8`D)WUaqP{0kKi|DQ84RBu5-RJ z)R&XSO}d7l-m^fd(G7SyJ)6zK$BWtGGrv9gf$w|mq4yj-`tZ@{+GJCLTD@rxIp3=6 zMO`Wd!+HtIu<(jv9|#|{F|PEd6j!|=W<(qntcsITZY*bgLUe8fI_>O4>L*zwQ3x@4 zC@D1%corJ>#EL1Inpn9w4)@AbQzfPbJsNG7;-u1YRpD1UbfUeAgl&n{f%E2&tF_W; zicbJIs}$dud{x0!EVK&cYzTEV=jPE^3KB`-9@=-ss_`sD^Q9oOdSWGwRTJy`Hs>$D z5FNm5RB$BLbK4t=Sg9VX(pZD07QKSQOe%G1h!q`oF`gD;Yl-_P&698pYR4c;Qq>!u z=(?K+Rmn5OfL@)`s>`Gz2ty-~hpYUGb9GTA=vRR=Lo0ThN0Gj`GZ79)MU|RmRhOU``+%mwWX(je!E7%qhQ>y9mEx`9#Uwg1 zMIECD7gWEEW=$8QR4Y|S+8HCU#!oM92V%WjqZCc6#Tt=_ldVW^WX!& z`PBdM<){B@_O(#^Yc@R%muRpN#>%bmb8UbBCAx*=J48Bjv#B6Of zM`_)@Kmj}FwpGX8)wbI{?9og1(u^wD<+@!Ocyx~0+6O!>$Fp>B+*QOXTF-fmCT)_5Er4=V*$c9tXaVGtlqahFQB_@!C|BG;6t zdUiSufx+|H;)Ty0{lg#n*5ya`AA9&{V=x&*dM3uBQhiUf3Ch-CiB(5kXsZh=HN{Yn zo@}lwPwG=H+M*LznT$~UO{&|FS{mGmDOpu?QiqBg#$k!mY)w?KC)T9cjm21%Z;Ql= zk~9*l_fih*FT|?ApC?1CgoJeH^2ACmO!7z}B&&u85k@DC@1rMhn6x;{Hcfm|&lK%;F?myiC;0s`ld9S`nP6ZoM>>5olBp+FMbqrdln|>XP=m~h zSPjWaT~st^I=3Ar8x^d>cL7%kBtv#;Bvw^uMkle>GF9nMmnVzx>*J7Bd7VTHc13@@ z1(RgLsy*ULJ-Wt_qz|Kzx+WTH(A=3=S$>6F*L$}|_wJ1D-5KAzJHB^sGfdBIUij$v zuC1$Yd-}1_Z-3wJU;Ngq^ZofEI0*;6HCDsnf;i?^I#-)4d$aJwYJb|(C!&>CU4_iv zt?DB^^O3q4nPt>d)=DG2#^);!hw5YC>|QsH2Gh%X;Bz`%hnK z>)CaAX61%eXYK4ME?wSwb+@^e<5Ryil#YqKul+bAv0^$l_-vUa*0>K!hjsl_M=`nR7drBtOBqmkruN}p`r~as!)xECT(#{ zj!dj_k`)z)>5@$o2+#ba<(W+GRdftv5^E@46YAQ;B-S`5B(6s1 zC7s85ZT~4xtS6dSw<59bMq-TxHv?{HV%WMXtB37SbzAAmBrB#4pT2e`?syr){-9dXLV-+<#w>1QRU?f(x zjPXWRW=$ft>geCCI1#k+r^u??Qn^+u*Jt(s*3mv~Kf7e-RyuzZ zvQ3rxS$eg!vvLP|t>R8=cHiqv-O^82bd~FASCX3;SItbgX0ktS{2Bf_k+d2emd;M5 zp~0{H+2RBL^msI!JoM1vFzBj5K(uRntHfNfDyNTAV6DRfIX?(WE#_mUJnu zj90dXi&R#XSYK9MmBDYE0&i;JFI%~Wu+g|JMHIb>EgUpxtm5OuWnm#=mXl;59@r%R z3T|T#EY^#GQxKP|B)5{r>P&;h4N2FXxjvl86zCNvLRTqUqq1vFS0y$(H?iw-Jlf>9 zOm%G{u}XEDoA74y@TPZOI^4Ln|6Swx7heb=0r7IJ6KnLz8DUg#@P-woRT3VR#v0#5 zftBKTCC^kK)Hn`d@UYMj5oL*3rO=E+MJ>)MdtUYgcB-OSC!ucZ#7)6i0zkrKXIU(v zzr27bp&?#Z)K!*NSztYvE)xr|DybCP7o;`BN@2!0#bs2+E0l8$5->3-DzhY#D*d#i zv9jB+Dw;zjS+Tq$ZX&IZr0`>8# z>a+rLe%xx;Z5f{NsGw!s-Xd0Z?rck!vd_0yevI$B-D_}Im!}&CRP|3w{m+g?dyUU~ z4M9sA)pHt$f~Cdkcvu7zV=&}#6%#*TINs=oX6!(J!W_GTMV zG~1JOu|_(}_PNxJ>{m70c+>A~!>i@`ES-WZW_FThXiukK zr@lAWF!TUD|g#b7v%hD0+KH%zj;JkWteHI{AC7YU>DIq1( z66@`hSjAqL(qoMY?I#R1X{G#AGetP1i4H7ataoJ6Vc0onrPDMj z5o^pK-iU{*NURZBslW|J2nW6OaI}8=yEf-vd@;tW&rMYD+58hlh!wS3MW$husNTwwynt1xG4It8t0MYRNH7zt ziA)w^MO+PYu>6g35+;T%5-SwJi2=g_S3`KPlu`Qg}Z25*3+pS!|#I5?b#4VV;2ulx7>c2&mnVtLP4szqs zt}j#SNh<5tb@t9JrpLC|Z(7=!?3t`UxBj~A%B(1)ijl4+zg4^bYVRP73T7q} znTvJzD}C00aF7IRgqEE_S=zJt>0 zfK-91;#NbcSlR|1l`)o>j|LkE$GWS!DHSSA*UXMGV%iQw1_if-%mu4Zrj+10ayoX(MIix5!iNw02~ zUZqpeIXup4D3z^OAiBQk^f>n&+h=>_&P$~Om6rL>`p{Z0pFJSieW_n6t6fx?PfLSy zwKJV+i(aR+cbz{nZx9)^e2Lm6*UnR%z0B&r1D(GB+*IR6d%fx~)wu4;ulk0vH=P#g zyyYA<5^LXmtdm{#AXjcNdae4tbhg=ePCNH2^O5^>sfg7;D|7`HVPZ91%KZrWE$eR- zh*KddEw&RpfltGx|L8wXf9l5$9)9Td1Mit!y*wEYQ4NIX-!UTz32kfxn*;_^Y9ta6 zf~Uq+2}YHs=wBgRA=XVztirGc&8V!Z%3yVcY*f^)F=*lfJ&da+QYqmnEAYaKeL#(W0x>B(2C}{^OuvU)58lYADm*V>gPb!L= zZLgg8TOd}1R%L7zMO8zraHxS;BebGdup(A;3?}EL(ctz|oAXy*2sJNVRInn}^NLv6 z^p#Rp$%#n$?L<)JIa=sU(?|tEA$`@$salgoV--#o6Ov$1vw z&JZhS!pezYV%1i|d|v3X(U!tQtfN4qET@9f8bCF&Do$k96iVT2tnCc%*?QvJKlJch zKKS5MAOEjE_VwSJFPHQA>=cMKY8jxts)3H&E`&$Z;Xlc;71zGkYc#S#a9y2Pm(>A- zYppThs#DErM8E7fYK55F#-YgTH8@ZAqSV9s!LLwZebaSv>ExR1tG?07h1b~U(x;9` z+P^ZLs&40}on!J9_Qm}vH7WR0Djf}&-YJoEZzA_4s(eXHXDX|2x>ZUm*1zMcJv?!% zWXY?uk;ZSaTTH*tl5*##*-dx;6qgPHuUP-Z$TnM9rOt7c!(Q5G%n7(B1jL2ScyjvKk-j8&ArZ5K)je zsIEbHHJ`HEk`{ldj%`+BWu8^3zEV_(o)1hSu||OvtJ?%(eNv)=g;+NRx8Jupf93fM zu`U9!zH4jv&fP1R4yjWSsU9oqWg%-dOelcHIW8)gtDUl!kqW^@ci%j*2D2tfdKC*_ zEXyKT6xoWraFHLej0+}L!lxPlsag#e#9^mm*vD~}SRvU{wut$m;QNHJxH=wK>7n4N z1aGXI>Y$Ygmt2*IShX_}@hMfe(ZqVs_ApE&xx%OMJs3c-G8>P{*2XyzMt#6=hFB@% zRVmIC28=W5n$fjcO$8iCh_*nAN-Km4M`ES0VJ6lKJA<|O@A;i;cW*uZ?H_*Vty!JY^nWQGTgYIMnW4s*NFcNmj5T6mRiQBd*N zpXTp`>NeLoD#&)Av~c5qq;%`gDueY+yD?#9uj>QIbg|BEmpZoSIi@Z3v+tp+Us1gt zP}IBKf~#(s(uUGyvfZeE9o)?95zbyGE4=DwuypYol|-I$sb^t2qA%CGcARlr&+c{Q zL|1mXav3zL^XXPf*JSBP*85O-HC_NtfU9q={)I}v1*Icd{}I-!r~RxfTsc!|4|_fC zTj3zA@W3(cu(oEp?gL3i5e}4c`sdl-`^z>#B;^ z%w|DXJw1gr7cczoP>Z%CJMjH)43KN8U zt1MJZt({QXEGNLyzosc4B&=j*h=o@AHCZT=#)`yxGo!HvTzyj4V~xc6vLRNkZu7}V ztat4`p*7ZM_o_5jv|4hNVl=vHVzq@-l=hlhEvX=36{D+5uPWVEyBn3!2WBRjBYrU7M;V66I zP{Q@X&TwsKxVAf3+a27qclGUim*4#1OKZE=|M{0cc>C;ddA6L*r%<*P%iqW?#{QC< zdx0_~pg*$rtn`*tdi5H-Wk1c|TMJf8*{!sUax1%;-KkQ8X>YTGw`?3&_E1zBX&Dwe zMADK)8Bl|2HT-6*|Uz9YKXPGW5&H9o5P zaZ1atMB2AfS4%t6`8=(qwU$F&p|Co!Ha?lWli#B3<|^#}1`%tw(pu=MUPWw>=zp1I z3ZY(|k4f2(gN;=KsGgn%Xk9LsU;WDTXMXy%%a80obZN4F706I8Et*N#)vSt}ONkY=Q3O@eSiRelrc@gwte+3yjyqx{%~}yFrUT#d#2Q?J zpS&K6-E1C?1_w`WE^@>=KbwE*>o49Dyn>&QJl2q(hy_X{!c(F>v8WB&E(x(3GL<}5 zWs4*qvCxU`OyiVTS!YZwk4nU1sCN(-I1S|e7uF?FoCLO(li=oJ#r zK2*<+PqM_C?Stb@H?y>NdV$WdR%LgxJ$Zwmm0P%z)hooB?Rn=YvAsW)_AC8#tG7S3 z=xk7b3tWRO!d7X&YQ&me|6z9P@YtP^6^7Q!l`g+dq;lPBoSDAQHrV-5cEF#m()n}R z^6L9It7XN?zI1LPZ9hw1je#GfW3n2-^$MKmd@!~0HD9^XS{{35_a(cP?1r+-H#`T% z5r`d%^n7LPfN3_gi|Xp^?BwL^_&B_uoy_;P4{nWaKltv+wa0^Qbz>AD2+e*qcrq?& zsT3lCS%D=W^)+s=h^L=P7#p2w1zK$tRMb^{3a8TYROqkJkV-5ST&3t!gj`TjDWX`R zE(ZE;C}I`VjX`(FnXHw)OE8wi zbveJP_^in@wR&iVK#^yClB}z+V?5VeWJZP_q@RI?2j_3YpRE#e~%?Z0YUn z5XCZW%QzvsOiQe0sdTuR&8x>xxv7>BY$t+sbjfuvS-n0I=zMjCU9HxL>sWd^c**Q& zGd*{ek1A)sa#*sLMExS^HQpT7AA-H~qA9NK3nx?M&yVmG81!M<|ut z#c@UUcB{VXzZEN^L|+VPS-5gRR`6ssAZq*ttDLFTUVWcvb*}4XzFx%YKJE3jdfi{y zABV<+lYLdT)&7eCSwf{AmH@W#D$4e=vv2-lFr^CM>2toWK`XIxh62O@&u5WRXJ@lm zv;O55Pk;Ca4<3Bz@bO2Ehl9zD03D30`vF&RB6?+EG~#NUa{&M9x||7_3b6vBf)s0@ z6~luuHrUs%(e+uFl9;DVyeo2$5nBaUF-#W=*61>1(RljHe|Ux=4*-AXyb2Gw%K|=(~nkoBvNVF?On^K?H%siXyy2% zzr)$xtarQeYP^qB8f-bsrDk0V@TzRIblGHk+p7=t*E092ABXlUL|3lDrt()>99-zD zF=Ug<6c+`AnC^BpWQZ1Om8=_H+2R@KV<+pMgY-mRs5tWvh)Do*8 zYCs`O;Y5cY6@9Ae+K8Y@21lf>g7E5+UJbNzxG!X_l1@qvz!=9Hz)I%FC}Q#%R@lqI zz@vlf;~2e6S*tq67`>P{sTPtwDG`;+-%x0-NSSIkHLDsVbS}ZrLr|`7$dds>tQ^hD z@xb8A6x@BoUZA&7eCL$ic!JyK&+p6_2qLrqo}cB94Wfu5U~cGYu6KNRb!PbQLe;_C1bRs5f!^p zM!^wRNqB`#5ORXMFBivQhNZkz8%C?hR0_5-8e{u_LWH_v*~D@%e`JcuvMrK9OJCi_ z+bE?nuCI?H)mo)yt2hs1mMf>Vs^DQ{)vbZnRqvtbUv09aU4mm^Ge-G_#p06OZRi*= zwIsKSsLBpnhFHoede(@eei*&KKUcR^V$pXS?k$Jd?0f=KbIesKV47s zGHzz6OZro{mDl}zwJcUTKArnjxg>fWt`Z7Wj&1$)ReD%IM}9H+%7-Z{qL!|uw8L(# zvpaiL9&S|5OLpOGm$(skBs&|=_JRL&$EtK5^%k>Nqh7rfI$ODhTl(CxgQc_J_ObHm z8}zDlta7ck93_5r{)(2q+MQeP+mr0(DnDg1bqO{$gR> z?T9|&5Ce?$Yo^msXmt^`viNuZX7c{;zJ2MvlWR{LZ33HMG%tZ_NR32pMPdbvMQs!z zl;D&jfi=dGb#P?WQJi#Ouv?yqReQ`P8Y>ywinTA5tx5Dv>jO+~w8@eLP)=qgag&79 zgjgk^HIS*YX|gS-H#&)x8s}hRyBEN!Q8smgvLjF*cB|_97;Mj!xgm7TF0YA|w<5{B zMm%+kCBm!Tv_9bUClafavQ--EP0g)5g*?_sti$~$$MY9HAG}kESXpEJok*;A?UD1+ zjwe=hd<86}Bt$Jc5{$r1pNmT9icA-CV0CF!hpVIWL3q`xqc0P;tc#)=dtu@%q(W7C zRf2(0Cnd?%*#hhOII7N$-L4c%^-^p(B-rw%3iMT_YBaaHz+ z)!pH_y+J_N=LUE0KJn&f9(u>l<)8k8fBsjqS3{8S{N!YQI-3U%VY-E6Z%MWyYr`F~ z{bpK;Q_A$Cj90#1Y{8YZv8(P@o*g9A5vg-Wdi|LWEgA*E%19%7z}>c5_M+5&X}p@9 zS=o{L!WC%k)rZoiSCcTZL&_Gt>`sW4KTS9HI%=%h2DO-yzLIMxLwTjk{%qA(=V7m3 zw~d>)6JjmBvfs+m);r;%&Lfouv#(x9rsc|UJ*hn2DQ&BAowN{^?r>#WZyd2^H`KZH zUWYerq|`mvV7>p@t=H!82qNjZxrN8a-4$ZZKHu=SEp`K*P8ZQ(Da`%Kmydq@AMRgz zaPrtAhokjis&jLUiJ}zf3(_hO>uX9{g*lMf%EU_LY?x#%v4ZLf??;1!(ZF~ynS@rB zRwdn1MFnFXE62o=x!IRN`mVG}&8xH!tqmROC)@~sgO>-g~IW@Ok3v3@SiW1TJLpLz9_b30=s*2r{d zjFS>8!UYj4F$Iup-o*%nQOrY>I9|d-#j5e&fUA2WP+BECm=ao*j%lNgLGj$K6D!K8 zRO2R3tei3_#2Q<3?oS*!%nQRNibphBCA+we9SarUt&TQq< zJfy2Sk{zAj3ebx6UJ+v*vEqv20ktjKG!d)168Nk^#a=RNN{AI7hOFr~aP83v!uJv+ z9CtrP2%p;>u01!pXK(n{?Z^JcFTeZhzy4dl^_L%;$LcpH)062ega^l(Wa+JfjhB+! zR(UviCpY)f{W1Gdeyuwr)+`=o_o!twm^}jR#9Bhg`hjgZ=DmouGLk9vq%@!^4awSD zNSARP>)VIYS}Q1JX$vi)XK9PQjv;^A*m&pnwEk&*qxj{PyGl^tpCK&9Ezx_WunV6WrQ_`LCTLEy@d{~b17x%hc2EsbR7*Y9YZ zt@VmmaWh-aX4$7J1Ig}?4-_D;z(b+xctb_CWG(<((1`^SYR=mKDYhN z>l?4#fA8elm4or%@a70Sj!<1C>Qs5G!~M}fq*cs3C1+r9{Y7Y{&|l)#LQbn_uWT~R zZcbdMRjP}YCzGHmg=0*VuZ^BnX|0-AmA075qf}^>a24W#?N&_Mtd&iP2ZfYf`Bx*7 zviuqa)_79bG1$~>6@Hg;Gh)S@WVzB=P71RMrDl?O%@q0&@^DEkrrg_2C3EZgLAmNS zS{di)WvY!E4{XHM=oLKX@Zi9wz^bt->x7AQJlwxEio}}MW1W5G)mP3Z#OgFw=b+08 zjHH)oVg)B*6i@MemSizT*FtMrYld56n_sE{>b!!_c{`&_jw(hhJELG7Djcy$L2-ak zpk1EKsF$=p=9EY&`byTpuc<=!TJQ(3%g|e-- z%p%0&dK168p^p!_VrANfsg)2|~OYOIelN(1< zEzD9GDXoS)eaFvr!09!XtMoH_{q*WyeZ@*Av$ARZJZ87jqSP0;+ci~KQEzJ%Qq`+h zH6XXJ>v^eHz0R5=h?YzJPKdSTC#BT?`no0FU+sI*xtooRq%%uRt?={J2(6WwD--L= z$3(Zl?RQ>jZf48bEOoDbPifdAzvD_XwGWodh4ZAL9G%)id~&3h^O(~YOqS-$*=!k$ z*PQ*)A5Q+!kACCQ{kI>xbTGI!xjEXu5y21%R8>kHYg~>OCS&da|sol)P54(t8r=n61lf+o9qQ*VV601yG39&l1W$z{l z5{}+V3R+9VN~tR38y&Eh_RRslY5*dc05((_7oBIYy-THjx~59M9-Tk?>9(@_o_%G%+Og3v;jI~6!|67i6HNW)-07eieB2(+ znqlRd<>_fyY(AZBeR%)o_*)M@Fu8gqX02}AzCJK=>gGUALny=g+ISFg6-u(=^6aF9 zbyvq2<*Uflng&bNn`pJ<_!N^IW2h=3Ra{1*e{FUr`VnpD_a0QO2azdxLprHik*cq1 zfF&PbuwA0;R7_a~Yak^%+U{8n)s=U^7>Z(;(MgHx%c#;eF=n{n@r(JzBt}c-FQ)g# z69E;1I5C;yy_GPntLKPqGVMDild9dMZbyxkxRo?k&Q}EvRhGy)PMbt<@W_hi#Tf`k zfi;%4iNuOz8Vj%nx23};5myhw6a$9GgZ-Nuv*&*=8RS}iD{G>*+T1iVOtPbr8o}OfrTd(V#fr?2^LInYLsSb3$xl3SAN!^%!fGy zJ?1Z~7Rb;EyCDlB!-i=XFV5lG&hWzS=v`Y^-|@_2Z-3^>-+$?+zdZlb@B_bCkR#JH zD6KZO*55(YJt)0#HQovW@R`pOry-g?uZkxP?2PEwrz) zvc{VIX7Q5sZ%XH9gO$ z+25bWP0(5%M~N`)gJnmow2bs5y|r=GR_ZGyuFe-HCuh@XSmrL&QoGSl33* zLa$(gAfiGL0g3O_o0yL&T3)7x3&rJ9jZ_b+j##B~jhhsl3eBYkM+m1ZEK>Wn%BsM% znD-VYF=B$qZ7wB)>Ai{>DM%Z|Rtok`La8y26?fSP)@l;>Dj($=$yBAXLM2vFP91t*? zUr4MnU5NDhu4kWk%ZDyq`nC6MedX6rm(#`B;&^s)I-kzw7$HofOmiRM*SuP?UmE#mFP@fRo?E6Aopo5#UmJ%lkQV75DbgFMA|;?GC<7!HGz{r( zq&uY<9RgC@7>w=?8KHESlypevyZ5?w?f-3O-*cYx+|T`)9JZcT+c?S8m*0<)CB>A0 z+}FDPi$>&7O_`BZ75WtKOj@bBR+tOx*Bw>H`Hmf#Xm}22e9eyA^}c+sep#WFZR)z` z>f_EB@~Ji>%P3NxZX=6K7(cml2Y;VZbHNy}2x+4IXnJ+MINRI(; z!~@C?n+0#hNRBgAC@=3mt(Mk3RIk7X=N+8mx4^plN(|-P5FO>}h_^^8iI57GlIYWX zJZ?Nx;TJDPtXI&T4bk74|xh~vGNJ=17_^GZ@ zqJ4OLTXBiHD-*iWs>2@~E<}vJjz3iCI6~Vb1rvVkLNE%O@MW@83Lh9fcR?P5OH6|< zkUcQPrv*K#VLgIQscTvEuPdGO+ZPfV!L3zyV%(`k2rL$l@ zg@4F~*Kks1(A1{};0z51hHz$0&6pd);j|PsZ?d=DrLU%DWsc6D+%BlzE+3|(^i#5XzmSS1 z(B04i4?|5w#h!Z(5a0F9hwUkQ#x(Lk6d0$|PB(!ILv>aejp}%!W}QNp;nNpdpx3`2 zQdK^#d&49R#`3)A9i2t>kEcsxDSZ_0bT5BP`)Wr0wH-ebo4wfS9xeHpLRjpXc05|u z>GSyD#Gn8*37(0ZnYwWOx#w}i2ykiqcR%TZyd+V*BxibPtTBCvUq9LN^A$(>kPr?3 zZ&!yS6tsmRn%vDd2q0ZHz%P(^^Stii!q?AU(mk7c1*VNB+niVCHwgWT{TQg{Y~H&` zCdFBs9q>Bg{l!~?{*qf-`|+bN4OMH^jgF0H$dRhd&+OK&hq$PZi+4V?i_ZJY`6)3I zkHa!Jj1-qarE!Fr-x#g&Vju8(hH__RjR;I|4v5TE4p3NKaaYdpitoJs=@2a$k zw5DQreMiTY`#henonpmiT9Y1C9r?nVAHlE)+w3f#Qno@;scO28r(_Rz33!S;22ihh zS~A$Cjr&H}m&a6d4?qvco5+BZBh)N?%Hpb~1~23~=%u&;elrj2$4ZyevI#!s5HFfZxa?P711<52em9!E)>$&;ifl_=UHq z?m_x>N_etMLdFWvEjl&NqDgD5(VF^zAszT znJ3cZ9q4)iBq=+L?_c`=zJ7bm5qr~fb#}W`i!UAEBC^?819X)Kl$!Hl12?30Lf^ui zHV_#~mUG$7A8Vg1j7g8cO~$$EoXOIB)^f(3e>&3VOK@7w!SzAK&hGu^MHI2ox$d;Q zC}4M1SzUqeO6|zrBv!N@^b#1jJ)4_h{+Y zm9XbNE>%-sLmGwj?eZ^5zqHDDe%=g*G-TaW3K^X?haFLoT>>t~$ZP#!Tj0 zc3)}@48>=6cXCdkZhZy<2Y_jc$=aziGZ&sZ&=DV%weg4V$YQEux(Kl0`)A0{Mdnc! z6*SD8v1YBuQHiKY3RaK(!*Srpm1WKexvXHP;{2e)Pu|I&UdvZ~$l>|}Q9@f}C6N@` zbp6;u!PS}8^=|kue^#}AHfq&HcH!!*;Qj*P*k(MEH6qELiCFM}M-!JK@lnnygFQFt z4u(nyf`B?-@xxvQ^a#`>;j2r0mu z2MpRj<@*;0JfMV*78|{C6z#IoLlh?=K{{gw?dVP`c=rReMl7OAXH~^E4>d(yr5=L% z<{RhDcpvbh;%7chVB@d?T0+cZI+CwY^EpJB56p}IbOAUCy>V(u!lq?TJX6+Uz1!Ku%D%@b&hOvF-EyqztxdgNs8#9k+jAG0EW&2d`UoaCZFA-4 zR|Sr8R}Lu8m4V=$Q&WZ7hV7b#I0_gJ(>ODsw6cqHXqap(^O;J<%u+puNiY`N*h-v4 zqvI(?3_gyRI7!#?ugmQ27@WFnm%6x#&)yAnUxy+eo>Rc3D_K_n2hXJ=qi^t686%0w zHXJARkYK%`MRmi4!k(0pq6-1UatCeaG_2aq7l9K%tHLPmIl$niY;E%GE6_yC? z>FMd_)Q~yY`SEU%E&KN1$!AvYrN4*0F=5*uSE3a^X|pKD!Nlxh)hy*dgpfgk)ef{H z_th=I$)Kl71^0k?7T?t|s6c>~(HAG(yl2Mw2cFn*3BtsGw$~O;CLH1{e4=r2kKad4 zyL?j4Op1TX$h`RsOh#B3DEgeGBcVP)tO?XJt;m%}63a}lyz?Syvv{FCY$E%KTQ z)!*0ciPmZbXH$Ln#Z^TV(6U+P9hirkaP1n~6#_LJ>L;zQnu@D-;(~Js|fdVD0sx^+-); z4;5~03n!RLmo)T~;7jhi6;}RwY}{w1>kvEj2?cRFd>dYC6Q$>m&_~p;OGBPY29t0Y zfdr9M1{`VWY53faKz^dKI!-BZ0>On2!Vry;hUoW78ED+N!-rFq@>f|LBC8O6E+(rw zH9pp7EfJGeO?qiCp&c@zJ^Y%r)th3OYj$3fk~um+EM8|XUiZi1duRBw<|_}8tZc#0 z8|KapiA&|9i#kuCSrWw;?_Dc9^DO&;i@55&USm`NU4^dutU&acC_WJn27D1#yVf zm%3QFHN({<4Kba~e+;&C`EEL@TuKUj4C-#oB^vGe6A-i7H9XU{%?39jQN#4r|J2<3 z3pW9Cg;(rBX@ARU2qsn%mu~9xhGb8z!fOUW;$;RJx`#yNUwU_b8uKKW;lftaO zB|OsV_rO!@9*a+a$}dXezX$lS6&8P`xPM2I0b|-t-y5w$Sg5`|=3Hu`(`7k|x}#!w zUyxk!W|tbO&(qx&nLDmPpHXGl#{y~Zk%=82u}l3=>8WKk{$f+@8zNj(IR-W@=5e&T z&Q85ennU_^E*oZ^bGc4x-N+%2{*DaS%8pKgs1KAobW{n)nP`Cy> zU*B)KHQddeEB)Gd@LcJhO(-oa^I5y;gKaMMO3mc=MfRPh4c zC)2`g{yd#fTIiMs-CttDgo;$Dv^=GBn6?vnmn6~X-crZHQipTUKQHKF%fG35^GUy> z#k-x`Bcpmf)?cxz^vjKu{WYPp2*L^F;S8xp*%~xy#(LVGYAwvuWKct)w@m|8TMsYW zY`{!Y1^rk_OyD1>7{;Mw#BHuCU;Y)0zS-8pVrNgDHRBFTVwtCr}0brt(yGc=~JaO4ii~uV?aW9a+tjPF>mg zlc<-CnAx)tz-H)HSYCxx)+AG{nr!K=t(jD&apoLr^|7(~!rBm9W`pN9`+DlEzk9_+I`-_b1_y4~<|a@ZVR z`6!e{7RodEF-(Nv+~KA2QynqxNLUadqmi?NSJTiOs2+76swg-98ua14dQP`&wXE>J z5=A=#k(4CJ<5D}<4lo!)@IHhV`(pi3Lcxbm(8WZ#z-V_$(m;lLnG+_WqOh0TN^4sDLp3ON53pHEgCp$#%Bnv5LGFS2gOYd+ z+bXzR)#LM5a=_DuD}>5#vP;pRKP3zV&OXd<9;`6DR`!Kh*bpe9mC^Bv_8QU2>Zkm?VGDH)US{5X1!rpr}A4enz4#59JcX$Kte+UJ$IZoqBfz=YcSp< z8>SdcAgcKVk|e75&~)~>{gjeOLo!=EB_Ql^l#Nxv`(c<$0-6g#@tLAU5oZn)2qkc= z>J~|7$z8<}eCeYC={_Q@h4(Q%*HgENreU%!ec+U*UasQe8rm5TGl?s&AUe&AdYJ~J z4Up>+8kcnf0dtFKY716u!oex3ptq^_Af~Me0;#3bj4VMWPTS8Q*5m}blc$6mXN3Dx zK7Ul$JdIXX{Prso>EXc#*A{M6ENOuS<%jB&C*4b^Mv-c~D*Aon&U{mg@}-lK8-=UQ zwi$Bgvk-i+g)w4W)Ifr9bKrQi#SfzJE!yYPhPgRJ!SQ58(_X-5yo|2-Tejhh-9~kD z$DWp8z1s&XzfCvOru46=CXw@MDtu(1?{~d1?Xe#Uvsf47cc6`3YL}yQA zbRV}Wvg=zaM~MIOcPzkypbtEk$V)cGjVUCs<{cjYten39WC+n&o9rTuN_5b&arFiM zckJ26ld(BcSs7W|y`-v$ zP9rjI43gXzr3Va*J1=QQp7nSt?>ymVj;^+si`*V^AZO*+v7M{-I#Izx+fq4=r%{Gq z*Im9!=KSKR>>TapV|)mt_F_7r-fQs5|WTV93Vc+!4E z?rQ1hG8&$+8@eqgU%2P_y2TiSnq8aJcC4JnwyqG7V+E!Qf1zuU`neCAJ$UY1EyBSV zZyia8ir9-018a6#yqv&Wt>$S;Z!H^S=Uhg5eHu8i1K5S? zSmsX~dfl|Fseh4dybh#jjA2HU-%Q&c3uT~yZP4RNLW@a_)d2#`#NngN# zWk%)zGGEVMToA2`(FlWqgX-Y*K!-l!A}%6E*^om zCUa>Yo^%gd(sQ@NECCq_B?xV+xCs0N0Pe4vE#wIAWX=+mMbln&3RK`)#i12weTuKugRi@*XncfqfZ_s(B-5-n2fVvnfLKuncR7 zOBGjahI)?qv$qqKM#2u;qm-8!S@8|R%vo*OTB$d!?z^_XWUg&nkA6S#KJC5xd#;+? zzqV;38HH`H>?Rus7R6Q!ZS7h7r(Jk3Ha|ZPN=;+Qcbk(S?L6;^_vVTPpOiOU%zZ3q zH^xTGw1Kt7r4s~ne+f=66eP`T{rv4t17(Dprd+5#EJd&w<~|iG8pD^pl5hX+DMOT0 z(zm!Fn{QvoiaN^|;1N~fT5CHqLtE?(O8sIPX=pY*X!q^Zi8{-vWiQuG`MoWR91H$AP^o!^0;kOQUfu4H0*8 z!Vam5U7o@uNsQbb%7se!MYtHY3aKENaBEK-6Jyw}Qt)y6kT}*AKZ7p(L6K0F1ZRhH z4GZ5NC#%xw8g+ZG^%UH__X4x}1ch|s2kNT%9fThaNZR7;2f#F4)OPZR@?xj(+ zBSrW|xDJb!jSNR>3r?_|v$U|w^Iq5G(LZcMbXo7EqAEJ~1<@+jK$tIpq4vM1nGau# z%#4@EGoIz%k5?l+oDXSMNyU%msGdE@lT)80LgM8Obw8qcYkE|6GQQYG7S!?dez$^~ z5*@`wu@5%bpu+2wzn}Mvn}J~@*`1JC+V)q3tlM~N+#(8B`FxFdj^NXW0xAkGy(tI? zG5*faMT1-C7P(~bO8ZZTm<2zXb9ogi*+QUM?uH}e;AaGq3fN7|V+sRDGa<{6{^=3A znPuma*gOd-!%|yKM`k0a8{< zig>R*0JafTuleLcret59ziq_)LOp~@Q#8g66m*e%Xl3#_&Z+@2)8kkI$rDM?iTix65aP6IMSvrGx>lZf>58W-6*1Y?r^6jcyLwuVOL!QVpzquRy58 z!Qtg~B8~ugBNl}|THM@+Z6mT9(e}0>2R=FLP}o;cWR(t_r4RlM^{IX0YXoW+pJcV< zq~1=~mDK#CgE7U$Q4fE={soBHQgNZ$Rxx}985dCT!bF{D1*VDMJ$-ao6cuS95@4-` zL3rp(`ddnC@70vV1A5z82Phk@JA+Jxo?`SzQs?z4{>MHWV+V7%U7;dRn!s`cPXAo zSMhs>nYsIM5tT>s-UGjM{Q@7MbN|1xKveCnrh2=J^uV6d_OP8r>%Vc}r#cgU_s2OC zwJ3Unuh&f-C>PxES-81dO=w*tD1s8j5H`Yg&W~z;UguH=kQQ=_rLZCKjQ)iN1jF`& z?3x_k+nrQBEMRdI(DK!q2e{udlpc>}u}0!z+;8i^m(%qU?l?*NS0{v(AM=Mo_dJ2N zT>8z9y;7Y;^9ulSpSBg}iIhXN=In*_>BJ8-Bk6ye(vT6)sb0qAkz4V0n84c5=$ z;P=C@SZU8H5i)*ZJTUMMNQ57R+5&pjvREh%#^W05J}=QX(k6Ytd*fAuUB$8cX{ z|D*FPy(gpXuH2Bw_MQ#m;-HTZT9=cqORWGHeWhyX8;F~M9K5;iW#A@$F%Ud@rGkcm zA3fq%Lc>?L!$qHM7>t=$c98^R-G?Gx_jYV&QyCb`sq(BeeQ;IHYvjM~-wC2rF;Lbp zrJdG{D57#ji$Inc>eTPwSygL=A+6w|iEfI2{?0LDk^Z_d-SZJ}gkd6b zuoTshh^Mqxr3(9oyvvMHRS63uWY*Wg1)qUkXMe!P4-nnhNV3Fg4VzbnB?&=%7zTBl zQp`8)#PIcRd1KTCt5i}ZSGo*l-+mbzbqlEJ#E<^6eF7KxbJAE-)^xEM#&%b`c(n5M)36^^L?8?%O!HtJLxZ zcc#&qK9h_>kUNEpp3SJ8dl1=Fr{NElk6oN=9B1}i+}vEMGKb_ia&D(q8*?N*_I*B1 zVjfK&_YnPlqMZC3+oK~qY(*@boRwk}Siazo35>=9$TyJ)z9r;pb0m|nWyv82`VT0y zvlwgT%wzs1NrB*DpyQ|Vzlcn=5@z>l8hXAbPDTXP;Uv_ZTm$NZn?=lY+s~m&)Kc_( zE8J|I%EG9J{-z(Dx~vkxD#F6h24fOB0y<A{MYHuE<~1s)iVxWEmiw?sgAo-W z$h|kAnZ7Lge0ZOIBB4ie>JBqFO&XSW)w_i*Y4DsA7bK z^&Pi0;{Llq$5YT#!8VGNO{zOnBG(GOFlKXVoqvqLM)IqKtcgKliy7{;nd9*;u;Mg@ z)D<^h;rojWn=O=+Wr+?-*vvq-fD;miWiVH2QHGh)F4L$aivy&HZw6^(!7Yk?kH~-t zC``nA!S)zf-x0LSaNLhJw)CFnGib=8DB(zHF<=5%R7$+WVtG}#Fab4W7V^{W??nyQ zMAp0T-i7(Paxr|1ctz!xUc+`L^!Ds-18UZGo|JK7{Jv;Kgd^+r6q9^^^ zN_i#N5OL*2{GTMe>RJGtOx{BE1NPmnnIqD~ zdC1i?S_sl$Qgc1?Wuxey@E%kQ!zyj8S>?|@p+`J1@NT6Kp(`yxtfG9X>bK`N?RULA z`((jSTu-*)DOtcnl)~?a{N!@Tb}-Vqvkrt(e*KvG6oPyT?7j@-kJ|rFf&&1G6W%QU zStQAjn(I2Hh}L4{PJb$~XEGe89lN3VfS)genMoOK)fDowzL+W=b(0`Z8|J;t znoM*4a)fD;yaIoW zr}796_IZF3T4WgEs__wj7liMp901}nqDTZ)n5i`;CXrM1Fc=XN%It^Jf)>87 zMz(z#SFfMVhJ_sW#Ygamd@LEj^$X{4?->Bz>cqT}4fpraBH#Naik15c;RiBP>+n%Z z8k`2e9#$UxdCNv71j|XLsiMn89U4^ zZZguvhW84pE6VT%@Z(=eFkl0$OwiO2vzFZaIYJZz6Yh@r2MW3#Azb^8D7(PLxE#0M zrvs3>Xc(JF378*zzSOqF+m!mD6+-5SHl*{(NT{UH63F9ygC_8f^R#(YhmkLf{9a z;F3s^dx%J@@hN2rbYwp{`)`Li_ysg0%E~+W=%SLlLmQpv(Mz7Jv6AG5M54JDR3fdw zG*w608j%twU-EdyV7-)2ynj+tZM%-a>@DH?v0ayP5R;oRF$35vzWEjj`|6<@D$k_m z3H})qA?o|1Iq)3-JcLp3>ONn9<$?>U9~Ad2Eq{Apof-U;7)$WhBvjM#_4*qH5{l@I z1TjW00sKkfh_9_oo9ZGfQ2#$K`4eg}9s}hN5@+TYDfQSjNW3EXuh0gRWSG`=`Hz1c z@T589xWish|Jj!l$Up%25{b(xXj>5%;jm`WWR9q2wVjXP`!flx9sa||^eS!RA+w>% zBxlc!Rh~J#0NMVaw633K6hpfBR}cCL-^~4Y(6Ml^D;0ZZ&epUa;dfOldpP(@AjQ0> za&vfxXf8;^fcNYV4{}wQStXS8?0P6y$?|+yV$X`rtZMFTJGM?YbaeB3_u6;S)0z<{ zH-_m7PdDR9)W{XCrItB)2S_fVt7SMXBSt8a{0E?f`YVv^CcvUv<6bDEQF@H5yunM3 zc7iC@DuaR-;#aiNT@h>SwD5DL6^>@?fzU@ za^eDh%;Q0+dD$ZBP--Cx_AmC!%2^D3<;Q#GE75a8*^SkRmf7_;>ko+K{bcYmS%llgye(~0*Hkm=RXm4~K|%G&>_ zq^HBC6H@qNIYE%h?B@{ZR<{?gsX**^^tUmn%8GARS=pxo<$O+rlkG&8VBc}O6rUp7 zqn9P2=)<5F%Pn7$XuxJrcTu)IRAxSUGjZdO!<&c2p<1Stun1TuM_?xt-cJV*k1SnQ zeKxVr`0J=k^6ps7KyUWHdD;k90Zwe-zXYxc7FBefU-tzpcHE~y_t^w*O<|W6y%8L5 zx6Rp;=BNySK<|fn;6mttOvX&(%pr2P$Tj$@59pqvl#Mdl2*fbMN|?SY6Gsinr6LZQ zEBhWzR-?uI@#AdzcWv51;GXgiOu|M&c@b}=G8(`r(XP5zPkgLmh2*Y7_83yq)>M!*?!p@rW$yMkL^C{4LU}&wYy}&fLyL+FH%q*NgH1u_=cq1XDn;Cqt zbU;Gukhick_M(HFLNM_A@6eY~jYS6mF6KUJHfhyT7 z9xb*!#FOt*;sRbeTd@A&p9>##Vl-|nGH6LZl0_uRWzBH|t}wv)FISL-v$~RtX(z@` z|7q&;1EW)CHgUaH&*Q%Z`G*Iq6CO@J4h}xgVkG4r!8Tl+d^{W;E*^Xc$Zvlyo~*!y zd(XyM4CfGq)iXpV{lJQJ%6-=xBYc7X$r;G9%Bz5H1u^pcd|e<@J4zGU4XYIWWle); z>ka8~W|^_-?H|ygt-LzmX)a@{qABu-Z|?}40eyLhIoM1VQ4m9%vSaHpk7hk7Rr2$i1Y^&PZ-FIy0^6mR zYUjdcPQM>~=-vS2b{e7N9}Dx}Lxko9{9En$^lIW>=}O<=U}wfkKK`X^!akuM0LzCS z6tx~6g=8J-d!-2NkWacj#KMJz$4sK{p%5iI z?5SS5o|P*jN&Ln`Y(DvEg*H*DG0itJ^_-7)lEnLtXvHt&>VMi1XuOTZNkSLvr25(y#8f@)vQi8Ga2 z)EgK(n(%6?-!u_m?U#J|;4a9Rn@GPX@n^`p))oe9IkXc$E1{exQP5(rtyUD+cX3<+y!_bNClJw2GmfbRG(Pec$6MF;w4LuOy#2j z8)6o@tY$oc^#?{;iK7)#6Hr_)kMlIk$u;{HvL^9QC8r`f5|-Zv=mOE|#KXkQ@ix0q zuGNT>y=EYO=IR92{#<+sV3rZ6r17?ts64JQ5@w8ma6_EPK3k1Gqxkru`z&GsnV_rf zN>FAba^gyw=vp3cm`16+0iI3)(Y(&CT{Tl??|S42ph%9uk6=$5!=BQGJ&MYuv~Fbl zozyDGD2R1R7w5;W#9{msSFu#STWZFKE^<>`mB@v^WU8rY94L*euaDh4rYn6rc%cQ+A zrv6aR6Un9M`8`euOC~p431Xn*^nsOSE3|g@@oLs%l-gT`2kk`CGe4N2ix zOzw!p3&T=_=MZqW!ncH^QVc+Yx<8_@&Pv0OU1O4KDsnu5B&8YqR1{Z^k5z5w1U*F= zs3UfUHH7Y)J;Jj#5k=S@@Q7_Ud8$o(m3=wJy0ZpPV-KJKPsb$P$7ST-l_qCp_Cb`Q z*6Hw;lE5C2di$r6NSLkG!TOHUTlBw#o`xEFYi~-d!5k|=qfxP4=V5c|x}suWBvNuP(=X0RkB&7Mgf#%%wST-o7PPV4h+ak`N~^WFEyj(w7fOt%x_ex6j1jbEfVSno znuZ1PnPJrM@vrDeIsuXRKH*EUN-`Ch&IL3dC@l~bH-Q9o!r*HjMr$1(qAiZrkgqIR zfw+7UC`aO-2JC4xr6476`n@*1APELVD1<$F_(r3x9`tQ+6)TxxN+JPKvrm^V7NgHq zL7wa>7ZW@@)zG`Y4A3V$3+cCCv1Ri;#_MKP@A{no{l$~HIoU(zMeQ+`3L!QFJ_5}r zU^^U;(%KR>P9u$I%EV0a`65F9vrFUm`9bQw=gRkBP#}>tFPU&wZ1>c~)Uxh4z7uRT zGd?4KseshK3XKCnZsfKxMULXdmy~{?yBd3)&?pF)G5nFUKDd>Hr(+bN?jTL*3 z8rf;q*D?;Dn9w^)ma3#37KiF_$SS*x>NT6lMIU~9dD&-rjwgS4(GE^8?k;jano&8c$pIeAv34~A5Q7V$_Q_k zxf@Z+_0R*M%M{@A_u=#R{{N7~asu(jWuNs2+sLORg5{8cuawS8(;`!5sU6HzV0Jnv z!FIE7Jj9lSQGP!Kz(xU39yP>aRdY*`9m2U zVOdV&3XURHOnU=iul^JhPYo6Y$J#4bThI(xmM+ju5v3Or#o*+)M#i2CK^qh$OZWp_ zD~G|b>O?Gea-E*ZBIj1+gfYU}amj+~$5w+ZIuD=>0VnGnRnz-PJYyE95c$I*=mA?> zm>;}y>)H2SKiv1Y9M17rGdI+4s?igSE$r?6H@XQ2tpoGo1>UQ%&z~QO_(@36(pm5z z06FCG8Ine4AP-?TrBRCRsi;lBnRQpId2r<~QDL{Jiup-FhmiX)6emCtO8c8V>^W1k zjSPGxpSLtLVj$%WF50S#!~sx}pIb{*Z&|IK%}^}=XEj)_lyAck4AVt8s|*HAQ)yp( z;0i}lJmsC~nTm82ZBg%Hya}+kWu2dU^GAF+BO^?#=M%d1>32*KGVDvwQ;fREHRv z1}nHnP6?#gWO-l#HwAP#7@mI6IBZLj1{Jmoi(qG-i~A>Mjsgmm8$7nx3GV4K5q@Kd zLy9pL7hD3UQEi3lO8P!vCR!W3lweGuef=$;60c^g=mW+&G5T=ufJc3m3O#nq$mC(^ zy^I(bb<>IK*QTCyN^3%>_TsDO{2LpL7Wgl)O|L0RC4%{g1kz=-Q%RMT!p8WsNbM(I zVa3Rm$27I3z24kHoxQvFWF>Urx;^Z6g2#7NDe5DhE z3a}_KIr`{E2hNJ=7^XI=PdZ%We>O&yt!K+itJk)x9FaMStmj^N-ji!Ga`*7r>9CcK(tzc3HxY-Y}nO;+3DQ3RAR9|aVV%cj- zuAoO4v`h-A`kc+1mWZjhy3?q>Nm6uj4foqqtEYr|N9&`P6c@uO~Ub0fR3qs{g>XVOrk-QEq=ETKqDN-LDhgR`b;p|=G+n~i z(HL{G77jmS_WxFzN*<)gPI!|tjo?|=ctt7Lw;rdDu zu3}bbe^leOIVZkk%8zPXiTZ?IJ?JEQ8_?qa@JHu^RDkEd|~zYy}pq_QOuLER0pr$ae=8&z}Ha6={fcB1r@kI9`_j%c=K7Gf%3dFkk6w4)OO8 z{;s44IKQtBE%Dgy3E5o^**zhh4Z3oBy@ywm3b1+a7c6=lL0d2V1XKDiyd8z5-(+V6 z9~k-6eu+TrrT%IC@jQ7%%FI`9-T^2SeW6dfXErY}qLiYVGH}}Zh`vDmV?X{WOvGNt-Gzxw{tXOTxB*!RTaRgohz0yQ$exL91+K!2i)Y+}v zFA>u%TEbgztxvYBN_YgiboNzmw14Axlv?-c<<)FokEUOyr%oS#`bmjWC7V?4PuuRc zZ_51OcK0i?a;#stoo*wlGI6Ey!scsD>fL1-8`?1A&3W5!&$Fq#&^*+$9K}5(Qm^lR z-U2Ca-#sokd9YFyYQVcr2bIlNAI3n2KV84pe9`ULL}Trprp&@@n*O6BNQDMVi6VYo z_yJmznP-arfO1gmCX<4|tvP;`3YNW$=7L=9g@aq;6>9<&8vjtCS(3?;k#fQp7aC#^ zur`<>btej>Rvlt0*8N>PI(_0raXd(6$AyYTU<-+PsKoR6g@Gs*pjXg0L%@M$6~Qhr zuu)9fx9(qFpBWM_tG)(!41Gm6Vp&lfkP(>BR^SyUIvZ<1gy_R#woN3W6?fUaLoGoLtw-!H7vrt^#ca(|#ZFhWBwYp6H^ ztinw)({uA2o1T!*3I)F@#YiK`@SfjtFe}159?R+!`Wf(>eklpmQn6%h2AFXTMtzwm z#>jo<#T5!JFkEQ;Cn!?2-r=&W_=z&h_)mKILN_1+|GeK584~(smzg{1D1eXzA zy}LX!;b3cBUQ^vt<7#VbeFHD{^4c9_`+6Yo%iy-?Zke7Ug{QyU=>_??PB(*A82|9D z#&pMPucs6CfBJw@34G)Yna>cm0=8D7Q;xd!i|tbT?^klS=Rgoj{*#R%uT{SAvNM8fN1%767}O~KzQC|Wu*>Rw5M{ZepRwRRstkX))}$` zN`nxKQ>V^I^Yrb9pbYNKjhRN>e;iM(^}HQx^mwDec3tZb8@tgl)reCr&cS0RED`AU z8;G8CR_I01==86Y`v^KDq?$=?G{%-;ZiWrGlVf82deOKoRA!HL#YX3R$H#6ipr_5(%I-A`|Am3>wE{ ztway+5wdnMN+!)k#whBT6;NozOfHp zWvGYAxAfmHNn7RcHpq1`<~W&2H9-7M$G5FQ_v6Mi%4EEPi^R>?WC^y7AB9EKt|DsXx*+s3C=p+UnfSfN|wSr{8BL3I^n8##xkhrP^&z)9)J*1WG=( zu?#v1a6d)Nj~Xyqmn81K8$n?rI zfU*_>?Es3`Ko+1Vc;8{8zf|{5-Ijg&a`<(u%F-|R?tj?*b?QUhNRE9{l~XH3aoB*A;oHuhQ3BMmBlaz?1N2KE5ECvH zu$Leo!w&|t8}A?>+vXW%58CACNkO-%|GhW=efGI6ODNsMM(``>APe;oCjIvZxOpY> zfagLHBaGpqc4Bs#yHAOnm0;hs< zo+W^Q`b4`%2S2ncm$ljm^leovNmm}>y*NV>>E?a1{qv~#kNARCZ`Gbcsz~~{Mo=V9 z9y+SHY`fsxr$Au6%}HmFsH_`1^&JZ@fDZ06rw@6ttYGo}^GAebT;Y);Tge;~;i%j% zyU*}=l(lYWloXS@wAY2~-I}}XVaDP=zvj!3H7AKIJSaALUM@N}cbMx?+)L7i1X`vt znMgXJ$h?;FcL3&tWh3RKP|fI-anF0YQQxLU9*ec1o=ABuoBNCws9RsQEEKrh+n3p` z7Q#%s0H=q|in2$-<))(x1+=o2zDViqo7aR@cP@kwPXnbIyQ`i~6|#8M$_Na!+ZgLjTYB;aKjDge3;Drz=OW_k5KNdE{;1`Nou5bf>syRZQfnlGWI`AYi;nQ|wdnLu4zrzuxd_fFkbsC$C z!MvIb2fRxFYU^SUbDbz5;gi5B&~MMZ>Gt~4c4^(o3AeC~|IJ%Vzhiz(N~uYzoVJs`FTpc*y%1@U;aM;`9KE0vmNU=Bk})6TII!a^;x}n z(;|8TgDr5}?(DaI>tJJe^xy->qv6r5n}n#0tDDgum<)d;<;@GF$j@klPR zGBF_g0E>!BiO&)@4kk{du)_qN(x$brE)uKcM>DY+cP3r(ReK=oMA}HW&XbBRJnXzF z#3Sje?7Vb%Gvexv5$dWr=cPcbPmW8(`pIv+d|rq(jO0TxR;RIob+C8^Bg#>ko6Rr@ z3!uG{DOh8;Pb$lBB@v49Eo-T+;wn;V3@R4eCF{SW>bg>Nu~AoJXOORnyTvC;^EKqL zB7y4ps(L9Xp1?kWR}zQc1OdN_CtQ$^X1@NSTs=Z+3|Z|+HbyM3S3H9c5ZwUgPy*wUr+ z2-g|kK~`mz(zaTp%u37IFVxu^@XAWqy&hEhU2`_tHeeX{$ge^U5|FxTtr68)$(*z+ zFgJ**v!Jn_1W(}Q@zLxTeqnOuiOD06oNSH{Z(ffq5bD?5zP@=ItJp+;V5&l*OmeIh z5@&-Z!JkS{!>C|E2Ci!AY?qi=O&+U68jA^%Av+_6YImkd#8_})G8J99=db`yj#w3# zmnP0#C5ki>cIU{7YL6%&BOvx*W!qg+HvWKv$!OFzy;{k+Nbuk@|a3;w$+AiJj z#Hx&#m{`|uKe;*o(#x13&cr$k#QKS^2V%Wz@A8G`hNQ73#JcN=)z+*8pCa(IApq2+ zZFC%_)IwF&ZG4SXFNqSdN(?X)Yl^5on^iR2pw%M3aQdnfg-!VzWL4#rq`@j9u-g37 zLLD6E5=^otL75U;^#r1)bU+cS*ahdJYGapdCahL4jcRH2O&9T-QA=fF+~ZvUO2x@k zz0oqL$#qr1((q@3$@G*!b_a5AH3-LZy6v-u9kE)8IZj(Jsean&e6(P~J&ME{>2>|w z*82JF!NtAdJGUPHwhun^Uw!r`zH<82kk&dsJzdOZqO_W@!1Sh?9l)0sXn} zv+pQ3UAW%E>~6Mqn}Ik_06sDYSD-r&s2SnDjmoYN9TyTM68|L zs>`x1?No?0yG*wIt}hp_6<4&oQ0ZGgktq47zMGY;)Xz@6t7-RKe@Z>6?4$m(-Uqi# z;|0)uox5e)e-%p)4BgDiC0#n{*~3_BKb>E?#wu6!YCllflUr}LezYTRimi8Tqr8&g zQvla8vAU+x+0gcE7R#-MDa`oVS5JT9#||EP=;-q0qs{RosBD=3c(6IX9iSEIRcEk@ zNsfx(MZX}G=co)w@youT+wIJnh#1@Gnb)mFP zOm2msV%8W|O=6~jVi8rT9ZZIW+BEx$ zSgCNTp*FT@iq1=6EevudP~9Jg$pssSYk=CZ4#23B>QXobV&y_MsI+3nsBmb^T@B@v zhO(IS8Kl)=tgl2-yFje0v@)xT=@V70rL9YfF7FPLK4)iRF;1;9o_}5=Lw==%$x!@Jd#CoAjtQVyiD^lKtZB!(IUZc7y zR!dxvR0jh?&~IQ*@oqv(Uh!^9ERt9%r8=!btjH-`m_|}lK?^2g)euc@B+rrKmZi*% ztH&zpB-e7q%v`8$W1@n!^OCOI%G=dYMvx^QN4kuT0!jWzI}VXwu4hjZf{WM-W=%27 zIC7;TSt?Wn1$V%9De&gGEdfKA8QUQm1*QwEHzc?Nj77eS&P8ceSyhHrk+Sk+#^7Z3 zcVdkd6L=w@dMhbvLwgb0;R}y!gw1s*PS^1;5?SNkMG{xU8vjLN1^E~x*Y)$;5n7+y zxO?}Bzwx2_$N%Q*xph*;~3qLpgta` zjKeFV*h%U*Gi6wRaz@gUFtiVo$s~|uhKQ&@=PZE zw0@3Skf(AUJHLRP-xSy3N+X?zqO`?yN7|nV^;);{X!MGss2q@Vqv=fDLgSBB%PCIx zk^gM@u}xomIJkNZdj-of`cu6Y7NC>mRAbVQFp54tK06M77PK~hY0{Jz5swPfuCHYldY-wI?!S~p>88fabQ>G*;I1(#-6p1xztoygd^H*L7f%gfq z{=2WgbZ&bTG*(5dq1&oZo6Dnr{+L`Dkc~R##Ky zj7}BzE6^&5qFNr6nlCDwm2^psikLQQqnfp@>T9-&%1Li@^ekaVM|zlGY!U zI+X+6AQWnwMuU1_n(Av(L*0Y9J-)pbs7f(0U*?41DTONko$>X*3rzYJ;m}7cdI2!3$gKr}-DVDg= z#Hzl1@~z|}roX7_+Z`uTe9lfzmh*YIxqsnzCx7$i!MiUU4Tpy}HV;Os%dZxSu#e()YRJ@ z#G00fO^6jr+gRr%N35YsgZ0;Ljpnc9G}g2E$G-mJx$TX+cduAt9o?&-75Eg;HEOKN zOvw=|YnNQn#u8`@!6k0xOjU!cWn#s;tF)Ff2R1}(t(mCYs`CvF#cnjQYJpY7?rJh6 zV$C@(snk@;e*}l6IO(uqvtKTv*tsDYVx>AblD`R3<0$!4I|e(1OoEviZ*}yt5G(4N zoKKoF3MOdH603-s+`2QkusaO@KDV*<-0&^WK6?JS>;LLccjn94V!k+@ot)05r?csNF^@M> zTQx2rR#yN$x$7t9{C%L6SIM^B7eM+FtNwEZVr}eF-}WoJR#~^DGnEk2&b2zvT7~Q? zeW(y?<(OnY>NRL@d}Sf4?=fuYXT9@2Tp{^Nx(i&>9DHt{O2z(AIAXSxMz+s>GlgSP zdZmXkdw#RX;6AEH!`A1QuAH=c=_Xufvdh$ee@X`-?MdZO*S{TU_evLAsbj94%0AYQ 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ഺ_%F4FP7bAjg?E4$R?Sb46sy9x`jv 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

          o}UNQ%!e=#zet`0-5F2^bytDL(L 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

          $I)b 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�Y6tu^A7qX|ec@#D5rpo21Bg`#dTn6UHrBEJ=FKNAz3tSWZu?ESmTAOV&T17`C*#=i*b0c*=^9eX1+N#` z1`F=1Z^)h#JYytwl31k)7{VTwMR|uM-_o6~tKbcn_uqLgU@2V5y&Y{ePvd)Y~v zF|kNvYuw-Ea-m}4Vq(84xbGztcLmK}z95dZJh7|iZeK-))E|n-xOpmghr`J0QLx$m zC?$kQqVc&ME6S_wGmMcT5LZ%wA zuIm|DrxB|%ylT+OoPm+4MQY7WK634{QBIpI(&d7(hfpuQu@3hN%L#5~F6~tb;rNhY4{>k;GXk06}Bs zR*^8sKeQNYCVH=daJLO3fll1}Ob}bLEYLY{dSrV_@ocHCGqAWQT!qOZU=CD+*3xRk zIwg5md2QCV5BIlk>6>}W%9BUm{oKB7wR)|bnYf;+w@CeU=dNyNZTfqTQ$p^q=`|Y^ zE9vbN|Mr)E!imL~#kum)X-shYP1l8?G>N=I{=VdtUu1lOdwb43Se5mileW0H;0V5y z7-Ee*l6YCMN{dUDMiFbG8R=Sb?@Y{j=VFm@E7%^tVe0Loa}ZXCh&9p%a}RLimnW*_ zdbKuDEnWQhl~XsYSpLH^mW?U$CCs`aXn`SvoBbkJlBKt`&P6N^0?nWnu5y6m#!bj* zR*IppnPDYjjh7%ijjecP@g^Q(1%4rB8RTNxSDAv4wXQW1u~KRqyn!QDBBb(yVhnoK z!!9+t;LkiHBnX8Rg@S9CxjBkhiS!tdyT!$>ir59e!b~h3xk1*mG`MygK-M!E3QpJ7 zJzFEz-uBIF+6Q}EH=W#k%L#Ywc&wC_#w!!$YPqT%gTu?JFk&t839i=Qw&3s2!JC7N zx8Ob#tIjuj1)CIh%X9R%y`MVt!2wnsX&6^kZ!cv?MZ^ z!l=X$s{*Yu#>YKbSG{Zd&*tBHQtR;Q?onk|RjF-826{#mVzqG9G6P%0 zN(yH{tUw4X5Ua3|VkC=HHQUe+P}{PMZ!8=JteL3)6lOt=Siyal9G0YkRiIrY^(EP7 z4WugU~8gnwc(aYv+bD{45AjoVa#SXl;kAvdjo+p)~LAv}aw9S1fZ z73F5VAulgN?(7Ue#QtQ2MfYzc-{6lg(^'fJnf?ZdrloVWH(yRqxN_g}QDw6|WX ztL!#4;QF`6PT|ADmJCCk($6QjO9XLWY*qSexu7aLy`4H2W4|W0!QA`(8-ha-J82}; zVy>Ch{71d7>cPrkh3I?VlE}x~Dj(Uow^`hh&}Ird(A_Zq<5r!?T;-dP8UT z4^HnIUDu@%tJxTtMHNVH(TN3!e?fofAyxvd%CzbtRtbEpDvz$%#IG#sli5$fBZWL& zWmGJMWRflvRf4Fl6m+nb@Z zahSubt8NgD&6@`D&iWCN{6)hkcfp>(<`P&m#U8OL&@SO4A|5AD!iWP}(FDvG_)%#r18=EPAF=wC$|1rd zfpES8#A*Sus{9I4W~KEBY=Ac{NK{ zF)}*Sf5V7%P3s*ec5GVv=)Pw%rEgwI97#K6=GGURZuvCA(cRifvZM-VY+ZatWslXh;2!~ z%JsKA&c$ZuWSm9xUy&kQ#HYB3Rid=fQaC890hY11#kV`l;+(@2NfU*Xlgk^qW!U`;)v{4;%+p#3>U={(_ zQO#(rl>;y%j^F76W_Uuqyh&8Nr7nOBR`$zZqyXF|8QHstvEgcuH_J zOvL9SFNs)9s4RdxVg7SXhkk6S=LzgM{SwcEwH`9^TfnW(QzA@N$9-r@VaF}mMXY|% zsPtb#etTB3(YS(W19D*QkCZ~JT$zlBRh%nKj86!$E{h^o95I*ak*k7j{sI84ZJSrO z4V^mYrlT(T?KPEpy{w%9$~EL)3L{qEjigb;8pJsM%>{i+{0D>kMsWX3l!;R zJ4e=asjm{FmKJz;UDr?;u`;kpfgS-HE6dbrNdiN{(ectD$5cTBNVjpDshcE}c_m>~ zseGI%ie)*R5}_j(vGTkyVQ*d%i{>Yjk{$)3XZaN&sEl}7el_C$<3C8TyriK8PY^&b9)qPl0~JVN|6#D z=7za09x;!BF2(BV>-GA<%J|v8`t0EwR`zUNXZCZWD%4WX=B7alrXtD5+&5%mQ(Kw3 zS$iKL!xBc10*#VEsX*GpxR@wBmJ+<83kt$L#u4QBtH3@i@Etm=O2S_5ip*8Yyi)`@ z!3~&ehLPF8xoD74l5K&Rg(K)`m{t7R+d>6 zEBN+U=OsyLWmLGNKxP_dg1wA9%A#Omv;ahGk2=gZ2^7>Uv7MtHx4@hsRs~vn75UQO z>h_`43vWMRA{5=T#T`&oa=##kyd4$g#t zpUhjN{570F8y;jwIu-y?)eQd?ouay0ul?=dzq&_HZ{Bor*T{MWQFUq?4OH>lzf3#* zqFPl+Qp2BPl9hm}*~lHXjgx+uh5T6IE9`ngZ^`X$BF7DKK3E*eV=Z|qRY1z1)CCnW zC1epdn??${e&%w_1v>L&216|d>~PLu1dP_QNr;u%HwA(gc+)q$ii=WjZ1b_Yh!u}a zptR@4amXRaJ&NIAgSu;ZFrzW#L`;&_15((dKhra4Pi_@~Q5_{p{yzsam@FPa6)o zwxiqFSk=yE5U2s6*0gFOWi(<1TPm|}!p(X&16LM`+((dTfs(bZ`c5hAexQCr#w6sS zWe;)}CRQK6q@m_AAEEN!45>53s%VW?$<4|XIi97a_w%>?c_CPR&^7Z!~na30c7s~quzy&Z$S zZG)@Z23Ic~JY~U#UFArP`k;$H;whC@9!R3?KYWxzMk0UpW zY{h(s2|kkEz6<9)@d7#S~}L(rJ`2XX*6L)u!XAzu_~;JCNlyc$WY-??Fr$+BT5jl zc32%O1={cjLGS_OM64v!fRfylh}Ch?v2c|OVpQQ$1gj9H4!IDDCl;Ct8e`%A!x5_i ztsF?gAc!+S6tM!QhdZhr($U%|>hT7C1j3V##i~KX%5=pbpo#H=8>W%Q3eGuB43Rx< zSu!qEYjDIm#1Sh+(Q2aLzK*Q}Q?Bp+*dt%wQ`w(onM%W|<}*vg$rhhk3^r;pxwwj` zc8kEY*cwk9`}u0ky))PVzrhJXU*s^5t|f7g)AB%*NX`Vh?3Wgnzmc65p)AY<_nn$I z&94PJ?!VK*`f%}hxRC`^pos!==YwBh;+|N;@WGfYj=tXp5o@r`u~sEo9-ffKQc6cZ zImliuwhWkGSyiQVtJEq#-u9Ejuj}sIqBbrQL}_RSyLD)c0;D76D-kQO2Lp4y0igsE z0d-;;G9AqU^uMGMln@wgqk@-M`oo~rPdJ(i!z+(2L6s?_Ji{1R2e+EUa57;!XMneV zhkmsZQ1S}_9|Z*Xkam}u8i|p~($o{96hw{y|C04o(IT8PU8&sbGIvbV!?A1cm*rCsu1hYnzq5y+J;VBxN+60t?zlh`bs$~ zSC!h9c2~9{=y->_W@6>0FQ!#?{=y0_WPho~{uvb0u@Z{!iisQ2_9mxmx!Y85U-G4f z=%W*xi5?+w(GY1v3N;sbcd_A0?A!j8TwD{qE|U)UGr`DuucDk8>t9TWt>7nDy&SyR zA0Hok=APdY75ViB*IHuI=DyQ{3qN>I_&oxL2tSrvOezp-j{e7dsZ{CC2BfOEkq2ss&j9N=}yPMlc35c}Mh332u^La~Wky}h2%20MT;fM!V4UD8!c3N>jv|A2bTDu%ldhPb zG&mggVxKh?2`WR-I?oa7(y_HiTz}Me{=Dfxb-bKaDoS2gfgf1NXy6vJaMeewxyvxI zRMQHyMvvl&Ez7AicdrO+4#j{*%!rn5d9c^P>a3fk74h`qH&I~cqtSW8TCl&>a&@^sPc%<0tv z`9SPHE7eL#C3?=D-uJhz!M-I!r}Zcf2b082kqsKe+6}qhx}{gJHNR?ji(G=%oX7V- zOarF{fkCY7x&}~=T(E@%5UU^{g7k1wx$0!=W>#7fyLRiAMpaC<;v!Z7W*HAK3Rz5m zP8L`Z&ckw}ql>Iy_G8&__y|x&AsPe(=14N{8J)=o74;(Z~WI-y;je% zj5`vsRfBS`5Ms?0YC)NjSmypZjqMM?U6el?mMIOYi=6`fi&5bvdsKW+j(u<|0%RJ# z$KN9p+h9P1MQSg;+dEfs?}`12r>Wd~g5xP3k<1hHY-G6n5ev39{RR_a)M<7Ruo)cu zhIA(BkFRD=kFfLho%xV>HrA@df8pcPNs%b{B8Yj(=0%m>M_{=l-J>ujaxF3W`2ZwDtE04AVr9=n_ej641XAX0 zh_&tCgjhvqy~h*d6Z-_4l&G3Np%0yPG zWR)G|-S7X!B~7;-zkG`hiW$*PAO@?NL~p|yu`=3xLafY|8f0gJI98;;vuSRu`wID` zFwrm+L9BiptHezVv?8%BDIP)mQ8IKda1}wTbVjoGSezw^m`E*5*prz-g$ps~rVzh6 zW?9$8h{92M`c!5fTCKQI1qYivJB?;h#3nYcd< zSBsldV-+R#;ovSEY+<9dryG`NZSc-MwuEN_-N1cRsNN>pbkzX3|e?X>R#qtg2b9TFELC z)rsxduHJh-*mT?R9ZIomv#eT@B?qxW##PR+Rp0 zv6ZV{IbvlrwyXqD>RK;i5`~V$^bso>2hod|87PS$5kq1j7YxBn138)O=F&|fRzc%$ z4Yd}rLidHQ5f8fI5mHih?7jjK1IsuiWX>JtS4^!nrv+woM!YN!2|U1uyNkyWYnQaW zc8&~mZCy9}mgD>G`OvcyFIH;VM5R=!YSIaSCVHkb#LD1m+6BT{8i}PETY$kwf(0h3 z3pOb&LksRLiBAzDTJZ-P{nX=oS|Rxofw#eySwkyBB~CrDHyga-zs({I4xYQxD%{|_ z^5;Xr5)#cWE}Qb@QL+TTqT;P`WO};$aIyn;1oweG>lWe3_hK&%#)lJ~E5v!QKJ*ybo5HnScIUt*RYmT4&g z`7#P(yEB7W6naa6UR{SDgF}S~W}&Ryvk2^i)@O-@wZem>adj<>Nb*m$Xp^fUNF;Az zly}g5W&`D-jR>hI;1uFd>8QYL;(+BbpoUl`tg|$E5rY8KKr6p1var4S5|)Wz8&u2e zv&N5$nRhLWPMbeQ52{p|uN#Pi?+!)s}7d*J`zLR?%Tx6&uhRPVVNe zM}N*2-1dV~EMc}w%ck_sP+SRCq}h09!Hp}p_vSvupAG*eQxOHbP^44tdt}yhqok{O zE%(fjP=fGCD%9n~$mhzGfCylTg=3}Rv(6t_MC=jgV&d(`CT&{1llVA=*g9ZMjLRgO0;pq9%{ac!tc|rs<1c>tCbiuRUBREB%YNMp_ zAUCqEYwNlrZ#wF{hcDYxJ&;warL0soh!tnMOs8&1b-c*OBGN6mPK(@=7BoRY5L^4{ z5@M}NNQYS4Vq1{EGY14s-pA>zUwCZ)k6AhGKjjxM25T{YTZKjdu{P!rlo+mHgJW=y zmzJnKcQDhRYW$_d?hO9qx4*dH&RtMNMu69zE}u6wpltW1O$4!K6V*~V%c}M2J+J(9 z_J);RTh?`ruJ0aQ*R7J0YwM~tx!OeJ#_%c-D=GAd%bg-684FVgv5Hh*4ktWEto$C1 zSixee5G&HpTA4yFta4k1y_%;)C+>GHF(qPUWed4-#|x-A=X%{=y>lTR?{FXB7#_1$%Y+0gjoF!23r`LMY-b;69GZQ z$`MVG>5-e2AT6xZ^Qs}l%0CUQg>+qsm-2>~5+;FIiyR3Y#2Pj309SvcD0@+*v#C|e zS-G5*cUJem>!C~L-Ew^U@LCNY`V?Y?uWy%))MXM;Yev;Dhm-6LR?yJ4F`pTSh*_{xe61918J3k z2Z{O9vPf7~9Yd_be+->+^AIbY8MuuVwehwPfuLQ)3U0#^v6A)xl>gl1iYQeY5%|$- z5TaT25pLPgK-b8+&MgBoZa(&^Ki)iEEvaO|DjQvv)v|z^t)4^F^S=wRCJ+$*Grj8Z z=3FTdGZ`0zU@=!QU(lpKPGg*sIihsNCwPt$`s5Jw2)7>yfrDck1CPP?68klAvp*Cu z8I&0C#JqAIDQ=E;%6UT&t8+13SNdXZYjay3?vC_Fa-PJ-S88g9sbpEbUVrxBKb8%y zS-knwo~@^M5n^43p1_##O_K&2swK)lj=+S%R~1|(3SX<{HFi}e@)0*iE8}EXD*@X9 z#jGyB3+`>LCyt2^| z3(iYAjv^T9V#5gS&dH<++;GBJG#=7+X`(USp60Z{q*Q+?#k?dR6yLcuQTkue|w*O&UfxBLHFfSdiNX7^nK^- z^V`F3&*)Sx5x{I~RZJIAS}#Pb?)bO`mKVFXv^tosrIY53rR6#&D3qJ@Rhe;-d!bRe z?Rb4d;`Y>?5p6l{_jG7R@IiAyV@lRWxY3MG8QpWSTd9Tr^aPZygfdR%8<_$+=ay^E z1yak6q94@7@xf#|dE)7hUit9tSD(8xa=JzX>(<(Gieuf|0?}92S61uyrOT1C?WBh z*8EZA8qIG-${oP=S+TUT@|kIhvu`=U*zhyE2S<+0jm7QFrQN%(-aT{Wd+zv!zxn9+ zC`Rr~$I&4;D=f>|*_gBKmAQ7YE6dD^(X)D(vyD}~vA$gjVs$HW`##vhLC`wanqS`H zJQ@hwPe(<910Kn)QBB0!&`*{b`(+y}%`K;;@IMw}bwB02 zDF1fV3w|y3pxFZHtBPJvXOj>iI17mNx$*Pg`O81}?GN2_-Q#at+6jntd1rHFhY)LA zV2LZ(L9DFEWrJPf!DB!~8c~f{38H4%ia*sNpH}8*OZDi6GH??Y7l`f@N&#lv)nKYb ztcBi^JfA6pn<8kE%;pQI)J^$V#T3hS+l*LIkt>KbYG~R1NGfhR-{-GltTA}11{u;C1T|eBqqp`a3_WFDfMj#WzF9JS95yS-PKpz zd*gS1=!d^HePKL_=?E!_lbMluITS^1YZ`uY5Nl(#td;hnBUWyJ+w$_V1_Zzo8g-dk z(yzhmRb5ns+4D=`h*%r7bCUWY#A!kyWq6JGdr+f3*rP@}%Wm=&^!(%>sYOU9ibB%cj&^f; zTLWSpA6}dsJU4m%?Z5tGmp^!8$bcEiexpk;Ay(#hWmTjRZJ8cWD^~%rf&^i9Ur1`E zffXuFi6F?(`dO+aL3RR>n81)Fqb^@+%!pOdD(ViBe-Yk=qCBBX0-?nQARBNU#7a>u z4EHo*%@EbHGZD$8@E^+A?D&M7OX>?6b&PLP+)4_BQc^sKEkeW!p<7r>a)*<>7CWBB zw*?Su+^VsGRm=yQOM7>{^3hvveed`D=?i}~IhqCe96i`!PRaXS&ePg#YRpRa7BgEr ztwoI~|BXYeWg+g*p3l73yNxt!W=}=c=Tb^)M643VoMjn_!7jvFTl{O1qU>x#WS7U= zQod2bTxN^Lm6wiK-4E7YYeT2tYm6<5{x)K@PM)bTa$Hh?mQH^IQqaKS`1;g@+Ex;2wZ-FSD z;i^@=vSiF;0>-Nr1eS!RD%_f-Dp^g8l?4!dv-AY7A;lrgv`DxU;Lum~$Wk~e>J236fDL-m?dPO6C1M5KDu{J^ z^|f2KUwQwnAN=xvJDSbLlgT)$S!xyvJw02VdxIO}HiRs%tSx0du9ZF2HE!%*0NdBM z)qp+whgx-RAp^}u#G0=3{+5y}-2^=7Al7z+kLMN(KiXiO#z9ePIyE94f!o@__qO4f zRJ*wLxCb{0W!w5ET2087CD&S2-c?rAKPBg#R`ABoGF_^=&gWdpjsRu?#usBUos7nT zeDznJ{*Bk1d&^Z@x1A)Cr5wZ>!VCj+m9QF&b^*kigidjsvfGFj6tl^&oFa*q)UA2V zuc0k=Ndny_SUEu>S_zK@4`jtPgaI}7D=hjsPn>-V9x-RC7_9La?dfS}r)HqHb`P-vxf0a{h&45Vj1F8^X=lr)`0tt*@w}e~ zVl6N0F^u+%l`Hj31Kd`%>upzBURirH%d>+*xhknyA#e6?aHIe1jExoTvE;(>3xD$~ z-*MlK%X@bR#F|1@qfr$RYvK*gVXe%ozY|0!XSYe~VKU3+kO#>qYB_`v2T3GO;ZW+> zL$!6!`|2btD&>t$mqUqGRkCtItVD^A`D>C1m5B%KWAoznR8gyksf-C)rq& zU^R$UNRtFzk}zW2s=pw%gquQauRNsrN&|#7*ONcUS$rGMVG5fP3JY>zF83#xhA(1O zM67q7*uL|`-s%oeh=_GMnS6bE@%#VVkG=Gf8&2+?&WTpzH(*ua>d*S#>_-Ip zK=BJg0SAZ`Ls3xkDNM8aF2-~wi%ra~ZV@YhO(n|^w~F2s)ua%DiiovrkCNlySB$o1 zEJ_=iC1@q+tk_D+mtVlBwyoK{KTHM`SxUl*12XB1mA8j2>Mw2mXYMf~#^I`~} zx(91(LamTN{M9&Xn%+~zpegDS5$lTraN128^sO?t7&ya6<$cK*wlZ8zj=|A4 z`1FabJ5TPOzUthq-|@hkfA!0sj24H((Ig_)>?n{CtC<09+1Cj|@vec%MRTyWQVsqb ztZUE*;~1LQ_Bz?K2G$VkG0a$bqizni+ixx?w0TLFVb{tIA>#Bxr17)?Y|YTss;m5z z4*72pIM=!3S#5k}c;`}j48AItK9y>7vpnd&JZ@(PYjH2@c~7dcJ3mGBdb*dI0vNGQ zBg@2SIv$V5N3)|3JoW3Ze)uh~*}a_rg&zK$vmoTteUUbScHp8S#Tra1I34O(2DdfI}7RK z4s1^vW{UAqc-)F?ld~SdGRjbr!t9xx*`AGKSRtJORu{sZ)yw(;!482Oo*A*Gz*R$f znV6^vvEFsn?&{TBXMXw1pBT-;i#j-o1|_eVmF{tKu=c4{VH(yi-O7%X#~XFk8ZdaV zE0s(i%R%cL1XE`1k(oBv)?RzIp5CiOtXlB-HrBH7<{H!M+8{UHrP;AQJ^I`7@5WHK zZ3m?oYWP%_H#XXaJ>p^;)2cE4&YJ*NEEav;nfVr}vgnqel0T}hX-kO-HUj)|6K z3GmFC!^9h$liiqvu;}`d)zK32qu?85Fi&zk%X%SAO8!Ne-jE4PGOcG($m^VUeT;-Uu&J$mGiG9o4DbNP}$5C=Wv$4V#TH%3ltuR zJ}5JwaS6-$`!Z8yM(!s9P>qN+WoUi$^od7L2jAeG)0f|K>K}jX9bcaw9*hshlTqBd z>q%tvdHJ|+avGF?wJBWt$rI4bM0Z{7hnYQUn?LU)C6n z*2v7+Hdi_iT0d)(ZV*%kB>mtbt)Ed1(f(V2)rF#7gLcp$BCR%Z@;RSQGRJ7bu}4zO~}}YG7=Z zN0O?HrH?qW3h^u_RTsM|aYHFZtA?COl9KREen%|YFc1dV{&k8v9g)Ng#+coe6Ubs> z9gyid6)d$slLHIYKg8aGgA-FgB=$&d5?fKlX3A_2urI>2@_D0@IK;pYCIbsjt|En0aFGe z)yYzyceTkoIIrzg>cf&Kod>UR|1KAbnpSNPu{M^_nkBB*=E08C4!Yx3TkY{K1((>j zNZ9CnKt#7##OgM$CT`k|@i9?{9UrS09O{Nt!h`O;?e}M{7sFgX*9%r&j{{P^b+z~3 zc~bCJxO+cUg5me@+{})SjwZ9|!Q}98Ji0i&_#gl9oiDxT4a+-sFKus@Hdb0B6=F^K zxiX&3Kot;>MXc*>#F{1DFk&Tm2#A%)1hQ3kVFDh?Rt?Myz6r zg+DA}jVVXdzX7pkJ+}5zrrxpISs9CY90aj~kjg_>8k$j0s}XA+#*A12c=AK>zMMJN zZW4$!A_zD_sYrB8dxLCWj++fetP6-(&)s=)d-a+}Z+YDVxBdDvpBYUKQ(#weK%&<> zYF>Pj9y_UPS}7wDTuAGd(3rxFg#xdsooa}uHezjc%3FZjvc9nZ)>cSvVO!qS2IP2% z6@0_-c6u-7M67a(u17~-B*}4#DiCXJg_jEKMFt5Ez+U{|n3wO*B_h`Hw+NGGX-L0Pa%>@9%5xrm>jKXgGnKinuAz5*aWHn#DXcFtBhEUd=y%K zv5l&{b>z1rEiXhZxgHhjV$qi-Ak6vDWr(;(KzzhslK8-Z3~W(|STn&dXCxN`D`}xI z@vDniO$?53hA?8)Ze7X_o8>!|8Mj8F07t|M8GAFmFnR@xaw9817Pi-x&u_l`!8iTW zkN=xz#$P{-{9xnhILYKTrt9?NagVzN)~0!Ti8Ez3N^nh?Vc48?*SNTX^)UDUbTM5VkS8Q+!STpf!YPiDw%_ee6%!jJ5+(`-wNI z=)9}_X7=C0r=SGybuvATmt@2`Ivmf&AA0ITue|T3g`Km@+h;TLQuyZB)tt4w@=Z7~ zgs-M`HPH(jui$_^#RwP=ZiLLL3b6`Jkc3;7KERsIN%_5~SPzX@RV)d~U(^6&8`uXa zVNVo%L>G)!R7PRw{tEf#lpk#R2CPbC!b!xK&4W-dDbSjA#R|QO50bKbdPAo+4?3AR zXn@hhm%gmEP>)7jvv@GY#S63TI4SAVPDA{GHDWz?`r55KuiZL*a_`PpzWWXTMPfc-%ecN_OmvFR9J8 zxdL+YEoTj)KmO@eBu^hIfJ!Y~kiPhB2Doaw2G)~XXRgWs%@cZ5K}ib})9=$M5m zz}q!+JVslsVj2`vDPC-xopP(dAWLyN;6GMKZH=1Co@VBy{EQ$e9wSy|HHhD=5OKlcHZqfu*5e?J-zwDx4$TFQn5Y5c^F zyRVr!SVN0t!}?#6whd)20bRDd-HdMpVr}0dnhSjjO5i^7S<->fC!L$jCWn)-;7n)J zFI@cm4f}V$_K`CyyLT^dC%C$~5*dR_#F|X2Dfdmbu|}J0TKyo76>WC3NXE>n8L^hk zOSE!A#<2pZx`@?MEva1C;@!$6&}Dp(RlypuA}9l zP5D@(NjkvQweU@UZzaSUz9)80pV+zm%KLBmz|$WOxmhQpQNXQb>&zU{nD2{dgViRyzbG{(bp*D z8HwL>3a$cTn2IgXXEp@hJQoMO5Lg;*KrK>|?5o)Uv8T1_$SF=B;e zYD~Zjjz*;B)w*J!ebA7W9H<=G2dum~8#r1~Q-9N!WhfhSg^@{bJir`GA-${s7q=qF z=!eL?NScH69UwGO5Q~BxKr3=ZM*r;!V$~V$;x|T7@gGi*lt!${F*t39mUcH^_vq=9 z=gxlgtDhdt0-g2YG-gXreoy?GR~NqUX~~Y`B3AyR0dpD~Yf?)Hu_9*S@i56No~yF->}gsMDdYwnc0VNLwY|n6{-moLrLf4x%C6uf!tONyxz( z=+H;g$+P3HebW;p^OAqufF;8J2;lE{E~GK_^v2~1)%qwMVSoB=gw_94?S zyTxYfvjN~>r7e$$#1w(cG)InL6@#pD48sUhvxh-?2dx}tuOyPNipU}l8s>Ia@wV9~ zSq-~*Ng-`T%yCa!HQ@?Qg)m}G=~-EazqPiszxnF-+`9h6KmNk#smW|Mnoh>kG1yqM zgMrcHT;hr}ICBS=EK^`vY!5K0m4i-Mu2>&zfBVyeDULj?U}Fbzj5d^uZF!OUr58R^ z0x2k1%jd(E!DhG*uEgeplBo7#433E@p=@fW&ZI{ay7ltG&Zf32>Uz-4#=GqS0qH+4 z=h0&c@z3CWG>zt}*>p4;{oEh^{LAjSab@pq0kQ4`#2P|b187wg!7-FIAl3j{gE^Jr zRf)GJAy)PlHi|w?#Q;Ca>IaBbCDASstHPK$v@?0U1T$_1Xv8>#B#NSeWcFY|TP7$b z0acxqHK}SjkE*x?n}Z3l5-qS*8jFpUeR|nnh?|7GRV3oUrAo5A31W?k=pq-Mi&(8# zL|3RRNdt!x#oAEzH*p50fF0JW<1=Cb${BFrDU$@OA=dak9gMBp!OVK?_HD0u@Rs*I z`H|UlIu3mL<%E?0LYO$!1+cMz^C?%4Y9^YQux1MD`Pj8mxo2y4nZ_9DX%b@A6wy7a zbghN1+IFZM-Db_IDh5)G5VPsCC_61}Ha%+-u{L^vsMD`2-O8s*XD0x>_Q_5MBuK5v zuBdIi&+T`qU6)&XS%O<{Syx*%Wcu>rBG&fyth~2pMwEUCSdO8WIpQ~(6(b6!=2N`O zpG*RYP2iWCj?e$)2QGi$maBKpEbg3L+6stuiCBU&XpQ7c%CJa6R=k4{nP!b^GEgSD zCZzWqznSHcXUYU#Cdj@`DO?qY5-C(AKdfv3#0gf3l?q%n8R9VOC~JeYwK4hqX0j#- zU`Y)o0j(gg=V{FN6tl7#*IZ$N05>NN3nf6R*{i@uI%2~tQZ)+3tU5^FB&1m6#m&jk z0kMMa+C!{qn?yENiIZZ)%3Q%Ijy3UpgDGTUiU}t| zI@Y7$*Pdl@OOW-z2lvW;%u=ox?b$t-5Hxr7n+5TBy96^nwNCY~EDKK#^2uDbu$g`K;WckWsWa5W&-WLk}u*7(hc zRZ`wWJWFR2_fbZ#ig~H{f^C$&c9~B=BqL=ygY;?&vBF|bD{v$k5Pw>WSeaCi$R8ZU zs$pgh{DFub#{^6~3}9?!Y0H`Kl+qXwD@!-zKv4cXY@H+t$mEa`#Kb(kYr!xYC7R@* z;co;p+o=B0SXDZP1*Sz(@ty zmIo2fHr|%jumqgE4W z_BjT}BG&BLD~%*kr83qr*CN;}Ssl&YG>BCUmz4O1s2DQSkusht=?v@;!1G|T=j0YL zNrfO*N?R|1wCr@POx4Cv%O2OtDNFR;Qad~Fp8$tY48n@nK4W8I5@Y&cclu`T*+c)Ty0J0T%g+JPOzx&nix%1S1LafQ@ zH;1gIZ_aBYh&3P2XMu2uF>DNL^>HicDn-P|Qcna#X`QDPwV)=@{01T~fHx0y(JJR@ z8T`UNy^=4LtJlQ0T4)ActDkK)wn+~y4NXODK}778Z1)wfs@;-Cw5m)>;}Yo zVt@5D_uqQ%OHa(Ev%_(SW(`6!$jA&F08vz@zdM&3_LMf%?U}h{f$q=Rj4qqU#kwtV zK01uF4V(wpTaZMKa2fWBDaoA+rZ~QzF=K6&Zs_{Tt5aKw;Vqpds5#CQ-(D9Qi+Mxn z4BF1xTFvsZ#=w?Ms?}&ZBBwZS=9HE;*M?}B(y75s#9G_c)DB{6YvWKGtJ;fEtJH1V zTwB3*rv~4^ex*&L!JQwo-Kt5|va_|f&Nd0u9%Vbx#!9|)QrE@F3qSVppZ>OcZ#;G3 zuH+KDw6`9cBTBQ79Tl8>db zS0UDu*@wpy^bWgzGJ{qTE67lixkNljF*Su)1a=E{k%ByK#10{iRM_*R#hV%!YI$vv z;R;oLl(2$%6=Eg$jNZJS5C_H#+Jt1D4F|CzgcnLl#<>Mz&0DE}SXWQ%o>{oCapj}8 z-}!;Je{uZu!T9iSaySZ{4^uX209MRoTY2O05G!BiUh|?LR(qS5QY)8}Ls=QIX3$ED8W8Jb zI{C}PCvSQDyI%F+%}cvyW2U*R9L_$#F?=k|Rnz~1yNabTZwoL_Wf)BGG)|@ll$Qqq|R(OxW zsn}M*qM3!SP(MK+5*uxWP71?LgFK~_a|V8r!!U?-K&+%`=VbBP_ZSW`hjYr#1Mb-X z*pcQUMOO)8m5ozItSLVrr((~DmA#&_65~XAqxLsme*caC^9O$TuMVG%ZtU61sb)E< z&1>^1S1ogwJFnXlyqxBZHLX!dt<4Tth83cAZ*4Vh>j_QsYE3Gysr8~f-ZpBt5$mjt zSP8SXyJkKO(d<^?_O89omn|85;%(vO-eQ_$sw;bRyrSGwQk{rqI<9*NiJxts206v&|@yh)NC*$U#)Zp)VAP2l?Rhu znAqP;QA>e80*_|H}#3Ug4d&R##f$z2(71$;Y_3vFN$0cV{;{SLXZ(nyZ-uT5H=F2qGl~+wl1G zFW_^@IAvU&R$ni5O}$TLErU{^_EL39&(0^({*=wOov9CO*%5cQ*8j2%HjJS4(lW5l`Ak?#li)D!r*PT!IA?c@@}$2=ufmN|aZA=9>Ze-JyMm4baN4UBZ5NjxW zZ|$<5zy4qU)_?x`G(=mECLuj~L6$zpY~^XyUYR>_U(Z@J=$p}~J^d6)T0ysEvnX@woELqZ}-|g+h}2}8L9-Eb7AV9&Hu*FbT%7JMj;LKZ1TD1KEJfRe%1Es zb^CWO??uoWt*F`KH$v1L)0&K`nRy8y?auKKEBVqSr(#wr66XWpR!oJ1Ko1!P1apC3 zjZzeg$jDHX`4Y2wSrhvk!J!Zc2%7ltS9LN~6npC4U^iV=`uw|wKER6P35jxm- zK5K+y;l!IgxJd4+e0-QR)IB<68~O#Ww}9Hso)6 zi7>a|@kTovh;D+R7*2jJ)oOo&wy*~Hb461HYK zCiXT-2hDn}Tvb`um)U{D)mHQN(8`ZlR~W!rXbD_TI`kFvpDY?OVigvBL4{UdO5%Vb zE;B`;I!mX}0?SI>EQTPs#?b>S^Q+5{Oi6s;2*st6HIwOl^^J5TN4S^{lDKDimwmU& zuvXFG=L|mTESQhsY4W{5gar@CL9BZl3;XL!k8fOl-}UeKo&PYJ1p{l!V3+_7PAYlp z%ei0Ii=y=GF+n!eN^=Q_K_Kid%k4E&?(z_8ttF=MwMA@jwXAi7Ps?#Mr}9s4JbMPS zCMNjPUh45wYKuaw#O$iArrvMUyoyL^2&Nu4p-u_XBOgtB@J6RQl|gg+Rcn9yu9~1M z70Zp*mL-?R-F`LNZ<~}37Me0HmtG%mDTg}~eOy4Slf$o1p8t{G{@It_d*jmH*~J{b zN(R>OrA%$)9xNPvIY5%+T12d3k<5fk8nK3u)!+jhzv6RCKvg@^u$)4XgeFw9v?|a_ zg#QphDgWl!*o;_#^odj0Xd#j2x28R>BQd{5o>f8 z4;zX7^;bUl=9_o^-lw1YlgZI6Al7JORXljb6nAI6J4tKkqxQ45GBiGeIx%x_ptU%u z>xgx*NrT&lp3b_<>0md_y=CLA1joV=vAR%Qf`A;v>Q>Qca6@X>y6m2Eg-8vWxdYXx zVo+~iySLVic9Uu^oB!OkHFHEP?5!{Etu3BkKe2n~)sNo(@vr^%Y<4u7j1MP=*hdELnU(*~nf|Qq*hu;@)0cfon3c(WZEHeB6@T#_$53S);@B!x29gP5&@mE9uuD0C)`VEE z-CndFrNEpmXLMUjR+eBDyl}SK zTF^nYvyQs`G9780Z7*>x3G4N`y-3!UVyFAO!Lp+QZ5F}`!5UB?uHLq6_o3HhckMHX zI$fF4?sdEBo>|Z?uzcs;CYhJEtf)46ZmW*B({NG0xhDN(3p@^Dl|RTUX`B%2(b4P^ z&wlzf@44-o-8Dq4DZz~}FGZ_sbQK1~O2$^o$4ZDbiP2@cngqxuS?Y4(q!(4Z69%!GodeT8cmiFpDrC}$0x?@E zPkKTSwWfM7wLz9?D8zRNbCEM#mGBmwd%KBv1)c7i&$wM`0HL{ zRqS!SDA#;E+qrHu7V6qGpQ|smC8)f&eWX0t=zCkx4BC|2E9dbLYu8}v093w#uFOj^ zAl7U(uJxjP3a&_Mk5&7Y2C{RDa%<^);;wF_-PCqxYhzM-WbG?^ED?hrF(1UQL9A?f zXGh=SW(dYXU%A=QWI7#9$0;THvyr(uZzZKEJuNx4FC zi|ar0GHF|+AXa6y++nJv1QG?YGV>BK9U)=`as%??6)cIek`Sw~Es6Bx3@^!l6^Irs zUopwGHe!{O=t|?NnjzFfjB~{XP2NEOS2@X!>|XCB#Y={O~iv)$o1o_MMmAbK`&d zy+QG?srW3<12 ze7He)sZGGjR~4HuQ=k!rZkOEwaeL~%QKpcFn5b1ZmuA3i_TVep(+szk!7EKi25lvH z#H|;vAKY=N0!{nrHaODHyp#)wiCIH-t)ru(r^e6R@xJeQGPx#i;T(~w5i7^EX4pumgwQVHrXucDXnBz6Kxb10cOYv#Rry}kK`q_H zUr6$*XO0MzUkpewUIul%2x)~<7*d*QyRFiG3oo%Ka+Oyz$Ytuj5cP}m4^sHDXD?)h z!&qGiapH0)Se2chg@Qva))X1m!5E(x+pm!*L#Q(-AU7v_<wC)mPnn z^WGPK=`c_*rNnUTvgvRl)Xa0W`8e0McCINrXgcgHr}l9RY_C@hN#_noIhf^*jU#TG z@#1-V=XRQUs&QIRvQSfleB6ns9`(_isJph`me8g`1aTBuP*OxEbWJ6 z=mD|rY_2GZ{sdGLOR!|t&LRodRY0r@9%9Y>32aCuv`DZt{1IRyh*6;1)yho3l0t8& z;mS#eri07n#LW}wP_forzel&KLbUdbf6tOpOGHb^Y4iwO2lT z%QX+2{?HdcH9ZQ+gQLt1`B>9CttZ3WlT?<{zE!Sg_2`6ePTaFnliQX~t^a zvE{q)Z0BnxXJM*b0%FZv)U+9!M5gki(QNe3Kl$&z_1-rupFg`8%&gI(N{E%=YK~)N zNeYNHWou2r5sNV{)j_OeFeM|JAXae@HE5-ZSRr|+31D#%t7advl0rc_Og&@0VRc)x;Kai=bFM;RAc>di*1+bwy-8NF9osM@vJv{P&jtl7P0Cc z(Atk!Yb6-O>hx4htRjjVZN3zk*7HV{?R2XyMOgWF`-wN+fkDK2DMQgS9cnLac@~ej z#VRvFrcNrD-ts*rR!eso5vyS$nFQ{ZFI@cVw>qocrjND*eR+e}mGn}Jw6t8goA-DUUJ)zbI|?tP~i?H3B2 zD`W$));{h~4`O-q)2S}~%m-cNo`sp6t?jwkZPL7grY1WYdkJ&IeXKQjUfyNeU=F(1 zW6Ry{H14X6K%-34>_$bZ#P$<3iSMVnoE%G&RlW3X#qVS`o{hKv^1a`3&&uL{K&b(- zhLo(?Pbp&6^e@?45wQZ*Qt(-dU(R{zAXf7Br07&eg6#F0BU{DXX7L(DKJr;{v$4WR z2^8`p5?5gao)Ut}^3-qxRxxkZMU#3nNe4lTM4kX9O9XVp&C681Tn>DpI&$B|FjY&_ zq&VWMVh=kPP}S+6ea zoLSmC^Rl0R{m=g4!=t0=coM?FqSjY=%eynQfmmy^(*3mWD#cSz7450*O2EPPxGV5L z;oh#J26Jjh+)ra9YmKalkK>`9PFdMCVr*rFAd61rzxzpNdxoVkCU{wo{nWjFu>6{Y zb>DeBOu=Hwo6L2hNCfZ876h5QyaHqWO^ou_hW`a-bD@eAc)| zh^k$EEa4I>S~>WX0!ECXkON6n$f^Lh60vGkY6hgqLzrX=NEwp;U^BH@Tr-&=XLu3k zTgWyma1Wev6DTGT#=x9Kv#>E>vkmDY%P&Rm&!%1!`j(MH0JU;p&Hy&^Ig8+S9Hmfg z9xd8g_bYoL-YPI;ZH7JdG^#n5zU32H3n{W7cnn%Zdas_rxli$XAx)^<~F zF^=ke(5k)u!LdzxQGIpVZ-|kAe9NUjyV6{q{xGw~ZHZ}5`6~bVKi6Pm~t9^Bks@kFqRE)TjiG4-@&=A^tULreV4n* zsoNUbTZOg6tCcnUNi7ybR%$;ZLFlsREU-Jx(b0pdQep1lDgGLta2G@ zGC7?$+kAsARD=i^h>en#{GaoUS;~+yR;uPm7ICJ{5LF@8%&vg3zykA80vg0>^w^Zh zMng!}1EW)MSuBsg^1@2GZoNq;QLQ0t6t^pD%$1SJ0G7C>2@Vrt-Ce(O`z@E>=h!y=(N(l(vQHa$vpz&_h2C8#p8n4{ou(W-aYUYXdo7U4)x0dqLepMQ~ zueOYKd&e6Ue<-+8qw;Nc7GI^DxEv*EEO0svUkd)4%%&lU`E>H!=xcBN#eaO+18+Qa z;Vflbjiyyfc9Rb(#F{eK5Y-ZKMC7bDj#sda^+;@ovS@Q!F`f5>16nhfCH4RcXw|F& z+g==~Kr>Cy1g1vNcCxNGT17>0Fy#Vg5w%?Oj@~sZGf7jb?XXG`p(C!SLycFn*-L0` z0I~&&7f`0I65>Sh#lomnHn}EwCkPstD>T<4@g8&H08;M*l?3rdBDfaBO1{Aa%(HFAWfpsqOMax0Ne1;6E$O{+R5GiWeYHSdz za{iGFaU^A|_EpJ!0;(Ji!OGyb~ffO-9`1O<98z*<7-e7nAiih8{v~%`T z&;I^sHVV0eqdQZ6&xwt!bE*!mX|s+`&-y>#nkMgD!qt?E~bU9ud9eyc>&GkNH4G}wMI7j=x!d$ao~%~)*eIG-3TBm+g4sP zIN*Ha;012m8bi@}CleepTOlJ~D04C$A52DvNTI*~XfMELccW=&Q*%L;r4Au6v7E#laZ9s5zv> zD4MpNAv0PtmA(<3dkrZNdOZ=XJyIo*1v$AM2~ZV-tp1`?v`CZO3<+-4=v8dT;8zT7 zrl4T-noc-3Tdp~IoL00Z{kCXvK@qL8-r#Xb4S*V5@}a`7(GTmV#_C+7A^-!cHqf(e z9T4l{&grGyJFd9r`bR$hzG)=h9LH~rY1K2JxhgiqO=(mr=P52VjY@k&m3#fXHpDh4 zuF1s4Ew%P{7WkrkYL%L6`0TvpAIDbi4bml=eM<>4*GA5*+Lc7@jmqGuM%Dec)WNft zf}xlH#s zupuRJS!ld-aIVDXlFqi!W0O%8Y}}?sFeEQ1!Z@y-4 zb$LJJodJt#gs1_oGGa}+&NH~k&cMvbl&FKrz?#4>rf>zP-v~%i8MtE+YbB1A;U}^7 zWkVzvZbC)!Wu;A%xq~up6)HvL^;CM#IzGKfbHspA^3PIK3us)C!h&_z;$nn|RmY+t zToupiZ2wi=G^2-zl|6)ID`H)kL^5K~5GsU&Zd|G50S-HeHAq9*d!$+t%XEH=3}R)_ zdS)>q)`jiUOM7dteelgU?Y-^K4*p^qc!NiW(NBPsF*qT3QuI#DPQ;3iG(9F%chzbv zEHBmq(u*!@^bjRC;X0I=HIWRJFxL#{tWw;45o6w#s4%0pFZ3K9#R;F7^CML)sB`H4(4i@G~J+wjm186Dpy6oWmY1Vue&V8nGsTMj%&- z9^vxE>qY8`&yPyWV)COw{D=TmCYHz8lLE0i_?JaFYz$b~k^MAFd9u2y=v}qPkX*DX z6RTor0PbHK)~ei@h$mUL6KC3p6;c>b;IPVKqhg4FHBp;=4OSK1zLKo%Pr5 zoqox?uYc!f&t04xj>e+{PJnI`m{dRR7QMWnHe1`m(M1jRvZl~?ondMXt`(B%b%m7F zf;EgN0Z;VT}wdF4W2+Gi@@9L>5HJ%kytW-}|Og3})FA6VO>KEvQ3t@a)?s!0kLxo+w4MHlWQk(DNyy|Qg8 zd64zIUt+bneVyWFEN)#kPVB6o*jxYhbGKdd=$Vf{`@7@mm zF%m@m>mgPQoYZhtRL54aX+WzE7y&CMBV`U#r4%g~qywPUc2M&wurL+JT7_7lUz&}I z5i16hLD^veqM|;$K&+fcz+z|FT@c{|qz1^Dd|kx4Mu>GS+gNv2 zPwt#q+}k+0zjoy#w|wx+A2~WY8pk|Myi(>r>JzQ8ytI+XtTCC6D}3>m!L|2zi)s%9 zJ2qm)YZ|4s$ET;j#+9|6x{tCAFdH{Ec1nW>=Ym)6srH-D7~b|f^P<4jcFT{ASmzp_ zp4!{*Jnzq1h_(BZZV8bKlkwsBaCUU`3(tJ)@<-ly&F-Bib7r@&bT93!FK@3?;A$sg z1<0AxXbNKG#G_f#WynLQtsk)}?4uE@$t;5+0CK@_bcsQ%PA*jO*irsDY;rY-6}u*g zm3nGGYwn}`0aSq^4S^PzkfUum09Xd;W+Nd2w}^6u5F3S*VW**!7r=IfQspYdiVRWt zu?`?sOK6GlQ}oC-7IrpIoZooqgEyUh|Nr*n=$T3M#G8aPtT6#P%^G>nE30dJGWG}s zbFgbE?wF?bMgm#=Ygc<;(TP}lU|K(7?P*@)MtchuI3)C4#Hvf<|2mkrY*HIX<6zd* z;I&UVylvBD3F2G{=sxsXv)xJ?B@F7xaWoo=ltwe!8<_SjjqWJt-n2a@Zijp=h0R37 zs>8|C6*406XCPq;4oeZahTA^!)W=`>z)dI5udVFg6(QqbsQ-vICN>WEcqiO9neb;&P3$6Lu3~B^K+bc^09Z1sP&e`kT|#=2J-< zQ1~#j7!oHUN%}_0Tg5$PU3nE^O=KPM8}qTEGZ;rAGi9X((bE1*rNxh4lJmx7zMSoD zM-XfLHzC$D3%h56*ZN~;Uw!V4tH1PJUm8Cd{oAA3CFVDuX&KaB9NbA-+nf*X*ymDA z)fTb#%F|d^P2pv;{e`hmGM8ocbf?jVesD3ZG@!#eCY`PQ-6?SzXUlba@Le*}$CS`B z+Q(~lc}-g~wqLEz7q9j*+lOU*AnHZcI_nqfeVi-w5k44?XUJOgJ?VduRjKKAn1OG| z8a*11$CL429Q@U7AN&Wec=V=|`+?kMap%n9?%Gm7tZNamvW+!lu~~}VzgbzAC2W?q z#79S@_c2c^FXkGtqT8*>Ya@siqhA>=DPJR^EFfhsaRukF7a{zCkkV{~3EB z_{K{gxanVi`dtUp!|)Pkg|N6Em|5v>Q#-^{V+xlCdlsmyU#c&3>J|<;=jp7IhYsQn zr}p{++t~cO^1{8wT_H*kzTSNa2U|YaNcUp*7XLw*0@2W(cbsq%sg|mZAbkjBn+rjJN3*}V z`1I|M|NYmTyZzLKw=M6TT|S>otKqw{w-LU{*eW(wGPBY*qfXZ2Wn3AN2*Xm~%7ZmF znN|g{it}*c@f%Q21g#hVYutF)`dQjo!)^i9r!0ca7X+5FAO~#W+pbnmn z;?zleh9qJ;EK@Eha79Cpjjt?!uC=#Z0cxvOd)=P*(~t$VgKqEI=+7;%$Em3Yv9`_P z$5`s!3)%zjLd#mS=Nj1Z>|FBBy|^v5E*-HtPpX1g`(NXpF`Tza`4Vm(d~B{&2-iwB z1@{dMSallGf{Z8Q!`b0a{@#E5)^}gGc;W1|LG2b~P=c!gv68D&MyzD{l7Lo;0b%-d zKTR9b8KH_2&?~{xrj1qoOnOvG`(o^X5bXlehoyirvnuZ+3O}Jg=xj_83!Xm`e9At< z7`KZ!9a7R5#41b+Ajk;(B6FZ3{4dnD8j>@LRQcM#w36mz8~PPF4q z;Zk-F&g((FoO31em+HMVSK%&wJ*!p?7|ylam0fdjU*}@jDBoZ01>if?bdhi!&9`rH zcVhjBwS@LsIDg9lw+a^1>;kc3>9%26sz$-;cQVP@ z;5O z!ZpfCDO%pi_#UCFdU>*Gb$w}z{z%T}>808`vv^@+X?Jzu+?}6z_IIYU$;I)(;basE zm=Lj=2{QMby_C6+ryA-hQ+{m;?YC6U)&8=yMgtn=!ogu|K%Tjf*QF!Y!3WyY`1Un} z9dA7S#yHHYq-_jN*~s?U#^W>9wQUouNCIP~|JJoT)wp-CsitcFF>?^Bf~yj!Rq=x3 zs>jnwOu%}0bTs?*ul)D#ICtBXyLV9d>KedR{yQU92CDQ2P`oCglU-YxH#i@ZI98)h zL<^nJG%5Gs;x1rk%2ZD57_8!0VKHaK3V5^7+-fr`3qC-sK+41|WG83B+7Pm;67f*U z8(g^$KSHE_U8dxHz|mU@0>OYvKsb z-fj?UtXB{#?6vZUaiVi!_sY&r8;iSVPn_Sp;*mGq{el1Wi=!te)A4vb&Q=lS(brlW zYM)~(?rMwA;M{MakE5z1v9r{Zq0v>el@)ObZes?QySZ>jt?;tgMvZeI)^aiD)2{4G z&M8CHmEAEd8MG4iz^-=R2QM4!$TtD8^7ZYey3J^u9lX6(qrCt1t&1TLw$BbJ_3?FL zdu%+$Zo@2IgY(jK@~cmM}YDCek$`QCq!=iJfAvn>$0ns z*NlFYcPXE?KpYeRP1Dqg$EZCF_q!9Hs#9Ry?{=&L*V5LiQ9rFgU| zZ>S<5MFLt&;4GB&3QcoDa2D${8bcsdrw(`3!iu^9qGfHEDtdNh(W!E_5>K-D64OED ztE|$)VOk=s_$A;etcfZ1C+;HH>k0G;ygA7OC7cqXZHRi~h268)T-bQ|BX9awzxi_) zCkKZi<9Q@CtmK$Bv(+3duc^(}{$*rvy8_LLW$PCc1#^U#(QjmDQtXiduSS@-r@ z!y0m}QLL|bM5G717fXh0L=0H6R4;piH}xj zlkQjK9e8cY^*P8$q_C)kN%5=NSx2m#!hi#5^FU=m56?>;aU7*ICX84Gw5~61tu1b? zFKxv?XrC5s`fE#j>x=tq*FC=R%KLA8*Jsa-j{;UboP^}Ulj(#~63_AJSqeIFM9&g2 z?faCs4A_tKk;Wp~Ugy6N2x!nqXRbFrYK)9&Pd}cm4T4)sTW*#m4A$P*xmD$Ur5Bx* zmaj)yzB~A(g16oM8e&aC4XvEDdk0_6e!Yqm>y~3KW5kMkSJD1D?!n^SbTpgHCga(3 z5>}(hcsBkIe{lax9=LJ&!sf~CwI~pS8}LfXWy7Ap5wWsq6|&wGh!rz~V;rmD8e*Xq zJ$_mJs1nntTs8=uGy|a+E-L`g1+63kq9K(T`Ah~k3?UJxU*&!*^uN$lrdOh`)kW(> z;f0-)5&#VuRWbVvAy&wL%EuLAC7l3Zb99v?-I zvDjyxor5c0d#=QT4XbDkcXUd+9wYDYlN#D35GwH)UwH-XmQAkEX;`0Yy9?~*pv>x# zWsN;dzXz9lwkC52+h(q5ceAJOgTTM_{zUn1cHT$RK$(OZ4{QP=)>5hA4p%^|lTkpd zlksRe{_)@Xw=ci%jVmFPHS;f#GccP?$zVz@ObNh7JhBmiCxx#@43Z79QybKg+wAd%%Dk;U38SukbHYsUs}ezQ1gft zIWk0rZ_;71L$dfY$Gb#`vwUH6W~dUJtUXY>@t39{71ei^l1WU*aA4)4jO4G>z_8Jzo|X)nbQ_hL?wc;St9MTcWeZ)4?I3pR7nfxRO~cv}wmevSJ<0}{ z;c^?`c5SY{SBs^E0KfT0TUTrUrVOueKOYZ>HF$bVj*gB#{*~XldTaIS-P3`?kj$nl zI~xJ9YFc0kStX#lB$W6kpu{?^`vFIwZxmMvj zJf&QctS1lC7?J>DYz1K^sr_6#N!}o9N>^c(A18DFa>y#sC;=wTie>0KGV?L9bB*oJ{#a z<}U25FYawFoj-fU*6pjm^bh}X^yFkV38@bgVy*2qn+sIA6>l$ z^_doHCPo3wX>OfMa^Yo-gAJM9UhQj5DvPa&b#=DZ=LAwXP(s_&X5X++17*9z-hKqf zsJCXMXv~H3;HBFOxG_DiSzFKFXli>TEn+nzQ(#ziHhp!wunDl{i#O-Ivl$Qd^Y zH0Hnbay_o67B()(d$u62?a*ag6WMhSlHj<=OF#|({op1Z##Z zg1pF^B?n?qMr<$_GVZG&R#an}U=zLt{sjXf`N}f>Dv@Kdu8NgVAfci21)C;Q0$LTi zVvbTo3bj152#1->N`ZH#aljNmY799vm_RFwd*qh@vVAtZYTs-f(3-_1wvFD09H^C0 zYR0NL%}wNrBpa*F(;9YkyX(Qsy0^CS_{OW>^QQ0oC z%xWrot5ewf>3;fUnR{7nrRrIt%WG=uQezKr42jUTk@dT>aAVpHm`hX*tjzVo+sz)> zKFuj8-M!yn3+HNB{{yX+(0)}ql|^nB%vrZz_G0`}>{YfM$qrS^%kuv6c#3rk>fh`S zJey6QI{fnA`_TV>`Fq~9a^dc!5K|N2YA~%@xXNVv_!YQHh!u2_h%SXGmqdofWk^XR zDN$;Ol{`x|QX@=iWDTav0ZnWf>O#^MMQY)7ETmGxY0m`pT9oL!z!a;rsgT_jIfx`U z*BVs`U4m1wqCQSmV>W04$0INmvtP9KWJc|`av`<`VhBMZPcUwklB&#iQHB&1;Yd1T z9U|5ol@n~NnLmPsmeLC5!?BrzjcGriwso?{x;i-c zMQ{9T1{L6gh_&H_PUT^-gnE z))2=!JDPoI^w-y4cRERx!wOGq}yvY<6cQ(<&g= zMDh=qx(smzt+hd{m=gzlfH@AAIUz-0aTS(N5*5O%1mG?xb1Fq7vD6cO47H6x=P~q{ zN?u{CZJ>7}zZmH_?aeZ1%@?FJH_7cSAl4W(ov5TU4@sts&c4AHHeYeyO+WR!?>amR za5XsO35AM6tQ=@zCgb3|uHDi&Sl-)%RvOJ~d}?s7*3|O$(p+2CUV_$sOKXo2*(`&{ z7>Y*k+@YwI;C81ms{Cm;+Z{S{Z%eI#7djrsQwM#(ZB!w`!9Rw=2I8$4r$F1u~O<)wyq{lIh|!YiB3cu zWMdUfDj|&m!5F|wn5t%85{ReCd?+DKW~|MDtANE=y(tVomLwmjAlEBid>Trdi;GR6!FPYB*LX@D$Z&G?iYhI8C*7HUMiPvT5C300n1L9Aw9 zLAa8s`wi&Uh&6**p=?Srm%1h%Uue80|E`oqL7of0Gm@z`dM@Q*$vhJ43wxWd+dF;b z_UaQ)e{_5lWoS+q$BCZ?77%xmHg0Ku27M>Y#Whe+^|11iRY5@dz*5|A#&QM9T)rjc zYE~<)(Kb_T1F@=N+v7D|`;Aro65p;y-)qITrESeL*{IR& zU1NJtj)42<2M1v;drFTj15YF2X)eFg2I?bgiS5@MM_TX6EG$jQ`C~jA|MTDcH!r*Y zjn_T)w&mTkOM3ydCd3+f_>oMB0#`$}xM*pOHdeu#nkyLZN<2&18CX*R2;d6KY4Rd= zQebP>U%9Jv(^VYuS@A3E5Tv_CQ>IcQXYpZ*MN23v!`ZtvdD;LD&A!1NvoQl$u=zUL zY>_Xh$F^u!3b&xxnqrl=SdpZF#j(>Kqa>#QDE1##)v29^hSH##fXB)&4;odYjddyP z^!R1S)`u9-y0)~xwy=Nt%13Yi#V0>@baWJb2BLC!YG#bTJi2pma3T*(-iqT*IdjX2 z?3Q4vuKje&X@HSqtndaY^sLpLbv3Rzh7Ed9InY?}8$;CYODSpxn^)Vt9Qy&)dWW^R zh4&bU8{MhxvgU1bW8`bC^#{D1)LEnJ0nU5@l!MzX+U4RMs=u?K_#I6{I-8@T*{^=_ zV^^I!bM4;Rsr|Q}+B>_l9}sJlpwO}IEQt1IjdT$?qgJD#>rlHHIHqSZJInf?u(ordL0K8{~ zfZ6JBq>qFJF&i`C_k{ElV$BaLa#@_*Uw`F$ZaMS*ANc(EZzd73@&>fnc8WvG;1n*W z>b##$rB-`&DvX8@kPgk(%I&Vz?9vy#+NVc|m`_b)^mwN@MGe*BFVmGz3UsB`3~#jN zMXbjbmpyOJi;h@J->`OR?g+RdvONxEXB*vbm+zZGkb6IsUvCCWRSiz_%VLhJ*~$i~ z$!s#4KJldwyyD(BF74kP9D~6b*v7H$M68;>f>>RzVDtnIKN+zC_T)GnaDSDAI0a%g zATG;v2eB$(mBa)XOmn>iT1%){y5Ks9HCF8-))dg1HJ_}rmHc!B+)S%fO8}cQ&#*dYA0efUARQV zY7>Hg(-CXu2-luqyGFO2T;se#p&zmG<90=%`%Vsar_nW2NUaNvHno&6S za<)f9IVM%gPmRlnRb6JW%sUA zyJu5|xB{_)KQQa!VuXHJ*2rGQ0X2ygP*k;^iLgMdoDPQkW7&pCd`&=M1n5%SiCL_m z_^?h#n2TJpk!HK9iRiSH@(H!EyAH+7$~7^RRdUvl=P-0%CHEndG3K)2E`YN%%2p&< z5|Z8uV#O%kB*(!Lt-z^ec%Yb88WV+BWzbL?tjRP8Sqqt!^F_oedh!78qgWV_i2!_cX83s>T**P)p1Q+ua;Qd9{g98?J_QYmD&V z1aS*2KZAn1f9KpNq}p0~L@MSL=OX}FoV6(iXF8qy^}&~Jx$yU1{m5HR?FWD0$oHE) zn#jh=Ucott6%@tfGfZ5;B#y&(X=jrWYocl56;+t)EJOtgCSyy@O5G$f!0MWb4#26^ z2zQ7cMUx*DE7@&?wIIh6k)09fk_cx>X_&l5gF#Lr1Bi87wcOZDp&2%Ul{}QtYDo^m zK+}PuwoE#YjZ}g-BVVmOhSYB?I!mvu>_(-O&y03+GB_BkhZnBwm>aADK)N|)=ZC2LSvGVNT%yrRUdu2OD z;k66gE|>PBcu!Sp=iH)eaogMg(Vg9_T~@O%mu+s39{+4N##A&Y0o~i%V^xmxpwKi8 zbKiv8KA{JAx}(wX{&lbKN35nh_3_IWIk%*zqv`aWy2`S}c`4*z4PWaj91N_72yab@l zL#6`qQ$qh1u(1-AQ2vVlt+)yc6K|qyGEpR!Vn_wIYIZ&$`<1}VlBP*OT%le@PaZUk zW*|xU6iurr;+bEOKr!`QnO{{{C<=D~&KMS?Vs9yN0HApA={256*;z5jz+9Y-h!BZvfaMrG&ygXEy{tjN>eWYAekL^g)C>)RUuh?d|8dc|gRJ{tN z+~b~VuQu`u278>>NNn3&pmk7cxQNyCv2!Emj$2LS`Q}Kk@utCUH~Ccmo74Z9%N&2{ zZ?7&*TUuRo%g^y>mXm`_MhDZ;zxvd_|2y}-J|wu=*-UVi(SgwKlYTgdvJx!Ka20{) zc41@PaS$u>G64omG))|oYP^3Lv2sS&0#tg4m4pkRRHH;?Jgb3ZCTX->Px-n$-9VZp_-1woHm01-AEx zwMWxQUDbU8l86GVjp=M6N6lnBIhs8D`S-o*;aisW z*H2w|>#6;-0j^3|O%{}4)rx7R6;_q#lK7Qa6{VR(|C7?vD#^|myCs%gaEXyPR?XhP zytQDAlPoh*f-obg+$)%YREObknp82ig4|K8eTHd4`A2c`9fGJPD=R}$YY7#mDKPBv z7l1a}SS?~@%uchTVg=%)BHOIii-pZ0U~0gwmx$8v9gdP``E} zlPj*D*gNymhi+JX;`{#U@Tu`^bTQ~&#zAVT{R`TY{$w3NITSshwR3yZ zX&5zSHsn{iRjbLnxlE8fhS9bkl-t>!O-osOxjk-gQ`_4Hbz_=jbRj6g6vG6LZCTDZ z`ZXPl5683duYKub-*(>{uHHQpY^;%3DG@|ujtH=da#$oCj9`hD$s9;Yj%m$RzEn|e7oN_AAumZOf?JE)f4BCMJnSma266*ANGTl z5K(XklJbFF83Y{oDl?lg%3|)jB_R}RuePNspI*=mgRiy9(;8i)V@R(&CY8Zf>3j8F zh?LKa>yz}~Idg*Ou&&-a{Vn&M`teWy++m2tKD;-*bPC*CwfhB|AR;?3=5W zS!?EsOCc5;3s6i!3|jl}ox9$;Eq4#P3vUgt@s;JWd5l`-+idW0WgE?-o{@$Q!ZNw4 zi#&tFX2MAgXbZ&4|^SR&~e;oI)pINyLK;LcGl&*@TzT&>1!) zZKyRn4e|1=g{u&RR2Eg0BuFD)5{RrH2DNt9HkTGsQ9c)W%u(&EHTII(T&cTp_a%rm zo77=QLo6^N)&=bhEL*;aTN8k#tbD7d9^1I=p6fT>|NUP${9>T)oQxtBcH}(t=9xQ3 zX2<%><-tZhkxiL_uugP$KSTRe^)}Rry^oqDG_UCyw6|CzN%ydP%FTyjsl{zvK2{Nh_HzK zfdO?YuVAHPRGzdF`-vqG@*-hJPCGU@R8tm1${10=N|v|mpG=4qD2_27jRf8*Gpn3M zD5}6X7@*NFh$Si8m&q1MKvm4RGCtI1aGB;FLC{dDS`l6;w`Vb=VqP8vaw+tNbp=Qi zTu>jIIHpp$k=hXO?@svl+TGPxZ{PB&2XA`fiyxariFr5)8W=rs{FytiMXcx32CeN{ zES^QsRN2ONHpv_**S+?ReQ?e1X-0byZkOM)_Bz*?gI<%I6xEdrI^T`sy+xgBjn2B< zhthtgwZ^n7YE;*WSj!Urze22o-Kn%XUp@?4_3=qczcmXh)nq#U(NF&0fBU{uOZ(CK znVpmbuEuXTvIK}Vk_Kbg=~{tU6E#ydn`UQDL%hSLvkQ$)En}?CW7mISEFPoL6pW8Xg<24hqw`?ky+i zV97lz&tOr5D_F|S*G8=7t{(fc+mf=ijWxD=k+ikfnskikIJjuLh4%}N_NVj4ZyaL9 z@&}uDjM>+ZSdSXIblrIev9jMUyyph4X8lRLKg9b@XD>_--tp;o{;dbDUwnLXasTW} zK&%0-2EsrVZ@3lS#6+)2v7tag=4VJ(3*i^Cf8Mgt12v1Aec(`rZeD> zV=%ks0=dCr1F>q*O3tpJ7X>i{9>UonM?fp~tH7#aXOzC@#Hr|PthCc6`jtc#SEOvL z=y)s|1LFHd{jF>&usQ_$5@yT)qMx=6!%0Fm`2$mYjo}c6L_Zm#MqjV!MV1k(q+_7& zub$Xmy>@%`+O0FM+r9I$2X9z=@ArM-@TuACDDgi84o*9lhj;#$A_3i^aDtn&jeAQg zYGWG@H~WyRZRO-6jYZXM^ChnKZaKBWJJ(+K8g&pa=H7vFuVNL*eeZldY7&2N1p15Z zskBy+xux^9Z(QJ3=RVMOEoJk}*+%o`(wVf6G`i!Ds(x`QZ>brM>MPF`Y#KvMPx=HJJjj4dS@VRzl7w%BE5ZcV*?X!lc%i3*5P>UP;6^V$sP!)kmy?QaLHSusRseB_i(7(LGSLa0RQ4P__k=3W9CQ5Z#Qy%WP1< zv+Q|J4(be4<&V?h8(!MeFMZdk`#-lojse=yZEw=)^ytkO-@Bz@X+En$3GyNO1fs%VU>(Pe#BA#?o_N`N z-gMRZJC@IHF72OP4s1(_B3KNpj99bOz`%TiSYgfAK`|P!8mp^kN=xylkmrTWroywd z2F$b&*2=dC=CzTY&8iEVFW7KXcnDAgqg!l}N5E6$<5SIz3=kUuJIB8iuEog#7)2)~ zEk(CmK&)~k>u)V=G-_K&m`*ifXt0W=A@5&Byr2ESP{<1A6;SWFImMwPV{3kY!0jy~ z)&yFw+I`EnzWchL`R#WfOb^2*Fwg{3QkyyF=HQe!<={1)zANoEsAY``Hh0z9*10U> zN_#1va%6gti(5{u@VOe<-bhq0){IrwD4;|B%dJbTF+JOxxyX>r!m+nzPIzr!F$`I=T=jwI-I`STjQ^+G>!#7HU7#i@B8j6-gEQP?gnD6 z2uqV`HG{P!1g(Nth0HJ^R$yBqc*1_g3|iTUiFsNn+o>Wo5}T46?&&#f04hj@Cv3B1EgkW zk16dWY!Pb#mL-WiNow&oD|TWK+FZDKCsZqJU1GjxGb~aGuXELh{Al9Bq`l29Kch$NS#M=L1v4kHVu{Iel zYRhkVWo=FFv@h3AnU>7u#8Lx~bD6yR`(i#^X^+|3t+c1Qe$d)4b{j1;rPbc>PQ+UO z$s6;ywMy%7r>1Z?_h49s9e)q)Q=H-vxbn3CYR(3a5_BWUJH$xiM z3|C1+ia?YwLvbhq{-q2wkYq_C)*SM0d6r7RNI*uMTE!pOG8zF9lYl8UXu^`NlC-Mu znfkZP#EQAnz-b3uZFRIJ8yS_gk(=rxRz`?5C~cY~KvKp*Owvl;d2sb4B38{z#f>2g zGIc>fz48ra`>bxErff<>3iesFo0ppqwkD*I*oE!&Yj@7P>d`k}_0Sz3e(F=B*?63Z z3f-A&r+_;F&1AepRMNP&Tpwyi%tkrKmXF^w#M+4n+`@aV?0gD#hr}0ma4a8V>r(4T zZ4ZXmxVN-b%I#+JH9f+scCXv1#@R-D8n)otaP^c{c4|;t)fo0#cjlULs;<(>oLK*Z zd+=m@Fgg5*-}_I0=UppH`yuybTqLtMW=wMvgInV_Ww8lFh>)!n5Nl#sBGO>+3O438 z24#S}A|VeE7R9Wlim?YmZV6C!9r+=}gJi%+5qXG?=7S`CJKf6`G^yikwv3 z*<_smAd@S#Kjk}!hh*f;9P_Pn-L~1P+ z#ad--u*zqLF~2`kPeySu3i?@wL&g z#_LxbQgdUw7sqJfyk$0i_CL*dJbankx7POvT`37%vZ?Zau_drwpGCMjiL?)s$>ej- zf8osgf8bm0y>aESw=V5$oZ8(ywYRYn{DBioa8l%oD9jNJ$vugQk~o5fcn=htpF*r9 zVFLLnVTg?w6WPX!c0FKHVyi1htulUuJThRs6H6ZvE0K$=w!ND8An~-poUNMOD2kFK zFEYik_R$SyL1-If;YrOF#F{Cj7|cp?RU0L$@UoCBp(nF~#y(=Ts$G(Ol%SSlZAc)p zClc6R#WK!+FtR2&F3D|`%{mVqCdtj}5pc&MA3Syc~X3VpszRDzu8by89hMl5$u?Syfs8y07n7~yAUkF#t zt^mk>6I>O5DXv+P;|6lgfW^~TKdsT$#4(9cReu#`w+_-eJ~tYsm7UaBSFLX_gbwNO z9C{*!E?29anRA$2xztn0p|!TN(N|pCltEFD2RxA>i_t;y+JscCoOWf+X! z*Y9n-{9SMOfsel9>Cv;Zqa2|#4f|MkoiPB`sGbI9YdLc}6=j{pcB-dp%dBZt4G8oA znJ|FaPL+QnrEqNx@9$=#U$wQjUuMmvpzg7ankIE_02&=Uwl%q-4Q|wkjdwfc3c+>@ z+jaFDU)moW2<%C3fn;fg3~+GLoAJr|I-X4eJI#1BnN6OZJo`f*|9Ai6y>D1~?5&I2 z5ufg^F9)in{NjAe8A+-pijt$vmn;tt8f_v#**#0aP`rix40hwLI#zF zCPaynPTNXABzl5a7@c~ibVe#AsqqRfjI*K*(4ND}NG%b>DgvnRsw&?H0kE*^xO(@F zm)?KFfB4J;2b04@yqRpQ-bPW)l0g^Bju|W$ckbBxAzq`X#xh%j5)E-v7S)igopPau zSQ`UUF0jY*sKF0ziPVXx4$!|6Vok3|J-f{iVr{5@`LagKd%9WcuQ}eRu59yMFF+?^ z#Unk}G}`9Qi?)HF@o8*|%+PfeYY4r$oFULEh&5(qy%-Sd9U{q*nN^Ze}MWD>ldNQ0cG6wCzTTJh$HmrATUi)%|L&gD+T+Au2B z3TcRA_X4-%Mn}R=l1xlcb8N)g39MWpZW`$>$ga0oPpjO~ZfH}@&xSB+_tdmuuwi9& zo!xY0*(J)ac3qt%9|N&6{4B3(l*ubVex31DDI%%;htu&3ql*WVgYnVm!9Un}$$dA6 zOwc=|+wY z$4k)#PfCWL5po*IR*QWOv?A zQ0OtjcO&mlcGq8h?$(8^^^bq$w@1^_!8m}{$y7L(s$NJ#)3zV6mJ64=P`oH2)fFYR z#xxdiJZOq4g;X1{)}%~-Iea4?Z;wL{Vr83pb7a_@9d}iEUy#sgG5GaGwR{wVn6Vra zcPPyDWeM#gZGm{ye3!~Hd*plP+5T(h-PqvSc@3uXHparwsca@o#7ZxZc%L(3jr8WD z@g%S?{p=sy|MGj@5FLXvN@B#C^PxvtS7Bb_+%zhAO$4f#)FwN_AdxIWGXqN%k0=&I80JZrLEJixbNoeFFY|h3QQ^SJ4wKlY=!D8 ziLlkAn%j4xy=}@-K$h7V%#Rxj(0Y=u@i8cQS&Qv@2y?a`RUOl zxI(RA5O)i7hq_iv*~o^{xU6V)+|My~W$ovfFH;*WRhKmyrDN&;W;dlHv)CCp7+9yH z!^z?7X!c8g{oyMgy!~}scdqQ-6?yU{Yk887`5S{}luJ@r&>T{IAtBTnPUHlZY~#3A z=de~Q)QrBAgIKjUDSE?7#K+04Rc0-Kq&Aulfz+6sVl~SqfsKVzll6L1fuHQC13FKL zLS+}(?AV+RY6>PynF`LdrNvX5I2Cg*@Bo_&3{-azxA+wsi!daObz8zi!Tb-dnjJlv zWrXz`l6}tei-+M_#0wE+=!w0x%N~5=_kH9?zdU|+JeiDQQX6Io*0W?7jW$-5xfY6k zENQClv52(~4uXi;H}Nyqntu!vsymW+LuWgaPtR-`@CI$6#Ay>Bjca@zl!=XQwh^ma zVD0wyi(Nb3e(_xS)o4IZW3Zftly7`$o1aF#gOh76Lx59$fmofhltD?&g?KQfxfw^w zxKDlcGmGze%hl&@U*5~A;1aQhFWOiUv9dW;fR!Ox;>4X6Qc29CL8E|JVHsD~EXWp@$#~$Q&j6npdmCWQt@mGfs` z^T=CP_SZl0?5B^8jt(b5nVj>@@#4xeKvr5iX9wqFdkVLgAahNpy7(9xxffaN&Qn;Y zCHfnISO*QqZNyqDXRw836>fvwHefBsP)*ccznbmY|i_G!tf6Nua40c~A_( z5eKn?rZM?1aRA6bH@`|3i5@KwtMC{I>5xj^O1ESw#;im@o&Xk7+gdP33ULI*nHrK_ z72V0Xd&qB@V{au%4Ld&rnlp?~;I%7XGJ}E<({U0m5o_^fCPQ%~h8w}0>L6A_62)-U zh|$6W%4}ws&@#Ppi}_!+x^67)Y%cC@F79okA^%y zeW&5dBd)F6jh~&LV>~Z&3+l1UUes=>sZDB1q4M<}#K@*4?VUj9OXbe8+9MlmK+y)B zQO;CqlFgL`h8%N~K(9KTJU4ye?Z5Ufu6W>vlD$;$rX0*BKSH3Qf@T*}g0xBDED{+lw%JHWP)h|3iO&*y=Vru8PEFj} z44SfUZGw~F42<%EeX%kEWwJhSjy1PHb{mjNR7L*72z_?%!7(g?ViaOUDq!~PO1PDo zmzcU=bpGgf4Fk&t*%Rz}mG~Sa9lQe0>Y*h2!me=u&ST|A-=L#)ki1Of6>mvi!O6xN z4XpW(Xd_51KlQ%1Uh%*UYrputfBN;$&t|iW(fui70q{&wi)?+uUg8Sbzlb%~tD2{4 zDT2#IV^AWrKdy*x%l(>UY%FN5HFjQqr*@@1lF^K3Pp8~Z%}VRO3H=hp{aKSBwN4EV zZ|xRyS^L4c1KzlI5V5+YCyhT5gXpo%f2DGG`viY9X5!J&WESFO4kw34M@OGO`0F#j z^8GJ);Por-z3T+IUuNrS%Ko+^6orYCF#R1F3&VG54=i7lQrxmCVQLuT{Q@j@4%HH~ zCu#d51^X+w8o#S2w^zXr7UDiQ3?#U$#1$1eg@9yO=|9C3n6a&xO>>?#qFfN;uMV&k zdcdq2Eg>_eH|3N)=sc_}lF|P*d?~$Y{x@DJe}l7-QDPUlYzXZ_MsgfC#Lngx7Rs{g zD2(Q0V+4egQ}Z$%;qZNt@efjw3dcVp1A z11y_SlkDbftqq#TtxC&J_c#v27^^p#PDbPLXf}S&pI^A_-LGFbzrM7y84zn+_kt9T zayhS!d0`|QE4r#i?_aGhCi9u*UqW`=jDQeBxduBy+tJ zbd`)8v*9oOG@-Symry!Sw2fv$V67DO5G!4;nJa2vgIKfiGzdXKyOh61(!@LEuuedk zjFn{6h*c+#%YNEAJQlU;HQ!~}4)I(^ESJ-D9WBsG)0EqC1V&CkY$ zp(gY@TW&sPMJkupo_ovVW!q{8XD`O5HX!cPooiQcyp~{HrfRp+Mr&)I!5vraEt(5m zx}BO!+t4|}ZK0_zCh1l_R)MRTWC=|J>dKsYbutbV`lF-S(N`v4`A47p@xS%%$PD;if|QNg5@h>QN9jh1;=2`_$R8o60xFCOM2j@ja6A8Gd#@Lc6EW^DrJ)aHh400 zCMRKVxYd?f53!11$~w=?yr)c-l5&)3l#&t^Xm5#7*PunH#d;}YVpB1yCd3N(6uxUd zVpSOga%ZES*0Me1gNl2~!K$j|sMIw{%-IwRY{R%`P|sAWILIqlQkkP=VQFt;aqsNn z{@Ih~*I)kN%|G^=|M9uW3x|{OXdE&N>zS2Z4F(+{2In=-rk;aysawke8x5OlIV#H> z{FKde#bx8(hOln@Y(JD^=-3$>@@O`i6k!A1WI-Xytj95pb>G+So z{^zH5*00>UeP#ddoWdqaVX%s-e5}aeYSP3+_h5}!6^yl51{P#6^9f?bY$=$TR3X-! z<|bP|IrS=GC82x=7)!ZR(_SLF0q2m_^fzKU70SvK872%i8E5Gag->0gr)(jGh)%)R zC1QmQ03`7-h&4O+YKcrP$3&LJDgtAWWp#n%uOY;mt4o7iB31?G_4A@5WO>(!H9sJ* zDQCEi0$T;pF!nzSx&n2txyEfp}5UyrS z%KX3#94unZjzCH}h|>`uR+HU~w5$SJ5xrV)my*Q@rBZ;RCc8=nv09$qlPS>*QW6o< z?_${o4)c-rpx~hRO-{7RY1$l*T#Lj_9#Vr?(Ttn?f(WICm=OZ7!-zG@I|97c(n>!; z-Z=(Yl_gd({s?;{tLU>RM}8{ITmxZ58nI@$n%>N`x5=+!dh7N#m-g;jI)B&I`>R*~ zztp{nyJc5(ANXhF^Ux6pfh3TGkm`+9l1j6LhN?G~gt6PP<1wAMJDs@WB<-Qo>7*UE z-EPNU957NzRi%2vy{}3oMq?ZM!!ZG4V}fmBz<|J548{U9RJ}X)w}-XXZ>>F?eP0Qu z`+NuS>fC+y+4~G@?cW-HYwP&?zxJX1v18gC3|*-vj>^Lbg$iP=J8{%ESCCgFJXQLr zjVMSDR)$fR6%|omccPU}tV}t(RfbnzNK_t5%L*htkvlX2E&MlkuG&`-tG*OvyOw8B z*^J6=^gpK8s%wqxKWBQTo$qJoe6!=9>D@3VwlqtxRR^v0bMZ*WIITUS%XLm@HC${s z8t(fg{fpy^Kk=cTz4Ec!4xf8;d1nLI4!w3Jn_eJpT{3()lB&tb6m<q> zCk1CkET$cTR(aF&?F1rg)Y z1#*HoTp3|_0HKLfRfF+#H`ZMYIhG=T=-uXZ1*v-`ys{EYB7 zO$5X$MOx9l5#8J(s$U`LyjHdE9DQc=zrekrP!^laqU1$U|@3f72~iI{Xws}B-(yUILGiTAaK zSE{55I3+-;-HXVGt7(*sYm$qcmVB(d#)v8`h29V*&H77@fZLR!i%qc`q+n9j<#hF* z=o=OCrPu%-ag1WpNy_x}ar*d_H36fdxb$gU5D)AS>*iAbk;U^H*Y7^~$oqccOT(`O z#2ShV)B7LHQ?)NB6=LR_<>RTw$$rk}VCk!G7bcwn8|gS}69zk8X^x#Ttt8DlJ*4dl zqFuSnB+12#swXaEfJ@Rjl`&*g(zgS#Hrhifrtj=6Z5eZEU@b1l&g}r_9_(_ZH#Xa6 z%dfSICT4Zro%)5Gt8z14IcZm-YkxEuJ@e(?c*Enj&-K@rdz+pUI3Uxgmq{>^895?W z2U;Uj?)JeED+qszXpQ)eAQ&Q6fucZP5O7vxYLaG<%b7&ifR`3iDcQ#dZdM)0%7t%K zKRM4J+DIwP7>w;JQ0X;SSvuVV-lH+%ZW?QH&i^lnw6GV41XT3Lo6cMZD zePRZu2u_tV9TKwiSvs2)gS2A_q<~l#7_l;eaP(Y6WB&4m%{QICckb+izx%a6a1~m| zLq|F>b|r7}h!s9GQ!y%K9ZC^v<>Q^ngqt3(h+K1(7W`7zbe&fzZS_&L$j|>jBGyhb z#Y~E$g_ig|mdHK$ci;vQ^h$jhN(UEi6y(G2Joo$8 zpMK!ForjKGc#A7%v%9(Mi`TfFV5y7u*w%>EYs?TU;-i8Au39r@idYpz0|Tp+P)qngFuB#McGqeQnN60{y$lb9)Kp-6LN z!jL!$C>Is1H55}V5nwkIzG!YWq07W>fjuC16F6t1qggN-mr83ul(012a|#4zIM@ct`aLrQ24AWUtG6&vxHdd z9d;tt_8#gd9sseHrr(G}>cgmC)EqY*Dp6U!ddo%4=Gp;b&H7mN^~m}M$FfTr4(cqe zk+QE-%l*mBqWtDm+PC*sA7|xw=^JS@=bBDhCYud!uAfr*7)t}IypVbCyz~HjJTwX6 zPnu@NzdXK$qw#l$bubvYM8B_${`#SJe%~8Ty?MF6$u#~F=@hZ*s@o|%2_lpNVr5oX z)<+OT3MNO1hd~*R7#6v6MUpFICpj{p;3$z33y)fQLn(P?ypR<78%wSPPapeFHJ)O> ztxm&KfjZ#RBvOSun-f5F^rD720-qsTUy+U}S=CUnJP7^eRS-CT#r)0&dD)rJ1LCg1 z)DUiRxX-4jjkuoU`=DLqQdbCV$gbd-$x4m{Gh}b34axeR|{S zcO1R<{P%tI8-F^TP6s}rHBkE3H(h=-+8SGAV8t=o30_)|qk*x-@#m0B%V6-QynR)l zUK(fVaxG%KQ!#a3t~51sIn!IGpw14j{v7KEJ7;v@U+V#WmBqkJZ)|1!oj0>~E_i(^ z?|E1+89>SbNARR9m8F_UP=Y=+##O@d`R4!S>z}-%|NXCf;@(>>ymeuBZMnCx?8~jX zeP_cFE=8FWRo-HV4Q5-eup$K7bIv6pD=4K%0AdZuC(z9)?CQ|2X8XBIueq%N7#P-ioV#o=_;zD(ycsjBQh>zB@IVZ%YE+R&lwup<|f zZ=`4e{Qtp)inFe0w05(0eQUQB%mf(mV7;r#EYc@sRB(0-*&edP%WemIGb;y6A8hub zu}y4d?tnf;sdd!q)ZW>ahfZlbd^`PxKl%5sefu5D{S)4{EQmEgFoLeCk}3U{Eql*l<#n5zUM*f?y=jR*|_r8 z40tK)Y4@@y<6T|Mp$Z7U*@&ESC^x3>pdTAQCC03ERZ?}U{7yo z(}7sE)`JC=9d`J*UA>R-a5|lS?px1pyz3ub@%WubFT8bbcXO$~xzu-v)q7VxZT`+$ zK&;NeN}zQ~fmW|3B&h`KpWg8bN&Qd|O@+-EdI!=k0qycX{ka*=B?DJM!Xvl?_F!G$ z#smoiKwI4PepTvuQ6pARra@3^<7d{Bs1U1oGr^w-=s4|!&qd!W7f96x*m;TXW#yRC zCFKH`1+ls~VXBW~O1P@U2IM-irB`xr;K@Rj_6)0}EE3?JP~iitrWfy(FW*3jb=e`- zjcd+6_>cea-&~yR(@XAl{Dkpim=&=$ZkLHz)2&^$9C*MbH*x7ER1|LILXDcSbZ&a1 z>M}XoriNG>MKKf#G(J}7S^BF#-wO0T@Ed6QH-B`xFDr{N^G|cI^Hr&vEYi!(1ZL}Z z&vcmmwQ{Y-4|b-|XnB#wfoOt@P=^1PkSbo1Po|SU_{JYyfAapDw^x^Yn}KU$krP@q zV&!N|aWVp8jQ}qH~;#3eTgu)7h1ox;|bh(ZU zp(kNzgb*E0M2gq#@roj{_R$|$jDYhrbDmbAV2W|bs@RP|tc<~VBI3@*VmI;=fM1PR zL2E0-y4!_VnT{Ci=L&eIY0BK0RY?lgu%Uw%VA01abp1V|G|_puQv5eYq=(1BA$c?} z=V?85+l3Ra{*Q-$-~&JT#fyLCK)3$S%;#yoyNbBTe#P*AVwkh>+u*|-3`L7){FtEmMecowRif?qO0tiCq_tq!h|%hg&_N&XxDC>&C_7Q0HtJ*r1&-N&dnOmeOi zctymzT|lf7Y#cNouRtX3S9cirhfQ_YIO|Y1C(ekdmUz)Z`7%`e4%RSnHNpksVpw?K z;$T~Dr~n9e09*#4o?y_1RA(>-dM)=i=liQSY(2dD-22^o?#dVj_v*Ox;a7xYwtc4| z&NM4&ii%Q8N0|QFDL`ft$kw7&K&QYFM_7L`O4l+oYWY}ZdO0g2X`C810vD=2m-2pC z&ErYz+z%$W;b`>Y=*36h|BtRddGF!=3D1E;tm%--D#ksfE5SG{NQVM)C>n>thitA# z)!K>FwG=jk2|h~KGu2+UDh&f1&NGd4OpLQAWfHBLCcX=F2aq)>ccF=o<+BLt=6to` zAO|5^*sg+vITl(Xeq(vNjI&i+wuQw4X$*~bJGK0yZCp8dd79#kh9m4;R+(Igg4NTZ z$Z8uEtc%@{Ng2GW5)80P*{uFX^^V{E%!$`LcJzPx$j^Os_}A0vbmSwWg6{ShU~0Xn z`jd&DM?rjbDnxFH-+L-sTE6#+l%5F=WJlF_Zp(=!tyBTm^>qTa>>OMBr5n%9UOn5a zWfrA%TDFI}y|-~Gm>odpO{m}S>`yHV$m{^}H#}R?kC#TaF@adDzRH6c=T_a`92Lru zPp8x824DT5-~ShX=k1G!FFZ2m3t2AqHXLH@Z5$TF8j$I_jt365GI6siS|qk-V(Bi- zl3-fz}9r>RT#NO%EmTSVxp4NtIpFx5VDmyXut2W~*Ed&&vLN0BtU3r9RdQW`V{A ztH$F@cz4igR$7|l?f0#H<(6JOJ!>XRH`5@oG5(DMXo0JxrA1{5^=CAbdA!~ReWug` z(xNkAAT-UXC-xtC^7HZVvCp2p>TO3|9z=*R3EtHZ4F!q+(J7XKR)MHdPYLrwM6BS& zQz|A24<=)yMAuLlDqV|6`GoL?t-E5%wwQ=94ps_4UOotT=E&7ZwZyvEK(G|C8dxpS zunNJYa8)DLl#|ee2QzGMK&?5~vCbr)vs$1t$fUB(sv6Q0vx|Y25mqdmr3;nR z3S-9XDQV-sO}*0sPP6@F2V5E=Bi3}GnMbUEMU{CL4N#=-7_JUSqv>S&_0jV`^@(5j zJC7Y%=&vpGHWqg`0@JTUth*7hI%Mils*Al`Bxh^L9Au(kjaXfJ2n#NYSTQKnh%$qD zMOtPMtBYR}qzQ0Fc~QxET1KqQHH3&&c$t(oNf2uY*ReE)DPq;UMhdZpAYsPH3a(;u zE2|zIi(7!J;<`1<4Ah|-vC@gsK2y;(&I@U%_rVIm<%qC_VEn*f4C9cNP4P&rq zG-d(PNG*a;O{k0Hy-Z?&IFuF%p)nvbe{msMgT)*mxTYmn}e)WaP3)9JT zIC5MoBTV}y&a&WnwV%wSTWHLxkuydoyjBIfv(7g?GV=@R7ee6=#mkV3Gs||6H_yUBCI_C5 zr{5aC@NYl;Yu|PHmYdJ7I0}Nmx$4Br#&U1nSF~|^bgfbq@}&S>5oUUSt9Nom#L6Oz z?0Bq9ftxPMPf8>)KGt;CK1Zf(Qp#5m1?%8gQV_xI2)ww_BT4pW&BBDWN(~W2)bc86 z6w+Z-R*SN1gHbfvvFV>KMsH0J5z~$Y?TU{zf@1#yZ!GR^UcdFw(f;>+=$n5s znv5>FVi1F&N30YzR8&?Ksn{tB+Fed9?$L??us#x_4J!lADwNQ91?1LmMMa4l3-f_3 z#+QQxGski8!I-DHf-8-=nU%G<0GakJ`?x!mb)|<&;2N6-TU<_2J|)wgY_E zVY_^!Y_CGDqLwrHa$y@g#5&j??hi-9!DR3+KK%3F{U2|0E=5A4kqVg2v*dz|ve)qP zWnzH}h!twa5xh!$tc0NqVom7c6XB1h%T&)Yss+$$=#s?!8n26)u!)b=d0|k>Gz{*m8ZLz<0`270(`QukUaqF*s z=HyG$OOvrHdE*f)#Y(ZwM}3f)ujgQH(3Y*P<|;y~RzlFKB5*nos{o%GVx_7#DPNF~?s5*PSUyu0Ce#9;-=ldjvjE_8)vq>t7n4(z zAy>^SoW*fOA?(WXG)n#{Pmpt0Svf*Y9AR!Wh}AAdkWB(D>IznanVnKoDfEk&AK<=) zfMHm)Fj-TaotTbeSU9~T#NTCVygJajzOb_~-&=d#llT6k-}~3!8ebgykYHEThMW}j z&oE{w>My!;`CaR97MRee$T~+-3Tn!pcsYo*GLft{&tCCwe=80<{2!NOt@OZug;tz_ z;qOZDzE&!g)$f3L*(%Dq)M2TI%DJU~mIhWCQg*=EtF$a;O6^ONtxqTWY1ijoA15E2 zb%ju;DCa3fpT2Gr%G`KH8kf}bdtd&~SH1m?H*P-&oCXoDGP7R*R?Ne|-1SUnL{;aA zf(bc-Jih@_Es0w&g43vUA`x!Fl)H$CRm`v|%m%51I1E_nTy%XxM61w7flt<~Itajq zqOtS`REp;k29XLQ1{K3Fgc*s)g`V4yNLK!@dv=Q1UTpw5U`C3rYs)c`-E=@`hYG*br=F|m)8Vul5-0)UN- z)=+mToW9(5!#MKHiN)OqUw`Vh)6eehPX}Y?X&t)oVE=K%PY4KJ=-WYqVdk5<95Gw^ z_N$+{?XXe!w@CY}7%W|`U9wds()nxSXgfDEo%TmlA7}fp>unkzP#|@dZ5n}p91>`YorflZ1&^883DY?w$0sly0_!M};XoNdCA;)I0x zxD<)MQgw2gW+-_>JWCKB#sN{UuVl*I2$s<7ph&bic~ zN@M&p9G8M%+y=#J`dIVbijh#fub1gPP9JfjGOD~DC9`dd#lHP2*{$?SG`@bN)7$OO zGc`-!tIEe-`Zar%N&A-gVL55qFWqB${)@wx*53JJS3Gvd;_lk~md|JLi4sn!Z3#;- zsy6F&O?|9r1K7=TKB@X(w!S3zGij@&T}fP{z#N zyld5yGU%>;Ja8ZjVoi+3Tyd3(BgC~$h|q&(VG#(4t}afPh=s#q5)!V%g40zH z?yW8Etlaj@#-X$K-*oz(-WT4pKXr`39<+*R&VIrragnOdM%iUP_N<~WNy3Vd%!>D{ zeh(L|3;*ne8ntR=tLuf5!0hbyV2wKmRzIbF(NrsS4y@&(2iWS5tfU7ko$!m%a#nqX zS?WRQK3F?-uMzmCQvQj62(n0jkG*)Dn=Z2)rspTWJA0E2EOQE#8~HdAlQ)ScGu>1*5-Cs zuYK~(51#vxPrmT%z|mt8^JXJ71hXAZlPJJ{PJ@%QM|L$#vZ{9h+u(j$C>(+|< z!@<=^-Jn#)b_uak4ewnfrF0eb2yyMW4{>%{7T=PQS;B0&Nr>VYo$#3njh)39R(V4WyOo3{pQ&N#$@2y>=*T?yaZ>8Id2eZ%R0El&#A<4yX zH=#tePW0#NysP8krQyCibvk+Pmp(Z6)Y`RA-GB7yw=V3gFZVW=cO7VraCO)FTZvK$ z2=f84TE?W9qbg|B6Ss;Y5Q84G=n!JfWM?SE8k%Jg>vl6@g<7Qx89d8AR#x1i)}zgn z5i1cg?496*)oahq_2WWuWUtFHJ4qZKGh_rWMQQiaqW>&0hwVGoQ}bad@|!U(Ark~E$tN1v4uPXZ$mIu>JyKThARrip2@)t7?#&; zoTkd@#uV2iOv0q8GqG?`yH*Fw`M^9%Wp(~p^0AWF)%ZSqgs@*{;&YtaK7Q+kjq6U| zdE@DO_P+SOp-Z-y_%t7fSVI5;hD+5y$eS7rui)71>aISRV71_@qZ1X% zt)g~AV=P4wjfa!*U^sA;YtzyD{_1z;ch;|Y>fWR8eCtAQ*`73%0;gf;AYp=a5p042 z1;CZB=$)$qqjiKbje=0Mv&c+}^L=*Ho+WaaEzF#S8t0;o-dcO=!a5SLB!#&t7lsP3 z#^5Uz9;R@pDQyFpM-q1}hH*PE&O9Z04SuXap$C_!WE;`Fq6F1+C$@Ya6cec^9j!?ud>!E{$~qJYe!X$qO}vTmIiq+ z{n!}?RrkSVRaGenr_{cpFS1)+$?B>zvCq=P{b4~3>?F-C3d*Rq39*`Cr&H!5+$`JS z6w#^Lger^LLCPDX$q8~a+iv7W8 zI2@0E>Z3pJ+^oCD=eCc}yFDOQ?_hO-mxkE3j99Hz(;!x5Xyp?bu~Idbgt}HRT>^M* zC{fhiVxx{(ArUZgNt8TX)rm7E=Scdo7*PEae5|Z4bEQ`au>$FCre=*0DES*mlt*QY#C?Qs8Bhplb>wwtUOH-UFw$LaaWa)y4P5G+5Yq z=?Lxp@-plk65#IGq3wrnxv>7GGk4#3_MUTJdf#B`(tKRX59PGd8oB;8S&L6a!nA|d ztX|6^)=qJk?Y2Cfe4mvWrGGbGrCUt3EvT}RxgLv~F561*xl>;>j<(cKW!NQkbAW9o zg_T{_wjfsdW}4Sg3V7C|f z_f9PDZ8|#f-eyQ&^$u27+)e7&1jgWyWng@)7O{%iO_xUH;v)=Kz1dAMEV1YoQHhAv zSU7=UN&8sQNQ-ebX;P~EO2@a;^v?`j#jqtntV&C!XR+F{RDPPx9=)6%fM?*ULc6G% zbzUdOS;aJ4$Tot?u(D=A&>DY|8$yUxc}T6}IFKnZ&r(FJ(PK`_70BB){91X?DsVL{ zAtF{~#5zZa^`_p+l_&4|(GUF0*GJ#-^kVyiv5N|B$xx_#xSb-d(rxLx#-8i4w^6E? z!BjfT%Bx0zP(iHeAdQAZe53`e0pD z*^xOPt02~pUqeyBLPP*wREw$<_+`zTS999@i^~9Bgs9rAOwAO{q|`<`3KflT-s1^$ zNx@kR!OS^ibwLfzQB(99pbD|!n^@bwkCpZ}qYebZC zgupDTV5fP3UJ27q;XaU^Swg(xz#F`**3o?sh_~5@rlh#D1x{<~<_> zSKSMIY+>iP1FcVQzTwIHZrr;2!gIelc975o7*Hy=lCB^hSimcBk;;(H&$F|KS$l$)za|NV7Nb?PT&8v|NN%j!&jZY^XR+3 zccH&|_}mG%2gKUn^s&JXv3duqX9o5=6}VvwnE#a!D_8gmIzqyO4b`o10!xNSAktA% zF=0`N;!z88E?W~bB7yIh5i6@U<3_~z9JCmdgapr{;5%^0>M$Ot1FPXA_rMCBI?Nkj z89VC~l~i+~`O*GLLDv9#sbZ|kHj2*ZSknhnT)~A({ac4@q)v(vQ$PZYKT#Dt6QLw@ zg}}GZVZdyFRWKIQS9|=+?MaR}Z=Wu3x|X(CbdV`OIgZ8BB(Q@xT|gLBv{L zc;_W^^^{svM(6jAzg7f(UEP?@D?+JLdY5LAZBV}|AjjpaC>*XNUjxBwUa#6v<@n|p}xMG!)$xD-qZ+Xu@eAQz|=Xx%d((^A7Q844d zh**Ii9*w#LseDm0rj!q$(nDZv-t_sc5ynykkxHe6R1srqWrpEUGd-#ywsISzZsH`B z-P6*_+JF)3Vzz)9S(~|1Jos>P!Bp0{391lDq5!cXoHr(A?NNp60%8RNJ0Az02dNNb z?~kI15E5q4#R4{C<}VnE8KrtvOCiBrolx5WRDM=m0m4qV)caWb>x+E^ztL3zd0_-& z!wS>ws}8Y-m)5<#$LAerJvO&}?3SlbTzlq@n|AJa_m_WL{4-q?cTv()i&?`#)2$Lv zRR3p-{%z5cC5czRTvkn2u2MQ>R+-jvZb^_fx^A-vJI6VbmTB249$5Zo`-3YzzQ(R* z>bd1|cwA2Or{*q5p+U(h=xnuv48g#o;b=S@O-Jwh>VKNMuyWN?ci#4{w=V8&9y$L= zK&(eJV)gD+;RNPgD&53-H$l*?hv;7sdIVP?JXjE`cBuIyA`-z0DiJBHGBPQv0Ef}{ ziljs6{)-tmCBzyDnoQ6X=Y(dp82VV5$SC#dVpX-gUvgDqgAMBunq+gTUxIwNz#PV3 z={RQ&@uixrF?&~-25DImv8u+itV1<-lb<`qR2%gQ_2L8PQY>4e_3vuN$12L2J*pHK z4Eua-h48wbwp=+l@Q-zVj;% zv<5d#O2j0kGU&Su%7K3Z3#5G4=?9)}jSA6x^0Nxw`sLE4MT?+50Afw$YDJn=#A*Fp zb9^Rg*=hW&pLVz<>8_tCZ1#y49sCjgjgw$bw2uA-5-A62>*R!|KTeizvEwj{MRmyF9lBQ z(Ku?cman_AY{rA_0;H~1(v@~ynx*4x6t)$WSHIA#U<9{zMNn$cc9zE!-Rra|^&tdGI; zGpq3*XOV3g-$VBM=QDxA)oB1^#&)>X`B{g5dFi>kb|1a^)a_0OZFwJSObEqd=*WS< zQKM0LK}2glj}INXkojpFq|wihzJpEA8s%ESkYn}yw$0vJ62u*C#iK_ zOTuZe3HV%8_C(uzu7Z03DGT7Gdjj`?vs@!$bqh;Etc%+bw>r@3*~2_^U0K*Uc4+6= zt%LW!q8pQNTS{Dc(T@PT)J?tIT%QKD@?Z*Snp`-(7#l8sEm2TOngh5UZ?(1hL9U z(~;L)=l);hT^;RDE}i?r``&owfmfZn^Okpi?|d&r0-rdt_lSq9!N{0UD>#9x zFt5lJ$<@q>Oi7*#qEwSdOj$F^@<7W2DM`ZsmdwsvhE*0e;hzqlN}za1W$mpwpxR$w z=x@yTH|EZ*U9)rl!uINizwzj9@eR&HFr(^f)Pt+It4x;?X{t{Q=D zJ%X$LX;j{g`q)}pj>nNaZKfco^k606Vb%^S)~dP(wk9_SvHDciR>aDt>5IdQgYod+ zed0e{@oNk7z2m+Zt5mU3s7f=;D|4$NH&`tqR>|4apq1Ju!BH7QD_kYVh=@I){z?%m zg=vMXC1cCgZL&HMBEH%XD^MXptprA_y3(rwtr@tAZf;emju5NVQ3b?`nZJlq#nNj- zt*ob&@Mg}Bz+f{%OPZIB%BCK)j#m8$)HSZ#m}1tGus!mz#{YW6>OgDsw|Yw79+H5uM|G2_tq(I zTa-nMx^G9UGa2VA!@%3#30hkg8<+Vw4xnWkwc&q5#A*%uN&2ao8~&5WP`blJAvhe3 z#{1L#r$77N8yX^iLe=N5tyAs{&U&VqLEyR$?Y6h-xxV zO$pATZ`8QeGEO=u9|qV;e6JBvW{cyP09T_W4PsT;(*^&4oz{>wl@O~UF-{SyT#GY6 zDL$F5q7p^3e8mQ_lEr{D8U-4WNz)9&=xC~o8a1!_r_+Y!?x}~B#x1M4N4ooBU{XY^ z3f)UHvP&?+6@?fPtKaAQYx8^S^Zkv5y^WinUVZhMJAeFx|MJDj%YkRiWw2U7nlb*k zCS}>1-Rh!vR-<1#Vm&~p%z?FG_QXcGTK5vZB8asD5L)7w8g+_awb0Uq3u31pRt0bK z&%N{z#(Mf@z!kmUxgro63VP4RZHrSQc7z$~MsWwIy z#eykrjvkg0e??S70A?k`moX`+Z&N`}A-e>Dg3a7eJOx0FDp{oO>i1wGVw#K^} zuR@u~Q0&G<1$(#}5bL%>tj^`?c&=6!dn*gQW4FKi#C50dJoMB7=)-baHas?WC&oU_!5CUQK4g9k@?(G#T%Y z2IKMg(&W;)&;7=YPaM1Qu{&<*KRUm?zT^SvVFInhxwNs|TMxUZ1>PW&mr7ja63?M{ z7KQ;stO#c`XjQnqMr44Tmw{P|0)jFDq6|?Ha1l5PKE4<>Lpc~{@CHre4it;_w zdoIni;u@Y!#1*#eO{>hMv!6~8-FS)_SUeb$EMn!Fh*@)|bZ(t`q(0N^@Y)@(?QvP{ zW{S=Y&&s|zrER7g%Uk{av{;HdjT`BGm^HSobZ%I_pl83tO%cxxKWQJU+sA{^Wb{uy z^s|5W*A^H08(xqKUQ;eeL*yHj2%}V1d|0l95G%V=4gZp$T`onZU6$gh%o0lEB8V)3 zgHg3gA*$G5Zf}p1(=!GGOJ!1pSb022R;=}kvPBodk`-b_HO&K74pSZC1>w8=2za#v ztAdDF(e`dE!zL})6FnnSAY776WPq!@ zyTzMBtZrZ0_Hfl@Y^}I*y1kX7?>uqCnftCgdC%KEwe!N{rKvOBIK&#AtwOBFKGyUD zkKZ)gh435I$*>)`W>z6qM<12`XH~dqS6Ra^is)?PmJSavq!v}hKefo)>@7X8^scO$ zut9r=rT*(}I;VC3#5%)`wR2ZL77=Sfe=&x2Sk;9_I0x%wJbq#H(o>&#`no3{dhN-( zZryui?krbUb-vWYZjW%)A=a>?o0UN;yH=&p44dXS;1hBp0^$hNe}Gt(ct^xau#S*p z0$0gSi!nADu>wrPt0=?@I4*H4CXT{PB~~aSo=2>yc8I(RiKCfI&q(D{4FjY3I&v3_ zi#93Jo$;}zLxSX1jp!Ng17ic z077SnSz*=bfU9_yE_1*KPR`-k9`(sn0GRO;0PI}0%OtMZ@{;A^2tE)(Jt;&ZZ(oiJex6bnca3D?OB6+Rg`BI#*qq$A*{fAit%AHU;`TMs#=*4{>NK2i{7;2L6WMGQg=opz=ASj0+DkdzC2&k37>N36TY z8GfdQ)A~4>N*sf=-}0|nh$^mLhW2dNWzt|k ze^8z^i&&NG77(k6G-KN}z||O}Etxy`y!0|gt&3DBT2$QPX$APnWp0d{6>zHtwzQB_ z-UKNa5oVnt)_#ImT^O(et*)AIK&*~HcxA~Gj4bt5m-?$qd#m%k#*aK%~)u`+d;d}r#j<&V!$@j(Pc?YmB;fe{^vnmUubij3ySQ=8jWp+~SOOEV~?Oeljj-;d`8t2|Qmy%IpCbgA)pe+sy zIT6rjwBY!*_7vu%#N;W(W)JmiVB>3zCzFvwtS%III-Y)W{Nk^C`sC|Q-g))udzO2T z%(+AWCkmVkwa19n@BNMCy^ZK;?Z<=5yPhm{KusZnMTU&I9b@PVaL$818o-?0++8b@WiB%VP z%F2pRt*x?_Zj1n&De$I6ytl{LRC-GVU`1GE?@wh$C5=!S>P&;@3uO<^8Z3mz(^GQi zs>O|9h@_KrsNuq$ZqV%9>zAmXYbI4WF?&k-8sJ&ku1fu+PM9mo~Cfr2$iLMU{F5|v~K?TJ^ABZ@_9utuP+gi@HR;TX6_YAdC;1veZJMzM!9 zL8HQipmJ%6dkTDu!i+(o%M<~H1Q!a)mOQOVDfToe2|G*xrmP%dk`DKeWRlSu&krS< z5f;+2>3X>(Mq>=$MO03uXH-d6`DZLmC_njN>2&IY4FdI|NFLN+ zu;@-cyxh^cPUnN25~D@4*B1{3c~R@6A`B~nuGF~wqMgUHSHV*nk($|B)+eS-+PHIs z+1a%#-^$z4a?wi9oyXf(Ytz!>;L568Od-;EOkJT>sBnF7BB z>Gw2UWsjF!^R0KX(9glXyH2=TxnuQ(ocSC|m$*!EQCd=)z^bqu;HwNr!%M^c!D#r* zU%mgDU%&Il-D8V;;2jI~Srn>TX+W$>Rml+~q6Zr+;4C(%0%DbV=$g;aKvay?v9-uU zw`??y#7D?NELo_OiX!G^fN!G8)dGe!vP$61CbTLwsv~|m=M;YxDn+a1v4S4?K%qRV z;#opW8hZm9g7dw`$CQi^5v#1Y*p49%Q}LoA6eU7nb-dtyRTlDSPB+oTu@Y-w#PUvd zK&)$oSSd(&CqxCWF73MAWwZJ^O$$3KxAZm^`o~`Vj>Z4^qd)V7OJABe&^p}rnL(kv zo%&87kRkVhS^C#xFqcfD?rw6TwSnVDWs}Q&$VnspZ{uv#wNVQi$tbmLJ@FLGV^PdZhQc)#J zb4sM-W^IvaGi{|HkaWvl6lF+7WR*6Yl(|;j zP1cTB>kh2a@y2M+^oIPmL99tR*AfU#d+Wruo&M{}qpUpibgR7Bb<=lyo9vbyTO(TR zoY$=0|H=X;JB*foIxm68P0!o}*ehzo3-MQj(eUEn(*Ahxt;shx-uvTMoxEr9{DvTf z5C*I~m;sb=IWt%L(x;*v_oS>?b(FadJlITXl5$k4PzZ9N8LV_eq)!~T?>EE(>cDlb9`}ob-BMf-#_-GaarWp+n83oBu)lz_sKT9!h=shOO52SXn-xy(`>H*1jCBqy(CvhUTq z&31SIe3yTnvc~$HP^hxaxlWtNkzk(~td|E1tURP3KpRTzJbu1ga6P61S4iXW3a>_BpMH zWIfaPhKkkzyP2@x&>zvlMj#H;?Wwf1&gsz5Ppo{}*~f5<;!y$IX=ug{R4%&f|L}2?sRU@BOXcd7{-wRX|7qhCvl<`lc z)31HU9XIc-I?=l4sa$=gAyj5z2dMvVD0vwRUos$7l~%Z#ITU6^rN-ej+LMUPLYZ7k za!sfHUbHhDCEHuNvg%xYb&jMo?9$q! zJ@zTPwOENeP3VYY#}Rtbtm@2chjrchylt0lzhY-Lc<#?Zs&cc7sx^`1U}A(!E<8ADA3!}iA{U&tB@d~#Ju0A-i?YqHV#nT zztzZkz^HD#Q&MSI<1A)nEn&UNa~-mMjY5a8B^tkUuHFjV$+lo83vN~rBPwGv);6dnIe7X+g~#?g|x#`SM^KJ zdZGGIvxqX=W-`l`L!ZUxWycSUrSh*_Kc0Wdk4`JHWpmn zYL8eQ?UIQIBBT?5YV^=CTwU=6Stwkmw>sYomRRt>Mn)z=tlnwpQ7sf&WhYvK4MEq_ zkc_1lG_tCx$B30n#vrhwVM7pXfVaY(sN8%q+A3lNJ_;EX7Ocq~RE2DyLxn~;Xv)*! zQcSW>A`WS)5wp`0f=Z>+k|W;p_z=PV%vu|vy&XI;0PB#aP_~9^s`~0YF_o2kuUP9A ztpp+ImGgj@>OZC!d&DYj!tAipkVmE-pN2f;SgO^RZFRr;dN*!&BrV51dRTP!t{ZPlr?}2e998+OGc8$Y>(j~JmS(-| z-t6fl#_}SOl0^H4O9PL+Kaaf+xf{iJmI^Km$D_e`Fc=Mj;pmT_|HRsR{=pR|Z$I+P zBa2U;Sc(-_H;-_w)yM$6A&4~ygos!v7&v-bUA3%8*C2$q6t`*d4h70`CIZ4$kAq_E z6=1am-<*jY*3=NJmAF7BVO8iE7=e^oQX|tq9SmMV!w02Nr08Oh{Bm89`4XwqG68242n0dVKJ*}qqJaWq9@W=K8&r$ZrlVXQeZY|3aL~s4r|gQoJ)DfUAdgRu1i~&TX$A+F8A3>%O_|_5b{h zkBujh)1D}T!(uP~MIWsC>iM%T$!GJ=1Ix_HRZ_9jB9S@|wqwb9gh_k*()jE5r=pcA zqdFLFt*a!y3Jf)AEU}paRVjZ%y)8MvYsNg@?mIS0b|xK~?ZJ%X0JpmIYs)i&yQGx$ zte)BI+f_fYWeRDB2Y&0?$5uNXiUml4U_Quik?_vBeLS7~`#*c)ipOt1bZ%{_zp>bN zZdM=z^x6l@qa<;sB$-X%E`ceANdBP8yQw%F0hwCFnz0fCVg!eYEnxnc&y<`Z3pjaK&-wzYjCi}f~_u! zdue-RslR&r(;HWxy!}XTbN4Ub_tNyDk3ATSyeXT)V&Ye=J~H$*iEpS@WXgQwjZqn? zrfXO0sTyrGEN3rW7vKjl)3wOVRBmTgf2VA(Outbt9KhGmGNi_?Dwi<*q?ot;a;2`C ze5^@lGK|uvq1R2}S6{zo8s4S1nas)7?$9tY18ltm%r_tFzFPe zB~(=zC;!xVFx9P%%Xn;D(t0g7wse(xz*1dzXJ_611hef*nv_n7CP^|w>IhF+4FR5j z5vKRN^X8Pou}V)lyW~jcQdul@D#TJ?K&8*ltC!~6Il{&@RYiSghtb{`&r08i%iI8~ zCWuwnUkaqbp~BZ^zxBDL?agbq9$MZz;hklm2oz$4P*vdFg(Oq1(~5DzV&>Icg4OI) z)LD#NFqlf)f$h#tIxeCrfu;ti#)E*A{e>bQLJ_f2O?Jt~jm}MES(FPkz*W30y3gEv zBi)lhtls2~h&4w4h9?M!6<0n6u@V5(QPaNKkvOI^gp&rbV(@TuXQXpy+c-PcrIdrY z)wrsp$5BD7OiZ{K|cEQ=8dQBo!ff&*FJmpo0Au&)9GO3Xf9k@Yv~Jv zWxHgKcOh0-ax}@btXioH;j|OerYtt3H#3IHP}}8yc7mNF$;$0i(wa8)-m*WnjHKRw zrQ57^;_~5Y9fuy^>DxB?-}J9G#A+T{;nQG!6n-6z$NQtf#nGj~Xn#7Ld~5RJV}G%8 z3Lv&xzftMKznjh;krLRVRYD<(~uH4iw(15>i9cwmJe znBuW9>?*Y?V8tSRmv#(JFM`%^p}Fmqo41eOyt8u1IapV&+rIyrGxzns^jm|mW5^ti zhWtqx6rw~TritrsKf3~N+1gj*6(O0G+gU8ohygpXPqw!@0!k5U+Igc;?Y!Ha8nBMP zI#7@4s?dMA5AniM;EY&E46?%C-0i~jKNqj zQz5miFEznXQhrpam{_Mqjzgc6^BDVAjz4OzcpA+LL1DUJ8s(LS87C7l@j;+@6yO7h z)#mL2j19xHUSNU4m@s8@F5^K`e;fu}&d;U4iJeJ38tMePQlZPh&LMPMiNMr#@8&a`V{e0G*E;vV7Eif zR{u}RX(c))8b*KR=!MPs-mz=W-tlvv_@(CtUztp%jy-rZ7(1R)VGa&okmEg-&`9ej zlHi&w;>!sGZq_LSXA+VXM`Rt@wOqZ?;#U`g6;;*ZH_Rf|^b(a>q}QsQGuEu>Z!Gl#XpM*!;VP2=dkGfc>P9H>91A@M zXRD?<2Nae`Yfa-+W4=Q)rkQH32{a3VrZyZ132!UDJZ1h>2$U#;5K_T)ITBc+ml-~z za$#kps1(@+S+Wls11Z=-savs5XYyOwSIhY$VAYgbFc=#QNvs;xDl@n?s3y6_7+l1> zOdPdq9|yT*mD&PdseMDP#d~yG^Ty3ccBZZ6bRK_J0oBJ~?j#;> zx#+hQ%&q^E@Zrbs?eMy$EZRi{&#MQ12ivu&pSY=`NP8g(?bH*F5Q zI7ycfEr_);FLPpx)4v6DH${eXkUIN-Fl13XgS=ULv_BeL8V!cy;eYw&C$B$q?7HoT z7JKXS5jhf0w85N)z?Mb2hN6len8}xNXxBO%LEr7v5o@*+R`KWrR4QJ%S)pb@;=-dn zqNl8nHOq8Ch*ijP^^TdddFyoc4l_7~99|7tG3hwLdJ3^BtAe_mC5&Rws*=CZE0O$@ z{hkTulB$xEH$KR1XTC465pJlR@!7` zTBFRYw6EKuza5CR^OVxBCB#}9Pr8_FG%|E(0#@_Pz(L5wUInVqF&pD-~L0&`OAP zjX-M=u@VQ7$z81@);t4)LaZj6lAtS~q0|nkJ)~fpjZz&DYw9`Gc4H{|i7BfFu|gcA97jXOPQfTLG%mtw{8&L#)<+s=%or zR?QV$f~yhF677QwDNrp%#Cp^A@z?L%|C-0|e&SQ-httue(Z2Jsx^l!!MBn`_H>?yp zKJyvkPRk3|w5y81%%0o1U5;j)_1wxTog36oY4ldNTfeQFtWqOgQ@nZ&$NCI&FR@$w48`7vnN&nV|^m^d6>~jof z5eraEUyb~?F~wgKzg#fGa%>fwe6Is(ufj@KjQ#~MhXSm33bhGM;KU~^1Vp5eD1q@4>$_PmMAq5kuNUK4t zk(bHA)wQMGYTWy)%jeb(pI^J>!rI{r$6s}FVf_O?_|b2Ed_0|uMx()S;B&pldcoj7 zvH)Et-sqiKieu$TB%&$Ms?w)j`q(=~kdYX5L06GT**4jWrejFQ+^C~lE?U~mDcPxI zZ%(7Kz+daKy?y$fBg9|p6F0-F--q~9__aJLGxGFY>rstfpKv^U7ojoLe2NPpQb3@y z#*@)tG`KjtG#Cvg)5%A_`KJ$k;D^8C$>p2QJviTAp9_|#-dcc`>>DM}8W3xU_}z$Q zpvm?qh?OIIeMqoxAN~$3Ok9U6RO!N;RyI6hkrd*a1@VZw17#PO2N~2*G%qp#2*w1> z#nKp4EKPoB0yAw18&nG55Hui5Qb*&joYAStgh>fPWwfA5)Er}_bxLpH5rUUCLHa;H z#b(Sfer86Z*jm+zpjui#&_vKI%&|;ZNC=#*;J^jCCnnU2cSanq3Y-SsB)I<&^38US z=v0l&OCGTzt<(I@+M!6hw07g}v8&G9egC;1dG_L01{23%9~d&@_n7rghA+%W8&FI2 z^<;MIj9JaP9SrX$S9i;1 zhuRpqXTBp0G%vk1>~bAX9BHtt=rM9MbnpM#hps(&?~OahmilY+y#SpE7eJ|2;VcU1 zPx${;I4iT=Vi_7?(-nhu>SK-A6WwYAkVTDVY{-C!E$d?f!PKQqD3|dqGMHkgs^(@4 zidzlRfG_P}wF#~0Hq}5F_?L*IIJ#D2%WMh~AYUp-l(<|~$ss|4D|UEM^HMz^@SjGl z9e^q!)>xZ{tKUM>E3Yp2ElSPorr3cHX9+p5K5huLk~*#GpTPsWySD6iLaZyxd#lUm z+=rbGVzViN;rWbv%B2hKE|D-m;;2s6GMkFrK4BqB5H_j*{j#`9L zNw}3x&vrgj4=q=(Y^6SDGOF{{XSFBSmp#~RBZ$sky*{M6?yC&AWsV0>XW8-VVNj^M zTCQj-4FFbZA&l8_Z>6))#C7A?mV7wF%acpzzx11n=Qh9liCgC{Y=rc47T3h_D*?UU zTk3XBWetcmRAr4Il&WH3V6fh?a&%02u!1fzlo6a!#?mO;Q~p~pKMGS5AttG=LKqG5 zWOK|ypxsnVZxGbrLlhvE4uf#3ad)!gRlq5tLhOWqs_Z5He5bH5!BdK&lGgB`l0kZ? z>m9(O0C4to>hS4Y!B%NZCRR`}h*j0XgUkqU>&RP5{$)n2=ra}HtMQntY$F$)9xIP4 zA1me0h8nDMJ8L)WJb1<9cm3a=cyc%y?vDq<(a>ujr6?+2t9+m86V5EZ>wqr1mHcQk z37<-X3P|D0Re-Q*+&;TbjF5J6`La5Dq4dN$OfGdLr|W|d2V5LH3u=-5u?N#%lNT>L zu+FDbf#;PiMZU2gzt<@kDvKg>b<=ECpL_PAGa=UOJ*n7g(g8Oj))vre8f0Zcsadp% zWNE&}WIqX~uxZ7axT6hxJRV=1T>8Ne{Nzjhapx-m~kV*-1qF1t>%EXW! z-Le+3Vp?d52L&yXZI*l1jKSfSN(L(+R;cYRQNa@6R6wk|)khP@DT@sY4`C7LSW4&* ztV&ZvtVxZV=no80krO}F89`!duxaLs}8q1=(>LE zGn?0*y#1!FH~;ddpZMzVZ+wLCco3^W4Rc~IuD|8uB6CsBN-0j(tR!p)9d*_4N+H&k z1;$Kxs^wtm*R*kEru6}rwwYpVvcJ}Ee#@oPf7UhBOjoh(b7m7Y2v+&HUV*bD4<$NN zrG*)_EIU1g!f-Nj<{-yaKmF^`^S|`xPhS1xJy)H+bMcu+4tdv=Bl`{Uz4VQHWV*H- zovLwnZdQd@<4%YbL2C}Kh7%=WfdrR9tO|AkXf+Z{s;Z@k6}W{ZHdR+Z(})#xgejB; z@C{%rR)CH9s%j*tGPp7+5b#0~*!3WS)fC;w ze$^C~3Nt?jkTN$uk5%HdS8wjETz&T5 zTXw$Z&tLf5Ai`D4eozzwC_Ty!uk6aUq)PDXH7cV8u6Fj>2~tWy z;9RWzikuZ-H_!*;PchurM+IY;Zk|X}O%`K=L;w6z@p6bQ0AvKn_zTQ?m_ybQPArJk zuY{L_zqRLGu0A|?slT$=Us>oKzvcYujc4wE-8*jo#~=RRKl$=s45w~&?JVA7XYnQx z5agbScLt+eWQzXETeM2@u%xLwH*pjzEH?C#Qj1QY5%tq zVoVUn!VPLbbD#^rpUA+Yb4E1h17lB!;H5vJ{Zn--PCE97g7%aUS@62DH;^Q=xcQj; zR!o-yD%q*Z!N4#Wl@E(@HF2{ty#s{=0}K=`V?4qfp96?hMfsWqfC;{e(LsP%-NeO7 z8elIjOHdJu^Hkw+nX)1x=KHDesaY_@7r+-+H8oqMY^y@J)Fy-nJLZtJ`QF+a`wzeR z@jL$YAO7lKG9rrLfD`iAaMsw8cFi)AzNp8IWEDZ@I4hmE8v|QrVI*OvV4M||R3vux zT3JPz4!9|}lzvn7dcotERlWheij`6ah-C*;x-&Dqs4ZLR>16L`@u8G|%{0z!mBx(& zKG;1uz|Cw?{l@=(uz__PEWhyGW^}XY@I4Us#s0U(Fa7uL{~xbDb#(FEiZUHjN{A1g zlD~y8xx-y5AXZs2Y4YkEVl`A+8s3JWLFc>iK33irdn=2*;|sfPpWi-y_}tpk_VHK0 z{m4VV`GfC&{`X&=UUEs_qrv`Ye}A+;bhU5LQl}#E0kIO{*+CI&>o-12pOvjHwPqSj zBVtY4cPjCUZSw%O?#n@}=^!gZs%-6uwW5PM1DP_jXbF}JO&~kfHi*{%n40{_0~t<6 z12X$K=I!bDLx1zf$A9C;zWd~nxpQmF=N_H+^2AgBNt{1@t+dDFQ=i!i&Q?OK-qXtA zru0YjZAEa(i425TV@^GRRzR#�}wR@J@;iO_g9vf>Z^xLiz?!2x=-|<)>4s5TKtx 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¥&biojwHUza^;t{ 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

          D^6Obwa_%6vGIDyvlJ}r9|Ggd8nLv?FgQIb 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

          -Ce0vOjnei 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

          uY-u;bl2giH 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�%I8%X%D(cT?11EfANr$y1eV3#mv_y^pP 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íMA>UU%|>s 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 JKmYy1{{xD9gv$T` literal 0 HcmV?d00001

          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®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�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�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%0ABBNh#p8%B)dWxt;qIB?Ly1#rIjUgMg0GMPNE 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

  • Report generated on 30-Jun-2026 at 11:39:42 by pytest-html + v4.2.0