From 9c4af647e4bfc9a04bba384fcbac0965ef227857 Mon Sep 17 00:00:00 2001 From: stephTchembeu Date: Tue, 16 Dec 2025 06:22:02 +0100 Subject: [PATCH 01/12] first draft of the team stats --- .gitignore | 2 + src/=3.18.0 | 14 +++ src/ReadME.md | 33 ++++++ src/images/fallback_logo.png | Bin 0 -> 28134 bytes src/images/logo.png | Bin 0 -> 26736 bytes src/images/logo_with_text.png | Bin 0 -> 20972 bytes src/main.py | 76 +++++++++++++ src/main_app_requirement.py | 12 +++ src/utils/__init__.py | 0 src/utils/logo_loader.py | 65 +++++++++++ src/utils/preset.py | 196 ++++++++++++++++++++++++++++++++++ 11 files changed, 398 insertions(+) create mode 100644 src/=3.18.0 create mode 100644 src/ReadME.md create mode 100644 src/images/fallback_logo.png create mode 100644 src/images/logo.png create mode 100644 src/images/logo_with_text.png create mode 100644 src/main.py create mode 100644 src/main_app_requirement.py create mode 100644 src/utils/__init__.py create mode 100644 src/utils/logo_loader.py create mode 100644 src/utils/preset.py diff --git a/.gitignore b/.gitignore index b7faf40..e178466 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ +#test_data folder +data/ # Byte-compiled / optimized / DLL files __pycache__/ *.py[codz] diff --git a/src/=3.18.0 b/src/=3.18.0 new file mode 100644 index 0000000..ac1b07f --- /dev/null +++ b/src/=3.18.0 @@ -0,0 +1,14 @@ +Requirement already satisfied: kloppy in /home/student/miniconda3/lib/python3.12/site-packages (3.18.0) +Requirement already satisfied: lxml>=4.4.0 in /home/student/miniconda3/lib/python3.12/site-packages (from kloppy) (6.0.0) +Requirement already satisfied: pytz>=2020.1 in /home/student/miniconda3/lib/python3.12/site-packages (from kloppy) (2024.1) +Requirement already satisfied: sortedcontainers>=2 in /home/student/miniconda3/lib/python3.12/site-packages (from kloppy) (2.4.0) +Requirement already satisfied: fsspec>=2024.12.0 in /home/student/miniconda3/lib/python3.12/site-packages (from fsspec[http]>=2024.12.0->kloppy) (2025.5.1) +Requirement already satisfied: aiohttp!=4.0.0a0,!=4.0.0a1 in /home/student/miniconda3/lib/python3.12/site-packages (from fsspec[http]>=2024.12.0->kloppy) (3.11.16) +Requirement already satisfied: aiohappyeyeballs>=2.3.0 in /home/student/miniconda3/lib/python3.12/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>=2024.12.0->kloppy) (2.6.1) +Requirement already satisfied: aiosignal>=1.1.2 in /home/student/miniconda3/lib/python3.12/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>=2024.12.0->kloppy) (1.3.2) +Requirement already satisfied: attrs>=17.3.0 in /home/student/miniconda3/lib/python3.12/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>=2024.12.0->kloppy) (23.1.0) +Requirement already satisfied: frozenlist>=1.1.1 in /home/student/miniconda3/lib/python3.12/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>=2024.12.0->kloppy) (1.5.0) +Requirement already satisfied: multidict<7.0,>=4.5 in /home/student/miniconda3/lib/python3.12/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>=2024.12.0->kloppy) (6.2.0) +Requirement already satisfied: propcache>=0.2.0 in /home/student/miniconda3/lib/python3.12/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>=2024.12.0->kloppy) (0.2.1) +Requirement already satisfied: yarl<2.0,>=1.17.0 in /home/student/miniconda3/lib/python3.12/site-packages (from aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>=2024.12.0->kloppy) (1.18.3) +Requirement already satisfied: idna>=2.0 in /home/student/miniconda3/lib/python3.12/site-packages (from yarl<2.0,>=1.17.0->aiohttp!=4.0.0a0,!=4.0.0a1->fsspec[http]>=2024.12.0->kloppy) (3.7) diff --git a/src/ReadME.md b/src/ReadME.md new file mode 100644 index 0000000..a05664d --- /dev/null +++ b/src/ReadME.md @@ -0,0 +1,33 @@ +# Pysport X Skillcorner analytic trac Documentation + +## **Overview** + +This document outlines the data processing steps applied to the **Skillcorner open access Dataset** to deliver a daschboard for the analytic trac + +## **Preprocessing** + +## I-Date de remplissage column + +## **a-Libraries Used** + +-Pandas +-kloppy + +## **b-Data Cleaning Steps** + +### 1. **Loading the Dataset** + +- The csv file for the event data was imported using `pandas` as a pandas Dataframe. +- Example code: + ```python + event_data = pd.read_csv("path/to/match_id/dataset/dynamic_event_data.csv") + ``` + +## **Key Changes** + +- **Understand the column**: for a total of 254 columns the focus was needed to understand which one to use. +- **sparcity of the data**: they are to many missing values in the dataset. + + ``` + + ``` diff --git a/src/images/fallback_logo.png b/src/images/fallback_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..d2a99b80be87f974b326e94bf20dcbeaf670fe06 GIT binary patch literal 28134 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 literal 0 HcmV?d00001 diff --git a/src/images/logo_with_text.png b/src/images/logo_with_text.png new file mode 100644 index 0000000000000000000000000000000000000000..c3c6d27e2003d5e6b4c6b7e687615cfee3e4f40d GIT binary patch literal 20972 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 bWW)afc4AeICws>^00000NkvXXu0mjfIy_&Y literal 0 HcmV?d00001 diff --git a/src/main.py b/src/main.py new file mode 100644 index 0000000..295a929 --- /dev/null +++ b/src/main.py @@ -0,0 +1,76 @@ +#st.metric(label="scoring_op",value="2⁻¹m", delta="10⁻²m") + +# initialize an app just by running the python file with streamlit +from main_app_requirement import * +from functions import * +from utils.preset import preset_app,render_team_logo,get_stats,TAB_NAMES,STATS_LABELS + +# define decorative elements +preset_app() + +# Main tabs +tabs = st.tabs(TAB_NAMES) + +# data_of_the_selected_match +match_data = skillcorner.load_open_data( + match_id= st.session_state.selected_match_id, + coordinates="skillcorner", + ) +st.session_state.event_data = pd.read_csv("/home/student/Documents/AIMS/Intership/analytics_cup_analyst/src/data/1886347_dynamic_events.csv") # see how to dowload this directly from git at the deploiement + +home,away = match_data.metadata.teams + +with tabs[0]: + if st.session_state.selected_match: + logo_home, score_col, logo_away = st.columns([0.25, 0.5, 0.25]) + with logo_home: + render_team_logo(home.name, align="left") + + with score_col: + st.markdown( + f""" +
+

+ {match_data.metadata.score.home}  –  {match_data.metadata.score.away} +

+
+ """, + unsafe_allow_html=True, + ) + + with logo_away: + render_team_logo(away.name, align="right") + + st.markdown("
", unsafe_allow_html=True) + + # --- STATS ROW (aligned under logos & score) --- + stats_home, stats_labels, stats_away = st.columns([0.25, 0.5, 0.25]) + + # Example values (replace with computed ones) + home_stats = get_stats(home) + away_stats = get_stats(away) + + # HOME COLUMN + with stats_home: + for _,val in home_stats.items(): + st.markdown( + f"

{val}

", + unsafe_allow_html=True, + ) + + # LABEL COLUMN (centered under score) + with stats_labels: + for label in STATS_LABELS: + st.markdown( + f"

{label}

", + unsafe_allow_html=True, + ) + + # AWAY COLUMN + with stats_away: + for _,val in away_stats.items(): + st.markdown( + f"

{val}

", + unsafe_allow_html=True, + ) + diff --git a/src/main_app_requirement.py b/src/main_app_requirement.py new file mode 100644 index 0000000..d8baa1b --- /dev/null +++ b/src/main_app_requirement.py @@ -0,0 +1,12 @@ +# necessary libraries +import streamlit as st + +import io +import os +import base64 +import requests +import numpy as np +import pandas as pd +from kloppy import skillcorner + + diff --git a/src/utils/__init__.py b/src/utils/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/utils/logo_loader.py b/src/utils/logo_loader.py new file mode 100644 index 0000000..822ed2b --- /dev/null +++ b/src/utils/logo_loader.py @@ -0,0 +1,65 @@ +import requests + +FALLBACK_LOGO = "./images/fallback_logo.png" + +def get_team_logo_url(team_name): + """ + Return the logo image URL of a football team using Wikipedia API. + Handles approximate names by picking the closest match. + Returns None if no logo is found. + """ + search_url = "https://en.wikipedia.org/w/api.php" + HEADERS = { + "User-Agent": "FootballLogoFinder/1.0 (https://example.com/; contact@example.com)" + } + + team_name = team_name.strip() + if not team_name: + return None + + # Step 1: Search Wikipedia + search_params = { + "action": "query", + "list": "search", + "srsearch": team_name, + "format": "json", + } + + try: + search_resp = requests.get(search_url, params=search_params, headers=HEADERS).json() + except requests.JSONDecodeError: + return None + + search_results = search_resp.get("query", {}).get("search", []) + if not search_results: + return None + + # Step 2: Pick the best match (exact title first, else first result) + page_id = None + for r in search_results: + if r["title"].lower() == team_name.lower(): + page_id = r["pageid"] + break + if not page_id: + page_id = search_results[0]["pageid"] + + # Step 3: Get the main image (logo) + image_params = { + "action": "query", + "pageids": page_id, + "prop": "pageimages", + "pithumbsize": 800, + "format": "json", + } + + try: + image_resp = requests.get(search_url, params=image_params, headers=HEADERS).json() + except requests.JSONDecodeError: + return None + + page = image_resp.get("query", {}).get("pages", {}).get(str(page_id), {}) + if "thumbnail" not in page: + return None + + return page["thumbnail"]["source"] + diff --git a/src/utils/preset.py b/src/utils/preset.py new file mode 100644 index 0000000..b829e77 --- /dev/null +++ b/src/utils/preset.py @@ -0,0 +1,196 @@ +import os +import base64 +import pandas as pd +import streamlit as st +from kloppy import skillcorner + +from utils.logo_loader import get_team_logo_url ,FALLBACK_LOGO + + +# Function +def render_team_logo(team_name, align="left", width=100): + logo_url = get_team_logo_url(team_name) + + if logo_url: + img_html = f'' + elif os.path.exists(FALLBACK_LOGO): + encoded = base64.b64encode(open(FALLBACK_LOGO, "rb").read()).decode() + img_html = f'' + else: + st.error("No logo found") + return + + st.markdown( + f""" +
+ {img_html} +

+ {team_name.title()} +

