Skip to content

Commit 254bcd8

Browse files
Merge pull request #75 from open-starlab/temp
Temp
2 parents 5006f04 + d8955d5 commit 254bcd8

4 files changed

Lines changed: 40 additions & 16 deletions

File tree

preprocessing/sports/event_data/soccer/soccer_event_class.py

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -92,15 +92,17 @@ def load_data_single_file(self):
9292
if self.soccertrackv2 == True:
9393
df=soccer_load_data.load_soccertrack(self.event_path, self.tracking_path, self.meta_data, self.verbose)
9494
elif self.soccertrackv2 == False:
95-
df=soccer_load_data.load_bepro(self.event_path, self.tracking_path, self.meta_data, self.verbose)
95+
df=soccer_load_data.load_bepro(self.event_path, self.tracking_path, self.meta_data, self.match_id, self.verbose)
9696
else:
9797
raise ValueError('Data provider not supported or not found')
9898
return df
9999

100100
def load_data(self):
101101
print(f'Loading data from {self.data_provider}')
102102
#check if the event path is a single file or a directory
103-
if ((self.event_path is not None and os.path.isfile(self.event_path)) and self.data_provider != 'statsbomb') or \
103+
if self.data_provider == 'bepro' and self.soccertrackv2 == False:
104+
df = self.load_data_single_file()
105+
elif ((self.event_path is not None and os.path.isfile(self.event_path)) and self.data_provider != 'statsbomb') or \
104106
(self.data_provider == 'statsbomb' and self.statsbomb_match_id is None and os.path.isfile(self.event_path)) or \
105107
(self.data_provider == 'statsbomb_skillcorner' and self.statsbomb_match_id is not None):
106108
df = self.load_data_single_file()
@@ -585,12 +587,31 @@ def process_single_match(match_id):
585587
# df_datastadium.to_csv(os.getcwd()+"/test/sports/event_data/data/datastadium/preprocess_UIED_class_multi.csv",index=False)
586588

587589
#test soccertrack
588-
soccer_track_event_path="/data_pool_1/soccertrackv2/2024-03-18/Event/event.csv"
589-
soccer_track_tracking_path="/data_pool_1/soccertrackv2/2024-03-18/Tracking/tracking.xml"
590-
soccer_track_meta_path="/data_pool_1/soccertrackv2/2024-03-18/Tracking/meta.xml"
591-
df_soccertrack=Soccer_event_data('bepro',soccer_track_event_path,
592-
st_track_path = soccer_track_tracking_path,
593-
st_meta_path = soccer_track_meta_path,
594-
verbose = True).load_data()
595-
df_soccertrack.to_csv(os.getcwd()+"/test/sports/event_data/data/soccertrack/test_load_soccer_event_class.csv",index=False)
590+
# soccer_track_event_path="/data_pool_1/soccertrackv2/2024-03-18/Event/event.csv"
591+
# soccer_track_tracking_path="/data_pool_1/soccertrackv2/2024-03-18/Tracking/tracking.xml"
592+
# soccer_track_meta_path="/data_pool_1/soccertrackv2/2024-03-18/Tracking/meta.xml"
593+
# df_soccertrack=Soccer_event_data('bepro',soccer_track_event_path,
594+
# st_track_path = soccer_track_tracking_path,
595+
# st_meta_path = soccer_track_meta_path,
596+
# verbose = True).load_data()
597+
# df_soccertrack.to_csv(os.getcwd()+"/test/sports/event_data/data/soccertrack/test_load_soccer_event_class.csv",index=False)
598+
599+
#test bepro
600+
data_dir=["/data_pool_1/soccertrackv2/117093/2023-11-25_筑波大学 vs 筑波大学 - B1_1st Half.json",
601+
"/data_pool_1/soccertrackv2/117093/2023-11-25_筑波大学 vs 筑波大学 - B1_2nd Half.json"]
602+
tracking_path="/data_pool_1/soccertrackv2/117093/tracker_box_data_125091.xml"
603+
meta_data="/data_pool_1/soccertrackv2/117093/tracker_box_metadata_125091.xml"
604+
605+
df_bepro=Soccer_event_data(data_provider='bepro',
606+
event_path=data_dir,
607+
tracking_path=tracking_path,
608+
meta_data=meta_data,
609+
preprocess_method="UIED",
610+
max_workers=1,
611+
match_id=117093,
612+
verbose=True).preprocessing()
613+
614+
#save
615+
df_bepro.to_csv(os.getcwd()+"/test/sports/event_data/data/bepro/test_load_soccer_event_class.csv",index=False)
616+
596617
print("-----------done-----------")

