initial commit
This commit is contained in:
commit
c40f1e89da
3
.gitignore
vendored
Normal file
3
.gitignore
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
**.pyc
|
||||
.*.swo
|
||||
.*.swp
|
||||
0
__init__.py
Normal file
0
__init__.py
Normal file
88
gant_project.py
Normal file
88
gant_project.py
Normal file
@ -0,0 +1,88 @@
|
||||
work_packages = [{
|
||||
'title': 'Inclusive Gesture Recognition Models (4 PM)',
|
||||
'duration':9,
|
||||
'start': 0,
|
||||
'method': """
|
||||
Develop an initial gesture recognition baseline using existing datasets (e.g.,
|
||||
$Q, public gesture datasets with diverse motion pattern). Apply unsupervised ML
|
||||
techniques like Dynamic Time Warping (DTW) for feature extraction. Build on
|
||||
these techniques for pretraing supervised ML datasets while identifying biases.
|
||||
Check disparity in model accuracy across participant groups. Assure user studies
|
||||
will be conducted in compliance with GDPR and relevant ethics approvals.
|
||||
""",
|
||||
}, {
|
||||
'title': 'Motor Variability in Interaction',
|
||||
'duration': 7,
|
||||
'start': 6,
|
||||
'method': """
|
||||
Conduct at least 3 mixed-method user studies with ~30 participants across three
|
||||
groups: (1) ageing adults (n≈10), (2) participants with motor
|
||||
impairments/disabilities (n≈10), and (3) expert movers/performers (n≈10). Both
|
||||
quantitative kinematic data (motion capture, wearable sensors) and qualitative
|
||||
data (interviews, observations) will be collected. Motor variability will be
|
||||
modelled using clustering algorithms (e.g., k-means, Gaussian mixture models)
|
||||
and nonlinear statistical analyses to capture individual patterns. Build
|
||||
statistical models to capture variability. The prototype developed in WP1 will
|
||||
serve as the baseline architecture for the user studies in WP2. Fuse statistical
|
||||
insights with supervised ML to allow the system to adapt rather than enforce
|
||||
rigid categories.
|
||||
""",
|
||||
} , {
|
||||
'title': 'Inclusive, Embodied, and Ecofeminist System Refinement',
|
||||
'duration': 5,
|
||||
'start': 14,
|
||||
'method': """
|
||||
"""
|
||||
} , {
|
||||
'title': 'Dissemination and Public Engagement',
|
||||
'start': 10,
|
||||
'duration': 13,
|
||||
'method': """
|
||||
"""
|
||||
}]
|
||||
|
||||
deliverables = [{
|
||||
'title': 'Framework specification',
|
||||
'month': 4,
|
||||
'wp': 1
|
||||
}, {
|
||||
'title': 'Baseline prototype',
|
||||
'month': 8,
|
||||
'wp': 1
|
||||
}, {
|
||||
'title': 'Annotated Dataset',
|
||||
'month': 12,
|
||||
'wp': 2,
|
||||
}, {
|
||||
'title': 'Technical Report on Motor Variability',
|
||||
'month': 13,
|
||||
'wp': 2,
|
||||
}, {
|
||||
'title': 'Updated prototype with integrated supervised ML and explainability mechanisms',
|
||||
'month': 15,
|
||||
'wp': 3,
|
||||
|
||||
}, {
|
||||
'title': 'Design and evaluation framework for inclusive, interpretable ML in movement systems',
|
||||
'month': 18,
|
||||
'wp': 3,
|
||||
}]
|
||||
|
||||
milestones = [{
|
||||
'title': 'Baseline Gesture Model and Bias Evaluation Metrics Defined',
|
||||
'month': 8,
|
||||
'wp': 1,
|
||||
}, {
|
||||
'title': 'Completion of User Studies and Initial Statistical Variability Models',
|
||||
'month': 12,
|
||||
'wp': 2
|
||||
}, {
|
||||
'title': 'Completion of Transparent Model Integration and Ethical Evaluation Setup',
|
||||
'month': 13,
|
||||
'wp': 3
|
||||
}]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
44
main.py
Normal file
44
main.py
Normal file
@ -0,0 +1,44 @@
|
||||
import sys
|
||||
import pandas as pd
|
||||
import datetime
|
||||
import plotly.express as px
|
||||
from dateutil import relativedelta
|
||||
|
||||
import matplotlib.pyplot as plt
|
||||
import matplotlib.dates as mdates
|
||||
import matplotlib.patches as mpatches
|
||||
import mplcursors
|
||||
|
||||
from matplotlib import rcParams
|
||||
from matplotlib.widgets import CheckButtons
|
||||
from .settings import (
|
||||
TITLE, TITLE_SIZE, TITLE_FONT_WEIGHT,
|
||||
FONT_FAMILY, FONT_SANS_SERIF, FONT_COLOR,
|
||||
LABEL_SIZE, DAY_FONT_SIZE, MONTH_FONT_SIZE, MONTH_FONT_WEIGHT,
|
||||
X_LABEL, Y_LABEL, BAR_COLOR, TEAM_BAR_COLORS, DATE_FORMAT
|
||||
)
|
||||
from .gant_project import work_packages, deliverables, milestones
|
||||
|
||||
# style confs
|
||||
rcParams['font.family'] = FONT_FAMILY
|
||||
rcParams['font.sans-serif'] = FONT_SANS_SERIF
|
||||
rcParams['axes.titlesize'] = TITLE_SIZE
|
||||
rcParams['axes.labelsize'] = LABEL_SIZE
|
||||
|
||||
start = datetime.datetime.now()
|
||||
|
||||
data_frame = pd.DataFrame(reversed([
|
||||
{
|
||||
'Work Package': f"WP {n+1}",
|
||||
'Label': f"WP {n+1}: {elt['title']}",
|
||||
'start_date': start + relativedelta.relativedelta(months=elt['start']),
|
||||
'end_date': start + \
|
||||
relativedelta.relativedelta(months=elt['start']) + \
|
||||
relativedelta.relativedelta(months=elt['duration']),
|
||||
}
|
||||
for n, elt in enumerate(work_packages)
|
||||
]))
|
||||
fig = px.timeline(data_frame, x_start="start_date", x_end="end_date",
|
||||
y="Work Package", color="Label")
|
||||
fig.update_yaxes(autorange="reversed") # otherwise tasks are listed from the bottom up
|
||||
fig.show()
|
||||
15
settings.py
Normal file
15
settings.py
Normal file
@ -0,0 +1,15 @@
|
||||
TITLE=''
|
||||
TITLE_SIZE='12'
|
||||
TITLE_FONT_WEIGHT=''
|
||||
FONT_FAMILY=''
|
||||
FONT_SANS_SERIF=''
|
||||
FONT_COLOR='#FFFFFF'
|
||||
LABEL_SIZE='12'
|
||||
DAY_FONT_SIZE='12'
|
||||
MONTH_FONT_SIZE=''
|
||||
MONTH_FONT_WEIGHT=''
|
||||
X_LABEL=''
|
||||
Y_LABEL=''
|
||||
BAR_COLOR='#FFFFFF'
|
||||
TEAM_BAR_COLORS='#FFFFFF'
|
||||
DATE_FORMAT=''
|
||||
Loading…
Reference in New Issue
Block a user