+
+ """, + unsafe_allow_html=True, + ) + + +def get_teams_in_matches(available_matches_ids: list) -> list: + """ + function to import assets of the name of home and away team from the list of available id + input: + available_matches_id: the list of available matches id's. + output: + the list of (home_name,away_name). + """ + output = [] + for match_id in available_matches_ids: + dataset = skillcorner.load_open_data( + match_id=match_id, coordinates="skillcorner", limit=2 + ) + home, away = dataset.metadata.teams + output.append( + (home.name, away.name,match_id) + ) + return output + + +def preset_app(): + """ + A function to preset unchangeable elemet of the dashboard the logo the elements within the tab. + """ + # set title and icon + st.set_page_config( + page_title="FootMetricX", + page_icon=SIMPLE_LOGO, + layout="wide", + initial_sidebar_state="auto", + ) + + # set our logo + st.logo(LOGO_OPTIONS[1], icon_image=LOGO_OPTIONS[0]) # sidebar. + + # set the central logo + image_path = LOGO_WITH_TEXT + with open(image_path, "rb") as file: + data = base64.b64encode(file.read()).decode() + st.markdown( + f""" +
+ +
+ """, + unsafe_allow_html=True, + ) + + # Sidebar choosing a match + st.sidebar.markdown( + f"

Choose a match.

", + unsafe_allow_html=True, + ) # we set the title of the upload section + st.session_state.selected_match = st.sidebar.selectbox( + "Available Matches.", options=AVAILABLE_MATCHES + ) + st.session_state.selected_match_id = first_word(st.session_state.selected_match) + + st.markdown( + f""" + + """, + unsafe_allow_html=True, + ) + + st.markdown( + f""" + + """, + unsafe_allow_html=True, + ) + return + +def first_word(string): + """ + Splits the string into words using a space as the separator + and returns the first word. + """ + words = string.split(" ") + if words: + return words[0] + return "" # Returns an empty string if the input string is empty + +def shots(team): + # Filter shots + shots = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "shot"].copy() + shots['is_on_target'] = ( + (shots['lead_to_goal'] == 1) & + (shots['game_interruption_after'].isin(['goal_for', 'corner_for'])) + ) + shots['is_on_target'] = shots['is_on_target'].astype('boolean') + team_shots = shots[shots["team_id"] == team.team_id] + total = len(team_shots) + targeted = team_shots['is_on_target'].sum() + return (total,targeted) + +def passess(team): + pass_df= st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "pass"].copy() + total_pass = pass_df[(pass_df["team_id"] == team.team_id)] + good_pass = pass_df[(pass_df["team_id"] == team.team_id) & (pass_df["pass_outcome"]== "successful")] + return (len(total_pass),len(good_pass)) + +def pass_accuracy(team): + _passess = passess(team) + return int(_passess[1]*100/_passess[0]) + +def possession(team): + posses = 50 + return posses + +def get_stats(team): + stats = { + "shots":f"{shots(team)[0]}[{shots(team)[1]}]", + "possession":f"{possession(team)}%", + "passes":f"{passess(team)[0]}[{passess(team)[1]}]", + "passes_accuracy":f"{pass_accuracy(team)}%", + } + return stats + + +# variables +SIMPLE_LOGO = "./images/logo.png" # logo when no side =bar +LOGO_WITH_TEXT = "./images/logo_with_text.png" # central logo and siderbar logo +AVAILABLE_MATCHES_IDS = [ + 1886347, +] +LOGO_OPTIONS = (SIMPLE_LOGO, LOGO_WITH_TEXT) +TAB_NAMES = ( + "team_stats", + "pitch_control", + "defensive shape", + "player_profilling", + "player_performance", +) +COLOR_PALETTE = {"blue": "#052B72", "green": "#217c23"} # color palette. +AVAILABLE_MATCHES = [ + f"{x[2]} {x[0]} - {x[1]}" for x in get_teams_in_matches(AVAILABLE_MATCHES_IDS) +] +STATS_LABELS = [ + "Shots off target [Shots on target]", + "Possession", + "Total passes[succeed pass]", + "Pass accuracy percentage", + ] \ No newline at end of file From 3d1363ff63c7e26a0f0b9291c3975bf6d9d588b6 Mon Sep 17 00:00:00 2001 From: stephTchembeu Date: Tue, 16 Dec 2025 06:29:27 +0100 Subject: [PATCH 02/12] --- README.md | 63 ------------------------------------------------------- 1 file changed, 63 deletions(-) delete mode 100644 README.md diff --git a/README.md b/README.md deleted file mode 100644 index bc5d1ff..0000000 --- a/README.md +++ /dev/null @@ -1,63 +0,0 @@ -# SkillCorner X PySport Analytics Cup -This repository contains the submission template for the SkillCorner X PySport Analytics Cup **Analyst Track**. -Your submission for the **Analyst Track** should be on the `main` branch of your own fork of this repository. - -Find the Analytics Cup [**dataset**](https://github.com/SkillCorner/opendata/tree/master/data) and [**tutorials**](https://github.com/SkillCorner/opendata/tree/master/resources) on the [**SkillCorner Open Data Repository**](https://github.com/SkillCorner/opendata). - -## Submitting -Make sure your `main` branch contains: - -1. A single Jupyter Notebook in the root of this repository called `submission.ipynb` - - This Juypter Notebook can not contain more than 2000 words. - - All other code should also be contained in this repository, but should be imported into the notebook from the `src` folder. - - -or, - - -1. A single Python file in the root of this repository called `main.py` - - This file should not contain more than 2000 words. - - All other code should also be contained in this repository, but should be imported into the notebook from the `src` folder. - -or, - - -1. A publicly accessible web app or website written in a language of your choice (e.g. Javascript) - - - Your code should follow a clear and well defined structure. - - All other code should also be contained in this repository. - - The URL to the webapp should be included at the bottom of the read me under **URL to Web App / Website** - - -2. An abstract of maximum 300 words that follows the **Analyst Track Abstract Template**. -3. Add a URL to a screen recording video of maximum 60 seconds that shows your work. Add it under the **Video URL** Section below. (Use YouTube, or any other site to share this video). -4. Submit your GitHub repository on the [Analytics Cup Pretalx page](https://pretalx.pysport.org) - -Finally: -- Make sure your GitHub repository does **not** contain big data files. The tracking data should be loaded directly from the [Analytics Cup Data GitHub Repository](https://github.com/SkillCorner/opendata). For more information on how to load the data directly from GitHub please see this [Jupyter Notebook](https://github.com/SkillCorner/opendata/blob/master/resources/getting-started-skc-tracking-kloppy.ipynb). -- Make sure the `submission.ipynb` notebook runs on a clean environment, or -- Provide clear and concise instructions how to run the `main.py` (e.g. `streamlit run main.py`) if applicable in the **Run Instructions** Section below. -- Providing a URL to a publically accessible webapp or website with a running version of your submission is mandatory when choosing to submit in a different language then Python, it is encouraged, but optional when submitting in Python. - -_⚠️ Not adhering to these submission rules and the [**Analytics Cup Rules**](https://pysport.org/analytics-cup/rules) may result in a point deduction or disqualification._ - ---- - -## Analyst Track Abstract Template (max. 300 words) -#### Introduction - -#### Usecase(s) - -#### Potential Audience - ---- - -## Video URL - ---- - -## Run Instructions - ---- - -## [Optional] URL to Web App / Website \ No newline at end of file From c8830a3cfda74077de7fa09eb160b1cfcd947ae0 Mon Sep 17 00:00:00 2001 From: stephTchembeu Date: Tue, 16 Dec 2025 06:32:55 +0100 Subject: [PATCH 03/12] readme removed --- README.md | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++ src/ReadME.md | 33 --------------------------- 2 files changed, 63 insertions(+), 33 deletions(-) create mode 100644 README.md delete mode 100644 src/ReadME.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..bc5d1ff --- /dev/null +++ b/README.md @@ -0,0 +1,63 @@ +# SkillCorner X PySport Analytics Cup +This repository contains the submission template for the SkillCorner X PySport Analytics Cup **Analyst Track**. +Your submission for the **Analyst Track** should be on the `main` branch of your own fork of this repository. + +Find the Analytics Cup [**dataset**](https://github.com/SkillCorner/opendata/tree/master/data) and [**tutorials**](https://github.com/SkillCorner/opendata/tree/master/resources) on the [**SkillCorner Open Data Repository**](https://github.com/SkillCorner/opendata). + +## Submitting +Make sure your `main` branch contains: + +1. A single Jupyter Notebook in the root of this repository called `submission.ipynb` + - This Juypter Notebook can not contain more than 2000 words. + - All other code should also be contained in this repository, but should be imported into the notebook from the `src` folder. + + +or, + + +1. A single Python file in the root of this repository called `main.py` + - This file should not contain more than 2000 words. + - All other code should also be contained in this repository, but should be imported into the notebook from the `src` folder. + +or, + + +1. A publicly accessible web app or website written in a language of your choice (e.g. Javascript) + + - Your code should follow a clear and well defined structure. + - All other code should also be contained in this repository. + - The URL to the webapp should be included at the bottom of the read me under **URL to Web App / Website** + + +2. An abstract of maximum 300 words that follows the **Analyst Track Abstract Template**. +3. Add a URL to a screen recording video of maximum 60 seconds that shows your work. Add it under the **Video URL** Section below. (Use YouTube, or any other site to share this video). +4. Submit your GitHub repository on the [Analytics Cup Pretalx page](https://pretalx.pysport.org) + +Finally: +- Make sure your GitHub repository does **not** contain big data files. The tracking data should be loaded directly from the [Analytics Cup Data GitHub Repository](https://github.com/SkillCorner/opendata). For more information on how to load the data directly from GitHub please see this [Jupyter Notebook](https://github.com/SkillCorner/opendata/blob/master/resources/getting-started-skc-tracking-kloppy.ipynb). +- Make sure the `submission.ipynb` notebook runs on a clean environment, or +- Provide clear and concise instructions how to run the `main.py` (e.g. `streamlit run main.py`) if applicable in the **Run Instructions** Section below. +- Providing a URL to a publically accessible webapp or website with a running version of your submission is mandatory when choosing to submit in a different language then Python, it is encouraged, but optional when submitting in Python. + +_⚠️ Not adhering to these submission rules and the [**Analytics Cup Rules**](https://pysport.org/analytics-cup/rules) may result in a point deduction or disqualification._ + +--- + +## Analyst Track Abstract Template (max. 300 words) +#### Introduction + +#### Usecase(s) + +#### Potential Audience + +--- + +## Video URL + +--- + +## Run Instructions + +--- + +## [Optional] URL to Web App / Website \ No newline at end of file diff --git a/src/ReadME.md b/src/ReadME.md deleted file mode 100644 index a05664d..0000000 --- a/src/ReadME.md +++ /dev/null @@ -1,33 +0,0 @@ -# Pysport X Skillcorner analytic trac Documentation - -## **Overview** - -This document outlines the data processing steps applied to the **Skillcorner open access Dataset** to deliver a daschboard for the analytic trac - -## **Preprocessing** - -## I-Date de remplissage column - -## **a-Libraries Used** - --Pandas --kloppy - -## **b-Data Cleaning Steps** - -### 1. **Loading the Dataset** - -- The csv file for the event data was imported using `pandas` as a pandas Dataframe. -- Example code: - ```python - event_data = pd.read_csv("path/to/match_id/dataset/dynamic_event_data.csv") - ``` - -## **Key Changes** - -- **Understand the column**: for a total of 254 columns the focus was needed to understand which one to use. -- **sparcity of the data**: they are to many missing values in the dataset. - - ``` - - ``` From 1f26f3b8024712c1c37312452302729ccd5299a1 Mon Sep 17 00:00:00 2001 From: stephTchembeu Date: Tue, 16 Dec 2025 06:47:02 +0100 Subject: [PATCH 04/12] readme edided --- README.md | 60 ++++------------------------------------------------- src/main.py | 6 +----- 2 files changed, 5 insertions(+), 61 deletions(-) diff --git a/README.md b/README.md index bc5d1ff..5bdcca8 100644 --- a/README.md +++ b/README.md @@ -1,63 +1,11 @@ # SkillCorner X PySport Analytics Cup -This repository contains the submission template for the SkillCorner X PySport Analytics Cup **Analyst Track**. -Your submission for the **Analyst Track** should be on the `main` branch of your own fork of this repository. - -Find the Analytics Cup [**dataset**](https://github.com/SkillCorner/opendata/tree/master/data) and [**tutorials**](https://github.com/SkillCorner/opendata/tree/master/resources) on the [**SkillCorner Open Data Repository**](https://github.com/SkillCorner/opendata). - -## Submitting -Make sure your `main` branch contains: - -1. A single Jupyter Notebook in the root of this repository called `submission.ipynb` - - This Juypter Notebook can not contain more than 2000 words. - - All other code should also be contained in this repository, but should be imported into the notebook from the `src` folder. - - -or, - - -1. A single Python file in the root of this repository called `main.py` - - This file should not contain more than 2000 words. - - All other code should also be contained in this repository, but should be imported into the notebook from the `src` folder. - -or, - - -1. A publicly accessible web app or website written in a language of your choice (e.g. Javascript) - - - Your code should follow a clear and well defined structure. - - All other code should also be contained in this repository. - - The URL to the webapp should be included at the bottom of the read me under **URL to Web App / Website** - - -2. An abstract of maximum 300 words that follows the **Analyst Track Abstract Template**. -3. Add a URL to a screen recording video of maximum 60 seconds that shows your work. Add it under the **Video URL** Section below. (Use YouTube, or any other site to share this video). -4. Submit your GitHub repository on the [Analytics Cup Pretalx page](https://pretalx.pysport.org) - -Finally: -- Make sure your GitHub repository does **not** contain big data files. The tracking data should be loaded directly from the [Analytics Cup Data GitHub Repository](https://github.com/SkillCorner/opendata). For more information on how to load the data directly from GitHub please see this [Jupyter Notebook](https://github.com/SkillCorner/opendata/blob/master/resources/getting-started-skc-tracking-kloppy.ipynb). -- Make sure the `submission.ipynb` notebook runs on a clean environment, or -- Provide clear and concise instructions how to run the `main.py` (e.g. `streamlit run main.py`) if applicable in the **Run Instructions** Section below. -- Providing a URL to a publically accessible webapp or website with a running version of your submission is mandatory when choosing to submit in a different language then Python, it is encouraged, but optional when submitting in Python. - -_⚠️ Not adhering to these submission rules and the [**Analytics Cup Rules**](https://pysport.org/analytics-cup/rules) may result in a point deduction or disqualification._ - ---- - -## Analyst Track Abstract Template (max. 300 words) -#### Introduction - -#### Usecase(s) - -#### Potential Audience - ---- - -## Video URL --- ## Run Instructions ---- +Clone the repository, then run the following command: -## [Optional] URL to Web App / Website \ No newline at end of file +```bash +streamlit run main.py +``` diff --git a/src/main.py b/src/main.py index 295a929..3bcdb28 100644 --- a/src/main.py +++ b/src/main.py @@ -1,8 +1,5 @@ -#st.metric(label="scoring_op",value="2⁻¹m", delta="10⁻²m") - # initialize an app just by running the python file with streamlit from main_app_requirement import * -from functions import * from utils.preset import preset_app,render_team_logo,get_stats,TAB_NAMES,STATS_LABELS # define decorative elements @@ -72,5 +69,4 @@ st.markdown( f"

{val}

", unsafe_allow_html=True, - ) - + ) \ No newline at end of file From 8acd7fa384513a66a93933541fe8db60536b04b3 Mon Sep 17 00:00:00 2001 From: stephTchembeu Date: Tue, 16 Dec 2025 07:05:44 +0100 Subject: [PATCH 05/12] loading event data directly from github --- src/main.py | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/main.py b/src/main.py index 3bcdb28..72ab685 100644 --- a/src/main.py +++ b/src/main.py @@ -13,10 +13,19 @@ match_id= st.session_state.selected_match_id, coordinates="skillcorner", ) -st.session_state.event_data = pd.read_csv("/home/student/Documents/AIMS/Intership/analytics_cup_analyst/src/data/1886347_dynamic_events.csv") # see how to dowload this directly from git at the deploiement + +@st.cache_data +def load_event_data(game_id): + url = ( + f"https://raw.githubusercontent.com/SkillCorner/opendata/master/data/matches/{game_id}/{game_id}_dynamic_events.csv" + ) + return pd.read_csv(url) + +st.session_state.event_data = load_event_data(match_data.metadata.game_id) home,away = match_data.metadata.teams +# team stats with tabs[0]: if st.session_state.selected_match: logo_home, score_col, logo_away = st.columns([0.25, 0.5, 0.25]) @@ -69,4 +78,11 @@ st.markdown( f"

{val}

", unsafe_allow_html=True, - ) \ No newline at end of file + ) + + + # player profiling + with tabs[4]: + if st.session_state.selected_match: + st.write("data accessible") + \ No newline at end of file From f363f57d201ee47d21b35894001b446a7edc655e Mon Sep 17 00:00:00 2001 From: stephTchembeu Date: Tue, 16 Dec 2025 09:57:49 +0100 Subject: [PATCH 06/12] complete stats and refactoring the way to handle dependencies --- .github/copilot-instructions.md | 37 ++++++++++++++++++++++++++ .gitignore | 4 +++ README.md | 17 ++++++++++-- requirements.txt | 6 +++++ src/main.py | 16 ++++++++--- src/main_app_requirement.py | 12 --------- src/utils/logo_loader.py | 35 +++++++++++++++--------- src/utils/preset.py | 47 ++++++++++++++++++++++++++++++--- 8 files changed, 140 insertions(+), 34 deletions(-) create mode 100644 .github/copilot-instructions.md create mode 100644 requirements.txt delete mode 100644 src/main_app_requirement.py diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 0000000..9f56943 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,37 @@ +# Copilot Instructions for FootMetricX Analytics Dashboard + +## Project Overview +FootMetricX is a Streamlit-based soccer match analytics dashboard that visualizes match data from SkillCorner using the kloppy library. It displays team stats, pitch control, defensive shape, player profiling, and performance metrics. + +## Architecture +- **Main Entry**: `src/main.py` - Streamlit app with tabbed interface +- **Data Loading**: Uses `kloppy.skillcorner.load_open_data()` for match metadata and CSV files for dynamic events +- **UI Components**: Custom HTML rendering via `st.markdown(unsafe_allow_html=True)` for logos, scores, and stats +- **Utilities**: `src/utils/preset.py` handles app setup, stats calculations, and team logo fetching; `src/utils/logo_loader.py` fetches logos from Wikipedia API +- **Data Flow**: Match selection → Load kloppy data → Load event CSV → Compute stats from events → Render tabs + +## Key Patterns +- **State Management**: Use `st.session_state` for match selection and cached data (e.g., `st.session_state.event_data`) +- **Stats Computation**: Functions like `shots(team)`, `passess(team)`, `clearances(team)`, `fouls_committed(team)` filter `st.session_state.event_data` by team_id and event types (e.g., `end_type` == "shot") +- **Logo Rendering**: `render_team_logo()` uses Wikipedia API or fallback image; align with "left"/"right" for home/away +- **Styling**: Inline CSS in `st.markdown()` for centered scores, colored tabs (green: #217c23, blue: #052B72) +- **Hardcoded Values**: Possession defaults to 50%; available matches in `AVAILABLE_MATCHES_IDS` list + +## Workflows +- **Run App**: `streamlit run src/main.py` (from project root) +- **Install Dependencies**: `pip install -r requirements.txt` +- **Data Sources**: Match IDs from SkillCorner opendata; events CSV from GitHub raw URLs +- **Dependencies**: Listed in `requirements.txt`; install with pip + +## Conventions +- **Imports**: All imports in `src/main.py`; use `from src.utils.preset import ...` for utilities +- **File Paths**: Images in `src/images/`, data in `src/data/` +- **Event Filtering**: Use `end_type` for shots/passes, `team_id` for team-specific data +- **Player Data**: Access via `match_data.metadata.teams[0].players` for full names + +## Integration Points +- **SkillCorner API**: Via kloppy for match metadata; coordinates="skillcorner" +- **Wikipedia API**: For team logos; handles approximate names +- **GitHub Raw**: For event CSVs; URL pattern: `https://raw.githubusercontent.com/SkillCorner/opendata/master/data/matches/{game_id}/{game_id}_dynamic_events.csv` + +Reference: `src/utils/preset.py` for stats logic, `src/main.py` for UI structure. \ No newline at end of file diff --git a/.gitignore b/.gitignore index e178466..ff23c1a 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,10 @@ __pycache__/ *.py[codz] *$py.class +# Virtual environment +venv/ +env/ + # C extensions *.so diff --git a/README.md b/README.md index 5bdcca8..27506cb 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,23 @@ --- +## Installation + +1. Clone the repository. +2. (Optional) Create a virtual environment: + ```bash + python -m venv venv + source venv/bin/activate # On Windows: venv\Scripts\activate + ``` +3. Install dependencies: + ```bash + pip install -r requirements.txt + ``` + ## Run Instructions -Clone the repository, then run the following command: +Run the following command: ```bash -streamlit run main.py +streamlit run src/main.py ``` diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..9070774 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,6 @@ +streamlit +rapidfuzz +requests +numpy +pandas +kloppy \ No newline at end of file diff --git a/src/main.py b/src/main.py index 72ab685..141a097 100644 --- a/src/main.py +++ b/src/main.py @@ -1,6 +1,10 @@ # initialize an app just by running the python file with streamlit -from main_app_requirement import * -from utils.preset import preset_app,render_team_logo,get_stats,TAB_NAMES,STATS_LABELS +import streamlit as st +import pandas as pd +from kloppy import skillcorner + +from utils.preset import preset_app,render_team_logo,get_stats,get_players_name,TAB_NAMES,STATS_LABELS + # define decorative elements preset_app() @@ -82,7 +86,11 @@ def load_event_data(game_id): # player profiling - with tabs[4]: + with tabs[3]: if st.session_state.selected_match: - st.write("data accessible") + selected_team_name = st.selectbox("Choose a team.", options=[home.name,away.name]) + if selected_team_name: + selected_players = get_players_name(selected_team_name,match_data) + selected_player_name = st.selectbox("Choose a team.", options=selected_players) + st.write(selected_player_name) \ No newline at end of file diff --git a/src/main_app_requirement.py b/src/main_app_requirement.py deleted file mode 100644 index d8baa1b..0000000 --- a/src/main_app_requirement.py +++ /dev/null @@ -1,12 +0,0 @@ -# necessary libraries -import streamlit as st - -import io -import os -import base64 -import requests -import numpy as np -import pandas as pd -from kloppy import skillcorner - - diff --git a/src/utils/logo_loader.py b/src/utils/logo_loader.py index 822ed2b..e71d6e3 100644 --- a/src/utils/logo_loader.py +++ b/src/utils/logo_loader.py @@ -1,18 +1,19 @@ import requests +from rapidfuzz import process, fuzz -FALLBACK_LOGO = "./images/fallback_logo.png" +FALLBACK_LOGO = "./src/images/fallback_logo.png" def get_team_logo_url(team_name): """ Return the logo image URL of a football team using Wikipedia API. - Handles approximate names by picking the closest match. + Uses rapidfuzz fuzzy matching for better approximate matching. Returns None if no logo is found. """ search_url = "https://en.wikipedia.org/w/api.php" HEADERS = { "User-Agent": "FootballLogoFinder/1.0 (https://example.com/; contact@example.com)" } - + team_name = team_name.strip() if not team_name: return None @@ -27,20 +28,29 @@ def get_team_logo_url(team_name): try: search_resp = requests.get(search_url, params=search_params, headers=HEADERS).json() - except requests.JSONDecodeError: + except (requests.JSONDecodeError, ValueError): return None search_results = search_resp.get("query", {}).get("search", []) if not search_results: return None - # Step 2: Pick the best match (exact title first, else first result) - page_id = None - for r in search_results: - if r["title"].lower() == team_name.lower(): - page_id = r["pageid"] - break - if not page_id: + # Step 2: Fuzzy-match the team name to the result titles + titles = [r["title"] for r in search_results] + + # Use rapidfuzz to pick best match + best_match = process.extractOne( + team_name, + titles, + scorer=fuzz.WRatio, + score_cutoff=60 # Adjust threshold if needed + ) + + if best_match: + matched_title = best_match[0] + page_id = next(r["pageid"] for r in search_results if r["title"] == matched_title) + else: + # fallback: take the first search result page_id = search_results[0]["pageid"] # Step 3: Get the main image (logo) @@ -54,7 +64,7 @@ def get_team_logo_url(team_name): try: image_resp = requests.get(search_url, params=image_params, headers=HEADERS).json() - except requests.JSONDecodeError: + except (requests.JSONDecodeError, ValueError): return None page = image_resp.get("query", {}).get("pages", {}).get(str(page_id), {}) @@ -62,4 +72,3 @@ def get_team_logo_url(team_name): return None return page["thumbnail"]["source"] - diff --git a/src/utils/preset.py b/src/utils/preset.py index b829e77..f79130a 100644 --- a/src/utils/preset.py +++ b/src/utils/preset.py @@ -4,7 +4,7 @@ import streamlit as st from kloppy import skillcorner -from utils.logo_loader import get_team_logo_url ,FALLBACK_LOGO +from .logo_loader import get_team_logo_url ,FALLBACK_LOGO # Function @@ -160,19 +160,55 @@ def possession(team): posses = 50 return posses +def clearances(team): + clearances = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "clearance"] + team_clearances = clearances[clearances["team_id"] == team.team_id] + return len(team_clearances) + +def fouls_committed(team): + fouls = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "foul_committed"] + team_fouls = fouls[fouls["team_id"] == team.team_id] + return len(team_fouls) + +def direct_disruptions(team): + disruptions = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "direct_disruption"] + team_disruptions = disruptions[disruptions["team_id"] == team.team_id] + return len(team_disruptions) + +def direct_regains(team): + regains = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "direct_regain"] + team_regains = regains[regains["team_id"] == team.team_id] + return len(team_regains) + +def possession_losses(team): + losses = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "possession_loss"] + team_losses = losses[losses["team_id"] == team.team_id] + return len(team_losses) + def get_stats(team): stats = { "shots":f"{shots(team)[0]}[{shots(team)[1]}]", "possession":f"{possession(team)}%", "passes":f"{passess(team)[0]}[{passess(team)[1]}]", "passes_accuracy":f"{pass_accuracy(team)}%", + "clearances":f"{clearances(team)}", + "fouls_committed":f"{fouls_committed(team)}", + "direct_disruptions":f"{direct_disruptions(team)}", + "direct_regains":f"{direct_regains(team)}", + "possession_losses":f"{possession_losses(team)}", } return stats +def get_players_name(team_name,match_data)->list: + for team in match_data.metadata.teams: + if team.name == team_name: + players_name = [player.full_name for player in team.players] + return players_name + # variables -SIMPLE_LOGO = "./images/logo.png" # logo when no side =bar -LOGO_WITH_TEXT = "./images/logo_with_text.png" # central logo and siderbar logo +SIMPLE_LOGO = "./src/images/logo.png" # logo when no side =bar +LOGO_WITH_TEXT = "./src/images/logo_with_text.png" # central logo and siderbar logo AVAILABLE_MATCHES_IDS = [ 1886347, ] @@ -193,4 +229,9 @@ def get_stats(team): "Possession", "Total passes[succeed pass]", "Pass accuracy percentage", + "Clearances", + "Fouls committed", + "Direct disruptions", + "Direct regains", + "Possession losses", ] \ No newline at end of file From 61b3a9527d06e494399368d4ee1f8c9be843501c Mon Sep 17 00:00:00 2001 From: stephTchembeu Date: Tue, 16 Dec 2025 14:03:42 +0100 Subject: [PATCH 07/12] first draft of the player_profiling --- src/main.py | 43 +++++++++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 10 deletions(-) diff --git a/src/main.py b/src/main.py index 141a097..fb129d8 100644 --- a/src/main.py +++ b/src/main.py @@ -3,7 +3,7 @@ import pandas as pd from kloppy import skillcorner -from utils.preset import preset_app,render_team_logo,get_stats,get_players_name,TAB_NAMES,STATS_LABELS +from utils.preset import preset_app,render_team_logo,get_stats,get_players_name,heatmap,TAB_NAMES,STATS_LABELS # define decorative elements @@ -85,12 +85,35 @@ def load_event_data(game_id): ) - # player profiling - with tabs[3]: - if st.session_state.selected_match: - selected_team_name = st.selectbox("Choose a team.", options=[home.name,away.name]) - if selected_team_name: - selected_players = get_players_name(selected_team_name,match_data) - selected_player_name = st.selectbox("Choose a team.", options=selected_players) - st.write(selected_player_name) - \ No newline at end of file +# player profiling +with tabs[3]: + if st.session_state.selected_match: + selected_team_name = st.selectbox("Choose a team.", options=[home.name,away.name]) + team = home if selected_team_name == home.name else away + if selected_team_name: + selected_players = get_players_name(selected_team_name,match_data) + selected_player_name = st.selectbox("Choose a team.", options=selected_players) + selected_player = [player for player in team.players if player.full_name == str(selected_player_name)][0] + + # Filter shot events + shot_events = st.session_state.event_data[ + (st.session_state.event_data["end_type"] == "shot") & + (st.session_state.event_data["player_id"] == int(selected_player.player_id)) + ] + + # Filter pass events + pass_events = st.session_state.event_data[ + (st.session_state.event_data["end_type"] == "pass") & + (st.session_state.event_data["player_id"] == int(selected_player.player_id)) + ] + + xs_pass = pass_events["x_start"] + ys_pass = pass_events["y_start"] + xs_shot = shot_events["x_start"] + ys_shot = shot_events["y_start"] + + radar_, heatmap_, stats_ = st.columns([0.30, 0.45, 0.25]) + with heatmap_: + heatmap(xs_pass, ys_pass,xs_shot,ys_shot,match_data) + loop_into = st.selectbox("filter pass",options=["forward pass","backward pass","defensiveline-breaken","lead to goal"]) + From b249f314cac0e494cc8d2acec1d1808f0c4a7984 Mon Sep 17 00:00:00 2001 From: stephTchembeu Date: Tue, 16 Dec 2025 14:04:06 +0100 Subject: [PATCH 08/12] first draft of the player profilling --- src/utils/preset.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/utils/preset.py b/src/utils/preset.py index f79130a..bb2ce10 100644 --- a/src/utils/preset.py +++ b/src/utils/preset.py @@ -2,6 +2,7 @@ import base64 import pandas as pd import streamlit as st +from mplsoccer import Pitch from kloppy import skillcorner from .logo_loader import get_team_logo_url ,FALLBACK_LOGO @@ -205,6 +206,20 @@ def get_players_name(team_name,match_data)->list: players_name = [player.full_name for player in team.players] return players_name +def heatmap(xs, ys,xs_shot,ys_shot,match_data): + pitch = Pitch( + pitch_type="skillcorner", + pitch_length= match_data.metadata.coordinate_system.pitch_length, + pitch_width= match_data.metadata.coordinate_system.pitch_width, + line_zorder=2, + ) + fig, ax = pitch.draw() + # ax.set_title(f"#{player.jersey_no} - {player.last_name} - {player.team.name}") + pitch.kdeplot(xs, ys, ax=ax, cmap="YlOrRd", fill=True, levels=100) + pitch.scatter(xs_shot, ys_shot, ax=ax, c='green', s=50, edgecolors='black', label='Shots') + ax.legend() + + st.pyplot(fig) # variables SIMPLE_LOGO = "./src/images/logo.png" # logo when no side =bar From f80d944be68feb7fc3a8548e485441810fc6b4cc Mon Sep 17 00:00:00 2001 From: stephTchembeu Date: Sat, 27 Dec 2025 10:44:21 +0100 Subject: [PATCH 09/12] finish the radar-chart --- src/images/grass.png | Bin 0 -> 379905 bytes src/main.py | 181 +++++++++-- src/utils/preset.py | 725 +++++++++++++++++++++++++++++++++++++++---- 3 files changed, 811 insertions(+), 95 deletions(-) create mode 100644 src/images/grass.png diff --git a/src/images/grass.png b/src/images/grass.png new file mode 100644 index 0000000000000000000000000000000000000000..c17ecd99ae2bbc9cd45956d51704d53f7ee4f9c6 GIT binary patch literal 379905 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�E>`MFB$9=Aksp`A;hmSe(8!(! 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

H3Cijx=F>3sEFr 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 ^c^X!#1a{LgVmO|_slp}`cBkXsTL`eluFwK zg10QIpl_x{m|>-^yW?5&c8z#1+%sd1G$yN|?>cIQKYu)cvMclU^;8q~>>P}Xz{tU{ z=0YDdDMpmmc;lGY708rYca5b4%3m&?3fvzXPsauy1p5A1GDa!>$CqdR?e{uM4-i(0a|&q2=Xr5~b)vRB~P8P$;^t#X8U1$DLXW zN_qbCZ6?-A--<;8&{ol4qX=oM$T1Hlq9xsOudYl7uAilrzx$Gk>~a&)ag`K^_A z`WE*>s2u1Fia(wPPziLV?__v!pBA<#XO}NeJw_YukI1)oi4vR+LAI0kh&2*R3PIDi zLX>#FM{>lVy|mU@3yN zT2rA3UZQgE6GnZ}|1eh5dPgmpW7iN<;yNuD;N|p8+%{4cASe}nJ0Ce82e!2Af^E$b znW2zQNRO=8&yUUMECMuDMVY$cV* z921A$5xnE=Q?zK_!t3RXv!Hb$rB(htr4WJ^Kzb1;>K0cn!-dATEXzbL3GXfQni-c$ za3VfmW8ERznl;1cC@(2XUhibC_{=>?-@;{2EsZRluxyW^A+xn}yNl?iQzTI7%-y?2GPf&0ACd4so( zWtBZv*LbF7W!c1Z6P%{&q?v7vtWk22sDn{j8r-XteT?1#+`4i;b_}h-d&9?llML11 zc|M)F-e*1@>wXc0ry-EjEDqegH1vGDV2og!D*0DF*_lF4E5>9(kVuI}vn}%9?b|?A z=@)o-S*w)Af+uEC$=$|;HE76B| zZD%899&^Dt%^$BX7$uXZisaaaZa}Gm_fjI6*S#fMGsnS^lVFWbg9R%0Deh2W&C_w< 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

d9q70w95vT+XQ413xMStRbK^B0zN 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

Etssr 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

9YDZL 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 z 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

qO8=M!55f0*}o($&1Fw4M7RPC2jk4&b843 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

e0?y)-kjw4s;nh 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 -JGd=Oiy&;(U9iUabGgeiRpAF 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 qN2kbNVE(QOf?$rN&_sd7EB^7LY^Q10000", unsafe_allow_html=True) # --- STATS ROW (aligned under logos & score) --- @@ -62,7 +83,7 @@ def load_event_data(game_id): # HOME COLUMN with stats_home: - for _,val in home_stats.items(): + for _, val in home_stats.items(): st.markdown( f"

{val}

", unsafe_allow_html=True, @@ -78,42 +99,150 @@ def load_event_data(game_id): # AWAY COLUMN with stats_away: - for _,val in away_stats.items(): + for _, val in away_stats.items(): st.markdown( f"

{val}

", unsafe_allow_html=True, ) - + # player profiling with tabs[3]: if st.session_state.selected_match: - selected_team_name = st.selectbox("Choose a team.", options=[home.name,away.name]) + selected_team_name = st.selectbox( + "Choose a team.", options=[home.name, away.name] + ) team = home if selected_team_name == home.name else away if selected_team_name: - selected_players = get_players_name(selected_team_name,match_data) - selected_player_name = st.selectbox("Choose a team.", options=selected_players) - selected_player = [player for player in team.players if player.full_name == str(selected_player_name)][0] - + selected_players = get_players_name(selected_team_name, match_data) + selected_player_name = st.selectbox( + "Choose a team.", options=selected_players + ) + selected_player = [ + player + for player in team.players + if player.full_name == str(selected_player_name) + ][0] + + # Print player name and position + st.markdown( + f""" +
+