preprocessing/sports/event_data/soccer/soccer_load_data.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
from statsbombpy import sb
88
from tqdm import tqdm
99
from datetime import datetime
10+
from typing import Union
1011
import os
1112
import pdb
1213

@@ -1537,7 +1538,7 @@ def get_tracking_features(event_df, tracking_data, meta_data, verbose=True):
15371538

15381539
return event_df
15391540

1540-
def load_bepro(event_path: str, tracking_path: str, meta_path: str, verbose: bool = False) -> pd.DataFrame:
1541+
def load_bepro(event_path: str, tracking_path: str, meta_path: str, match_id:Union[int, str], verbose: bool = False) -> pd.DataFrame:
15411542
"""
15421543
Loads and processes event and tracking data from soccer match recordings.
15431544
@@ -1697,7 +1698,10 @@ def read_tracking_data(file_path):
16971698

16981699
#load the event data
16991700

1700-
def get_additional_features(event_df, meta_data):
1701+
def get_additional_features(event_df, meta_data, match_id=None):
1702+
1703+
event_df['match_id'] = match_id
1704+
17011705
#player info: id name nameEN shirtNumber position
17021706
# create features period, seconds, event_type, event_type_2, outcome, home_team, x_unscaled, y_unscaled,
17031707
period_dict = {1:"FIRST_HALF",2:"SECOND_HALF",3:"EXTRA_FIRST_HALF",4:"EXTRA_SECOND_HALF"}
@@ -1902,7 +1906,7 @@ def get_tracking_features(event_df, tracking_data, meta_data, verbose=True):
19021906
# Load the meta data
19031907
meta_data = read_meta_data(meta_path)
19041908
# Get additional features
1905-
event_df = get_additional_features(event_df, meta_data)
1909+
event_df = get_additional_features(event_df, meta_data, match_id=match_id)
19061910
# Get tracking features
19071911
event_df = get_tracking_features(event_df, tracking_data, meta_data, verbose=verbose)
19081912

preprocessing/sports/event_data/soccer/soccer_processing.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2068,7 +2068,6 @@ def UIED_bepro(data):
20682068
else:
20692069
poss_id += 1
20702070
poss_id_list.append(poss_id)
2071-
poss_id+=1
20722071
df["poss_id"] = poss_id_list
20732072

20742073
new_df = []
@@ -2166,7 +2165,7 @@ def UIED_bepro(data):
21662165
tracking_col_home = [col for col in tracking_col_home if col != "home_team"]
21672166
tracking_col_away = df.columns[df.columns.str.startswith("away_")].tolist()
21682167

2169-
df = df[['poss_id', 'team', 'home_team', 'action', 'success', 'goal', 'home_score',
2168+
df = df[['match_id', 'poss_id', 'team', 'home_team', 'action', 'success', 'goal', 'home_score',
21702169
'away_score', 'goal_diff', 'Period', 'Minute', 'Second', 'seconds', "delta_T", 'start_x',
21712170
'start_y', 'deltaX', 'deltaY', 'distance', 'dist2goal', 'angle2goal']+tracking_col_home+tracking_col_away]
21722171

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
66

77
[project]
88
name = "openstarlab_preprocessing"
9-
version = "0.1.51"
9+
version = "0.1.53"
1010
description = "openstarlab preprocessing package"
1111
readme = "README.md"
1212
requires-python = ">=3.8"

0 commit comments

Comments
 (0)