{selected_player_name}

+

{selected_player.position}

+
+ """, + unsafe_allow_html=True, + ) + # Filter shot events shot_events = st.session_state.event_data[ - (st.session_state.event_data["end_type"] == "shot") & - (st.session_state.event_data["player_id"] == int(selected_player.player_id)) + (st.session_state.event_data["end_type"] == "shot") + & ( + st.session_state.event_data["player_id"] + == int(selected_player.player_id) + ) ] # Filter pass events pass_events = st.session_state.event_data[ - (st.session_state.event_data["end_type"] == "pass") & - (st.session_state.event_data["player_id"] == int(selected_player.player_id)) + (st.session_state.event_data["end_type"] == "pass") + & ( + st.session_state.event_data["player_id"] + == int(selected_player.player_id) + ) ] - + total_passes_count = len(pass_events) xs_pass = pass_events["x_start"] ys_pass = pass_events["y_start"] xs_shot = shot_events["x_start"] ys_shot = shot_events["y_start"] - - radar_, heatmap_, stats_ = st.columns([0.30, 0.45, 0.25]) + + radar_, heatmap_, stats_ = st.columns([0.35, 0.45, 0.2]) + with radar_: + metrics = [ + "n_Shot", + "offensive_action %", + "Defensive_Action %", + "Ball retention", + "avg_forward_Pass %", + "avg_Pressing_actions %", + "Success_DA %", + ] + low = [0, 0, 0, 0, 0, 0, 0] + high = [ + ( + len( + st.session_state.event_data[ + st.session_state.event_data["end_type"] == "shot" + ] + ) + + len( + st.session_state.event_data[ + st.session_state.event_data["end_type"] == "shot" + ] + ) + * 0.2 + ), + 100, + 100, + round( + st.session_state.event_data["duration"].mean() + + st.session_state.event_data["duration"].mean() * 0.5, + 2, + ), + 100, + 100, + 100, + ] + team_id = st.session_state.event_data[ + st.session_state.event_data["player_id"] + == float(selected_player.player_id) + ]["team_id"].unique()[0] + values = [ + shots_(selected_player.player_id), + offensive_action(selected_player.player_id), + pressing_engagement(selected_player.player_id, team_id)[ + "Defensive_Action_volume" + ], + avg_ball_retention_time(selected_player.player_id), + avg_forward_pass(selected_player.player_id), + pressing_engagement(selected_player.player_id, team_id)[ + "avg_Pressing_actions" + ], + pressing_engagement(selected_player.player_id, team_id)[ + "Success_DA" + ], + ] + plot_radar(metrics=metrics, low=low, high=high, values=values) with heatmap_: - heatmap(xs_pass, ys_pass,xs_shot,ys_shot,match_data) - loop_into = st.selectbox("filter pass",options=["forward pass","backward pass","defensiveline-breaken","lead to goal"]) - + heatmap(xs_pass, ys_pass, xs_shot, ys_shot, match_data) + loop_into = st.selectbox( + "filter pass", + options=[ + "forward pass", + "backward pass", + "defensiveline-breaken", + "lead to goal", + ], + ) + with stats_: + st.markdown( + f""" +
+

Total Passes

+

{total_passes_count}

+

Distance covered

+

{covered_distance(selected_player, match_data):.2f} km

+

Max speed

+

{max_speed(selected_player, match_data):.1f} m/s

+

Expected Threat (xT)

+

{expected_threat(selected_player, match_data):.2f}

+

Expected Goals (xG)

+

{expected_goals(selected_player, match_data):.2f}

+

Shots on target

+

{shots_on_target(selected_player, match_data)}

+
+ """, + unsafe_allow_html=True, + ) diff --git a/src/utils/preset.py b/src/utils/preset.py index bb2ce10..a5f1f24 100644 --- a/src/utils/preset.py +++ b/src/utils/preset.py @@ -1,15 +1,31 @@ import os import base64 +import numpy as np import pandas as pd import streamlit as st from mplsoccer import Pitch from kloppy import skillcorner +from typing import List, Tuple +import matplotlib.pyplot as plt +from mplsoccer import Radar, FontManager, grid + +from kloppy.domain.models.common import Team +from kloppy.domain.models.tracking import TrackingDataset from .logo_loader import get_team_logo_url ,FALLBACK_LOGO # Function -def render_team_logo(team_name, align="left", width=100): +def render_team_logo(team_name: str, align: str = "left", width: int = 100) -> None: + """Renders the team logo with the team name below it using HTML. + + Fetches the logo from Wikipedia API or uses a fallback image if not found. + + Args: + team_name (str): The name of the team to display. + align (str): Text alignment for the logo and name ('left' or 'right'). + width (int): The width of the logo image in pixels. + """ logo_url = get_team_logo_url(team_name) if logo_url: @@ -34,13 +50,50 @@ def render_team_logo(team_name, align="left", width=100): ) -def get_teams_in_matches(available_matches_ids: list) -> list: +def covered_distance(player, tracking_df: TrackingDataset) -> float: + """Calculates the total distance covered by a player during the match in kilometers. + + Computes the Euclidean distance traveled by the player from tracking data by calculating + frame-by-frame movements using X and Y coordinates and summing them up. + + Args: + player: Player object with player_id attribute from kloppy Team. + tracking_df (TrackingDataset): SkillCorner TrackingDataset containing tracking positions + with columns formatted as '{player_id}_x' and '{player_id}_y'. + + Returns: + float: Total distance covered in kilometers, rounded to 2 decimal places. """ - function to import assets of the name of home and away team from the list of available id - input: - available_matches_id: the list of available matches id's. - output: - the list of (home_name,away_name). + player_id = player.player_id + x_col = f"{player_id}_x" + y_col = f"{player_id}_y" + + df = tracking_df.to_df(engine="pandas")[[x_col, y_col]].dropna(subset=[x_col]) + + # Calculate frame-to-frame distance differences + dx = df[x_col].diff() + dy = df[y_col].diff() + + # Compute Euclidean distance per frame + df["step_distance"] = np.sqrt(dx**2 + dy**2) + + # Sum total distance and convert from meters to kilometers + distance_totale = df["step_distance"].sum() + + return round(distance_totale / 1000, 2) + + +def get_teams_in_matches(available_matches_ids: List[int]) -> List[Tuple[str, str, int]]: + """Retrieves team names and match IDs for a list of available matches. + + Loads match metadata from SkillCorner API for each match ID and extracts + home and away team names. + + Args: + available_matches_ids (List[int]): List of match IDs from SkillCorner. + + Returns: + List[Tuple[str, str, int]]: List of tuples (home_team_name, away_team_name, match_id). """ output = [] for match_id in available_matches_ids: @@ -49,15 +102,61 @@ def get_teams_in_matches(available_matches_ids: list) -> list: ) home, away = dataset.metadata.teams output.append( - (home.name, away.name,match_id) + (home.name, away.name, match_id) ) return output -def preset_app(): +def preset_app() -> None: + """Sets up the Streamlit app configuration and UI elements. + + Configures page layout, logos, sidebar match selector, and tab styling. + This function should be called once at the start of the app to initialize + unchangeable UI elements and set global app state. """ - A function to preset unchangeable elemet of the dashboard the logo the elements within the tab. + st.markdown( """ + + """, + unsafe_allow_html=True + ) + # set title and icon st.set_page_config( page_title="FootMetricX", @@ -124,103 +223,591 @@ def preset_app(): ) return -def first_word(string): - """ - Splits the string into words using a space as the separator - and returns the first word. +def first_word(string: str) -> str: + """Extracts the first word from a space-separated string. + + Args: + string (str): Input string to split. + + Returns: + str: The first word from the string, or empty string if input is empty. """ words = string.split(" ") if words: return words[0] - return "" # Returns an empty string if the input string is empty - -def shots(team): - # Filter shots - shots = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "shot"].copy() - shots['is_on_target'] = ( - (shots['lead_to_goal'] == 1) & - (shots['game_interruption_after'].isin(['goal_for', 'corner_for'])) + return "" + +def shots(team: Team) -> Tuple[int, int]: + """Calculates total shots and shots on target for a team. + + Filters event data for shot events and determines on-target shots based on + goal outcomes. + + Args: + team (Team): Team object with team_id attribute. + + Returns: + Tuple[int, int]: Tuple of (total_shots, shots_on_target). + """ + shots_df = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "shot"].copy() + shots_df['is_on_target'] = ( + (shots_df['lead_to_goal'] == 1) & + (shots_df['game_interruption_after'].isin(['goal_for', 'corner_for'])) ) - shots['is_on_target'] = shots['is_on_target'].astype('boolean') - team_shots = shots[shots["team_id"] == team.team_id] + shots_df['is_on_target'] = shots_df['is_on_target'].astype('boolean') + team_shots = shots_df[shots_df["team_id"] == team.team_id] total = len(team_shots) - targeted = team_shots['is_on_target'].sum() - return (total,targeted) + on_target = team_shots['is_on_target'].sum() + return (total, on_target) -def passess(team): - pass_df= st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "pass"].copy() +def passess(team: Team) -> Tuple[int, int]: + """Calculates total passes and successful passes for a team. + + Filters event data for pass events and counts successful passes. + + Args: + team (Team): Team object with team_id attribute. + + Returns: + Tuple[int, int]: Tuple of (total_passes, successful_passes). + """ + pass_df = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "pass"].copy() total_pass = pass_df[(pass_df["team_id"] == team.team_id)] - good_pass = pass_df[(pass_df["team_id"] == team.team_id) & (pass_df["pass_outcome"]== "successful")] - return (len(total_pass),len(good_pass)) + good_pass = pass_df[(pass_df["team_id"] == team.team_id) & (pass_df["pass_outcome"] == "successful")] + return (len(total_pass), len(good_pass)) + +def pass_accuracy(team: Team) -> int: + """Calculates pass accuracy percentage for a team. -def pass_accuracy(team): - _passess = passess(team) - return int(_passess[1]*100/_passess[0]) + Args: + team (Team): Team object with team_id attribute. -def possession(team): - posses = 50 - return posses + Returns: + int: Pass accuracy as a percentage (0-100). + """ + passes_data = passess(team) + if passes_data[0] == 0: + return 0 + return int(passes_data[1] * 100 / passes_data[0]) + +def possession(team: Team) -> int: + """Calculates possession percentage for a team. + + Currently returns a hardcoded value of 50%. Future implementation should + calculate actual possession from event data. + + Args: + team (Team): Team object with team_id attribute. + + Returns: + int: Possession percentage. + """ + return 50 -def clearances(team): - clearances = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "clearance"] - team_clearances = clearances[clearances["team_id"] == team.team_id] +def clearances(team: Team) -> int: + """Counts clearance events for a team. + + Args: + team (Team): Team object with team_id attribute. + + Returns: + int: Number of clearances made by the team. + """ + clearances_df = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "clearance"] + team_clearances = clearances_df[clearances_df["team_id"] == team.team_id] return len(team_clearances) -def fouls_committed(team): - fouls = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "foul_committed"] - team_fouls = fouls[fouls["team_id"] == team.team_id] +def fouls_committed(team: Team) -> int: + """Counts fouls committed by a team. + + Args: + team (Team): Team object with team_id attribute. + + Returns: + int: Number of fouls committed by the team. + """ + fouls_df = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "foul_committed"] + team_fouls = fouls_df[fouls_df["team_id"] == team.team_id] return len(team_fouls) -def direct_disruptions(team): - disruptions = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "direct_disruption"] - team_disruptions = disruptions[disruptions["team_id"] == team.team_id] +def direct_disruptions(team: Team) -> int: + """Counts direct disruption events for a team. + + Direct disruptions occur when a team directly breaks up an opponent's play. + + Args: + team (Team): Team object with team_id attribute. + + Returns: + int: Number of direct disruptions made by the team. + """ + disruptions_df = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "direct_disruption"] + team_disruptions = disruptions_df[disruptions_df["team_id"] == team.team_id] return len(team_disruptions) -def direct_regains(team): - regains = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "direct_regain"] - team_regains = regains[regains["team_id"] == team.team_id] +def direct_regains(team: Team) -> int: + """Counts direct regain events for a team. + + Direct regains occur when a team directly wins back the ball. + + Args: + team (Team): Team object with team_id attribute. + + Returns: + int: Number of direct regains by the team. + """ + regains_df = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "direct_regain"] + team_regains = regains_df[regains_df["team_id"] == team.team_id] return len(team_regains) -def possession_losses(team): - losses = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "possession_loss"] - team_losses = losses[losses["team_id"] == team.team_id] +def possession_losses(team: Team) -> int: + """Counts possession loss events for a team. + + Args: + team (Team): Team object with team_id attribute. + + Returns: + int: Number of possession losses by the team. + """ + losses_df = st.session_state.event_data[st.session_state.event_data['end_type'].str.lower() == "possession_loss"] + team_losses = losses_df[losses_df["team_id"] == team.team_id] return len(team_losses) -def get_stats(team): +def get_stats(team: Team) -> dict: + """Aggregates all match statistics for a team. + + Computes and formats all available stats including shots, passes, clearances, + fouls, and disruptions. + + Args: + team (Team): Team object with team_id attribute. + + Returns: + dict: Dictionary with formatted stat strings ready for display. + """ stats = { - "shots":f"{shots(team)[0]}[{shots(team)[1]}]", - "possession":f"{possession(team)}%", - "passes":f"{passess(team)[0]}[{passess(team)[1]}]", - "passes_accuracy":f"{pass_accuracy(team)}%", - "clearances":f"{clearances(team)}", - "fouls_committed":f"{fouls_committed(team)}", - "direct_disruptions":f"{direct_disruptions(team)}", - "direct_regains":f"{direct_regains(team)}", - "possession_losses":f"{possession_losses(team)}", - } + "shots": f"{shots(team)[0]}[{shots(team)[1]}]", + "possession": f"{possession(team)}%", + "passes": f"{passess(team)[0]}[{passess(team)[1]}]", + "passes_accuracy": f"{pass_accuracy(team)}%", + "clearances": f"{clearances(team)}", + "fouls_committed": f"{fouls_committed(team)}", + "direct_disruptions": f"{direct_disruptions(team)}", + "direct_regains": f"{direct_regains(team)}", + "possession_losses": f"{possession_losses(team)}", + } return stats -def get_players_name(team_name,match_data)->list: +def get_players_name(team_name: str, match_data: TrackingDataset) -> List[str]: + """Retrieves all player names for a specific team from match data. + + Args: + team_name (str): Name of the team. + match_data (TrackingDataset): SkillCorner TrackingDataset object. + + Returns: + List[str]: List of player full names for the team. + """ for team in match_data.metadata.teams: if team.name == team_name: - players_name = [player.full_name for player in team.players] - return players_name + return [player.full_name for player in team.players] + return [] + +def heatmap(xs: pd.Series, ys: pd.Series, xs_shot: pd.Series, ys_shot: pd.Series, match_data: TrackingDataset) -> None: + """Generates and displays a heatmap of player movement with shot locations. + + Creates a kernel density estimation (KDE) plot showing player movement patterns + and overlays shot locations. -def heatmap(xs, ys,xs_shot,ys_shot,match_data): + Args: + xs (pd.Series): X coordinates of player movement events. + ys (pd.Series): Y coordinates of player movement events. + xs_shot (pd.Series): X coordinates of shot events. + ys_shot (pd.Series): Y coordinates of shot events. + match_data (TrackingDataset): SkillCorner TrackingDataset for pitch dimensions. + """ pitch = Pitch( pitch_type="skillcorner", - pitch_length= match_data.metadata.coordinate_system.pitch_length, - pitch_width= match_data.metadata.coordinate_system.pitch_width, + pitch_length=match_data.metadata.coordinate_system.pitch_length, + pitch_width=match_data.metadata.coordinate_system.pitch_width, line_zorder=2, ) fig, ax = pitch.draw() - # ax.set_title(f"#{player.jersey_no} - {player.last_name} - {player.team.name}") + ax.set_title(f" pass_heat-map") pitch.kdeplot(xs, ys, ax=ax, cmap="YlOrRd", fill=True, levels=100) pitch.scatter(xs_shot, ys_shot, ax=ax, c='green', s=50, edgecolors='black', label='Shots') ax.legend() + st.pyplot(fig) + +def max_speed(player, tracking_df): + """ + Calculates the maximum speed reached by a player during the match in m/s, + with filtering to remove unrealistic spikes using Mbappé's max speed as threshold. + + Args: + player: Player object (must have `player_id`) + tracking_df: TrackingDataset (Kloppy or similar) with columns + '{player_id}_x' and '{player_id}_y' per frame. + + Returns: + float: Maximum speed in m/s. + """ + player_id = player.player_id + x_col = f"{player_id}_x" + y_col = f"{player_id}_y" + + # Convert tracking dataset to pandas + df = tracking_df.to_df(engine="pandas")[[x_col, y_col]].dropna(subset=[x_col, y_col]) + + if df.empty: + return 0.0 + + # Compute differences frame to frame + dx = df[x_col].diff() + dy = df[y_col].diff() + + # Euclidean distance per frame (in meters) + step_distance = np.sqrt(dx**2 + dy**2) + + # Frame rate + fps = tracking_df.metadata.frame_rate + + # Maximum step per frame threshold based on realistic max speed (Mbappé ~10.28 m/s) + max_speed_threshold_m_s = 10.277777 # m/s + max_step_per_frame = max_speed_threshold_m_s / fps + + # Filter unrealistic steps (likely data errors) + step_distance = step_distance.where(step_distance <= max_step_per_frame, 0) + + # Compute speed per frame in m/s: distance(meters) * fps(frames/second) = meters/second + speed_m_s = step_distance * fps + + # Get maximum speed + max_speed_value = speed_m_s.max() + + return round(max_speed_value, 2) + + +def shots_on_target(player: Team, match_data: TrackingDataset) -> int: + """Counts the number of shots on target made by a player. + Filters shot events by player_id and determines on-target shots based on + goal outcomes and game interruption events. + + Args: + player (Team): Player object with player_id attribute. + match_data (TrackingDataset): SkillCorner TrackingDataset object. + + Returns: + int: Number of shots on target. + """ + shots_df = st.session_state.event_data[ + (st.session_state.event_data['end_type'].str.lower() == 'shot') & + (st.session_state.event_data['player_id'] == int(player.player_id)) + ].copy() + + if shots_df.empty: + return 0 + + shots_df['is_on_target'] = ( + (shots_df['lead_to_goal'] == 1) & + (shots_df['game_interruption_after'].isin(['goal_for', 'corner_for'])) + ) + on_target = shots_df['is_on_target'].sum() + return int(on_target) + + +def expected_goals(player: Team, match_data: TrackingDataset) -> float: + """Calculates expected goals (xG) for a player. + + Counts the number of shots by the player. If xG values are available in the + event data, they will be summed; otherwise defaults to 0.15 per shot as an estimate. + + Args: + player (Team): Player object with player_id attribute. + match_data (TrackingDataset): SkillCorner TrackingDataset object. + + Returns: + float: Expected goals value. + """ + shots_df = st.session_state.event_data[ + (st.session_state.event_data['end_type'].str.lower() == 'shot') & + (st.session_state.event_data['player_id'] == int(player.player_id)) + ] + + if shots_df.empty: + return 0.0 + + # If xG column exists, sum it; otherwise estimate 0.15 per shot + if 'xG' in shots_df.columns: + return round(shots_df['xG'].sum(), 2) + else: + return round(len(shots_df) * 0.15, 2) + + +def expected_threat(player: Team, match_data: TrackingDataset) -> float: + """Calculates expected threat (xT) generated by a player. + + Counts successful passes and estimates xT. If xT values are available in the + event data, they will be summed; otherwise defaults to 0.02 per successful pass. + + Args: + player (Team): Player object with player_id attribute. + match_data (TrackingDataset): SkillCorner TrackingDataset object. + + Returns: + float: Expected threat value. + """ + pass_df = st.session_state.event_data[ + (st.session_state.event_data['end_type'].str.lower() == 'pass') & + (st.session_state.event_data['player_id'] == int(player.player_id)) & + (st.session_state.event_data['pass_outcome'] == 'successful') + ] + + if pass_df.empty: + return 0.0 + + # If xT column exists, sum it; otherwise estimate 0.02 per successful pass + if 'xT' in pass_df.columns: + return round(pass_df['xT'].sum(), 2) + else: + return round(len(pass_df) * 0.02, 2) + + +def shots_(player_id: float) -> int: + """Counts the total number of shot events for a specific player. + + Filters shot events from the event data by player_id. + + Args: + player_id (float): The unique identifier of the player. + + Returns: + int: The number of shot events attempted by the player. + """ + shot_events = st.session_state.event_data[ + (st.session_state.event_data["end_type"] == "shot") & + (st.session_state.event_data["player_id"] == float(player_id)) + ] + return len(shot_events) + +def total_shot(shot_events: pd.DataFrame) -> int: + """Counts the total number of shots in a given DataFrame. + + Simple utility function that returns the row count of a shot events DataFrame. + + Args: + shot_events (pd.DataFrame): DataFrame containing shot event data. + + Returns: + int: The number of rows (shot events) in the DataFrame. + """ + return len(shot_events) + + + +def offensive_action(player_id: float) -> float: + """Calculates the percentage of offensive actions performed by a player. + + Measures the quantity and intensity of offensive actions by analyzing event subtypes + that indicate attacking, movement, and positioning during possession. Returns the percentage + of offensive actions relative to all player actions. + + Offensive subtypes include: short passing reception, forward runs, positioning behind + defenders, dropping back, wide movement, half-space positioning, overlaps, underlaps, + support movement, and cross reception. + + Args: + player_id (float): The unique identifier of the player. + + Returns: + float: The percentage of offensive actions out of total player actions (0-100). + """ + OFFENSIVE_SUBTYPES = [ + 'coming_short', 'run_ahead_of_the_ball', 'behind', 'dropping_off', + 'pulling_wide', 'pulling_half_space', 'overlap', 'underlap', + 'support', 'cross_receiver' + ] + + player_events = st.session_state.event_data[ + st.session_state.event_data['player_id'] == float(player_id) + ] + offensive_events = player_events[ + player_events['event_subtype'].isin(OFFENSIVE_SUBTYPES) + ] + + if len(player_events) == 0: + return 0.0 + + return round(len(offensive_events) / len(player_events) * 100, 2) + + +def avg_ball_retention_time(player_id: float) -> float: + """Calculates the average ball retention time for a player during possession. + + Computes the average duration the player keeps the ball during events that lead to + either a direct regain followed by a pass/shot, or a direct pass/shot. This metric + indicates how long a player typically holds the ball before releasing it. + + Args: + player_id (float): The unique identifier of the player. + + Returns: + float: Average retention time in seconds, with higher values indicating longer ball possession. + """ + mask = ( + (st.session_state.event_data["player_id"] == float(player_id)) & + ( + ( + (st.session_state.event_data["end_type"] == "direct_regain") & + (st.session_state.event_data["end_type"].shift(-1).isin(["pass", "shot"])) + ) | + (st.session_state.event_data["end_type"].isin(["shot", "pass"])) + ) + ) + filtered_events = st.session_state.event_data[mask] + + if len(filtered_events) == 0: + return 0.0 + + return round(filtered_events["duration"].sum() / len(filtered_events), 2) + + +def avg_forward_pass(player_id: float) -> float: + """Calculates the percentage of forward passes made by a player. + + Analyzes all pass events by a player and determines what proportion are forward passes + (passes directed toward the opponent's goal). This metric helps assess a player's + attacking intent and ability to progress the ball up the pitch. + + Args: + player_id (float): The unique identifier of the player. + + Returns: + float: The percentage of forward passes out of total passes (0-100). + """ + pass_events = st.session_state.event_data[ + (st.session_state.event_data["end_type"] == "pass") & + (st.session_state.event_data["player_id"] == float(player_id)) + ] + + if len(pass_events) == 0: + return 0.0 + + forward_passes = pass_events[pass_events["pass_direction"] == "forward"] + return round(len(forward_passes) / len(pass_events) * 100, 2) + + +def pressing_engagement(player_id: float, team_id: float) -> dict: + """Calculates pressing and defensive engagement metrics for a player. + + Analyzes defensive actions and pressing events, including direct and indirect + disruptions, regains, possession losses, fouls, and clearances. Returns a dictionary + with three key metrics: + + - avg_Pressing_actions: Player's pressing events as percentage of team's total pressing events + - Defensive_Action_volume: Player's defensive actions as percentage of their total actions + - Success_DA: Count of successful defensive actions resulting in ball recovery + + Args: + player_id (float): The unique identifier of the player. + team_id (float): The unique identifier of the player's team. + + Returns: + dict: Dictionary with three keys: + - 'avg_Pressing_actions' (float): Percentage of team pressing actions + - 'Defensive_Action_volume' (float): Percentage of player's actions that are defensive + - 'Success_DA' (int): Count of successful defensive actions + """ + pressing_event = st.session_state.event_data[ + (st.session_state.event_data["team_id"] == team_id) & + ( + (st.session_state.event_data["event_subtype_id"].isin( + ["pressing", "presure", "counter_press", "recovery_press"] + )) | + (st.session_state.event_data["end_type"].isin([ + 'indirect_disruption', 'indirect_regain', + 'direct_regain', 'direct_disruption', 'possession_loss', + 'foul_committed', 'clearance' + ])) + ) + ] + player_pressing_event = pressing_event[ + pressing_event["player_id"] == float(player_id) + ] + + player_action = st.session_state.event_data[ + st.session_state.event_data["player_id"] == float(player_id) + ] + + success_DA = player_pressing_event[ + player_pressing_event["end_type"].isin([ + 'indirect_disruption', 'indirect_regain', + 'direct_regain', 'direct_disruption', 'possession_loss', + 'foul_committed', 'clearance' + ]) + ] + + avg_pressing = 0.0 if len(pressing_event) == 0 else round(len(player_pressing_event) / len(pressing_event) * 100, 2) + defensive_volume = 0.0 if len(player_action) == 0 else round(len(player_pressing_event) / len(player_action) * 100, 2) + + return { + "avg_Pressing_actions": avg_pressing, + "Defensive_Action_volume": defensive_volume, + "Success_DA": success_DA.shape[0] + } + +def plot_radar(metrics: List[str], low: List[float], high: List[float], values: List[float]) -> None: + """Generates and displays a radar chart comparing player metrics against benchmarks. + + Creates a radar (spider) plot visualization showing player performance across multiple + metrics. Each metric is normalized between low and high bounds, displayed with green fill + and outlined vertices. The chart includes range labels, parameter labels, and spoke lines. + + Args: + metrics (List[str]): List of metric names to display on the radar chart. + low (List[float]): List of minimum values (lower bound) for each metric. + high (List[float]): List of maximum values (upper bound) for each metric. + values (List[float]): List of actual player values for each metric to display. + + Returns: + None: Displays the chart using st.pyplot(). + """ + radar = Radar( + metrics, low, high, + round_int=[False] * len(metrics), + num_rings=5, + ring_width=1, + center_circle_radius=1 + ) + + fig, ax = radar.setup_axis() + rings_inner = radar.draw_circles( + ax=ax, facecolor="#e4e8e9", edgecolor="#e1e6e7", alpha=0.4 + ) + radar_output = radar.draw_radar( + values, ax=ax, + kwargs_radar={'facecolor': "#0e8d34", 'alpha': 0.7}, + kwargs_rings={'facecolor': "#0e8d34"} + ) + radar_poly, rings_outer, vertices = radar_output + + radar.draw_range_labels(ax=ax, fontsize=15) + radar.draw_param_labels(ax=ax, fontsize=15) + radar.spoke(ax=ax, color='#a6a4a1', linestyle='--', zorder=2) + + ax.scatter( + vertices[:, 0], vertices[:, 1], + c="#047426", edgecolors="#055216", marker='o', s=150, zorder=2 + ) + + # Close polygon and plot border + polygon = np.vstack([vertices, vertices[0]]) + ax.plot(polygon[:, 0], polygon[:, 1], color="#055216", linewidth=3, zorder=3) + st.pyplot(fig) + # variables SIMPLE_LOGO = "./src/images/logo.png" # logo when no side =bar LOGO_WITH_TEXT = "./src/images/logo_with_text.png" # central logo and siderbar logo From 6f831b1f09784f7010793783e5db6efbe81c07e0 Mon Sep 17 00:00:00 2001 From: stephTchembeu Date: Sun, 28 Dec 2025 06:48:44 +0100 Subject: [PATCH 10/12] MAJOR - added tests, drafting the pitch control, set some element to compare player in player performances and refractoring the code to catch error when loading the match files. --- requirements.txt | 6 +- src/main.py | 314 +++++++++++++++++++-- src/utils/pitch_control.py | 444 +++++++++++++++++++++++++++++ src/utils/preset.py | 543 ++++++++++++++++++++++++++---------- tests/__init__.py | 1 + tests/conftest.py | 64 +++++ tests/runner.py | 74 +++++ tests/test_pitch_control.py | 157 +++++++++++ tests/test_preset.py | 267 ++++++++++++++++++ 9 files changed, 1700 insertions(+), 170 deletions(-) create mode 100644 src/utils/pitch_control.py create mode 100644 tests/__init__.py create mode 100644 tests/conftest.py create mode 100644 tests/runner.py create mode 100644 tests/test_pitch_control.py create mode 100644 tests/test_preset.py diff --git a/requirements.txt b/requirements.txt index 9070774..a33d6a3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,4 +3,8 @@ rapidfuzz requests numpy pandas -kloppy \ No newline at end of file +kloppy +pytest>=7.0.0 +matplotlib +plotly +mplsoccer \ No newline at end of file diff --git a/src/main.py b/src/main.py index 64a48b9..d984fe4 100644 --- a/src/main.py +++ b/src/main.py @@ -4,6 +4,11 @@ import numpy as np import plotly.express as px from kloppy import skillcorner +from pathlib import Path +import sys + +# Add parent directory to path for test imports +sys.path.insert(0, str(Path(__file__).parent.parent)) from utils.preset import ( preset_app, @@ -11,6 +16,7 @@ get_stats, get_players_name, heatmap, + pass_map, covered_distance, max_speed, shots_on_target, @@ -26,6 +32,33 @@ STATS_LABELS, ) +from utils.pitch_control import ( + calculate_pitch_control, + calculate_space_control_metrics, + get_frame_positions, + plot_pitch_control, + plot_space_creation_impact, +) + +# Run tests on startup +if "tests_validated" not in st.session_state: + try: + from tests.runner import run_tests, validate_imports + + # Validate imports first + imports_ok, import_msg = validate_imports() + if not imports_ok: + st.warning(f"Import validation: {import_msg}") + + # Run test suite + tests_ok, test_output = run_tests() + if not tests_ok and test_output.strip(): + st.warning(f"Some tests failed:\n```\n{test_output}\n```") + + st.session_state.tests_validated = True + except Exception as e: + st.warning(f"Test runner error: {str(e)}") + st.session_state.tests_validated = True # define decorative elements preset_app() @@ -50,7 +83,7 @@ def load_event_data(game_id): home, away = match_data.metadata.teams -# team stats +# Tab 0: Team Stats with tabs[0]: if st.session_state.selected_match: logo_home, score_col, logo_away = st.columns([0.25, 0.5, 0.25]) @@ -62,7 +95,7 @@ def load_event_data(game_id): f"""

- {match_data.metadata.score.home}  –  {match_data.metadata.score.away} + {match_data.metadata.score.home}  —  {match_data.metadata.score.away}

""", @@ -77,7 +110,7 @@ def load_event_data(game_id): # --- STATS ROW (aligned under logos & score) --- stats_home, stats_labels, stats_away = st.columns([0.25, 0.5, 0.25]) - # Example values (replace with computed ones) + # Get computed stats home_stats = get_stats(home) away_stats = get_stats(away) @@ -106,17 +139,47 @@ def load_event_data(game_id): ) -# player profiling +# Tab 1: Pitch Control (Placeholder) +with tabs[1]: + st.header("Pitch Control Analysis") + st.info("This feature is under development. Coming soon!") + st.markdown(""" + **Planned Features:** + - Team possession zones heatmap + - Dominant areas visualization + - Territorial control metrics + """) + +# Tab 2: Defensive Shape (Placeholder) +with tabs[2]: + st.header("Defensive Shape Analysis") + st.info("This feature is under development. Coming soon!") + st.markdown( + """ + **Planned Features:** + - Defensive line positioning + - Compactness metrics + - Pressing intensity zones + """ + ) + + +# Tab 3: Player Profiling with tabs[3]: if st.session_state.selected_match: selected_team_name = st.selectbox( - "Choose a team.", options=[home.name, away.name] + "Choose a team.", + options=[home.name, away.name], + key="team_select_profiling", ) team = home if selected_team_name == home.name else away + if selected_team_name: selected_players = get_players_name(selected_team_name, match_data) selected_player_name = st.selectbox( - "Choose a team.", options=selected_players + "Choose a player.", + options=selected_players, + key="player_select_profiling", ) selected_player = [ player @@ -128,7 +191,7 @@ def load_event_data(game_id): st.markdown( f"""
-

{selected_player_name}

+

{selected_player_name}

{selected_player.position}

""", @@ -152,13 +215,18 @@ def load_event_data(game_id): == int(selected_player.player_id) ) ] + total_passes_count = len(pass_events) xs_pass = pass_events["x_start"] ys_pass = pass_events["y_start"] + attacking_side_pass = pass_events["attacking_side"] + xs_shot = shot_events["x_start"] ys_shot = shot_events["y_start"] + attacking_side_shot = shot_events["attacking_side"] radar_, heatmap_, stats_ = st.columns([0.35, 0.45, 0.2]) + with radar_: metrics = [ "n_Shot", @@ -184,16 +252,16 @@ def load_event_data(game_id): ) * 0.2 ), - 100, - 100, + 25, + 25, round( st.session_state.event_data["duration"].mean() + st.session_state.event_data["duration"].mean() * 0.5, 2, ), - 100, - 100, - 100, + 25, + 25, + 25, ] team_id = st.session_state.event_data[ st.session_state.event_data["player_id"] @@ -215,17 +283,66 @@ def load_event_data(game_id): ], ] plot_radar(metrics=metrics, low=low, high=high, values=values) + with heatmap_: - heatmap(xs_pass, ys_pass, xs_shot, ys_shot, match_data) - loop_into = st.selectbox( - "filter pass", + heatmap( + xs_pass, + ys_pass, + attacking_side_pass, + xs_shot, + ys_shot, + attacking_side_shot, + match_data, + ) + + # Pass filtering options + st.session_state.pass_filter = st.selectbox( + "Filter passes by type", options=[ - "forward pass", - "backward pass", - "defensiveline-breaken", - "lead to goal", + "All passes", + "Forward passes", + "Backward passes", + "Defensive line-breaking", + "Lead to goal", ], + key="pass_filter_select", ) + + # Apply filter and show pass map + if st.session_state.pass_filter != "All passes": + filtered_passes = pass_events.copy() + + if st.session_state.pass_filter == "Forward passes": + filtered_passes = filtered_passes[ + filtered_passes["pass_direction"] == "forward" + ] + elif st.session_state.pass_filter == "Backward passes": + filtered_passes = filtered_passes[ + filtered_passes["pass_direction"] == "backward" + ] + elif st.session_state.pass_filter == "Defensive line-breaking": + filtered_passes = filtered_passes[ + filtered_passes["defensive_line_break"] == 1 + ] + elif st.session_state.pass_filter == "Lead to goal": + filtered_passes = filtered_passes[ + filtered_passes["lead_to_goal"] == 1 + ] + + if len(filtered_passes) > 0: + pass_map( + filtered_passes["x_start"], + filtered_passes["y_start"], + filtered_passes["x_end"], + filtered_passes["y_end"], + filtered_passes["pass_outcome"], + match_data, + ) + else: + st.warning( + f"No passes found for filter: {st.session_state.pass_filter}" + ) + with stats_: st.markdown( f""" @@ -246,3 +363,162 @@ def load_event_data(game_id): """, unsafe_allow_html=True, ) + + +# Tab 4: Player Performance (Comparison) +with tabs[4]: + st.header("Player Performance Comparison") + + if st.session_state.selected_match: + col1, col2 = st.columns(2) + + with col1: + st.subheader("Player 1") + team1_name = st.selectbox( + "Choose team for Player 1", + options=[home.name, away.name], + key="team1_performance", + ) + team1 = home if team1_name == home.name else away + players1 = get_players_name(team1_name, match_data) + player1_name = st.selectbox( + "Choose Player 1", options=players1, key="player1_performance" + ) + player1 = [p for p in team1.players if p.full_name == player1_name][0] + + with col2: + st.subheader("Player 2") + team2_name = st.selectbox( + "Choose team for Player 2", + options=[home.name, away.name], + key="team2_performance", + ) + team2 = home if team2_name == home.name else away + players2 = get_players_name(team2_name, match_data) + player2_name = st.selectbox( + "Choose Player 2", options=players2, key="player2_performance" + ) + player2 = [p for p in team2.players if p.full_name == player2_name][0] + + # Comparison table + st.subheader("Performance Comparison") + + comparison_data = { + "Metric": [ + "Distance Covered (km)", + "Max Speed (m/s)", + "Total Passes", + "Expected Goals (xG)", + "Expected Threat (xT)", + "Shots on Target", + "Shots Total", + ], + player1_name: [ + covered_distance(player1, match_data), + max_speed(player1, match_data), + len( + st.session_state.event_data[ + (st.session_state.event_data["end_type"] == "pass") + & ( + st.session_state.event_data["player_id"] + == int(player1.player_id) + ) + ] + ), + expected_goals(player1, match_data), + expected_threat(player1, match_data), + shots_on_target(player1, match_data), + shots_(player1.player_id), + ], + player2_name: [ + covered_distance(player2, match_data), + max_speed(player2, match_data), + len( + st.session_state.event_data[ + (st.session_state.event_data["end_type"] == "pass") + & ( + st.session_state.event_data["player_id"] + == int(player2.player_id) + ) + ] + ), + expected_goals(player2, match_data), + expected_threat(player2, match_data), + shots_on_target(player2, match_data), + shots_(player2.player_id), + ], + } + + df_comparison = pd.DataFrame(comparison_data) + st.dataframe(df_comparison, use_container_width=True, hide_index=True) + + # Visualization comparison + st.subheader("Visual Comparison") + + # Create side-by-side radar charts + col_radar1, col_radar2 = st.columns(2) + + team1_id = st.session_state.event_data[ + st.session_state.event_data["player_id"] == float(player1.player_id) + ]["team_id"].unique()[0] + + team2_id = st.session_state.event_data[ + st.session_state.event_data["player_id"] == float(player2.player_id) + ]["team_id"].unique()[0] + + metrics = [ + "n_Shot", + "offensive_action %", + "Defensive_Action %", + "Ball retention", + "avg_forward_Pass %", + "avg_Pressing_actions %", + "Success_DA %", + ] + low = [0, 0, 0, 0, 0, 0, 0] + high = [ + len( + st.session_state.event_data[ + st.session_state.event_data["end_type"] == "shot" + ] + ) + * 1.2, + 25, + 25, + round(st.session_state.event_data["duration"].mean() * 1.5, 2), + 25, + 25, + 25, + ] + + values1 = [ + shots_(player1.player_id), + offensive_action(player1.player_id), + pressing_engagement(player1.player_id, team1_id)["Defensive_Action_volume"], + avg_ball_retention_time(player1.player_id), + avg_forward_pass(player1.player_id), + pressing_engagement(player1.player_id, team1_id)["avg_Pressing_actions"], + pressing_engagement(player1.player_id, team1_id)["Success_DA"], + ] + + values2 = [ + shots_(player2.player_id), + offensive_action(player2.player_id), + pressing_engagement(player2.player_id, team2_id)["Defensive_Action_volume"], + avg_ball_retention_time(player2.player_id), + avg_forward_pass(player2.player_id), + pressing_engagement(player2.player_id, team2_id)["avg_Pressing_actions"], + pressing_engagement(player2.player_id, team2_id)["Success_DA"], + ] + + with col_radar1: + st.markdown(f"**{player1_name}**") + plot_radar(metrics=metrics, low=low, high=high, values=values1) + + with col_radar2: + st.markdown(f"**{player2_name}**") + plot_radar(metrics=metrics, low=low, high=high, values=values2) + else: + st.info( + "Please select a match from the sidebar to view player performance comparisons." + ) diff --git a/src/utils/pitch_control.py b/src/utils/pitch_control.py new file mode 100644 index 0000000..d43c040 --- /dev/null +++ b/src/utils/pitch_control.py @@ -0,0 +1,444 @@ +""" +Pitch Control Module for FootMetricX +Calculates space control and influence zones for player positions +""" + +import numpy as np +import pandas as pd +import matplotlib.pyplot as plt +from mplsoccer import Pitch +import streamlit as st +from scipy.ndimage import gaussian_filter +from kloppy.domain.models.tracking import TrackingDataset + + +def calculate_pitch_control( + player_positions: dict, + pitch_length: float = 105, + pitch_width: float = 68, + grid_size: int = 50, + sigma: float = 5.0 +) -> tuple: + """ + Calculate pitch control using Voronoi-based influence zones. + + Args: + player_positions: Dict with 'home' and 'away' keys, each containing + list of (x, y) tuples + pitch_length: Length of the pitch in meters + pitch_width: Width of the pitch in meters + grid_size: Resolution of the control grid + sigma: Smoothing parameter for Gaussian filter + + Returns: + tuple: (control_grid, x_grid, y_grid) where control_grid contains + values from -1 (away control) to 1 (home control) + """ + # Create grid + x = np.linspace(-pitch_length/2, pitch_length/2, grid_size) + y = np.linspace(-pitch_width/2, pitch_width/2, grid_size) + xx, yy = np.meshgrid(x, y) + + # Initialize control surfaces + home_control = np.zeros((grid_size, grid_size)) + away_control = np.zeros((grid_size, grid_size)) + + # Calculate influence for home team + for px, py in player_positions.get('home', []): + # Distance from each grid point to player + dist = np.sqrt((xx - px)**2 + (yy - py)**2) + # Influence decreases with distance (inverse relationship) + influence = 1 / (1 + (dist / 10)**2) + home_control += influence + + # Calculate influence for away team + for px, py in player_positions.get('away', []): + dist = np.sqrt((xx - px)**2 + (yy - py)**2) + influence = 1 / (1 + (dist / 10)**2) + away_control += influence + + # Smooth the control surfaces + home_control = gaussian_filter(home_control, sigma=sigma) + away_control = gaussian_filter(away_control, sigma=sigma) + + # Combine into single control grid (-1 to 1) + total_control = home_control + away_control + control_grid = np.where( + total_control > 0, + (home_control - away_control) / (total_control + 1e-10), + 0 + ) + + return control_grid, x, y + + +def get_frame_positions( + tracking_data: TrackingDataset, + frame_idx: int, + home_team_id: str, + away_team_id: str +) -> dict: + """ + Extract player positions from a specific frame of tracking data. + + Args: + tracking_data: Kloppy TrackingDataset + frame_idx: Frame index to extract + home_team_id: Team ID for home team + away_team_id: Team ID for away team + + Returns: + dict: {'home': [(x1, y1), ...], 'away': [(x2, y2), ...]} + """ + df = tracking_data.to_df(engine="pandas") + + # Get frame data + frame_data = df.iloc[frame_idx] + + positions = {'home': [], 'away': []} + + # Extract home team positions + home_team = [team for team in tracking_data.metadata.teams if team.team_id == home_team_id][0] + for player in home_team.players: + x_col = f"{player.player_id}_x" + y_col = f"{player.player_id}_y" + + if x_col in frame_data and y_col in frame_data: + x, y = frame_data[x_col], frame_data[y_col] + if not pd.isna(x) and not pd.isna(y): + positions['home'].append((x, y)) + + # Extract away team positions + away_team = [team for team in tracking_data.metadata.teams if team.team_id == away_team_id][0] + for player in away_team.players: + x_col = f"{player.player_id}_x" + y_col = f"{player.player_id}_y" + + if x_col in frame_data and y_col in frame_data: + x, y = frame_data[x_col], frame_data[y_col] + if not pd.isna(x) and not pd.isna(y): + positions['away'].append((x, y)) + + return positions + + +def plot_pitch_control( + control_grid: np.ndarray, + x_grid: np.ndarray, + y_grid: np.ndarray, + player_positions: dict, + pitch_length: float = 105, + pitch_width: float = 68, + title: str = "Pitch Control Map" +) -> plt.Figure: + """ + Visualize pitch control with player positions. + + Args: + control_grid: Grid of control values (-1 to 1) + x_grid: X coordinates of grid + y_grid: Y coordinates of grid + player_positions: Dict with 'home' and 'away' player positions + pitch_length: Length of the pitch + pitch_width: Width of the pitch + title: Plot title + + Returns: + matplotlib Figure object + """ + pitch = Pitch( + pitch_type='custom', + pitch_length=pitch_length, + pitch_width=pitch_width, + line_zorder=2, + line_color='white', + pitch_color='#22543d' + ) + + fig, ax = pitch.draw(figsize=(12, 8)) + + # Plot control heatmap + im = ax.contourf( + x_grid, + y_grid, + control_grid, + levels=20, + cmap='RdBu', + alpha=0.6, + vmin=-1, + vmax=1 + ) + + # Add colorbar + cbar = plt.colorbar(im, ax=ax, fraction=0.046, pad=0.04) + cbar.set_label('Team Control (Blue=Home, Red=Away)', rotation=270, labelpad=20) + + # Plot home team players + home_x = [pos[0] for pos in player_positions.get('home', [])] + home_y = [pos[1] for pos in player_positions.get('home', [])] + if home_x and home_y: + ax.scatter( + home_x, home_y, + c='blue', + s=300, + edgecolors='white', + linewidth=2, + zorder=3, + alpha=0.9, + label='Home Team' + ) + + # Plot away team players + away_x = [pos[0] for pos in player_positions.get('away', [])] + away_y = [pos[1] for pos in player_positions.get('away', [])] + if away_x and away_y: + ax.scatter( + away_x, away_y, + c='red', + s=300, + edgecolors='white', + linewidth=2, + zorder=3, + alpha=0.9, + label='Away Team' + ) + + ax.legend(loc='upper center', bbox_to_anchor=(0.5, -0.05), ncol=2) + ax.set_title(title, fontsize=16, fontweight='bold', pad=20) + + return fig + + +def calculate_space_control_metrics( + control_grid: np.ndarray, + pitch_length: float = 105, + pitch_width: float = 68 +) -> dict: + """ + Calculate metrics from pitch control grid. + + Args: + control_grid: Grid of control values (-1 to 1) + pitch_length: Length of the pitch + pitch_width: Width of the pitch + + Returns: + dict: Metrics including control percentages and field zones + """ + # Total control percentages + home_control_pct = np.sum(control_grid > 0) / control_grid.size * 100 + away_control_pct = np.sum(control_grid < 0) / control_grid.size * 100 + neutral_pct = np.sum(control_grid == 0) / control_grid.size * 100 + + # Divide pitch into thirds + third_size = control_grid.shape[1] // 3 + + defensive_third = control_grid[:, :third_size] + middle_third = control_grid[:, third_size:2*third_size] + attacking_third = control_grid[:, 2*third_size:] + + metrics = { + 'home_control_total': round(home_control_pct, 1), + 'away_control_total': round(away_control_pct, 1), + 'neutral_control': round(neutral_pct, 1), + 'home_defensive_third': round(np.sum(defensive_third > 0) / defensive_third.size * 100, 1), + 'home_middle_third': round(np.sum(middle_third > 0) / middle_third.size * 100, 1), + 'home_attacking_third': round(np.sum(attacking_third > 0) / attacking_third.size * 100, 1), + 'away_defensive_third': round(np.sum(attacking_third < 0) / attacking_third.size * 100, 1), + 'away_middle_third': round(np.sum(middle_third < 0) / middle_third.size * 100, 1), + 'away_attacking_third': round(np.sum(defensive_third < 0) / defensive_third.size * 100, 1), + } + + return metrics + + +def analyze_space_creation( + original_positions: dict, + modified_positions: dict, + pitch_length: float = 105, + pitch_width: float = 68 +) -> dict: + """ + Analyze the impact of moving a player on space control. + + Args: + original_positions: Original player positions + modified_positions: Modified player positions (after moving a player) + pitch_length: Length of the pitch + pitch_width: Width of the pitch + + Returns: + dict: Analysis results including control changes + """ + # Calculate original control + orig_control, x, y = calculate_pitch_control( + original_positions, + pitch_length, + pitch_width + ) + + # Calculate modified control + mod_control, _, _ = calculate_pitch_control( + modified_positions, + pitch_length, + pitch_width + ) + + # Calculate difference + control_diff = mod_control - orig_control + + # Metrics + orig_metrics = calculate_space_control_metrics(orig_control) + mod_metrics = calculate_space_control_metrics(mod_control) + + # Calculate changes + control_change = mod_metrics['home_control_total'] - orig_metrics['home_control_total'] + + analysis = { + 'original_metrics': orig_metrics, + 'modified_metrics': mod_metrics, + 'control_change': round(control_change, 2), + 'control_diff_grid': control_diff, + 'space_gained': np.sum(control_diff > 0.1), + 'space_lost': np.sum(control_diff < -0.1), + 'x_grid': x, + 'y_grid': y + } + + return analysis + + +def plot_space_creation_impact( + analysis: dict, + original_positions: dict, + modified_positions: dict, + moved_player_idx: int = 0, + pitch_length: float = 105, + pitch_width: float = 68 +) -> plt.Figure: + """ + Visualize the impact of player movement on space control. + + Args: + analysis: Output from analyze_space_creation() + original_positions: Original player positions + modified_positions: Modified player positions + moved_player_idx: Index of the moved player + pitch_length: Length of the pitch + pitch_width: Width of the pitch + + Returns: + matplotlib Figure object + """ + pitch = Pitch( + pitch_type='custom', + pitch_length=pitch_length, + pitch_width=pitch_width, + line_zorder=2, + line_color='white', + pitch_color='#22543d' + ) + + fig, ax = pitch.draw(figsize=(12, 8)) + + # Plot control difference + control_diff = analysis['control_diff_grid'] + x_grid = analysis['x_grid'] + y_grid = analysis['y_grid'] + + im = ax.contourf( + x_grid, + y_grid, + control_diff, + levels=20, + cmap='RdYlGn', + alpha=0.7, + vmin=-0.5, + vmax=0.5 + ) + + cbar = plt.colorbar(im, ax=ax, fraction=0.046, pad=0.04) + cbar.set_label('Control Change (Green=Gained, Red=Lost)', rotation=270, labelpad=20) + + # Plot original positions (semi-transparent) + home_orig = original_positions.get('home', []) + away_orig = original_positions.get('away', []) + + if home_orig: + ax.scatter( + [pos[0] for pos in home_orig], + [pos[1] for pos in home_orig], + c='blue', + s=200, + edgecolors='white', + linewidth=1, + alpha=0.3, + zorder=2 + ) + + if away_orig: + ax.scatter( + [pos[0] for pos in away_orig], + [pos[1] for pos in away_orig], + c='red', + s=200, + edgecolors='white', + linewidth=1, + alpha=0.3, + zorder=2 + ) + + # Plot new positions (solid) + home_new = modified_positions.get('home', []) + away_new = modified_positions.get('away', []) + + if home_new: + ax.scatter( + [pos[0] for pos in home_new], + [pos[1] for pos in home_new], + c='blue', + s=300, + edgecolors='yellow', + linewidth=3, + alpha=0.9, + zorder=3 + ) + + if away_new: + ax.scatter( + [pos[0] for pos in away_new], + [pos[1] for pos in away_new], + c='red', + s=300, + edgecolors='yellow', + linewidth=3, + alpha=0.9, + zorder=3 + ) + + # Draw arrow showing movement + if moved_player_idx < len(home_orig): + orig_pos = home_orig[moved_player_idx] + new_pos = home_new[moved_player_idx] + ax.annotate( + '', + xy=new_pos, + xytext=orig_pos, + arrowprops=dict( + arrowstyle='->', + lw=3, + color='yellow', + alpha=0.8 + ), + zorder=4 + ) + + control_change = analysis['control_change'] + ax.set_title( + f'Space Control Impact: {control_change:+.1f}% control change', + fontsize=16, + fontweight='bold', + pad=20 + ) + + return fig \ No newline at end of file diff --git a/src/utils/preset.py b/src/utils/preset.py index a5f1f24..eb4aeaf 100644 --- a/src/utils/preset.py +++ b/src/utils/preset.py @@ -12,7 +12,7 @@ from kloppy.domain.models.common import Team from kloppy.domain.models.tracking import TrackingDataset -from .logo_loader import get_team_logo_url ,FALLBACK_LOGO +from .logo_loader import get_team_logo_url, FALLBACK_LOGO # Function @@ -69,7 +69,7 @@ def covered_distance(player, tracking_df: TrackingDataset) -> float: y_col = f"{player_id}_y" df = tracking_df.to_df(engine="pandas")[[x_col, y_col]].dropna(subset=[x_col]) - + # Calculate frame-to-frame distance differences dx = df[x_col].diff() dy = df[y_col].diff() @@ -83,11 +83,14 @@ def covered_distance(player, tracking_df: TrackingDataset) -> float: return round(distance_totale / 1000, 2) -def get_teams_in_matches(available_matches_ids: List[int]) -> List[Tuple[str, str, int]]: +def get_teams_in_matches( + available_matches_ids: List[int], +) -> List[Tuple[str, str, int]]: """Retrieves team names and match IDs for a list of available matches. Loads match metadata from SkillCorner API for each match ID and extracts - home and away team names. + home and away team names. Uses try-except-else logic to handle load failures + gracefully, continuing with available matches while displaying warnings. Args: available_matches_ids (List[int]): List of match IDs from SkillCorner. @@ -96,14 +99,32 @@ def get_teams_in_matches(available_matches_ids: List[int]) -> List[Tuple[str, st List[Tuple[str, str, int]]: List of tuples (home_team_name, away_team_name, match_id). """ output = [] + failed_matches = [] + for match_id in available_matches_ids: - dataset = skillcorner.load_open_data( - match_id=match_id, coordinates="skillcorner", limit=2 - ) - home, away = dataset.metadata.teams - output.append( - (home.name, away.name, match_id) - ) + try: + dataset = skillcorner.load_open_data( + match_id=match_id, coordinates="skillcorner", limit=2 + ) + home, away = dataset.metadata.teams + output.append((home.name, away.name, match_id)) + except Exception as e: + failed_matches.append((match_id, str(e))) + else: + # All matches processed (else executes after the loop completes, unless break occurs) + if not failed_matches: + # All matches loaded successfully + st.sidebar.success( + f"Successfully loaded {len(output)} match{'es' if len(output) != 1 else ''}!" + ) + else: + # Some matches failed + failed_ids = ", ".join(str(m[0]) for m in failed_matches) + st.sidebar.warning( + f"Loaded {len(output)} match{'es' if len(output) != 1 else ''} " + f"({len(failed_matches)} failed: {failed_ids}). Continuing with available matches." + ) + return output @@ -115,7 +136,7 @@ def preset_app() -> None: unchangeable UI elements and set global app state. """ st.markdown( - """ + """ """, - unsafe_allow_html=True + unsafe_allow_html=True, ) # set title and icon @@ -190,7 +211,7 @@ def preset_app() -> None: "Available Matches.", options=AVAILABLE_MATCHES ) st.session_state.selected_match_id = first_word(st.session_state.selected_match) - + st.markdown( f"""